1 26 package org.nightlabs.editor2d.actions; 27 28 import java.util.List ; 29 30 import org.eclipse.gef.ui.actions.Clipboard; 31 import org.eclipse.swt.SWT; 32 import org.eclipse.ui.actions.ActionFactory; 33 import org.nightlabs.editor2d.AbstractEditor; 34 import org.nightlabs.editor2d.DrawComponent; 35 import org.nightlabs.editor2d.EditorPlugin; 36 37 40 public class CopyAction 41 extends AbstractEditorSelectionAction 42 { 43 public static final String ID = ActionFactory.COPY.getId(); 45 46 49 53 public CopyAction(AbstractEditor editor, int style) { 54 super(editor, style); 55 } 56 57 60 public CopyAction(AbstractEditor editor) { 61 super(editor); 62 } 63 64 protected void init() 65 { 66 super.init(); 67 setText(EditorPlugin.getResourceString("action.copy.text")); 68 setToolTipText(EditorPlugin.getResourceString("action.copy.tooltip")); 69 setId(ID); 70 setActionDefinitionId(ID); 71 setAccelerator(SWT.CTRL | 'C'); 72 } 73 74 77 protected boolean calculateEnabled() { 78 return !getDefaultSelection(false).isEmpty(); 79 } 80 81 85 public void run() 86 { 87 List dcs = getSelection(DrawComponent.class, true); 88 Clipboard clipboard = Clipboard.getDefault(); 89 Object oldContent = clipboard.getContents(); 90 clipboard.setContents(dcs); 91 firePropertyChange(EditorActionConstants.PROP_COPY_TO_CLIPBOARD, oldContent, dcs); 92 } 93 94 } 95 | Popular Tags |