Revision 35986 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/tools/swing/serv/field/crs/JCRSDynFieldComponent.java
JCRSDynFieldComponent.java | ||
---|---|---|
77 | 77 |
* () |
78 | 78 |
*/ |
79 | 79 |
public void saveStatus() { |
80 |
setFieldValue(this.getValue()); |
|
80 |
if (isValid()){ |
|
81 |
setFieldValue(this.getValue()); |
|
82 |
} |
|
81 | 83 |
} |
82 | 84 |
|
83 | 85 |
/* |
... | ... | |
93 | 95 |
* (non-Javadoc) |
94 | 96 |
* |
95 | 97 |
* @see |
96 |
* org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#setValue(java |
|
98 |
* org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#setNullValue(java
|
|
97 | 99 |
* .lang.Object) |
98 | 100 |
*/ |
99 | 101 |
public void setNullValue() { |
... | ... | |
110 | 112 |
|
111 | 113 |
public void setCurProj(IProjection projection) { |
112 | 114 |
panel.setCurProj(projection); |
115 |
this.fireValueChangedEvent(); |
|
113 | 116 |
} |
114 | 117 |
|
115 | 118 |
public IProjection getCurProj() { |
... | ... | |
130 | 133 |
protected void setJDynFieldComponentListeners() { |
131 | 134 |
|
132 | 135 |
} |
136 |
|
|
137 |
public void setValue(Object value){ |
|
138 |
Object oldValue = getValue(); |
|
139 |
if (value == null){ |
|
140 |
setNullValue(); |
|
141 |
}else{ |
|
142 |
setNonNullValue(value); |
|
143 |
} |
|
144 |
if (oldValue!=value){ |
|
145 |
this.fireValueChangedEvent(); |
|
146 |
} |
|
147 |
} |
|
133 | 148 |
|
134 | 149 |
@Override |
135 | 150 |
protected void afterUI() { |
... | ... | |
178 | 193 |
return WindowInfo.DIALOG_PROFILE; |
179 | 194 |
} |
180 | 195 |
|
181 |
@Override |
|
182 |
public void setValue(Object value) { |
|
183 |
if (value instanceof IProjection) |
|
184 |
setCurProj((IProjection) value); |
|
185 |
else |
|
186 |
setNullValue(); |
|
187 |
} |
|
188 |
|
|
189 | 196 |
public JComponent asJComponent() { |
190 | 197 |
return panel; |
191 | 198 |
} |
... | ... | |
204 | 211 |
public void actionPerformed(java.awt.event.ActionEvent e) { |
205 | 212 |
if (panel.isOkPressed()) { |
206 | 213 |
setValue(panel.getCurProj()); |
214 |
fireValueChangedEvent(); |
|
207 | 215 |
} |
208 | 216 |
} |
209 | 217 |
}); |
210 | 218 |
} |
211 | 219 |
return panel; |
212 | 220 |
} |
221 |
|
|
222 |
@Override |
|
223 |
public boolean isValid() { |
|
224 |
return this.getValue()!=null; |
|
225 |
} |
|
213 | 226 |
|
214 | 227 |
} |
Also available in: Unified diff