1 27 28 package org.nightlabs.editor2d.edit.tree; 29 30 import java.beans.PropertyChangeEvent ; 31 import java.util.List ; 32 33 import org.eclipse.gef.EditPolicy; 34 import org.eclipse.gef.RootEditPart; 35 import org.eclipse.gef.editpolicies.RootComponentEditPolicy; 36 37 import org.nightlabs.editor2d.DrawComponentContainer; 38 import org.nightlabs.editor2d.editpolicy.DrawComponentContainerEditPolicy; 39 import org.nightlabs.editor2d.editpolicy.tree.DrawComponentTreeContainerEditPolicy; 40 41 public abstract class DrawComponentContainerTreeEditPart 42 extends DrawComponentTreeEditPart 43 { 44 49 public DrawComponentContainerTreeEditPart(DrawComponentContainer model) { 50 super(model); 51 } 52 53 56 protected void createEditPolicies() 57 { 58 super.createEditPolicies(); 59 installEditPolicy(EditPolicy.CONTAINER_ROLE, new DrawComponentContainerEditPolicy()); 60 installEditPolicy(EditPolicy.TREE_CONTAINER_ROLE, new DrawComponentTreeContainerEditPolicy()); 61 if (getParent() instanceof RootEditPart) 63 installEditPolicy(EditPolicy.COMPONENT_ROLE, new RootComponentEditPolicy()); 64 } 65 66 71 protected DrawComponentContainer getDrawComponentContainer() { 72 return (DrawComponentContainer)getModel(); 73 } 74 75 81 protected List getModelChildren() 82 { 83 return getDrawComponentContainer().getDrawComponents(); 84 } 85 86 protected void propertyChanged(PropertyChangeEvent evt) 87 { 88 super.propertyChanged(evt); 89 String propertyName = evt.getPropertyName(); 90 if (propertyName.equals(DrawComponentContainer.CHILD_ADDED)) { 91 LOGGER.debug(propertyName); 92 refreshChildren(); 93 } 94 else if (propertyName.equals(DrawComponentContainer.CHILD_REMOVED)) { 95 LOGGER.debug(propertyName); 96 refreshChildren(); 97 } 98 } 99 100 126 } 127 | Popular Tags |