Source code: com/vinculum/processeditor/model/DimensionPropertySource.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: DimensionPropertySource.java,v $ - description
40 -------------------
41 begin : $Date: 2003/07/08 08:02:23 $
42 copyright : Vinculum (C) 2002
43 author : $Author: chiraz $
44 ***************************************************************************/
45
46 /* $Log: DimensionPropertySource.java,v $
47 /* Revision 1.1.1.1 2003/07/08 08:02:23 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 import org.eclipse.draw2d.geometry.Dimension;
57
58 import com.vinculum.processeditor.ProcessMessages;
59
60 /**
61 * @author chilan
62 *
63 */
64 public class DimensionPropertySource implements IPropertySource
65 {
66 public static String ID_WIDTH = "width"; //$NON-NLS-1$
67 public static String ID_HEIGHT = "height";//$NON-NLS-1$
68 protected static IPropertyDescriptor[] descriptors;
69
70 static{
71 descriptors = new IPropertyDescriptor[]
72 {
73 new TextPropertyDescriptor(ID_WIDTH, ProcessMessages.DimensionPropertySource_Property_Width_Label),
74 new TextPropertyDescriptor(ID_HEIGHT, ProcessMessages.DimensionPropertySource_Property_Height_Label)
75 };
76 }
77
78 protected Dimension dimension = null;
79
80 public DimensionPropertySource(Dimension dimension)
81 {
82 this.dimension = new Dimension(dimension);
83 }
84
85 public Object getEditableValue()
86 {
87 return this;
88 }
89
90 public Object getPropertyValue(Object propName)
91 {
92 return getPropertyValue((String)propName);
93 }
94
95 public Object getPropertyValue(String propName)
96 {
97 if(ID_HEIGHT.equals(propName))
98 {
99 return new String(new Integer(dimension.height).toString());
100 }
101 if(ID_WIDTH.equals(propName))
102 {
103 return new String(new Integer(dimension.width).toString());
104 }
105 return null;
106 }
107
108 public Dimension getValue()
109 {
110 return new Dimension(dimension);
111 }
112
113 public void setPropertyValue(Object propName, Object value)
114 {
115 setPropertyValue((String)propName, value);
116 }
117
118 public void setPropertyValue(String propName, Object value)
119 {
120 if(ID_HEIGHT.equals(propName))
121 {
122 Integer newInt = new Integer((String)value);
123 dimension.height = newInt.intValue();
124 }
125 if(ID_WIDTH.equals(propName))
126 {
127 Integer newInt = new Integer((String)value);
128 dimension.width = newInt.intValue();
129 }
130 }
131
132 public IPropertyDescriptor[] getPropertyDescriptors()
133 {
134 return descriptors;
135 }
136
137 public void resetPropertyValue(String propName)
138 {
139 }
140
141 public void resetPropertyValue(Object propName)
142 {
143 }
144
145 public boolean isPropertySet(Object propName)
146 {
147 return true;
148 }
149
150 public boolean isPropertySet(String propName)
151 {
152 if(ID_HEIGHT.equals(propName) || ID_WIDTH.equals(propName))return true;
153 return false;
154 }
155
156 public String toString()
157 {
158 return new String("("+dimension.width+","+dimension.height+")");//$NON-NLS-3$//$NON-NLS-2$//$NON-NLS-1$
159 }
160 }