KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > edit > LayerEditPart


1 /**
2  * <p> Project: com.nightlabs.editor2d </p>
3  * <p> Copyright: Copyright (c) 2004 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 28.10.2004 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.edit;
9
10 import java.beans.PropertyChangeEvent JavaDoc;
11 import java.util.ArrayList JavaDoc;
12 import java.util.List JavaDoc;
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   /**
29    * @param drawComponent
30    */

31   public LayerEditPart(Layer layer, MultiLayerDrawComponentEditPart mldcEditPart) {
32     super(layer);
33   }
34     
35   /* (non-Javadoc)
36    * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#createFigure()
37    */

38   protected IFigure createFigure()
39   {
40 // IFigure f = new DummyFreeformLayer();
41
// IFigure f = new org.eclipse.draw2d.FreeformLayer();
42
// RendererFigure f = new FreeformLayer();
43
// Figure f = new SmartUpdateFreeformLayer();
44
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   /* (non-Javadoc)
55    * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren()
56    */

57   protected List JavaDoc getModelChildren()
58   {
59     if (getLayer().isVisible()) {
60       return getLayer().getDrawComponents();
61     } else {
62       return new ArrayList JavaDoc();
63     }
64   }
65   
66   public BufferedFreeformLayer getBufferedFreeformLayer() {
67     return (BufferedFreeformLayer) getFigure();
68   }
69   
70     protected void propertyChanged(PropertyChangeEvent JavaDoc evt)
71     {
72         super.propertyChanged(evt);
73         String JavaDoc propertyName = evt.getPropertyName();
74         if (propertyName.equals(Layer.PROP_VISIBLE)) {
75             LOGGER.debug(propertyName +" changed!");
76             refreshChildren();
77         }
78     }
79     
80   /* (non-Javadoc)
81    * @see com.ibm.itso.sal330r.gefdemo.edit.WorkflowElementEditPart#getPropertySource()
82    */

83   protected IPropertySource getPropertySource()
84   {
85     if (propertySource == null)
86     {
87       propertySource =
88         new LayerPropertySource(getLayer());
89     }
90     return propertySource;
91   }
92   
93 // public void notifyChanged(Notification notification)
94
// {
95
// int type = notification.getEventType();
96
// int featureId = notification.getFeatureID(Editor2DPackage.class);
97
//
98
// if (type == Notification.SET)
99
// {
100
// switch (featureId)
101
// {
102
// case Editor2DPackage.LAYER__VISIBLE :
103
// LOGGER.debug("LAYER__VISIBLE Notified!");
104
// refreshChildren();
105
// break;
106
// }
107
// }
108
// super.notifyChanged( notification );
109
// }
110
}
111
Popular Tags