KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > impl > EditorGuideImpl


1 /**
2  * <copyright>
3  * </copyright>
4  *
5  * $Id: EditorGuideImpl.java 1607 2005-08-23 16:04:49Z nozkiller $
6  */

7 package com.nightlabs.editor2d.impl;
8
9 import java.beans.PropertyChangeListener JavaDoc;
10 import java.beans.PropertyChangeSupport JavaDoc;
11 import java.util.HashMap JavaDoc;
12 import java.util.Map JavaDoc;
13 import java.util.Set JavaDoc;
14
15 import com.nightlabs.editor2d.DrawComponent;
16 import com.nightlabs.editor2d.EditorGuide;
17
18 /**
19  * <!-- begin-user-doc -->
20  * An implementation of the model object '<em><b>Editor Guide</b></em>'.
21  * <!-- end-user-doc -->
22  * <p>
23  * The following features are implemented:
24  * <ul>
25  * <li>{@link com.nightlabs.editor2d.impl.EditorGuideImpl#isHorizontal <em>Horizontal</em>}</li>
26  * <li>{@link com.nightlabs.editor2d.impl.EditorGuideImpl#getPosition <em>Position</em>}</li>
27  * <li>{@link com.nightlabs.editor2d.impl.EditorGuideImpl#getMap <em>Map</em>}</li>
28  * <li>{@link com.nightlabs.editor2d.impl.EditorGuideImpl#getListeners <em>Listeners</em>}</li>
29  * </ul>
30  * </p>
31  *
32  * @generated
33  */

34 public class EditorGuideImpl
35 implements EditorGuide
36 {
37   /**
38    * @return the set of all the parts attached to this guide; a set is used because a part
39    * can only be attached to a guide along one edge.
40    */

41   public Set JavaDoc getParts() {
42     return getMap().keySet();
43   }
44   
45     /**
46      * The default value of the '{@link #isHorizontal() <em>Horizontal</em>}' attribute.
47      * <!-- begin-user-doc -->
48    * <!-- end-user-doc -->
49      * @see #isHorizontal()
50      * @generated
51      * @ordered
52      */

53   protected static final boolean HORIZONTAL_EDEFAULT = false;
54
55     /**
56      * The cached value of the '{@link #isHorizontal() <em>Horizontal</em>}' attribute.
57      * <!-- begin-user-doc -->
58    * <!-- end-user-doc -->
59      * @see #isHorizontal()
60      * @generated
61      * @ordered
62      */

63   protected boolean horizontal = HORIZONTAL_EDEFAULT;
64
65     /**
66      * The default value of the '{@link #getPosition() <em>Position</em>}' attribute.
67      * <!-- begin-user-doc -->
68    * <!-- end-user-doc -->
69      * @see #getPosition()
70      * @generated
71      * @ordered
72      */

73   protected static final int POSITION_EDEFAULT = 0;
74
75     /**
76      * The cached value of the '{@link #getPosition() <em>Position</em>}' attribute.
77      * <!-- begin-user-doc -->
78    * <!-- end-user-doc -->
79      * @see #getPosition()
80      * @generated
81      * @ordered
82      */

83   protected int position = POSITION_EDEFAULT;
84
85     /**
86      * The default value of the '{@link #getMap() <em>Map</em>}' attribute.
87      * <!-- begin-user-doc -->
88    * <!-- end-user-doc -->
89      * @see #getMap()
90      * @generated
91      * @ordered
92      */

93   protected static final Map JavaDoc MAP_EDEFAULT = null;
94
95     /**
96      * The cached value of the '{@link #getMap() <em>Map</em>}' attribute.
97      * <!-- begin-user-doc -->
98    * <!-- end-user-doc -->
99      * @see #getMap()
100      * @generated
101      * @ordered
102      */

103   protected Map JavaDoc map = MAP_EDEFAULT;
104
105     /**
106      * The default value of the '{@link #getListeners() <em>Listeners</em>}' attribute.
107      * <!-- begin-user-doc -->
108    * <!-- end-user-doc -->
109      * @see #getListeners()
110      * @generated
111      * @ordered
112      */

113   protected static final PropertyChangeSupport JavaDoc LISTENERS_EDEFAULT = null;
114
115   /**
116    * The cached value of the '{@link #getListeners() <em>Listeners</em>}' attribute.
117    * <!-- begin-user-doc -->
118    * <!-- end-user-doc -->
119    * @see #getListeners()
120    *
121    * @ordered
122    */

123 // protected PropertyChangeSupport listeners = LISTENERS_EDEFAULT;
124
protected PropertyChangeSupport JavaDoc listeners = new PropertyChangeSupport JavaDoc(this);
125
126     /**
127      * This is true if the Listeners attribute has been set.
128      * <!-- begin-user-doc -->
129    * <!-- end-user-doc -->
130      * @generated
131      * @ordered
132      */

133   protected boolean listenersESet = false;
134
135     /**
136      * <!-- begin-user-doc -->
137    * <!-- end-user-doc -->
138      *
139      */

140   public EditorGuideImpl() {
141         super();
142     }
143
144     /**
145      * <!-- begin-user-doc -->
146    * <!-- end-user-doc -->
147      * @generated
148      */

149   public boolean isHorizontal() {
150         return horizontal;
151     }
152
153     /**
154      * <!-- begin-user-doc -->
155    * <!-- end-user-doc -->
156      * @generated
157      */

158   public void setHorizontal(boolean newHorizontal) {
159         horizontal = newHorizontal;
160     }
161
162     /**
163      * <!-- begin-user-doc -->
164    * <!-- end-user-doc -->
165      * @generated
166      */

167   public int getPosition() {
168         return position;
169     }
170
171   /**
172    * <!-- begin-user-doc -->
173    * <!-- end-user-doc -->
174    */

175   public void setPosition(int newPosition)
176   {
177     if (position != newPosition) {
178         int oldValue = position;
179         position = newPosition;
180         listeners.firePropertyChange(PROPERTY_POSITION, new Integer JavaDoc(oldValue),
181                 new Integer JavaDoc(position));
182     }
183   }
184   
185   /**
186    * <!-- begin-user-doc -->
187    * <!-- end-user-doc -->
188    *
189    */

190   public Map JavaDoc getMap() {
191     if (map == null) {
192         map = new HashMap JavaDoc();
193     }
194     return map;
195   }
196   
197     /**
198      * <!-- begin-user-doc -->
199    * <!-- end-user-doc -->
200      * @generated
201      */

202   public void setMap(Map JavaDoc newMap) {
203         map = newMap;
204     }
205
206   /**
207    * <!-- begin-user-doc -->
208    * <!-- end-user-doc -->
209    *
210    */

211   public void attachPart(DrawComponent drawComponent, int alignment)
212   {
213     if (getMap().containsKey(drawComponent) && getAlignment(drawComponent) == alignment)
214         return;
215     
216     getMap().put(drawComponent, new Integer JavaDoc(alignment));
217     EditorGuide parent = isHorizontal() ? drawComponent.getHorizontalGuide() : drawComponent.getVerticalGuide();
218     if (parent != null && parent != this) {
219         parent.detachPart(drawComponent);
220     }
221     if (isHorizontal()) {
222       drawComponent.setHorizontalGuide(this);
223     } else {
224       drawComponent.setVerticalGuide(this);
225     }
226     listeners.firePropertyChange(PROPERTY_CHILDREN, null, drawComponent);
227   }
228
229   /**
230    * <!-- begin-user-doc -->
231    * <!-- end-user-doc -->
232    *
233    */

234   public void detachPart(DrawComponent drawComponent)
235   {
236     if (getMap().containsKey(drawComponent)) {
237         getMap().remove(drawComponent);
238         if (isHorizontal()) {
239           drawComponent.setHorizontalGuide(null);
240         } else {
241           drawComponent.setVerticalGuide(null);
242         }
243         listeners.firePropertyChange(PROPERTY_CHILDREN, null, drawComponent);
244     }
245   }
246
247   /**
248    * <!-- begin-user-doc -->
249    * <!-- end-user-doc -->
250    *
251    */

252   public int getAlignment(DrawComponent drawComponent)
253   {
254     if (getMap().get(drawComponent) != null)
255         return ((Integer JavaDoc)getMap().get(drawComponent)).intValue();
256     return -2;
257   }
258
259   /**
260    * <!-- begin-user-doc -->
261    * <!-- end-user-doc -->
262    *
263    */

264   public void addPropertyChangeListener(PropertyChangeListener JavaDoc listener) {
265     listeners.addPropertyChangeListener(listener);
266   }
267
268   /**
269    * <!-- begin-user-doc -->
270    * <!-- end-user-doc -->
271    *
272    */

273   public void removePropertyChangeListener(PropertyChangeListener JavaDoc listener) {
274     listeners.removePropertyChangeListener(listener);
275   }
276
277     /**
278      * <!-- begin-user-doc -->
279    * <!-- end-user-doc -->
280      * @generated
281      */

282   public String JavaDoc toString()
283   {
284         StringBuffer JavaDoc result = new StringBuffer JavaDoc(super.toString());
285         result.append(" (horizontal: ");
286         result.append(horizontal);
287         result.append(", position: ");
288         result.append(position);
289         result.append(", map: ");
290         result.append(map);
291         result.append(", listeners: ");
292         result.append(')');
293         return result.toString();
294     }
295
296 } //EditorGuideImpl
297
Popular Tags