Revision 44149 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

View differences:

DefaultFeatureTypeAttributePanel.java
34 34
import org.gvsig.fmap.dal.feature.FeatureType;
35 35
import org.gvsig.fmap.dal.swing.DALSwingLocator;
36 36
import org.gvsig.fmap.dal.swing.DataSwingManager;
37
import org.gvsig.fmap.dal.swing.expressionevaluator.FeatureStoreElement;
37 38
import org.gvsig.fmap.geom.Geometry;
38 39
import org.gvsig.fmap.geom.GeometryLocator;
39 40
import org.gvsig.fmap.geom.GeometryManager;
......
70 71
    private CalculatorController<Integer> pickerSize;
71 72
    private CalculatorController<Integer> pickerPrecision;
72 73
    private CalculatorController<Object> pickerDefaultValue;
73
//    private CalculatorController<String> pickerFieldName;
74 74
    private PickerController<IProjection> pickerCRS;
75 75
    private ExpressionPickerController pickerVirtualField;
76 76

  
77 77
    private boolean editable;
78
    private FeatureStoreElement featureStoreElement;
78 79

  
79 80
    public DefaultFeatureTypeAttributePanel() {
80 81
        this.editable = true;
......
130 131
    private void initComponents() {
131 132
        ToolsSwingManager swingManager = ToolsSwingLocator.getToolsSwingManager();
132 133
        ExpressionEvaluatorSwingManager evaluatorManager = ExpressionEvaluatorSwingLocator.getManager();
133

  
134
        DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
135
        
134 136
        DefaultComboBoxModel<ListElement<Integer>> modelTypes = new DefaultComboBoxModel<>();
135 137
        for (ListElement<Integer> element : fieldTypes) {
136 138
            modelTypes.addElement(element);
......
209 211
                this.txtDefaultValue, DataTypes.OBJECT
210 212
        );
211 213

  
214

  
212 215
        this.btnVirtualField.setText("");
213 216
        this.pickerVirtualField = ExpressionEvaluatorSwingLocator.getManager()
214 217
                .createExpressionPickerController(txtVirtualField, btnVirtualField);
218
        this.featureStoreElement = dataSwingManager.createFeatureStoreElement(
219
                this.pickerVirtualField
220
        );
221
        this.pickerVirtualField.addElement(this.featureStoreElement);
222
        this.chkVirtualField.addChangeListener(new ChangeListener() {
223
            @Override
224
            public void stateChanged(ChangeEvent e) {
225
                if (chkVirtualField.isSelected()) {
226
                    pickerVirtualField.setEnabled(editable);
227
                } else {
228
                    pickerVirtualField.setEnabled(false);
229
                }
230
            }
231
        });
215 232

  
216
        this.pickerCRS = DALSwingLocator.getSwingManager()
217
                .createProjectionPickerController(this.txtCRS, this.btnCRS);
218 233

  
234
        this.pickerCRS = dataSwingManager.createProjectionPickerController(
235
                this.txtCRS, this.btnCRS
236
        );
237

  
219 238
        this.cboFieldType.addItemListener(new ItemListener() {
220 239
            @Override
221 240
            public void itemStateChanged(ItemEvent e) {
......
229 248
            }
230 249
        });
231 250

  
232
        this.chkVirtualField.addChangeListener(new ChangeListener() {
233
            @Override
234
            public void stateChanged(ChangeEvent e) {
235
                if (chkVirtualField.isSelected()) {
236
                    pickerVirtualField.setEnabled(editable);
237
                } else {
238
                    pickerVirtualField.setEnabled(false);
239
                }
240
            }
241
        });
242 251
        this.pickerPrecision.addChangeListener(new ChangeListener() {
243 252
            @Override
244 253
            public void stateChanged(ChangeEvent e) {
......
301 310
                if( expression==null ) {
302 311
                    descriptor.setFeatureAttributeEmulator(null);
303 312
                } else {
313
                    if( StringUtils.equalsIgnoreCase("Field1", descriptor.getName()) ) {
314
                        if( !StringUtils.startsWithIgnoreCase(expression.getPhrase(), "IFNULL") ) {
315
                            LOGGER.info("OOhh!!! sa-roto.");
316
                        }
317
                    }
304 318
                    DataManager dataManager = DALLocator.getDataManager();
305 319
                    FeatureAttributeEmulatorExpression emulator = dataManager.createFeatureAttributeEmulatorExpression(
306 320
                            descriptor.getFeatureType(),
......
356 370
            return;
357 371
        }
358 372
        ExpressionEvaluatorSwingManager expressionSwingManager = ExpressionEvaluatorSwingLocator.getManager();
359
        if( this.pickerVirtualField!=null ) {
360
            this.pickerVirtualField.unbind();
361
        }
362
        this.pickerVirtualField = ExpressionEvaluatorSwingLocator.getManager()
363
                .createExpressionPickerController(txtVirtualField, btnVirtualField);
364 373
        if( descriptor.getFeatureType()!=null ) {
365 374
            FeatureStore store = descriptor.getFeatureType().getStore();
366
            if( store!=null ) {
367
                this.pickerVirtualField.addElement(
368
                    expressionSwingManager.createElement(
369
                            DataSwingManager.FEATURE_STORE_EXPRESSION_ELEMENT,
370
                            this.pickerVirtualField,
371
                            store
372
                    )
373
                );
375
            this.featureStoreElement.setFeatureStore(store);
376
            if( store != null ) {
374 377
                Feature sampleFeature = null;
375 378
                try {
376 379
                    sampleFeature = store.getFeatureSelection().first();
......
392 395
                
393 396
        this.pickerDefaultValue.set(descriptor.getDefaultValue());
394 397
        this.txtFieldName.setText(descriptor.getName());
395
//        this.pickerFieldName.set(descriptor.getName());
396 398
        RelativeInterval interval = (RelativeInterval) descriptor.getInterval();
397 399
        if (interval == null) {
398 400
            this.pickerIntervalEnd.set(null);

Also available in: Unified diff