KickJava   Java API By Example, From Geeks To Geeks.

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


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 java.io.File JavaDoc;
31
32 import org.eclipse.gef.Request;
33 import org.eclipse.gef.requests.CreateRequest;
34 import org.eclipse.gef.requests.CreationFactory;
35 import org.eclipse.gef.tools.CreationTool;
36 import org.eclipse.swt.widgets.FileDialog;
37
38 import org.nightlabs.editor2d.EditorPlugin;
39 import org.nightlabs.editor2d.command.CreateImageCommand;
40 import org.nightlabs.editor2d.request.ImageCreateRequest;
41
42 public class ImageTool
43 extends CreationTool
44 {
45   public ImageTool(CreationFactory aFactory) {
46     super(aFactory);
47   }
48
49   /**
50    * Creates a {@link CreateRequest} and sets this tool's factory on the request.
51    * @see org.eclipse.gef.tools.TargetingTool#createTargetRequest()
52    */

53   protected Request createTargetRequest()
54   {
55     ImageCreateRequest request = new ImageCreateRequest();
56     request.setFactory(getFactory());
57     return request;
58   }
59   
60   protected ImageCreateRequest getImageCreateRequest() {
61     return (ImageCreateRequest) getTargetRequest();
62   }
63   
64 // public static final String[] fileExtensions = new String[] {"*.jpg","*.gif","*.png","*.bmp"};
65
public static final String JavaDoc[] fileExtensions = new String JavaDoc[] {"*.jpg"};
66   protected boolean handleButtonDown(int button)
67   {
68     FileDialog dialog = new FileDialog(getCurrentViewer().getControl().getShell());
69     dialog.setFilterExtensions(fileExtensions);
70     dialog.setText(EditorPlugin.getResourceString("dialog.choose.image"));
71     dialog.open();
72     
73     if (!dialog.getFileName().equals(""))
74     {
75       String JavaDoc fullPathName = dialog.getFilterPath() + File.separator + dialog.getFileName();
76       getImageCreateRequest().setFileName(fullPathName);
77       ((CreateImageCommand)getCurrentCommand()).setFileName(fullPathName);
78       ((CreateImageCommand)getCurrentCommand()).setSimpleFileName(dialog.getFileName());
79       performCreation(1);
80       return true;
81     }
82     return false;
83   }
84 }
85
Popular Tags