KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nightlabs > editor2d > editpolicy > tree > DrawComponentTreeEditPolicy


1 /* *****************************************************************************
2  * NightLabs Editor2D - Graphical editor framework *
3  * Copyright (C) 2004-2005 NightLabs - http://NightLabs.org *
4  * Project author: Daniel Mazurek <Daniel.Mazurek [at] nightlabs [dot] org> *
5  * *
6  * This library is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Lesser General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2.1 of the License, or (at your option) any later version. *
10  * *
11  * This library is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Lesser General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Lesser General Public *
17  * License along with this library; if not, write to the *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin St, Fifth Floor, *
20  * Boston, MA 02110-1301 USA *
21  * *
22  * Or get it online : *
23  * http://www.gnu.org/copyleft/lesser.html *
24  * *
25  * *
26  ******************************************************************************/

27
28 package org.nightlabs.editor2d.editpolicy.tree;
29
30 import org.eclipse.gef.EditPart;
31 import org.eclipse.gef.Request;
32 import org.eclipse.gef.commands.Command;
33 import org.eclipse.gef.commands.UnexecutableCommand;
34 import org.eclipse.gef.editpolicies.AbstractEditPolicy;
35 import org.eclipse.gef.requests.ChangeBoundsRequest;
36
37
38 public class DrawComponentTreeEditPolicy
39 extends AbstractEditPolicy
40 {
41   public Command getCommand(Request req){
42     if (REQ_MOVE.equals(req.getType()))
43         return getMoveCommand((ChangeBoundsRequest)req);
44     return null;
45   }
46
47   protected Command getMoveCommand(ChangeBoundsRequest req){
48     EditPart parent = getHost().getParent();
49     if(parent != null){
50         ChangeBoundsRequest request = new ChangeBoundsRequest(REQ_MOVE_CHILDREN);
51         request.setEditParts(getHost());
52         request.setLocation(req.getLocation());
53         return parent.getCommand(request);
54     }
55     return UnexecutableCommand.INSTANCE;
56   }
57
58 }
59
Popular Tags