1 8 package com.nightlabs.editor2d.tools; 9 10 import java.io.File ; 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 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"}; 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 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 |