KickJava   Java API By Example, From Geeks To Geeks.

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


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: 21.03.2005 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.tools;
9
10 import java.io.File JavaDoc;
11
12 import org.eclipse.gef.Request;
13 import org.eclipse.gef.requests.CreateRequest;
14 import org.eclipse.gef.requests.CreationFactory;
15 import org.eclipse.gef.tools.CreationTool;
16 import org.eclipse.swt.widgets.FileDialog;
17
18 import com.nightlabs.editor2d.EditorPlugin;
19 import com.nightlabs.editor2d.command.CreateImageCommand;
20 import com.nightlabs.editor2d.request.ImageCreateRequest;
21
22 public class ImageTool
23 extends CreationTool
24 {
25   public ImageTool(CreationFactory aFactory) {
26     super(aFactory);
27   }
28
29   /**
30    * Creates a {@link CreateRequest} and sets this tool's factory on the request.
31    * @see org.eclipse.gef.tools.TargetingTool#createTargetRequest()
32    */

33   protected Request createTargetRequest()
34   {
35     ImageCreateRequest request = new ImageCreateRequest();
36     request.setFactory(getFactory());
37     return request;
38   }
39   
40   protected ImageCreateRequest getImageCreateRequest() {
41     return (ImageCreateRequest) getTargetRequest();
42   }
43   
44 // public static final String[] fileExtensions = new String[] {"*.jpg","*.gif","*.png","*.bmp"};
45
public static final String JavaDoc[] fileExtensions = new String JavaDoc[] {"*.jpg"};
46   protected boolean handleButtonDown(int button)
47   {
48     FileDialog dialog = new FileDialog(getCurrentViewer().getControl().getShell());
49     dialog.setFilterExtensions(fileExtensions);
50     dialog.setText(EditorPlugin.getResourceString("dialog.choose.image"));
51     dialog.open();
52     
53     if (!dialog.getFileName().equals(""))
54     {
55       String JavaDoc fullPathName = dialog.getFilterPath() + File.separator + dialog.getFileName();
56       getImageCreateRequest().setFileName(fullPathName);
57       ((CreateImageCommand)getCurrentCommand()).setFileName(fullPathName);
58       ((CreateImageCommand)getCurrentCommand()).setSimpleFileName(dialog.getFileName());
59       performCreation(1);
60       return true;
61     }
62     return false;
63   }
64 }
65
Popular Tags