Revision 44152

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/resources-plugin/i18n/text.properties
1356 1356
_Show_message=Mostrar error
1357 1357
_Message=Mensaje
1358 1358
_Tip=Sugerencia
1359

  
1359
_Cant_retrieve_information_from_user_form=No se puede recuperar informaci\u00f3n del formulario de usuario.
1360
_See_log_for_details=Ver el registro para m\u00e1s detalles.
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app/org.gvsig.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
1275 1275
_Show_message=Show message
1276 1276
_Message=Message
1277 1277
_Tip=Tip
1278
_Cant_retrieve_information_from_user_form=Can't retrieve information from user form.
1279
_See_log_for_details=See log for details.
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultCalculatorController.java
227 227
    public boolean getWarning() {
228 228
        return warning;
229 229
    }
230

  
231
    @Override
232
    public T get(T defaultValue) {
233
        T v = this.get();
234
        if( v==null ) {
235
            return defaultValue;
236
        }
237
        return v;
238
    }
230 239
    
231
    
232 240
    @Override
233 241
    public T get() {
234 242
        Object value;
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultJExpressionBuilder.java
752 752
    public void setExpression(Expression expression) {
753 753
        if( expression==null ) {
754 754
            this.txtExpression.setText("");
755
            this.scriptEditor.set(null);
755
            try { this.scriptEditor.set(null); } catch(Exception ex) {}
756 756
            this.scriptPicker.set(null);
757 757
        } else {
758 758
            this.txtExpression.setText(expression.getPhrase());
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.impl/src/main/java/org/gvsig/expressionevaluator/swing/impl/DefaultExpressionPickerController.java
114 114
    
115 115
    @Override
116 116
    public Expression get() {
117
        if( value == null ) {
117
        String s = this.text.getText();
118
        if( StringUtils.isBlank(s) ) {
118 119
            return null;
119 120
        }
121
        if( value == null ) {
122
            value = ExpressionEvaluatorLocator.getManager().createExpression();
123
        }
120 124
        this.value.setPhrase(this.text.getText());
121 125
        return this.value;
122 126
    }
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.expressionevaluator/org.gvsig.expressionevaluator.swing/org.gvsig.expressionevaluator.swing.api/src/main/java/org/gvsig/expressionevaluator/swing/CalculatorController.java
16 16

  
17 17
    public T get();
18 18

  
19
    public T get(T defaultValue);
20

  
19 21
    public void set(T value);
20 22

  
21 23
    public void coerceAndSet(Object value);
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretype/DefaultFeatureTypePanel.java
215 215
        }
216 216
    }
217 217
       
218
    private void doFormFieldFetch() {
218
    private boolean doFormFieldFetch() {
219 219
        int row = this.tblFields.getSelectedRow();
220 220
        if( row<0 ) {
221
            return;
221
            return true;
222 222
        }
223 223
        FeatureAttributeDescriptor descriptor = this.featureType.getAttributeDescriptor(row);
224 224
        if( descriptor instanceof EditableFeatureAttributeDescriptor ) {
225
            this.descriptorPanel.fetch((EditableFeatureAttributeDescriptor) descriptor);
225
            if( this.descriptorPanel.fetch((EditableFeatureAttributeDescriptor) descriptor)==null ) {
226
                return false;
227
            }
226 228
            this.tableModel.fireUpdateEvent();
227 229
        } 
230
        return true;
228 231
    }
229 232
    
230 233
    private void doFormFieldPut() {
......
249 252
        this.btnFormFieldAccept.setEnabled(false);
250 253
        this.btnFormFieldDiscard.setEnabled(false);
251 254
        this.btnFormFieldModify.setEnabled(this.editable);
255
        this.btnNew.setEnabled(true);
256
        this.btnDelete.setEnabled(true);
252 257
    }
253 258
    
254 259
    private void doFormFieldModify() {
......
262 267
        this.btnFormFieldAccept.setEnabled(this.editable);
263 268
        this.btnFormFieldDiscard.setEnabled(this.editable);
264 269
        this.btnFormFieldModify.setEnabled(false);
270
        this.btnNew.setEnabled(false);
271
        this.btnDelete.setEnabled(false);
265 272
        if( descriptor instanceof EditableFeatureAttributeDescriptor ) {
266 273
            this.descriptorPanel.setEditable(this.editable);
267 274
        } else {
......
271 278
    }
272 279
    
273 280
    private void doFormFieldAccept() {
274
        doFormFieldFetch();
275
        this.updateButtonState();
276
        this.fieldSelectionAllowed = true;
281
        int row = this.tblFields.getSelectedRow();
282
        if( row<0 ) {
283
            return;
284
        }
285
        if( doFormFieldFetch() ) {
286
            this.updateButtonState();
287
            this.tblFields.getSelectionModel().setSelectionInterval(row, row);
288
            this.tblFields.scrollRectToVisible(this.tblFields.getCellRect(row, 0, true));
289
            this.fieldSelectionAllowed = true;
290
        }
277 291
    }
278 292
    
279 293
    private void doFormFieldDiscard() {
......
349 363
        EditableFeatureType eft = (EditableFeatureType)this.featureType;
350 364
        EditableFeatureAttributeDescriptor descriptor = eft.add(
351 365
                getNewFieldName(this.featureType), 
352
                DataTypes.STRING
366
                DataTypes.STRING,
367
                50
353 368
        );
354 369
        this.tableModel.fireUpdateEvent();
355 370
        int row = descriptor.getIndex();
356 371
        this.tblFields.getSelectionModel().addSelectionInterval(row,row);
372
        this.tblFields.scrollRectToVisible(this.tblFields.getCellRect(row, 0, true));
357 373
        updateButtonState();
358
        doFormFieldPut();       
374
        doFormFieldModify();       
359 375
    }
360 376
    
361 377
    private void doDeleteField() {
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.impl/src/main/java/org/gvsig/fmap/dal/swing/impl/featuretype/DefaultFeatureTypeAttributePanel.java
42 42
import org.gvsig.timesupport.RelativeInterval;
43 43
import org.gvsig.tools.ToolsLocator;
44 44
import org.gvsig.tools.dataTypes.DataTypesManager;
45
import org.gvsig.tools.i18n.I18nManager;
45 46
import org.gvsig.tools.swing.api.ListElement;
46 47
import org.gvsig.tools.swing.api.ToolsSwingLocator;
47 48
import org.gvsig.tools.swing.api.ToolsSwingManager;
......
204 205
        this.pickerPrecision = evaluatorManager.createCalculatorController(
205 206
                this.txtPrecision, DataTypes.INT
206 207
        );
207
//        this.pickerFieldName = evaluatorManager.createCalculatorController(
208
//                this.txtFieldName, DataTypes.STRING
209
//        );
210 208
        this.pickerDefaultValue = evaluatorManager.createCalculatorController(
211 209
                this.txtDefaultValue, DataTypes.OBJECT
212 210
        );
......
276 274

  
277 275
    @Override
278 276
    public EditableFeatureAttributeDescriptor fetch(EditableFeatureAttributeDescriptor descriptor) {
277
        I18nManager i18n = ToolsLocator.getI18nManager();
279 278
        try {
280 279
            descriptor.setDataType((int) ListElement.getSelected(this.cboFieldType));
281 280
            descriptor.setName(this.txtFieldName.getText());
282 281
            descriptor.setAllowNull(this.chkAllowNulls.isSelected());
283 282
            descriptor.setIsPrimaryKey(this.chkIsPrimaryKey.isSelected());
284 283
            descriptor.setIsAutomatic(this.chkIsAutomatic.isSelected());
285
            descriptor.setSize(this.pickerSize.get());
286
            descriptor.setPrecision(this.pickerPrecision.get());
284
            descriptor.setSize(this.pickerSize.get(0));
285
            descriptor.setPrecision(this.pickerPrecision.get(0));
287 286
            descriptor.setDefaultValue(this.pickerDefaultValue.get());
288 287
            switch (descriptor.getType()) {
289 288
                case DataTypes.GEOMETRY:
......
310 309
                if( expression==null ) {
311 310
                    descriptor.setFeatureAttributeEmulator(null);
312 311
                } else {
313
                    if( StringUtils.equalsIgnoreCase("Field1", descriptor.getName()) ) {
314
                        if( !StringUtils.startsWithIgnoreCase(expression.getPhrase(), "IFNULL") ) {
315
                            LOGGER.info("OOhh!!! sa-roto.");
316
                        }
317
                    }
318 312
                    DataManager dataManager = DALLocator.getDataManager();
319 313
                    FeatureAttributeEmulatorExpression emulator = dataManager.createFeatureAttributeEmulatorExpression(
320 314
                            descriptor.getFeatureType(),
......
323 317
                    descriptor.setFeatureAttributeEmulator(emulator);
324 318
                }
325 319
            }
320
            descriptor.setDataProfileName(
321
                StringUtils.defaultIfBlank((String) this.cboDataProfile.getSelectedItem(),null)
322
            );
326 323
        } catch (Exception ex) {
324
            LOGGER.warn("Can't retrieve information from user form.",ex);
327 325
            ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
328 326
            dialogs.messageDialog(
329
                    "Can't retrieve information from user form.", 
330
                    "Warning", 
327
                    i18n.getTranslation("_Cant_retrieve_information_from_user_form")+
328
                        "\n"+
329
                        i18n.getTranslation("_See_log_for_details"), 
330
                    i18n.getTranslation("_Warning"), 
331 331
                    JOptionPane.WARNING_MESSAGE
332 332
            );
333
            return null;
333 334
        }
334
        descriptor.setDataProfileName(
335
            StringUtils.defaultIfBlank((String) this.cboDataProfile.getSelectedItem(),null)
336
        );
337 335
        return descriptor;
338 336
    }
339 337

  

Also available in: Unified diff