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