Revision 35986 branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/tools/swing/serv/field/crs/JCRSDynFieldComponent.java

View differences:

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