KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > tools > EditorCreationTool


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2004 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 29.12.2004 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.tools;
9
10 import org.apache.log4j.Logger;
11 import org.eclipse.draw2d.FigureCanvas;
12 import org.eclipse.draw2d.Viewport;
13 import org.eclipse.draw2d.geometry.Point;
14 import org.eclipse.gef.EditPartViewer;
15 import org.eclipse.gef.Request;
16 import org.eclipse.gef.SnapToHelper;
17 import org.eclipse.gef.requests.CreationFactory;
18 import org.eclipse.gef.tools.CreationTool;
19 import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
20
21 import com.nightlabs.editor2d.request.EditorCreateRequest;
22 import com.nightlabs.editor2d.request.EditorRequestConstants;
23
24
25 public abstract class EditorCreationTool
26 extends CreationTool
27 //extends TargetingTool
28
implements EditorRequestConstants
29 {
30   protected SnapToHelper helper;
31   
32   public static final Logger LOGGER = Logger.getLogger(EditorCreationTool.class);
33     
34   /**
35    * @param aFactory
36    */

37   public EditorCreationTool(CreationFactory aFactory) {
38     super(aFactory);
39   }
40
41   /**
42    * Creates a {@link EditorCreateRequest} and sets this tool's factory on the request.
43    * @see org.eclipse.gef.tools.TargetingTool#createTargetRequest()
44    */

45   protected Request createTargetRequest()
46   {
47     EditorCreateRequest request = new EditorCreateRequest();
48     request.setFactory(getFactory());
49     return request;
50   }
51   
52   protected Point getRealLocation()
53   {
54     Point p = getLocation();
55     Point realLocation;
56     
57     EditPartViewer view = getCurrentViewer();
58     if (view instanceof ScrollingGraphicalViewer)
59     {
60       ScrollingGraphicalViewer viewer = (ScrollingGraphicalViewer) view;
61       FigureCanvas canvas = (FigureCanvas) viewer.getControl();
62       Viewport viewport = canvas.getViewport();
63       Point viewLocation = viewport.getViewLocation();
64       realLocation = p.getTranslated(viewLocation);
65       return realLocation;
66     }
67     return p;
68   }
69   
70   protected EditorCreateRequest getEditorCreateRequest() {
71     return (EditorCreateRequest)getTargetRequest();
72   }
73     
74   /**
75    * @see org.eclipse.gef.tools.AbstractTool#getDebugName()
76    */

77   protected String JavaDoc getDebugName() {
78     return "EditorCreation Tool";//$NON-NLS-1$
79
}
80 }
81
82
83
Popular Tags