1 27 28 package org.nightlabs.editor2d.editpolicy.tree; 29 30 import org.eclipse.draw2d.geometry.Dimension; 31 import org.eclipse.draw2d.geometry.Rectangle; 32 import org.eclipse.gef.commands.Command; 33 34 import org.nightlabs.editor2d.DrawComponent; 35 import org.nightlabs.editor2d.Layer; 36 import org.nightlabs.editor2d.MultiLayerDrawComponent; 37 import org.nightlabs.editor2d.command.CreateDrawComponentCommand; 38 39 40 public class MultiLayerDrawComponentTreeEditPolicy 41 extends DrawComponentTreeContainerEditPolicy 42 { 43 protected Command createCreateCommand(DrawComponent child, Rectangle r, int index, String label) 44 { 45 CreateDrawComponentCommand cmd = new CreateDrawComponentCommand(); 46 Rectangle rect; 47 if(r == null) { 48 rect = new Rectangle(); 49 rect.setSize(new Dimension(-1,-1)); 50 } 51 else { 52 rect = r; 53 } 54 cmd.setLocation(rect); 55 56 MultiLayerDrawComponent mldc = (MultiLayerDrawComponent)getHost().getModel(); 57 Layer currentLayer = mldc.getCurrentLayer(); 58 cmd.setParent(currentLayer); 59 60 cmd.setChild(child); 61 cmd.setLabel(label); 62 if(index >= 0) 63 cmd.setIndex(index); 64 return cmd; 65 } 66 } 67 | Popular Tags |