Revision 44510 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/featureform/swing/impl/DefaultJFeaturesForm.java
DefaultJFeaturesForm.java | ||
---|---|---|
54 | 54 |
import org.gvsig.fmap.dal.StoresRepository; |
55 | 55 |
import org.gvsig.fmap.dal.exception.DataException; |
56 | 56 |
import org.gvsig.fmap.dal.expressionevaluator.ExpressionEvaluator; |
57 |
import org.gvsig.fmap.dal.feature.EditableFeature; |
|
57 | 58 |
import org.gvsig.fmap.dal.feature.Feature; |
58 | 59 |
import org.gvsig.fmap.dal.feature.FacadeOfAFeature; |
59 | 60 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
... | ... | |
538 | 539 |
} |
539 | 540 |
|
540 | 541 |
} |
542 |
private void deleteCurrentElement(JDynFormSet theFormSet) { |
|
543 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
544 |
try { |
|
545 |
int index = theFormSet.getCurrentIndex(); |
|
546 |
DynObject currentElement = theFormSet.get(index); |
|
547 |
theFormSet.getFormValues(currentElement); |
|
548 |
Feature feature = ((FacadeOfAFeature) currentElement).getFeature(); |
|
549 |
if (feature instanceof EditableFeature) { |
|
550 |
feature = ((EditableFeature) feature).getNotEditableCopy(); |
|
551 |
} |
|
552 |
features.delete(feature); |
|
553 |
this.formset.message(i18n.getTranslation("_Record_removed")); |
|
541 | 554 |
|
555 |
} catch (Exception ex) { |
|
556 |
theFormSet.message(i18n.getTranslation("error_removing_data_will_not_remove")); |
|
557 |
throw new RuntimeException("Can't remove values", ex); |
|
558 |
|
|
559 |
} finally { |
|
560 |
updateButtonEnabledStatus(); |
|
561 |
} |
|
562 |
|
|
563 |
} |
|
542 | 564 |
@Override |
543 | 565 |
public void saveChanges() { |
544 | 566 |
if (this.formset != null && this.formset.countValues() > 0) { |
... | ... | |
584 | 606 |
formset.setActionEnabled(ACTION_CANCEL_NEW,true); |
585 | 607 |
formset.setActionEnabled(ACTION_SAVE,true); |
586 | 608 |
|
587 |
} else if( this.features.isEmpty() ) { |
|
609 |
} else if( this.features!=null && this.features.isEmpty() ) {
|
|
588 | 610 |
formset.setActionEnabled(ACTION_DELETE, false); |
589 | 611 |
formset.setActionEnabled(ACTION_SEARCH,false); |
590 | 612 |
formset.setActionEnabled(ACTION_NEW,true); |
... | ... | |
684 | 706 |
@Override |
685 | 707 |
public void formAfterDelete(JDynFormSet dynformSet) throws AbortActionException { |
686 | 708 |
LOGGER.trace("formAfterDelete"); |
709 |
deleteCurrentElement(dynformSet); |
|
687 | 710 |
updateButtonEnabledStatus(); |
688 | 711 |
} |
689 | 712 |
|
Also available in: Unified diff