Revision 148
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.swing/org.gvsig.vectorediting.swing.impl/src/main/java/org/gvsig/vectorediting/swing/impl/DefaultEditingSwingManager.java | ||
---|---|---|
19 | 19 |
import javax.swing.JOptionPane; |
20 | 20 |
import javax.swing.JPanel; |
21 | 21 |
|
22 |
import org.gvsig.fmap.mapcontext.MapContext; |
|
22 | 23 |
import org.gvsig.fmap.mapcontrol.MapControl; |
23 | 24 |
import org.gvsig.tools.ToolsLocator; |
24 | 25 |
import org.gvsig.tools.dynobject.DynObject; |
... | ... | |
33 | 34 |
public class DefaultEditingSwingManager extends AbstractManager implements |
34 | 35 |
EditingSwingManager { |
35 | 36 |
|
36 |
Map<MapControl, EditingContext> editingContexts =
|
|
37 |
new HashMap<MapControl, EditingContext>();
|
|
37 |
Map<MapContext, EditingContext> editingContexts =
|
|
38 |
new HashMap<MapContext, EditingContext>();
|
|
38 | 39 |
|
39 | 40 |
public DefaultEditingSwingManager() { |
40 | 41 |
super(new DefaultEditingProviderManager()); |
41 |
|
|
42 |
|
|
42 | 43 |
} |
43 | 44 |
|
44 | 45 |
public EditingContext getEditingContext(MapControl mapControl) { |
45 |
if (editingContexts.containsKey(mapControl)) { |
|
46 |
return editingContexts.get(mapControl); |
|
46 |
MapContext mapContext = mapControl.getMapContext(); |
|
47 |
|
|
48 |
if (editingContexts.containsKey(mapContext)) { |
|
49 |
EditingContext editingContext = editingContexts.get(mapContext); |
|
50 |
|
|
51 |
if(editingContext.getMapControl() != null){ |
|
52 |
return editingContext; |
|
53 |
} else { |
|
54 |
editingContexts.remove(mapContext); |
|
55 |
} |
|
56 |
|
|
47 | 57 |
} |
48 | 58 |
return null; |
49 | 59 |
} |
... | ... | |
105 | 115 |
} |
106 | 116 |
|
107 | 117 |
public void registerEditingContext(MapControl mapControl) { |
108 |
if (!editingContexts.containsKey(mapControl)) { |
|
118 |
MapContext mapContext = mapControl.getMapContext(); |
|
119 |
if (!editingContexts.containsKey(mapContext)) { |
|
109 | 120 |
EditingContext editingContext = |
110 | 121 |
new DefaultEditingContext(mapControl); |
111 |
editingContexts.put(mapControl, editingContext); |
|
122 |
editingContexts.put(mapContext, editingContext); |
|
123 |
} else { |
|
124 |
// MapContext registered. Update mapControl reference of editing |
|
125 |
// context |
|
126 |
EditingContext editingContext = editingContexts.get(mapContext); |
|
127 |
editingContext.setMapControl(mapControl); |
|
112 | 128 |
} |
113 | 129 |
} |
114 | 130 |
|
... | ... | |
164 | 180 |
i18nManager.getTranslation("end_editing"), |
165 | 181 |
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, |
166 | 182 |
null, options, options[2]); |
167 |
|
|
183 |
|
|
168 | 184 |
if (resp == JOptionPane.YES_OPTION) { |
169 | 185 |
return EditingContext.SAVE_CHANGES; |
170 | 186 |
} else if (resp == JOptionPane.NO_OPTION) { |
Also available in: Unified diff