1 27 28 package org.nightlabs.editor2d.command; 29 30 import org.nightlabs.editor2d.EditorPlugin; 31 import org.nightlabs.editor2d.Layer; 32 import org.nightlabs.editor2d.MultiLayerDrawComponent; 33 34 35 public class DeleteLayerCommand 36 extends DeleteDrawComponentCommand 38 { 39 40 public static final String DELETE_LAYER = EditorPlugin.getResourceString("command.delete.layer"); 41 47 public DeleteLayerCommand(MultiLayerDrawComponent mldc, Layer layer) 48 { 49 super(mldc, layer); 50 setLabel(DELETE_LAYER); 51 } 52 53 56 public void execute() 57 { 58 super.execute(); 59 setCurrentLayer(); 60 } 61 62 65 public void redo() 66 { 67 super.redo(); 68 setCurrentLayer(); 69 } 70 71 74 public void undo() 75 { 76 super.undo(); 77 getMultiLayerDrawComponent().setCurrentLayer(getLayer()); 78 } 79 80 protected void setCurrentLayer() 81 { 82 if (index != 0) { 83 getMultiLayerDrawComponent().setCurrentLayer((Layer) parent.getDrawComponents().get(index-1)); 84 } else if ( index==0 && parent.getDrawComponents().size() > 2) { 85 getMultiLayerDrawComponent().setCurrentLayer((Layer) parent.getDrawComponents().get(index+1)); 86 } 87 } 88 89 public MultiLayerDrawComponent getMultiLayerDrawComponent() { 90 return (MultiLayerDrawComponent) parent; 91 } 92 93 public Layer getLayer() { 94 return (Layer) child; 95 } 96 } 97 | Popular Tags |