1 27 28 package org.nightlabs.editor2d.edit; 29 30 import java.beans.PropertyChangeEvent ; 31 import java.util.Collections ; 32 import java.util.List ; 33 34 import org.eclipse.draw2d.FreeformLayout; 35 import org.eclipse.draw2d.IFigure; 36 import org.eclipse.ui.views.properties.IPropertySource; 37 import org.nightlabs.editor2d.Layer; 38 import org.nightlabs.editor2d.figures.ContainerFreeformLayer; 39 import org.nightlabs.editor2d.model.LayerPropertySource; 40 41 public class LayerEditPart 42 extends AbstractDrawComponentContainerEditPart 43 { 44 48 public LayerEditPart(Layer layer) { 49 super(layer); 50 } 51 52 55 protected IFigure createFigure() 56 { 57 59 62 67 IFigure f = new ContainerFreeformLayer(); 68 69 f.setLayoutManager(new FreeformLayout()); 70 return f; 71 } 72 73 public Layer getLayer() { 74 return (Layer) getModel(); 75 } 76 77 80 protected List getModelChildren() 81 { 82 if (getLayer().isVisible()) { 83 return getLayer().getDrawComponents(); 84 } else { 85 return Collections.EMPTY_LIST; 86 } 87 } 88 89 97 protected void propertyChanged(PropertyChangeEvent evt) 98 { 99 super.propertyChanged(evt); 100 String propertyName = evt.getPropertyName(); 101 if (propertyName.equals(Layer.PROP_VISIBLE)) { 102 LOGGER.debug(propertyName +" changed!"); 103 refresh(); 105 } 106 } 107 108 111 protected IPropertySource getPropertySource() 112 { 113 if (propertySource == null) 114 { 115 propertySource = 116 new LayerPropertySource(getLayer()); 117 } 118 return propertySource; 119 } 120 121 } 122 | Popular Tags |