1 27 28 package org.nightlabs.editor2d.command; 29 30 import java.util.HashMap ; 31 import java.util.Iterator ; 32 import java.util.Map ; 33 34 import org.eclipse.gef.commands.Command; 35 36 import org.nightlabs.editor2d.DrawComponent; 37 import org.nightlabs.editor2d.EditorGuide; 38 import org.nightlabs.editor2d.EditorPlugin; 39 import org.nightlabs.editor2d.EditorRuler; 40 41 public class DeleteGuideCommand 42 extends Command 43 { 44 private EditorRuler parent; 45 private EditorGuide guide; 46 private Map oldParts; 47 48 public DeleteGuideCommand(EditorGuide guide, EditorRuler parent) { 49 super(EditorPlugin.getResourceString("command.delete.guide")); 50 this.guide = guide; 51 this.parent = parent; 52 } 53 54 public boolean canUndo() { 55 return true; 56 } 57 58 public void execute() 59 { 60 oldParts = new HashMap (guide.getMap()); 61 Iterator iter = oldParts.keySet().iterator(); 62 while (iter.hasNext()) { 63 guide.detachPart((DrawComponent)iter.next()); 64 } 65 parent.removeGuide(guide); 66 } 67 68 public void undo() 69 { 70 parent.addGuide(guide); 71 Iterator iter = oldParts.keySet().iterator(); 72 while (iter.hasNext()) { 73 DrawComponent part = (DrawComponent)iter.next(); 74 guide.attachPart(part, ((Integer )oldParts.get(part)).intValue()); 75 } 76 } 77 78 } 79 | Popular Tags |