KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nightlabs > editor2d > tools > TextTool


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.tools;
29
30 import org.eclipse.gef.Request;
31 import org.eclipse.gef.requests.CreateRequest;
32 import org.eclipse.gef.requests.CreationFactory;
33 import org.eclipse.gef.tools.CreationTool;
34 import org.eclipse.jface.dialogs.Dialog;
35
36 import org.nightlabs.editor2d.dialog.CreateTextDialog;
37 import org.nightlabs.editor2d.request.TextCreateRequest;
38
39 public class TextTool
40 extends CreationTool
41 {
42
43   /**
44    * Creates a {@link CreateRequest} and sets this tool's factory on the request.
45    * @see org.eclipse.gef.tools.TargetingTool#createTargetRequest()
46    */

47   protected Request createTargetRequest()
48   {
49     TextCreateRequest request = new TextCreateRequest();
50     request.setFactory(getFactory());
51     return request;
52   }
53   
54   public TextCreateRequest getTextCreateRequest()
55   {
56     return (TextCreateRequest) getTargetRequest();
57   }
58   
59   protected boolean handleButtonDown(int button)
60   {
61     CreateTextDialog dialog = new CreateTextDialog(
62         getCurrentViewer().getControl().getShell(),
63         getTextCreateRequest()
64       );
65     dialog.open();
66         
67     if (dialog.getReturnCode() == Dialog.OK)
68     {
69       performCreation(1);
70       return true;
71     }
72     return false;
73   }
74     
75   public TextTool(CreationFactory factory) {
76     super(factory);
77   }
78
79 }
80
Popular Tags