1 27 28 package org.nightlabs.editor2d.tools; 29 30 import java.io.File ; 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 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"}; 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 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 |