Revision 46796

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/DataSwingManager.java
214 214
    public StoresRepositoryController createStoresRepositoryController(JTree tree);
215 215
    
216 216
    public Icon getStoreGeometryIcon(FeatureStore store);
217
    
218
    /**
219
     * Ask user if finish editing.
220
     * return YES_OPTION for finish, CANCEL_OPTION for cancel editing and 
221
     * NO_OPTION for continue editing.
222
     * 
223
     * @param featureStore
224
     * @return 
225
     */
226
    public int askUserStopEditing(FeatureStore featureStore);
217 227
}
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
507 507
                return;
508 508
            }
509 509
            if (store.isEditing()) {
510
                DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager();
510 511
                ThreadSafeDialogsManager dialogManager = ToolsSwingLocator.getThreadSafeDialogsManager();
511 512
                I18nManager i18nManager = ToolsLocator.getI18nManager();
512 513
                try {
513
                    int x = dialogManager.confirmDialog(
514
                            i18nManager.getTranslation("_Do_you_want_to_finish_editing_and_save_the_changes") + "\n\n"
515
                            + i18nManager.getTranslation("_Press_cancel_to_cancel_editing_and_changes"),
516
                            i18nManager.getTranslation("_Stop_editing"),
517
                            JOptionPane.YES_NO_CANCEL_OPTION,
518
                            JOptionPane.QUESTION_MESSAGE
519
                    );
514
                    int x = dataSwingManager.askUserStopEditing(store);
515
//                    x = dialogManager.confirmDialog(
516
//                            i18nManager.getTranslation("_Do_you_want_to_finish_editing_and_save_the_changes") + "\n\n"
517
//                            + i18nManager.getTranslation("_Press_cancel_to_cancel_editing_and_changes"),
518
//                            i18nManager.getTranslation("_Stop_editing"),
519
//                            JOptionPane.YES_NO_CANCEL_OPTION,
520
//                            JOptionPane.QUESTION_MESSAGE
521
//                    );
520 522
                    switch (x) {
521 523
                        case JOptionPane.YES_OPTION:
522 524
                            store.finishEditing();
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/DefaultDataSwingManager.java
22 22
 */
23 23
package org.gvsig.fmap.dal.swing.impl;
24 24

  
25
import java.awt.Component;
25 26
import java.net.URL;
26 27
import java.util.Collection;
27 28
import java.util.Collections;
......
37 38
import javax.swing.JButton;
38 39
import javax.swing.JComboBox;
39 40
import javax.swing.JList;
41
import javax.swing.JOptionPane;
40 42
import javax.swing.JTextField;
41 43
import javax.swing.JTree;
42 44
import javax.swing.text.JTextComponent;
......
135 137
import org.gvsig.fmap.dal.swing.searchpanel.SearchParameters;
136 138
import org.gvsig.fmap.dal.swing.storesrepository.StoresRepositoryController;
137 139
import org.gvsig.fmap.geom.Geometry;
140
import org.gvsig.tools.ToolsLocator;
138 141
import org.gvsig.tools.dynform.DynFormDefinition;
139 142
import org.gvsig.tools.dynform.DynFormLocator;
140 143
import org.gvsig.tools.dynobject.DynClass;
141 144
import org.gvsig.tools.dynobject.DynStruct;
142 145
import org.gvsig.tools.dynobject.Tags;
143 146
import org.gvsig.tools.exception.BaseException;
147
import org.gvsig.tools.i18n.I18nManager;
144 148
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
145 149

  
146 150

  
......
743 747
        }
744 748
    }
745 749
    
750

  
751
    public int askUserStopEditing(FeatureStore featureStore) {
752
        final int STOP_EDITING_CONTINUE = 0;
753
        final int STOP_EDITING_DISCARD = 1;
754
        final int STOP_EDITING_SAVE = 2;
755

  
756
        boolean allowWrite = featureStore.allowWrite();
757

  
758
        I18nManager i18n = ToolsLocator.getI18nManager();
759
        String message;
760
        Object[] options;
761

  
762
        if(allowWrite) {
763
            options = new Object[]{
764
                i18n.getTranslation("_Continuar"),
765
                "       " + i18n.getTranslation("_Descartar") + "       ",
766
                i18n.getTranslation("_Guardar"),
767
            };
768
            message = "<html>"+
769
                    "<b>"+i18n.getTranslation("_Continuar")+": </b>"+i18n.getTranslation("_Continue_editing_without_saving")+"<br>" +
770
                    "<b>"+i18n.getTranslation("_Descartar")+": </b>"+i18n.getTranslation("_Discard_and_lose_changes")+"<br>" +
771
                    "<b>"+i18n.getTranslation("_Guardar")+": </b>"+i18n.getTranslation("_Save_changes")+"<br>" +
772
                    "</html>";
773
        } else {
774
            options = new Object[]{
775
                i18n.getTranslation("_Continuar"),
776
                "       " + i18n.getTranslation("_Descartar"),
777
            };
778
            message = "<html>"+
779
                    "<b>"+i18n.getTranslation("_Continuar")+": </b>"+i18n.getTranslation("_Continue_editing_without_saving")+"<br>" +
780
                    "<b>"+i18n.getTranslation("_Descartar")+": </b>"+i18n.getTranslation("_Discard_and_lose_changes")+"<br>" +
781
                    "</html>";
782
        }
783
        int resp = JOptionPane
784
                .showOptionDialog(
785
                        null,
786
                        message,
787
                        i18n.getTranslation("stop_edition"),
788
                        JOptionPane.YES_NO_CANCEL_OPTION,
789
                        JOptionPane.QUESTION_MESSAGE, null, options,
790
                        options[0]);
791
       
792
        switch( resp ) {
793
        case STOP_EDITING_DISCARD:
794
            return JOptionPane.CANCEL_OPTION;
795
        case STOP_EDITING_SAVE:
796
            return JOptionPane.YES_OPTION;
797
        case STOP_EDITING_CONTINUE:
798
        default:
799
            return JOptionPane.NO_OPTION;
800
        }
801
    }
802
        
746 803
}
747 804

  
748 805
        

Also available in: Unified diff