Source code: com/vinculum/processeditor/model/LocationPropertySource.java
1 /* * ** ** BEGIN LICENSE BLOCK * ** **
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3 *
4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/
8 *
9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
11 * for the specific language governing rights and limitations under the
12 * License.
13 *
14 * The Original Code is Vinculum Open Source.
15 *
16 * The Initial Developer of the Original Code is
17 * Gerard Toonstra.
18 * Portions created by the Initial Developer are Copyright (C) 2003
19 * the Initial Developer. All Rights Reserved.
20 *
21 * Contributor(s):
22 *
23 * Alternatively, the contents of this file may be used under the terms of
24 * either the GNU General Public License Version 2 or later (the "GPL"), or
25 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
26 * in which case the provisions of the GPL or the LGPL are applicable instead
27 * of those above. If you wish to allow use of your version of this file only
28 * under the terms of either the GPL or the LGPL, and not to allow others to
29 * use your version of this file under the terms of the MPL, indicate your
30 * decision by deleting the provisions above and replace them with the notice
31 * and other provisions required by the GPL or the LGPL. If you do not delete
32 * the provisions above, a recipient may use your version of this file under
33 * the terms of any one of the MPL, the GPL or the LGPL.
34 *
35 * ** ** * END LICENSE BLOCK * ** **
36 */
37
38 /***************************************************************************
39 $RCSfile: LocationPropertySource.java,v $ - description
40 -------------------
41 begin : $Date: 2003/07/08 08:02:19 $
42 copyright : Vinculum (C) 2002
43 author : $Author: chiraz $
44 ***************************************************************************/
45
46 /* $Log: LocationPropertySource.java,v $
47 /* Revision 1.1.1.1 2003/07/08 08:02:19 chiraz
48 /* egg
49 /* */
50
51 package com.vinculum.processeditor.model;
52
53 import org.eclipse.ui.views.properties.IPropertyDescriptor;
54 import org.eclipse.ui.views.properties.IPropertySource;
55 import org.eclipse.ui.views.properties.TextPropertyDescriptor;
56
57 import org.eclipse.draw2d.geometry.Point;
58
59 import com.vinculum.processeditor.ProcessMessages;
60
61 /**
62 * @author chilan
63 *
64 */
65 public class LocationPropertySource implements IPropertySource
66 {
67 public static String ID_XPOS = "xPos"; //$NON-NLS-1$
68 public static String ID_YPOS = "yPos"; //$NON-NLS-1$
69 protected static IPropertyDescriptor[] descriptors;
70
71 static
72 {
73 descriptors = new IPropertyDescriptor[]
74 {
75 new TextPropertyDescriptor(ID_XPOS, ProcessMessages.LocationPropertySource_Property_X_Label),
76 new TextPropertyDescriptor(ID_YPOS, ProcessMessages.LocationPropertySource_Property_Y_Label)
77 };
78 }
79
80 protected Point point = null;
81
82 public LocationPropertySource(Point point)
83 {
84 this.point = new Point(point);
85 }
86
87 public Object getEditableValue()
88 {
89 return this;
90 }
91
92 public IPropertyDescriptor[] getPropertyDescriptors()
93 {
94 return descriptors;
95 }
96
97 public Object getPropertyValue(Object propName)
98 {
99 if(ID_XPOS.equals(propName))
100 {
101 return new String(new Integer(point.x).toString());
102 }
103 if(ID_YPOS.equals(propName))
104 {
105 return new String(new Integer(point.y).toString());
106 }
107 return null;
108 }
109
110 public Point getValue()
111 {
112 return new Point(point);
113 }
114
115 public boolean isPropertySet(Object propName)
116 {
117 if(ID_XPOS.equals(propName) || ID_YPOS.equals(propName))return true;
118 return false;
119 }
120
121 public void resetPropertyValue(Object propName){}
122
123 public void setPropertyValue(Object propName, Object value)
124 {
125 if(ID_XPOS.equals(propName))
126 {
127 Integer newInt = new Integer((String)value);
128 point.x = newInt.intValue();
129 }
130 if(ID_YPOS.equals(propName))
131 {
132 Integer newInt = new Integer((String)value);
133 point.y = newInt.intValue();
134 }
135 }
136
137 public String toString()
138 {
139 return new String("["+point.x+","+point.y+"]");//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
140 }
141 }