Revision 35
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/config.xml | ||
---|---|---|
36 | 36 |
description="" active="true" priority="1"> |
37 | 37 |
|
38 | 38 |
<action name="InsertPoint" label="Insert_point" tooltip="insert_point" |
39 |
action-command="insert_point" icon="layer-insert-point" position="302020000"
|
|
39 |
action-command="InsertPoint" icon="layer-insert-point" position="302020000"
|
|
40 | 40 |
accelerator="" /> |
41 | 41 |
|
42 | 42 |
<menu text="tools/insert_point" name="insert_point" /> |
... | ... | |
52 | 52 |
description="" active="true" priority="1"> |
53 | 53 |
|
54 | 54 |
<action name="InsertCircle" label="Insert_circle" tooltip="insert_circle" |
55 |
action-command="insert_circle" icon="layer-insert-circle" position="302030000"
|
|
55 |
action-command="Circle2P" icon="layer-insert-circle" position="302030000"
|
|
56 | 56 |
accelerator="" /> |
57 | 57 |
|
58 | 58 |
<menu text="tools/insert_circle" name="insert_cirlce" /> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.api/src/main/java/org/gvsig/vectorediting/lib/api/EditingService.java | ||
---|---|---|
54 | 54 |
* |
55 | 55 |
*/ |
56 | 56 |
public void start(); |
57 |
|
|
58 |
/** |
|
59 |
* |
|
60 |
* @return |
|
61 |
*/ |
|
62 |
public String getName(); |
|
57 | 63 |
|
58 | 64 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/EditingProvider.java | ||
---|---|---|
61 | 61 |
* |
62 | 62 |
*/ |
63 | 63 |
public void start(); |
64 |
|
|
65 |
/** |
|
66 |
* |
|
67 |
* @return |
|
68 |
*/ |
|
69 |
public String getName(); |
|
64 | 70 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingBehavior.java | ||
---|---|---|
13 | 13 |
import java.awt.event.MouseEvent; |
14 | 14 |
import java.awt.geom.Point2D; |
15 | 15 |
import java.awt.image.BufferedImage; |
16 |
import java.util.HashMap; |
|
17 |
import java.util.Map; |
|
16 | 18 |
|
17 | 19 |
import org.cresques.cts.IProjection; |
18 | 20 |
import org.gvsig.andami.PluginServices; |
... | ... | |
49 | 51 |
|
50 | 52 |
public class DefaultEditingBehavior extends Behavior implements EditingBehavior { |
51 | 53 |
|
54 |
private Map<FLyrVect, EditingService> serviceRegistration; |
|
55 |
|
|
52 | 56 |
private MapControl mapControl; |
53 | 57 |
|
54 | 58 |
private FLyrVect currentLayer; |
... | ... | |
85 | 89 |
if (layer.isActive() && layer.isEditing()) { |
86 | 90 |
view.showConsole(); |
87 | 91 |
getMapControl().setTool("VectorEditing"); |
88 |
cleanBehavior(); |
|
92 |
// cleanBehavior();
|
|
89 | 93 |
} |
90 | 94 |
else if (!layer.isEditing() && layer.isActive()) { |
91 |
setCurrentLayer((FLyrVect) layer);
|
|
95 |
changeCurrentLayer((FLyrVect) layer);
|
|
92 | 96 |
view.hideConsole(); |
93 | 97 |
getMapControl().setTool("zoomIn"); |
94 | 98 |
PluginServices.getMainFrame().setSelectedTool("ZOOM_IN"); |
95 | 99 |
} |
96 |
setCurrentLayer((FLyrVect) layer);
|
|
100 |
changeCurrentLayer((FLyrVect) layer);
|
|
97 | 101 |
|
98 | 102 |
} |
99 | 103 |
|
... | ... | |
109 | 113 |
}; |
110 | 114 |
|
111 | 115 |
public void cleanBehavior() { |
112 |
activeService = null; |
|
113 |
currentParam = null; |
|
114 |
|
|
116 |
// activeService = null;
|
|
117 |
// currentParam = null;
|
|
118 |
|
|
115 | 119 |
DefaultViewPanel view = getActiveView(); |
116 |
view.getConsolePanel().addText("\nSeleccione un herramienta\n", JConsole.MESSAGE); |
|
117 |
ApplicationLocator.getManager().refreshMenusAndToolBars(); |
|
120 |
view.getConsolePanel().addText("\nSeleccione un herramienta\n", |
|
121 |
JConsole.MESSAGE); |
|
122 |
// MainFrame main = PluginServices.getMainFrame(); |
|
123 |
// main.setSelectedTool(""); We can define a default tool. I.E Zoom in. |
|
118 | 124 |
} |
119 | 125 |
|
120 | 126 |
public DefaultEditingBehavior(MapControl mapControl) { |
121 | 127 |
// TODO Auto-generated constructor stub |
122 | 128 |
if (mapControl != null) { |
123 | 129 |
this.mapControl = mapControl; |
130 |
serviceRegistration = new HashMap<FLyrVect, EditingService>(); |
|
124 | 131 |
sbl = new StatusBarListener(mapControl); |
125 | 132 |
initMapControlListeners(mapControl); |
126 | 133 |
FLayers layers = mapControl.getMapContext().getLayers(); |
127 | 134 |
for (int i = 0; i < layers.getLayersCount(); i++) { |
128 | 135 |
if (layers.getLayer(i) instanceof FLyrVect |
129 | 136 |
&& layers.getLayer(i).isActive()) |
130 |
setCurrentLayer((FLyrVect) layers.getLayer(i));
|
|
137 |
changeCurrentLayer((FLyrVect) layers.getLayer(i));
|
|
131 | 138 |
} |
132 | 139 |
|
133 | 140 |
} |
... | ... | |
136 | 143 |
public void activateTool(String name) { |
137 | 144 |
|
138 | 145 |
EditingManager manager = EditingLocator.getManager(); |
139 |
|
|
146 |
|
|
140 | 147 |
if (currentLayer != null) { |
141 |
EditingService service = (EditingService) manager.getEditingService(name, |
|
142 |
currentLayer); |
|
148 |
EditingService service = serviceRegistration.get(currentLayer); |
|
149 |
if (service == null) { |
|
150 |
service = (EditingService) manager |
|
151 |
.getEditingService(name, currentLayer); |
|
152 |
serviceRegistration.put(currentLayer, service); |
|
153 |
} |
|
143 | 154 |
if (service != null) { |
144 | 155 |
this.activeService = service; |
145 | 156 |
service.start(); |
... | ... | |
197 | 208 |
else { |
198 | 209 |
askQuestion(currentParam); |
199 | 210 |
setCaretPosition(getActiveView()); |
200 |
|
|
201 | 211 |
} |
202 | 212 |
|
203 | 213 |
} |
... | ... | |
323 | 333 |
MapControlLocator.getMapControlManager().getAxisReferenceSymbol()); |
324 | 334 |
} |
325 | 335 |
} |
326 |
|
|
336 |
|
|
327 | 337 |
private void setCaretPosition(DefaultViewPanel view) { |
328 | 338 |
|
329 | 339 |
JEditTextArea jeta = view.getConsolePanel().getTxt(); |
... | ... | |
332 | 342 |
|
333 | 343 |
} |
334 | 344 |
|
335 |
|
|
336 |
public void setCurrentLayer(FLyrVect layer) { |
|
345 |
private void changeCurrentLayer(FLyrVect layer) { |
|
337 | 346 |
this.currentLayer = layer; |
347 |
this.activeService = serviceRegistration.get(layer); |
|
348 |
if (activeService != null) { |
|
349 |
getNextParameter(); |
|
350 |
MainFrame main = PluginServices.getMainFrame(); |
|
351 |
main.setSelectedTool(activeService.getName()); |
|
352 |
} |
|
338 | 353 |
} |
339 | 354 |
|
340 | 355 |
private void showCoords(Point point) { |
... | ... | |
372 | 387 |
} |
373 | 388 |
|
374 | 389 |
private void textEntered(String response) { |
375 |
if(response == null){
|
|
390 |
if (response == null) {
|
|
376 | 391 |
cleanBehavior(); |
377 |
} else{ |
|
392 |
} |
|
393 |
else { |
|
378 | 394 |
int type = currentParam.getType(); |
379 | 395 |
try { |
380 | 396 |
switch (type) { |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingService.java | ||
---|---|---|
62 | 62 |
// TODO Auto-generated method stub |
63 | 63 |
this.provider.start(); |
64 | 64 |
} |
65 |
|
|
66 |
public String getName() { |
|
67 |
// TODO Auto-generated method stub |
|
68 |
return provider.getName(); |
|
65 | 69 |
} |
70 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.insertpoint/src/main/java/org/gvsig/vectorediting/lib/prov/insertpoint/InsertPointEditingProvider.java | ||
---|---|---|
101 | 101 |
// TODO Auto-generated method stub |
102 | 102 |
this.values = new HashMap<EditingServiceParameter, Object>(); |
103 | 103 |
} |
104 |
|
|
105 |
public String getName() { |
|
106 |
// TODO Auto-generated method stub |
|
107 |
return this.PROVIDER_NAME; |
|
108 |
} |
|
104 | 109 |
} |
Also available in: Unified diff