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