1 8 package com.nightlabs.editor2d.edit; 9 10 import java.beans.PropertyChangeEvent ; 11 import java.util.ArrayList ; 12 import java.util.List ; 13 14 import org.eclipse.draw2d.Figure; 15 import org.eclipse.draw2d.FreeformLayout; 16 import org.eclipse.draw2d.IFigure; 17 import org.eclipse.ui.views.properties.IPropertySource; 18 19 import com.nightlabs.editor2d.Layer; 20 import com.nightlabs.editor2d.figures.BufferedFreeformLayer; 21 import com.nightlabs.editor2d.figures.OversizedBufferFreeformLayer; 22 import com.nightlabs.editor2d.model.LayerPropertySource; 23 import com.nightlabs.editor2d.model.TextPropertySource; 24 25 public class LayerEditPart 26 extends AbstractDrawComponentContainerEditPart 27 { 28 31 public LayerEditPart(Layer layer, MultiLayerDrawComponentEditPart mldcEditPart) { 32 super(layer); 33 } 34 35 38 protected IFigure createFigure() 39 { 40 Figure f = new OversizedBufferFreeformLayer(); 45 ((BufferedFreeformLayer)f).init(this); 46 f.setLayoutManager(new FreeformLayout()); 47 return f; 48 } 49 50 public Layer getLayer() { 51 return (Layer) getModel(); 52 } 53 54 57 protected List getModelChildren() 58 { 59 if (getLayer().isVisible()) { 60 return getLayer().getDrawComponents(); 61 } else { 62 return new ArrayList (); 63 } 64 } 65 66 public BufferedFreeformLayer getBufferedFreeformLayer() { 67 return (BufferedFreeformLayer) getFigure(); 68 } 69 70 protected void propertyChanged(PropertyChangeEvent evt) 71 { 72 super.propertyChanged(evt); 73 String propertyName = evt.getPropertyName(); 74 if (propertyName.equals(Layer.PROP_VISIBLE)) { 75 LOGGER.debug(propertyName +" changed!"); 76 refreshChildren(); 77 } 78 } 79 80 83 protected IPropertySource getPropertySource() 84 { 85 if (propertySource == null) 86 { 87 propertySource = 88 new LayerPropertySource(getLayer()); 89 } 90 return propertySource; 91 } 92 93 } 111 | Popular Tags |