Revision 673 org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/EditingExtension.java

View differences:

EditingExtension.java
34 34

  
35 35
import org.gvsig.andami.IconThemeHelper;
36 36
import org.gvsig.andami.PluginServices;
37
import org.gvsig.andami.PluginsLocator;
38
import org.gvsig.andami.actioninfo.ActionInfo;
37 39
import org.gvsig.andami.plugins.Extension;
38 40
import org.gvsig.andami.plugins.IExtension;
39 41
import org.gvsig.andami.plugins.status.IExtensionStatus;
40 42
import org.gvsig.andami.plugins.status.IUnsavedData;
41 43
import org.gvsig.andami.plugins.status.UnsavedData;
42
import org.gvsig.andami.ui.mdiManager.IWindow;
43
import org.gvsig.andami.ui.mdiManager.SingletonWindow;
44 44
import org.gvsig.app.ApplicationLocator;
45 45
import org.gvsig.app.ApplicationManager;
46 46
import org.gvsig.app.project.Project;
47 47
import org.gvsig.app.project.documents.Document;
48
import org.gvsig.app.project.documents.gui.IDocumentWindow;
49 48
import org.gvsig.app.project.documents.view.ViewDocument;
50 49
import org.gvsig.app.project.documents.view.ViewManager;
51 50
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
......
70 69
import org.gvsig.fmap.mapcontrol.tools.Behavior.MouseMovementBehavior;
71 70
import org.gvsig.tools.ToolsLocator;
72 71
import org.gvsig.tools.extensionpoint.ExtensionPoint;
72
import org.gvsig.tools.i18n.I18nManager;
73 73
import org.gvsig.tools.observer.Notification;
74 74
import org.gvsig.tools.observer.Observable;
75 75
import org.gvsig.tools.observer.Observer;
76
import org.gvsig.tools.swing.api.windowmanager.WindowManager.MODE;
76 77
import org.gvsig.utils.swing.threads.IMonitorableTask;
77 78
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator;
78 79
import org.gvsig.vectorediting.lib.spi.EditingProviderManager;
......
278 279
    public void update(Observable observable, Object notification) {
279 280

  
280 281
        if (notification instanceof Notification){
281
            ApplicationManager appManager =
282
                ApplicationLocator.getManager();
282
            ApplicationManager appManager = ApplicationLocator.getManager();
283 283
            Notification n = (Notification)notification;
284
            if (n.getType().equalsIgnoreCase(EditingContext.CHANGE_SELECTED_TOOL_NOTIFICATION)){
284
            if (n.isOfType(EditingContext.CHANGE_SELECTED_TOOL_NOTIFICATION)){
285 285
                String name = (String)n.getValue();
286 286
                logger.trace("Changed selected tool to '{}'", name);
287 287
                PluginServices.getMainFrame().setSelectedTool(name);
288 288
                appManager.refreshMenusAndToolBars();
289 289

  
290
            } else if (n.getType().equalsIgnoreCase(EditingContext.REFRESH_TOOLS_NOTIFICATION)){
290
            } else if (n.isOfType(EditingContext.EXPORT_LAYER_NOTIFICATION)){
291
                exportLayer((FLyrVect)(n.getValue()));
292
                
293
            } else if (n.isOfType(EditingContext.REFRESH_TOOLS_NOTIFICATION)){
291 294
                appManager.refreshMenusAndToolBars();
292 295
            }
293 296
        }
294 297
    }
295

  
298
    
299
    private void exportLayer(FLyrVect layer)  {
300
        ApplicationManager appManager = ApplicationLocator.getManager();
301
        I18nManager i18nManager = ToolsLocator.getI18nManager();
302
        ActionInfo action = PluginsLocator.getActionInfoManager().getAction("layer-exportto");
303
        action.execute(new Object[] { layer, MODE.toInteger(MODE.DIALOG) });
304
        String msg = "_Do_you_want_to_finish_editing_If_not_exported_the_data_the_changes_will_be_lost";
305
        if( appManager.confirmDialog(
306
                i18nManager.getTranslation(msg), 
307
                i18nManager.getTranslation("end_editing"), 
308
                JOptionPane.YES_NO_OPTION,
309
                JOptionPane.QUESTION_MESSAGE)==JOptionPane.YES_OPTION ) {
310
            try {
311
                layer.getFeatureStore().cancelEditing();
312
            } catch (Exception e) {
313
                logger.warn("Can't abort editing of layer '"+layer.getName()+"'.",e);
314
                msg = "_Cant_finish_editing_See_the_error_log_for_more_information";
315
                appManager.messageDialog(msg, "_Warning", JOptionPane.WARNING_MESSAGE);
316
            }
317
        }
318
    }
319
    
296 320
    private List<FLyrVect> getEditedLayers(){
297 321
        ApplicationManager application = ApplicationLocator.getManager();
298 322
        List<FLyrVect> editedLayers = new ArrayList<>();

Also available in: Unified diff