Revision 28
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml | ||
---|---|---|
59 | 59 |
<include>org.gvsig:org.gvsig.vectorediting.lib.impl</include> |
60 | 60 |
<include>org.gvsig:org.gvsig.vectorediting.swing.impl</include> |
61 | 61 |
<include>org.gvsig:org.gvsig.vectorediting.lib.prov.insertpoint</include> |
62 |
<include>org.gvsig:org.gvsig.vectorediting.lib.prov.circle2P</include> |
|
62 | 63 |
<include>org.gvsig:org.gvsig.vectorediting.lib.spi</include> |
63 | 64 |
</includes> |
64 | 65 |
</dependencySet> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/extensions/Circle2PExtension.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.app.mainplugin |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.app.mainplugin.extensions; |
|
8 |
|
|
9 |
import org.gvsig.andami.IconThemeHelper; |
|
10 |
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel; |
|
11 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
12 |
import org.gvsig.vectorediting.app.mainplugin.BaseEditingServiceExtension; |
|
13 |
|
|
14 |
|
|
15 |
public class Circle2PExtension extends BaseEditingServiceExtension{ |
|
16 |
|
|
17 |
public void initialize() { |
|
18 |
// TODO Auto-generated method stub |
|
19 |
|
|
20 |
} |
|
21 |
|
|
22 |
public void execute(String arg0) { |
|
23 |
|
|
24 |
DefaultViewPanel view = getActiveView(); |
|
25 |
manager.activateTool("Circle2P", view.getMapControl()); |
|
26 |
|
|
27 |
registerIcons(); |
|
28 |
} |
|
29 |
|
|
30 |
private void registerIcons() { |
|
31 |
IconThemeHelper.registerIcon("action", "layer-insert-circle", this); |
|
32 |
} |
|
33 |
|
|
34 |
public boolean isEnabled() { |
|
35 |
// TODO Auto-generated method stub |
|
36 |
return true; |
|
37 |
} |
|
38 |
|
|
39 |
public boolean isVisible() { |
|
40 |
DefaultViewPanel view = getActiveView(); |
|
41 |
if (view != null) { |
|
42 |
FLyrVect layer = getActiveLayer(view); |
|
43 |
if (layer != null && layer.isEditing()) { |
|
44 |
return true; |
|
45 |
} |
|
46 |
} |
|
47 |
return false; |
|
48 |
} |
|
49 |
|
|
50 |
|
|
51 |
|
|
52 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/java/org/gvsig/vectorediting/app/mainplugin/BaseEditingServiceExtension.java | ||
---|---|---|
7 | 7 |
package org.gvsig.vectorediting.app.mainplugin; |
8 | 8 |
|
9 | 9 |
import org.gvsig.andami.PluginServices; |
10 |
import org.gvsig.andami.plugins.IExtension; |
|
11 |
import org.gvsig.andami.plugins.config.generate.Extension; |
|
12 |
import org.gvsig.andami.plugins.status.IExtensionStatus; |
|
10 |
import org.gvsig.andami.plugins.Extension; |
|
13 | 11 |
import org.gvsig.app.project.documents.view.ViewDocument; |
14 | 12 |
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel; |
15 | 13 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
... | ... | |
18 | 16 |
import org.gvsig.vectorediting.lib.api.EditingManager; |
19 | 17 |
|
20 | 18 |
|
21 |
public class BaseEditingServiceExtension extends Extension implements IExtension{
|
|
19 |
public abstract class BaseEditingServiceExtension extends Extension{
|
|
22 | 20 |
|
23 | 21 |
/** |
24 | 22 |
* |
... | ... | |
59 | 57 |
} |
60 | 58 |
return null; |
61 | 59 |
} |
62 |
|
|
63 |
public void execute(String arg0) { |
|
64 |
// TODO Auto-generated method stub |
|
65 |
|
|
66 |
} |
|
67 |
|
|
68 |
public IExtensionStatus getStatus() { |
|
69 |
// TODO Auto-generated method stub |
|
70 |
return null; |
|
71 |
} |
|
72 |
|
|
73 |
public IExtensionStatus getStatus(IExtension arg0) { |
|
74 |
// TODO Auto-generated method stub |
|
75 |
return null; |
|
76 |
} |
|
77 |
|
|
78 |
public void initialize() { |
|
79 |
// TODO Auto-generated method stub |
|
80 |
|
|
81 |
} |
|
82 |
|
|
83 |
public boolean isEnabled() { |
|
84 |
// TODO Auto-generated method stub |
|
85 |
return false; |
|
86 |
} |
|
87 |
|
|
88 |
public boolean isVisible() { |
|
89 |
// TODO Auto-generated method stub |
|
90 |
return false; |
|
91 |
} |
|
92 |
|
|
93 |
public void postInitialize() { |
|
94 |
// TODO Auto-generated method stub |
|
95 |
|
|
96 |
} |
|
97 |
|
|
98 |
public void terminate() { |
|
99 |
// TODO Auto-generated method stub |
|
100 |
|
|
101 |
} |
|
102 |
|
|
103 |
|
|
104 | 60 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/src/main/resources-plugin/config.xml | ||
---|---|---|
21 | 21 |
description="" active="true" priority="1"> |
22 | 22 |
|
23 | 23 |
<action name="VectorEditing" label="Start_edit" tooltip="Strat_edit" |
24 |
action-command="start_edit" icon="vector-editing" position="302001000"
|
|
24 |
action-command="start_edit" icon="vector-editing" position="302010000"
|
|
25 | 25 |
accelerator="" /> |
26 | 26 |
|
27 | 27 |
<menu text="tools/start_edit/start_edit" name="start_edit" /> |
... | ... | |
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="302001000"
|
|
39 |
action-command="insert_point" icon="layer-insert-point" position="302020000"
|
|
40 | 40 |
accelerator="" /> |
41 | 41 |
|
42 | 42 |
<menu text="tools/insert_point" name="insert_point" /> |
... | ... | |
46 | 46 |
</tool-bar> |
47 | 47 |
|
48 | 48 |
</extension> |
49 |
|
|
50 |
<extension |
|
51 |
class-name="org.gvsig.vectorediting.app.mainplugin.extensions.Circle2PExtension" |
|
52 |
description="" active="true" priority="1"> |
|
49 | 53 |
|
54 |
<action name="InsertCircle" label="Insert_circle" tooltip="insert_circle" |
|
55 |
action-command="insert_circle" icon="layer-insert-circle" position="302030000" |
|
56 |
accelerator="" /> |
|
57 |
|
|
58 |
<menu text="tools/insert_circle" name="insert_cirlce" /> |
|
59 |
|
|
60 |
<tool-bar name="Insert Circle 2P" position="1"> |
|
61 |
<selectable-tool name="InsertCircle" /> |
|
62 |
</tool-bar> |
|
63 |
|
|
64 |
</extension> |
|
65 |
|
|
66 |
|
|
50 | 67 |
</extensions> |
51 | 68 |
|
52 | 69 |
</plugin-config> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.app/org.gvsig.vectorediting.app.mainplugin/pom.xml | ||
---|---|---|
11 | 11 |
<artifactId>org.gvsig.vectorediting.app</artifactId> |
12 | 12 |
<version>1.0.0-SNAPSHOT</version> |
13 | 13 |
</parent> |
14 |
|
|
14 |
|
|
15 | 15 |
<properties> |
16 |
<!-- Package info property values -->
|
|
17 |
<!-- Default values in org.gvsig.desktop -->
|
|
18 |
<gvsig.package.info.state>devel</gvsig.package.info.state>
|
|
16 |
<!-- Package info property values -->
|
|
17 |
<!-- Default values in org.gvsig.desktop -->
|
|
18 |
<gvsig.package.info.state>devel</gvsig.package.info.state>
|
|
19 | 19 |
<gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.1.0-A</gvsig.package.info.dependencies> |
20 |
<gvsig.package.info.categories></gvsig.package.info.categories>
|
|
21 |
<gvsig.package.info.poolURL>http://devel.gvsig.org/download/projects/gvsig-templates/pool/</gvsig.package.info.poolURL>
|
|
22 |
</properties>
|
|
23 |
|
|
20 |
<gvsig.package.info.categories></gvsig.package.info.categories>
|
|
21 |
<gvsig.package.info.poolURL>http://devel.gvsig.org/download/projects/gvsig-templates/pool/</gvsig.package.info.poolURL>
|
|
22 |
</properties>
|
|
23 |
|
|
24 | 24 |
<dependencies> |
25 | 25 |
<dependency> |
26 | 26 |
<groupId>org.gvsig</groupId> |
... | ... | |
48 | 48 |
<groupId>org.gvsig</groupId> |
49 | 49 |
<artifactId>org.gvsig.app.mainplugin</artifactId> |
50 | 50 |
</dependency> |
51 |
<dependency> |
|
52 |
<groupId>org.gvsig</groupId> |
|
53 |
<artifactId> |
|
54 |
org.gvsig.vectorediting.lib.prov.circle2P |
|
55 |
</artifactId> |
|
56 |
</dependency> |
|
51 | 57 |
</dependencies> |
52 | 58 |
</project> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/pom.xml | ||
---|---|---|
11 | 11 |
<parent> |
12 | 12 |
<groupId>org.gvsig</groupId> |
13 | 13 |
<artifactId>org.gvsig.desktop</artifactId> |
14 |
<version>2.0.56</version>
|
|
14 |
<version>2.0.58</version>
|
|
15 | 15 |
</parent> |
16 | 16 |
<url>http://devel.gvsig.org/sites/org.gvsig.vectorediting/${project.version}</url> |
17 | 17 |
<scm> |
... | ... | |
118 | 118 |
</artifactId> |
119 | 119 |
<version>1.0.0-SNAPSHOT</version> |
120 | 120 |
</dependency> |
121 |
<dependency> |
|
122 |
<groupId>org.gvsig</groupId> |
|
123 |
<artifactId> |
|
124 |
org.gvsig.vectorediting.lib.prov.circle2P |
|
125 |
</artifactId> |
|
126 |
<version>1.0.0-SNAPSHOT</version> |
|
127 |
</dependency> |
|
121 | 128 |
</dependencies> |
122 | 129 |
</dependencyManagement> |
123 | 130 |
</project> |
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 | ||
---|---|---|
19 | 19 |
import org.gvsig.andami.ui.mdiFrame.MainFrame; |
20 | 20 |
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel; |
21 | 21 |
import org.gvsig.app.project.documents.view.toolListeners.StatusBarListener; |
22 |
import org.gvsig.fmap.geom.Geometry; |
|
22 | 23 |
import org.gvsig.fmap.mapcontext.MapContext; |
23 | 24 |
import org.gvsig.fmap.mapcontext.ViewPort; |
24 | 25 |
import org.gvsig.fmap.mapcontext.layers.CancelationException; |
... | ... | |
31 | 32 |
import org.gvsig.fmap.mapcontext.layers.LayerPositionEvent; |
32 | 33 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
33 | 34 |
import org.gvsig.fmap.mapcontrol.MapControl; |
35 |
import org.gvsig.fmap.mapcontrol.MapControlDrawer; |
|
36 |
import org.gvsig.fmap.mapcontrol.MapControlLocator; |
|
34 | 37 |
import org.gvsig.fmap.mapcontrol.tools.BehaviorException; |
35 | 38 |
import org.gvsig.fmap.mapcontrol.tools.Behavior.Behavior; |
36 | 39 |
import org.gvsig.fmap.mapcontrol.tools.Listeners.ToolListener; |
... | ... | |
51 | 54 |
private EditingService activatedTool; |
52 | 55 |
|
53 | 56 |
private EditingServiceParameter currentParam; |
57 |
|
|
58 |
private Point adjustedPoint; |
|
54 | 59 |
|
55 | 60 |
private StatusBarListener sbl = null; |
56 | 61 |
|
... | ... | |
68 | 73 |
g.drawRect((x - 3), (y - 3), 6, 6); |
69 | 74 |
} |
70 | 75 |
|
76 |
private LayerListener layerListener = new LayerListener() { |
|
77 |
|
|
78 |
public void activationChanged(LayerEvent e) { |
|
79 |
DefaultViewPanel view = getActiveView(); |
|
80 |
FLayer layer = e.getSource(); |
|
81 |
if (layer instanceof FLyrVect) { |
|
82 |
|
|
83 |
if (layer.isActive() && layer.isEditing()) { |
|
84 |
view.showConsole(); |
|
85 |
getMapControl().setTool("VectorEditing"); |
|
86 |
} |
|
87 |
else if (!layer.isEditing() && layer.isActive()) { |
|
88 |
setCurrentLayer((FLyrVect) layer); |
|
89 |
view.hideConsole(); |
|
90 |
getMapControl().setTool("zoomIn"); |
|
91 |
PluginServices.getMainFrame().setSelectedTool("ZOOM_IN"); |
|
92 |
} |
|
93 |
setCurrentLayer((FLyrVect) layer); |
|
94 |
} |
|
95 |
|
|
96 |
} |
|
97 |
|
|
98 |
public void drawValueChanged(LayerEvent e) {} |
|
99 |
|
|
100 |
public void editionChanged(LayerEvent e) {} |
|
101 |
|
|
102 |
public void nameChanged(LayerEvent e) {} |
|
103 |
|
|
104 |
public void visibilityChanged(LayerEvent e) {} |
|
105 |
}; |
|
106 |
|
|
71 | 107 |
public DefaultEditingBehavior(MapControl mapControl) { |
72 | 108 |
// TODO Auto-generated constructor stub |
73 | 109 |
if (mapControl != null) { |
... | ... | |
76 | 112 |
initMapControlListeners(mapControl); |
77 | 113 |
FLayers layers = mapControl.getMapContext().getLayers(); |
78 | 114 |
for (int i = 0; i < layers.getLayersCount(); i++) { |
79 |
if (layers.getLayer(i) instanceof FLyrVect) |
|
115 |
if (layers.getLayer(i) instanceof FLyrVect |
|
116 |
&& layers.getLayer(i).isActive()) |
|
80 | 117 |
setCurrentLayer((FLyrVect) layers.getLayer(i)); |
81 | 118 |
} |
82 | 119 |
|
83 | 120 |
} |
84 | 121 |
} |
85 | 122 |
|
86 |
private LayerListener layerListener = new LayerListener() {
|
|
123 |
public void activateTool(String name) {
|
|
87 | 124 |
|
88 |
public void visibilityChanged(LayerEvent e) {}
|
|
125 |
EditingManager manager = EditingLocator.getManager();
|
|
89 | 126 |
|
90 |
public void nameChanged(LayerEvent e) {} |
|
127 |
if (currentLayer != null) { |
|
128 |
EditingService tool = (EditingService) manager.getEditingService(name, |
|
129 |
currentLayer); |
|
130 |
if (tool != null) { |
|
131 |
this.activatedTool = tool; |
|
132 |
tool.start(); |
|
133 |
getNextParameter(); |
|
134 |
} |
|
135 |
} |
|
136 |
} |
|
91 | 137 |
|
92 |
public void editionChanged(LayerEvent e) {} |
|
138 |
private void askQuestion(EditingServiceParameter param) { |
|
139 |
DefaultViewPanel viewActive = getActiveView(); |
|
140 |
if (viewActive != null) { |
|
141 |
viewActive.getConsolePanel().addText( |
|
142 |
"\n" + "#" + param.getConsoleMessage() + " > ", JConsole.MESSAGE); |
|
143 |
} |
|
144 |
} |
|
93 | 145 |
|
94 |
public void drawValueChanged(LayerEvent e) {} |
|
146 |
private DefaultViewPanel getActiveView() { |
|
147 |
org.gvsig.andami.ui.mdiManager.IWindow activeWindow = PluginServices |
|
148 |
.getMDIManager().getActiveWindow(); |
|
95 | 149 |
|
96 |
public void activationChanged(LayerEvent e) { |
|
97 |
FLayer layer = e.getSource(); |
|
98 |
if (layer.isEditing() && layer instanceof FLyrVect) { |
|
99 |
setCurrentLayer((FLyrVect) layer); |
|
150 |
if (activeWindow instanceof DefaultViewPanel) { |
|
151 |
return (DefaultViewPanel) activeWindow; |
|
152 |
} |
|
153 |
return null; |
|
154 |
} |
|
155 |
|
|
156 |
@Override |
|
157 |
public ToolListener getListener() { |
|
158 |
return new ToolListener() { |
|
159 |
|
|
160 |
/** |
|
161 |
* |
|
162 |
*/ |
|
163 |
public boolean cancelDrawing() { |
|
164 |
return false; |
|
100 | 165 |
} |
166 |
|
|
167 |
/** |
|
168 |
* |
|
169 |
*/ |
|
170 |
public Image getImageCursor() { |
|
171 |
return imageCursor; |
|
172 |
} |
|
173 |
}; |
|
174 |
} |
|
175 |
|
|
176 |
private void getNextParameter() { |
|
177 |
currentParam = activatedTool.getNextParameter(); |
|
178 |
if (currentParam == null) { |
|
179 |
activatedTool.finishOperation(); |
|
180 |
mapControl.rePaintDirtyLayers(); |
|
181 |
activatedTool.start(); |
|
182 |
getNextParameter(); |
|
101 | 183 |
} |
102 |
}; |
|
184 |
else { |
|
185 |
askQuestion(currentParam); |
|
103 | 186 |
|
187 |
} |
|
188 |
|
|
189 |
} |
|
190 |
|
|
104 | 191 |
private void initMapControlListeners(MapControl mapControl) { |
105 | 192 |
DefaultViewPanel view = getActiveView(); |
106 | 193 |
|
... | ... | |
129 | 216 |
|
130 | 217 |
layers.addLayerCollectionListener(new LayerCollectionListener() { |
131 | 218 |
|
132 |
public void visibilityChanged(LayerCollectionEvent e) |
|
133 |
throws CancelationException {} |
|
134 |
|
|
135 |
public void layerRemoving(LayerCollectionEvent e) |
|
136 |
throws CancelationException {} |
|
137 |
|
|
138 |
public void layerRemoved(LayerCollectionEvent e) { |
|
219 |
public void layerAdded(LayerCollectionEvent e) { |
|
139 | 220 |
FLayers layers2 = e.getLayers(); |
140 | 221 |
for (int i = 0; i < layers2.getLayersCount(); i++) { |
141 | 222 |
FLayer layer = layers2.getLayer(i); |
142 | 223 |
if (layer instanceof FLyrVect) { |
143 |
((FLyrVect) layer).removeLayerListener(layerListener);
|
|
224 |
((FLyrVect) layer).addLayerListener(layerListener);
|
|
144 | 225 |
} |
145 | 226 |
} |
146 | 227 |
} |
147 | 228 |
|
148 |
public void layerMoving(LayerPositionEvent e) throws CancelationException {} |
|
229 |
public void layerAdding(LayerCollectionEvent e) |
|
230 |
throws CancelationException {} |
|
149 | 231 |
|
150 | 232 |
public void layerMoved(LayerPositionEvent e) {} |
151 | 233 |
|
152 |
public void layerAdding(LayerCollectionEvent e) |
|
153 |
throws CancelationException {} |
|
234 |
public void layerMoving(LayerPositionEvent e) throws CancelationException {} |
|
154 | 235 |
|
155 |
public void layerAdded(LayerCollectionEvent e) {
|
|
236 |
public void layerRemoved(LayerCollectionEvent e) {
|
|
156 | 237 |
FLayers layers2 = e.getLayers(); |
157 | 238 |
for (int i = 0; i < layers2.getLayersCount(); i++) { |
158 | 239 |
FLayer layer = layers2.getLayer(i); |
159 | 240 |
if (layer instanceof FLyrVect) { |
160 |
((FLyrVect) layer).addLayerListener(layerListener);
|
|
241 |
((FLyrVect) layer).removeLayerListener(layerListener);
|
|
161 | 242 |
} |
162 | 243 |
} |
163 | 244 |
} |
164 |
}); |
|
165 |
} |
|
166 | 245 |
|
167 |
private void textEntered(String response) { |
|
168 |
int type = currentParam.getType(); |
|
169 |
try { |
|
170 |
switch (type) { |
|
171 |
case EditingServiceParameter.TYPE_POINT: |
|
172 |
String[] numbers = new String[1]; |
|
173 |
numbers[0] = response; |
|
174 |
numbers = response.split(","); |
|
175 |
if (numbers.length == 2) { |
|
176 |
if (numbers[0].startsWith("(") && numbers[1].endsWith(")\n")) { // CCS |
|
177 |
numbers[0] = numbers[0].replace("(", ""); |
|
178 |
numbers[1] = numbers[1].replace(")\n", ""); |
|
179 |
} |
|
180 |
double[] values = new double[] { Double.parseDouble(numbers[0]), |
|
181 |
Double.parseDouble(numbers[1]) }; |
|
182 |
Point2D point = new Point2D.Double(values[0], values[1]); |
|
183 |
this.activatedTool.setValueParameter(currentParam, point); |
|
246 |
public void layerRemoving(LayerCollectionEvent e) |
|
247 |
throws CancelationException {} |
|
184 | 248 |
|
185 |
} |
|
186 |
else { |
|
187 |
throw new RuntimeException("Datos inv?lidos: " + response); |
|
188 |
} |
|
189 |
case EditingServiceParameter.TYPE_LIST_POINTS: |
|
190 |
case EditingServiceParameter.TYPE_OPTION: |
|
191 |
case EditingServiceParameter.TYPE_SELECTION: |
|
192 |
case EditingServiceParameter.TYPE_GEOMETRY: |
|
193 |
case EditingServiceParameter.TYPE_VALUE: |
|
194 |
} |
|
195 |
getNextParameter(); |
|
196 |
} |
|
197 |
catch (Exception e) { |
|
198 |
throw new RuntimeException("Datos inv?lidos: " + response); |
|
199 |
} |
|
249 |
public void visibilityChanged(LayerCollectionEvent e) |
|
250 |
throws CancelationException {} |
|
251 |
}); |
|
200 | 252 |
} |
201 | 253 |
|
202 |
public void setCurrentLayer(FLyrVect layer) { |
|
203 |
this.currentLayer = layer; |
|
204 |
} |
|
205 |
|
|
206 |
public void activateTool(String name) { |
|
207 |
|
|
208 |
EditingManager manager = EditingLocator.getManager(); |
|
209 |
|
|
210 |
if (currentLayer != null) { |
|
211 |
EditingService tool = (EditingService) manager.getEditingService(name, |
|
212 |
currentLayer); |
|
213 |
if (tool != null) { |
|
214 |
this.activatedTool = tool; |
|
215 |
tool.start(); |
|
216 |
getNextParameter(); |
|
217 |
} |
|
218 |
} |
|
219 |
} |
|
220 |
|
|
221 |
private void getNextParameter() { |
|
222 |
currentParam = activatedTool.getNextParameter(); |
|
223 |
if (currentParam == null) { |
|
224 |
activatedTool.finishOperation(); |
|
225 |
mapControl.rePaintDirtyLayers(); |
|
226 |
activatedTool.start(); |
|
227 |
getNextParameter(); |
|
228 |
} |
|
229 |
else { |
|
230 |
askQuestion(currentParam); |
|
231 |
|
|
232 |
} |
|
233 |
|
|
234 |
} |
|
235 |
|
|
236 |
private void askQuestion(EditingServiceParameter param) { |
|
237 |
DefaultViewPanel viewActive = getActiveView(); |
|
238 |
if (viewActive != null) { |
|
239 |
viewActive.getConsolePanel().addText( |
|
240 |
"\n" + "#" + param.getConsoleMessage() + " > ", JConsole.MESSAGE); |
|
241 |
} |
|
242 |
} |
|
243 |
|
|
244 |
private DefaultViewPanel getActiveView() { |
|
245 |
org.gvsig.andami.ui.mdiManager.IWindow activeWindow = PluginServices |
|
246 |
.getMDIManager().getActiveWindow(); |
|
247 |
|
|
248 |
if (activeWindow instanceof DefaultViewPanel) { |
|
249 |
return (DefaultViewPanel) activeWindow; |
|
250 |
} |
|
251 |
return null; |
|
252 |
} |
|
253 |
|
|
254 |
@Override |
|
255 |
public ToolListener getListener() { |
|
256 |
return new ToolListener() { |
|
257 |
|
|
258 |
/** |
|
259 |
* |
|
260 |
*/ |
|
261 |
public Image getImageCursor() { |
|
262 |
return imageCursor; |
|
263 |
} |
|
264 |
|
|
265 |
/** |
|
266 |
* |
|
267 |
*/ |
|
268 |
public boolean cancelDrawing() { |
|
269 |
return false; |
|
270 |
} |
|
271 |
}; |
|
272 |
} |
|
273 |
|
|
274 | 254 |
public void mouseClicked(MouseEvent e) throws BehaviorException { |
275 | 255 |
// TODO Auto-generated method stub |
276 | 256 |
if (activatedTool != null) { |
... | ... | |
299 | 279 |
} |
300 | 280 |
|
301 | 281 |
public void mouseMoved(MouseEvent e) throws BehaviorException { |
302 |
showCoords(e.getPoint());
|
|
282 |
adjustedPoint = e.getPoint();
|
|
303 | 283 |
|
284 |
showCoords(adjustedPoint); |
|
285 |
|
|
304 | 286 |
getMapControl().repaint(); |
305 | 287 |
} |
306 | 288 |
|
289 |
public void mousePressed(MouseEvent e) throws BehaviorException { |
|
290 |
// TODO Auto-generated method stub |
|
291 |
} |
|
292 |
|
|
293 |
public void mouseReleased(MouseEvent e) throws BehaviorException { |
|
294 |
// TODO Auto-generated method stub |
|
295 |
} |
|
296 |
|
|
297 |
@SuppressWarnings("deprecation") |
|
298 |
public void paintComponent(MapControlDrawer mapControlDrawer) { |
|
299 |
super.paintComponent(mapControlDrawer); |
|
300 |
if (activatedTool == null || adjustedPoint == null) { |
|
301 |
return; |
|
302 |
} |
|
303 |
Point2D p = null; |
|
304 |
|
|
305 |
p = getMapControl().getViewPort().toMapPoint(adjustedPoint); |
|
306 |
Geometry helperGeo = activatedTool.drawOperation(p); |
|
307 |
if (helperGeo != null) { |
|
308 |
mapControl.getMapControlDrawer().draw(helperGeo, |
|
309 |
MapControlLocator.getMapControlManager().getAxisReferenceSymbol()); |
|
310 |
} |
|
311 |
} |
|
312 |
|
|
313 |
public void setCurrentLayer(FLyrVect layer) { |
|
314 |
this.currentLayer = layer; |
|
315 |
} |
|
316 |
|
|
307 | 317 |
private void showCoords(Point point) { |
308 | 318 |
String[] axisText = new String[2]; |
309 | 319 |
axisText[0] = "X = "; |
... | ... | |
338 | 348 |
|
339 | 349 |
} |
340 | 350 |
|
341 |
public void mousePressed(MouseEvent e) throws BehaviorException { |
|
342 |
// TODO Auto-generated method stub |
|
343 |
} |
|
351 |
private void textEntered(String response) { |
|
352 |
int type = currentParam.getType(); |
|
353 |
try { |
|
354 |
switch (type) { |
|
355 |
case EditingServiceParameter.TYPE_POINT: |
|
356 |
String[] numbers = new String[1]; |
|
357 |
numbers[0] = response; |
|
358 |
numbers = response.split(","); |
|
359 |
if (numbers.length == 2) { |
|
360 |
if (numbers[0].startsWith("(") && numbers[1].endsWith(")\n")) { // CCS |
|
361 |
numbers[0] = numbers[0].replace("(", ""); |
|
362 |
numbers[1] = numbers[1].replace(")\n", ""); |
|
363 |
} |
|
364 |
double[] values = new double[] { Double.parseDouble(numbers[0]), |
|
365 |
Double.parseDouble(numbers[1]) }; |
|
366 |
Point2D point = new Point2D.Double(values[0], values[1]); |
|
367 |
this.activatedTool.setValueParameter(currentParam, point); |
|
344 | 368 |
|
345 |
public void mouseReleased(MouseEvent e) throws BehaviorException { |
|
346 |
// TODO Auto-generated method stub |
|
369 |
} |
|
370 |
else { |
|
371 |
throw new RuntimeException("Datos inv?lidos: " + response); |
|
372 |
} |
|
373 |
case EditingServiceParameter.TYPE_LIST_POINTS: |
|
374 |
case EditingServiceParameter.TYPE_OPTION: |
|
375 |
case EditingServiceParameter.TYPE_SELECTION: |
|
376 |
case EditingServiceParameter.TYPE_GEOMETRY: |
|
377 |
case EditingServiceParameter.TYPE_VALUE: |
|
378 |
} |
|
379 |
getNextParameter(); |
|
380 |
} |
|
381 |
catch (Exception e) { |
|
382 |
throw new RuntimeException("Datos inv?lidos: " + response); |
|
383 |
} |
|
347 | 384 |
} |
348 | 385 |
|
349 | 386 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingProviderLibrary.java | ||
---|---|---|
9 | 9 |
import org.gvsig.fmap.dal.DALLibrary; |
10 | 10 |
import org.gvsig.tools.library.AbstractLibrary; |
11 | 11 |
import org.gvsig.tools.library.LibraryException; |
12 |
import org.gvsig.vectorediting.lib.prov.circle2P.Circle2PEditingProviderFactory; |
|
12 | 13 |
import org.gvsig.vectorediting.lib.prov.insertpoint.InsertPointEditingProviderFactory; |
13 | 14 |
import org.gvsig.vectorediting.lib.spi.EditingProviderLibrary; |
14 | 15 |
import org.gvsig.vectorediting.lib.spi.EditingProviderLocator; |
... | ... | |
37 | 38 |
EditingProviderManager manager = EditingProviderLocator.getProviderManager(); |
38 | 39 |
|
39 | 40 |
manager.addProviderFactory(new InsertPointEditingProviderFactory()); |
41 |
manager.addProviderFactory(new Circle2PEditingProviderFactory()); |
|
40 | 42 |
|
41 | 43 |
} |
42 | 44 |
|
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 | ||
---|---|---|
6 | 6 |
*/ |
7 | 7 |
package org.gvsig.vectorediting.lib.impl; |
8 | 8 |
|
9 |
import java.awt.Point;
|
|
10 |
import java.util.Set;
|
|
9 |
import java.awt.geom.Point2D;
|
|
10 |
import java.util.List;
|
|
11 | 11 |
|
12 | 12 |
import org.gvsig.fmap.geom.Geometry; |
13 | 13 |
import org.gvsig.tools.service.Manager; |
... | ... | |
29 | 29 |
return null; |
30 | 30 |
} |
31 | 31 |
|
32 |
public Geometry drawOperation(Point mousePosition) { |
|
32 |
public Geometry drawOperation(Point2D mousePosition) {
|
|
33 | 33 |
// TODO Auto-generated method stub |
34 | 34 |
return provider.drawOperation(mousePosition); |
35 | 35 |
} |
36 | 36 |
|
37 |
public Set<EditingServiceParameter> getParameters() {
|
|
37 |
public List<EditingServiceParameter> getParameters() {
|
|
38 | 38 |
// TODO Auto-generated method stub |
39 | 39 |
return provider.getParameters(); |
40 | 40 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/src/main/java/org/gvsig/vectorediting/lib/impl/DefaultEditingManager.java | ||
---|---|---|
19 | 19 |
import org.gvsig.tools.service.AbstractManager; |
20 | 20 |
import org.gvsig.tools.service.Service; |
21 | 21 |
import org.gvsig.tools.service.ServiceException; |
22 |
import org.gvsig.utils.console.ResponseListener; |
|
23 | 22 |
import org.gvsig.utils.console.jedit.JEditTextArea; |
24 | 23 |
import org.gvsig.vectorediting.lib.api.EditingBehavior; |
25 | 24 |
import org.gvsig.vectorediting.lib.api.EditingManager; |
... | ... | |
125 | 124 |
if (!mapControl.hasTool("VectorEditing")) { |
126 | 125 |
Behavior vectorEditing = new DefaultEditingBehavior(mapControl); |
127 | 126 |
mapControl.addBehavior("VectorEditing", vectorEditing); |
128 |
} |
|
129 |
|
|
127 |
}
|
|
128 |
|
|
130 | 129 |
mapControl.setTool("VectorEditing"); |
130 |
|
|
131 | 131 |
} |
132 | 132 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.impl/pom.xml | ||
---|---|---|
25 | 25 |
org.gvsig.vectorediting.lib.prov.insertpoint |
26 | 26 |
</artifactId> |
27 | 27 |
</dependency> |
28 |
<dependency> |
|
29 |
<groupId>org.gvsig</groupId> |
|
30 |
<artifactId> |
|
31 |
org.gvsig.vectorediting.lib.prov.circle2P |
|
32 |
</artifactId> |
|
33 |
</dependency> |
|
28 | 34 |
</dependencies> |
29 | 35 |
</project> |
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 | ||
---|---|---|
8 | 8 |
|
9 | 9 |
import java.awt.geom.Point2D; |
10 | 10 |
import java.util.HashMap; |
11 |
import java.util.List; |
|
11 | 12 |
import java.util.Map; |
12 |
import java.util.Set; |
|
13 | 13 |
|
14 | 14 |
import org.gvsig.fmap.geom.Geometry; |
15 | 15 |
import org.gvsig.fmap.geom.primitive.Point; |
... | ... | |
50 | 50 |
|
51 | 51 |
} |
52 | 52 |
|
53 |
public Geometry drawOperation(java.awt.Point mousePosition) {
|
|
53 |
public Geometry drawOperation(Point2D mousePosition) {
|
|
54 | 54 |
// TODO Auto-generated method stub |
55 | 55 |
return null; |
56 | 56 |
} |
... | ... | |
65 | 65 |
|
66 | 66 |
} |
67 | 67 |
|
68 |
public boolean isValidValue(EditingServiceParameter param, Object value) {
|
|
68 |
private boolean isValidValue(EditingServiceParameter param, Object value) {
|
|
69 | 69 |
// TODO Auto-generated method stub |
70 |
return false;
|
|
70 |
return true;
|
|
71 | 71 |
} |
72 | 72 |
|
73 | 73 |
public EditingServiceParameter getNextParameter() { |
... | ... | |
77 | 77 |
return null; |
78 | 78 |
} |
79 | 79 |
|
80 |
public Set<EditingServiceParameter> getParameters() {
|
|
80 |
public List<EditingServiceParameter> getParameters() {
|
|
81 | 81 |
// TODO Auto-generated method stub |
82 |
return values.keySet();
|
|
82 |
return null;
|
|
83 | 83 |
} |
84 | 84 |
|
85 | 85 |
public void setValueParameter(EditingServiceParameter param, Object value) { |
86 |
// TODO Auto-generated method stub |
|
87 |
values.put(param, value); |
|
86 |
if(isValidValue(param, value)){ |
|
87 |
values.put(param, value); |
|
88 |
} |
|
88 | 89 |
} |
89 | 90 |
|
90 | 91 |
public void finishOperation() { |
91 | 92 |
// TODO Auto-generated method stub |
92 | 93 |
Point2D value = (Point2D) values.get(point); |
93 |
System.out.println(value.toString()); |
|
94 | 94 |
Point geometry = createPoint(value.getX(), value.getY(), |
95 | 95 |
layer.getFeatureStore()); |
96 | 96 |
((EditingProviderServices) getProviderServices()) |
... | ... | |
101 | 101 |
// TODO Auto-generated method stub |
102 | 102 |
this.values = new HashMap<EditingServiceParameter, Object>(); |
103 | 103 |
} |
104 |
|
|
105 | 104 |
} |
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/InsertPointEditingProviderFactory.java | ||
---|---|---|
66 | 66 |
// TODO Auto-generated method stub |
67 | 67 |
return null; |
68 | 68 |
} |
69 |
|
|
70 |
public String getName() { |
|
71 |
return this.PROVIDER_NAME; |
|
72 |
} |
|
69 | 73 |
|
70 | 74 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.insertpoint/pom.xml | ||
---|---|---|
6 | 6 |
<version>1.0.0-SNAPSHOT</version> |
7 | 7 |
</parent> |
8 | 8 |
<artifactId>org.gvsig.vectorediting.lib.prov.insertpoint</artifactId> |
9 |
<dependencies> |
|
10 |
<dependency> |
|
11 |
<groupId>org.gvsig</groupId> |
|
12 |
<artifactId>org.gvsig.vectorediting.lib.api</artifactId> |
|
13 |
</dependency> |
|
14 |
<dependency> |
|
15 |
<groupId>org.gvsig</groupId> |
|
16 |
<artifactId>org.gvsig.vectorediting.lib.spi</artifactId> |
|
17 |
</dependency> |
|
18 |
</dependencies> |
|
19 | 9 |
</project> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle2P/src/main/java/org/gvsig/vectorediting/lib/prov/circle2P/Circle2PEditingProvider.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.prov.circle2P |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.prov.circle2P; |
|
8 |
|
|
9 |
import java.awt.geom.Point2D; |
|
10 |
import java.util.HashMap; |
|
11 |
import java.util.List; |
|
12 |
import java.util.Map; |
|
13 |
|
|
14 |
import org.gvsig.fmap.geom.Geometry; |
|
15 |
import org.gvsig.fmap.geom.primitive.Circle; |
|
16 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
17 |
import org.gvsig.tools.dynobject.DynObject; |
|
18 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
19 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
|
20 |
import org.gvsig.vectorediting.lib.spi.AbstractEditingProvider; |
|
21 |
import org.gvsig.vectorediting.lib.spi.DefaultEditingServiceParameter; |
|
22 |
import org.gvsig.vectorediting.lib.spi.EditingProvider; |
|
23 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
|
24 |
import org.gvsig.vectorediting.lib.spi.EditingProviderServices; |
|
25 |
|
|
26 |
public class Circle2PEditingProvider extends AbstractEditingProvider implements |
|
27 |
EditingProvider { |
|
28 |
|
|
29 |
private final static String PROVIDER_NAME = "Circle2P"; |
|
30 |
|
|
31 |
private final static String PROVIDER_DESCRIPTION = "Creates circles from the center and radius"; |
|
32 |
|
|
33 |
private EditingServiceParameter center = new DefaultEditingServiceParameter( |
|
34 |
PROVIDER_NAME, PROVIDER_DESCRIPTION, EditingServiceParameter.TYPE_POINT, |
|
35 |
"Inserte el centro del c?rculo"); |
|
36 |
|
|
37 |
private EditingServiceParameter radius = new DefaultEditingServiceParameter( |
|
38 |
PROVIDER_NAME, PROVIDER_DESCRIPTION, EditingServiceParameter.TYPE_POINT, |
|
39 |
"Inserte el radio del c?ruclo"); |
|
40 |
|
|
41 |
private Map<EditingServiceParameter, Object> values; |
|
42 |
|
|
43 |
private FLyrVect layer; |
|
44 |
|
|
45 |
public Circle2PEditingProvider(ProviderServices providerServices, |
|
46 |
DynObject parameters) { |
|
47 |
super(providerServices); |
|
48 |
this.layer = (FLyrVect) parameters |
|
49 |
.getDynValue(EditingProviderFactory.LAYER_FIELD); |
|
50 |
} |
|
51 |
|
|
52 |
public Geometry drawOperation(Point2D mousePosition) { |
|
53 |
if (values.get(center) != null) { |
|
54 |
Point2D centerPoint = (Point2D) values.get(center); |
|
55 |
return createCircle(centerPoint, mousePosition, |
|
56 |
layer.getFeatureStore()); |
|
57 |
} |
|
58 |
|
|
59 |
return null; |
|
60 |
|
|
61 |
} |
|
62 |
|
|
63 |
public EditingServiceParameter getNextParameter() { |
|
64 |
if (values.get(center) == null) { |
|
65 |
return this.center; |
|
66 |
} |
|
67 |
else if (values.get(radius) == null) { |
|
68 |
return this.radius; |
|
69 |
} |
|
70 |
return null; |
|
71 |
} |
|
72 |
|
|
73 |
public void stopEditingAndSave() { |
|
74 |
// TODO Auto-generated method stub |
|
75 |
|
|
76 |
} |
|
77 |
|
|
78 |
public void stopEditingAndDiscard() { |
|
79 |
// TODO Auto-generated method stub |
|
80 |
|
|
81 |
} |
|
82 |
|
|
83 |
public boolean isValidValue(EditingServiceParameter param, Object value) { |
|
84 |
// TODO Auto-generated method stub |
|
85 |
return true; |
|
86 |
} |
|
87 |
|
|
88 |
public List<EditingServiceParameter> getParameters() { |
|
89 |
// TODO Auto-generated method stub |
|
90 |
return null; |
|
91 |
} |
|
92 |
|
|
93 |
public void setValueParameter(EditingServiceParameter param, Object value) { |
|
94 |
// TODO Auto-generated method stub |
|
95 |
if (isValidValue(param, value)) { |
|
96 |
values.put(param, value); |
|
97 |
} |
|
98 |
} |
|
99 |
|
|
100 |
public void finishOperation() { |
|
101 |
// TODO Auto-generated method stub |
|
102 |
Point2D centerPoint = (Point2D) values.get(center); |
|
103 |
Point2D radiusPoint = (Point2D) values.get(radius); |
|
104 |
Circle geometry = createCircle(centerPoint, radiusPoint, |
|
105 |
layer.getFeatureStore()); |
|
106 |
((EditingProviderServices) getProviderServices()) |
|
107 |
.insertGeometryIntoFeatureStore(geometry, layer); |
|
108 |
|
|
109 |
} |
|
110 |
|
|
111 |
public void start() { |
|
112 |
this.values = new HashMap<EditingServiceParameter, Object>(); |
|
113 |
} |
|
114 |
|
|
115 |
public String getName() { |
|
116 |
return this.PROVIDER_NAME; |
|
117 |
} |
|
118 |
|
|
119 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle2P/src/main/java/org/gvsig/vectorediting/lib/prov/circle2P/Circle2PEditingProviderFactory.java | ||
---|---|---|
1 |
/* |
|
2 |
* Copyright 2014 DiSiD Technologies S.L.L. All rights reserved. |
|
3 |
* |
|
4 |
* Project : DiSiD org.gvsig.vectorediting.lib.prov.circle2P |
|
5 |
* SVN Id : $Id$ |
|
6 |
*/ |
|
7 |
package org.gvsig.vectorediting.lib.prov.circle2P; |
|
8 |
|
|
9 |
import org.gvsig.tools.ToolsLocator; |
|
10 |
import org.gvsig.tools.dynobject.DynClass; |
|
11 |
import org.gvsig.tools.dynobject.DynObject; |
|
12 |
import org.gvsig.tools.service.spi.AbstractProviderFactory; |
|
13 |
import org.gvsig.tools.service.spi.Provider; |
|
14 |
import org.gvsig.tools.service.spi.ProviderServices; |
|
15 |
import org.gvsig.vectorediting.lib.api.EditingServiceInfo; |
|
16 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
|
17 |
import org.gvsig.vectorediting.lib.spi.EditingProviderFactory; |
|
18 |
|
|
19 |
|
|
20 |
public class Circle2PEditingProviderFactory extends AbstractProviderFactory |
|
21 |
implements EditingProviderFactory { |
|
22 |
|
|
23 |
public static final String PROVIDER_NAME = "Circle2P"; |
|
24 |
|
|
25 |
public static final String PROVIDER_NAME_PARAMS = "Circle2PParams"; |
|
26 |
|
|
27 |
public static final String PROVIDER_NAME_PARAMS_DESCRIPTION = ""; |
|
28 |
|
|
29 |
private DynClass dynclass; |
|
30 |
|
|
31 |
public void initialize() { |
|
32 |
dynclass = ToolsLocator.getDynObjectManager().createDynClass( |
|
33 |
PROVIDER_NAME_PARAMS, PROVIDER_NAME_PARAMS_DESCRIPTION); |
|
34 |
|
|
35 |
dynclass.addDynFieldString(PROVIDER_NAME_FIELD); |
|
36 |
dynclass.addDynFieldObject(LAYER_FIELD); |
|
37 |
|
|
38 |
} |
|
39 |
|
|
40 |
public EditingServiceInfo getServiceInfo() { |
|
41 |
// TODO Auto-generated method stub |
|
42 |
return null; |
|
43 |
} |
|
44 |
|
|
45 |
public EditingServiceParameter getServiceParameterInfo() { |
|
46 |
// TODO Auto-generated method stub |
|
47 |
return null; |
|
48 |
} |
|
49 |
|
|
50 |
@Override |
|
51 |
protected Provider doCreate(DynObject parameters, ProviderServices services) { |
|
52 |
return new Circle2PEditingProvider(services,parameters); |
|
53 |
} |
|
54 |
|
|
55 |
public DynObject createParameters() { |
|
56 |
DynObject dynobject = ToolsLocator.getDynObjectManager().createDynObject( |
|
57 |
dynclass); |
|
58 |
|
|
59 |
dynobject.setDynValue(PROVIDER_NAME_FIELD, PROVIDER_NAME); |
|
60 |
return dynobject; |
|
61 |
} |
|
62 |
|
|
63 |
@Override |
|
64 |
protected DynClass createParametersDynClass() { |
|
65 |
return null; |
|
66 |
} |
|
67 |
|
|
68 |
public String getName() { |
|
69 |
return this.PROVIDER_NAME; |
|
70 |
} |
|
71 |
|
|
72 |
|
|
73 |
} |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/org.gvsig.vectorediting.lib.prov.circle2P/pom.xml | ||
---|---|---|
1 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|
2 |
<modelVersion>4.0.0</modelVersion> |
|
3 |
<parent> |
|
4 |
<groupId>org.gvsig</groupId> |
|
5 |
<artifactId>org.gvsig.vectorediting.lib.prov</artifactId> |
|
6 |
<version>1.0.0-SNAPSHOT</version> |
|
7 |
</parent> |
|
8 |
<artifactId>org.gvsig.vectorediting.lib.prov.circle2P</artifactId> |
|
9 |
<name>org.gvsig.vectorediting.lib.prov.circle2P</name> |
|
10 |
</project> |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.prov/pom.xml | ||
---|---|---|
10 | 10 |
<packaging>pom</packaging> |
11 | 11 |
<modules> |
12 | 12 |
<module>org.gvsig.vectorediting.lib.prov.insertpoint</module> |
13 |
<module>org.gvsig.vectorediting.lib.prov.circle2P</module> |
|
13 | 14 |
</modules> |
15 |
<dependencies> |
|
16 |
<dependency> |
|
17 |
<groupId>org.gvsig</groupId> |
|
18 |
<artifactId>org.gvsig.vectorediting.lib.api</artifactId> |
|
19 |
</dependency> |
|
20 |
<dependency> |
|
21 |
<groupId>org.gvsig</groupId> |
|
22 |
<artifactId>org.gvsig.vectorediting.lib.spi</artifactId> |
|
23 |
</dependency> |
|
24 |
</dependencies> |
|
14 | 25 |
</project> |
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 | ||
---|---|---|
6 | 6 |
*/ |
7 | 7 |
package org.gvsig.vectorediting.lib.api; |
8 | 8 |
|
9 |
import java.awt.Point;
|
|
10 |
import java.util.Set;
|
|
9 |
import java.awt.geom.Point2D;
|
|
10 |
import java.util.List;
|
|
11 | 11 |
|
12 | 12 |
import org.gvsig.fmap.geom.Geometry; |
13 | 13 |
import org.gvsig.tools.service.Service; |
... | ... | |
19 | 19 |
* @param mousePosition |
20 | 20 |
* @return |
21 | 21 |
*/ |
22 |
public Geometry drawOperation(Point mousePosition); |
|
22 |
public Geometry drawOperation(Point2D mousePosition);
|
|
23 | 23 |
|
24 | 24 |
/** |
25 | 25 |
* |
26 | 26 |
* @return |
27 | 27 |
*/ |
28 |
public Set<EditingServiceParameter> getParameters();
|
|
28 |
public List<EditingServiceParameter> getParameters();
|
|
29 | 29 |
|
30 | 30 |
/** |
31 | 31 |
* |
... | ... | |
54 | 54 |
* |
55 | 55 |
*/ |
56 | 56 |
public void start(); |
57 |
|
|
57 | 58 |
} |
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 | ||
---|---|---|
6 | 6 |
*/ |
7 | 7 |
package org.gvsig.vectorediting.lib.spi; |
8 | 8 |
|
9 |
import java.awt.Point;
|
|
10 |
import java.util.Set;
|
|
9 |
import java.awt.geom.Point2D;
|
|
10 |
import java.util.List;
|
|
11 | 11 |
|
12 | 12 |
import org.gvsig.fmap.geom.Geometry; |
13 | 13 |
import org.gvsig.tools.service.spi.Provider; |
... | ... | |
27 | 27 |
* @param mousePosition |
28 | 28 |
* @return |
29 | 29 |
*/ |
30 |
public Geometry drawOperation(Point mousePosition); |
|
30 |
public Geometry drawOperation(Point2D mousePosition);
|
|
31 | 31 |
|
32 | 32 |
/** |
33 | 33 |
* |
... | ... | |
43 | 43 |
* |
44 | 44 |
* @return |
45 | 45 |
*/ |
46 |
public Set<EditingServiceParameter> getParameters();
|
|
46 |
public List<EditingServiceParameter> getParameters();
|
|
47 | 47 |
|
48 | 48 |
/** |
49 | 49 |
* |
org.gvsig.vectorediting/trunk/org.gvsig.vectorediting/org.gvsig.vectorediting.lib/org.gvsig.vectorediting.lib.spi/src/main/java/org/gvsig/vectorediting/lib/spi/AbstractEditingProvider.java | ||
---|---|---|
6 | 6 |
*/ |
7 | 7 |
package org.gvsig.vectorediting.lib.spi; |
8 | 8 |
|
9 |
import java.util.Set;
|
|
9 |
import java.awt.geom.Point2D;
|
|
10 | 10 |
|
11 | 11 |
import org.gvsig.fmap.dal.exception.DataException; |
12 | 12 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
... | ... | |
16 | 16 |
import org.gvsig.fmap.geom.Geometry.TYPES; |
17 | 17 |
import org.gvsig.fmap.geom.GeometryLocator; |
18 | 18 |
import org.gvsig.fmap.geom.GeometryManager; |
19 |
import org.gvsig.fmap.geom.primitive.Circle; |
|
19 | 20 |
import org.gvsig.fmap.geom.primitive.Point; |
20 | 21 |
import org.gvsig.tools.service.spi.AbstractProvider; |
21 | 22 |
import org.gvsig.tools.service.spi.ProviderServices; |
22 |
import org.gvsig.vectorediting.lib.api.EditingServiceParameter; |
|
23 | 23 |
import org.slf4j.Logger; |
24 | 24 |
import org.slf4j.LoggerFactory; |
25 | 25 |
|
... | ... | |
33 | 33 |
|
34 | 34 |
public AbstractEditingProvider(ProviderServices providerServices) { |
35 | 35 |
super(providerServices); |
36 |
// TODO Auto-generated constructor stub |
|
37 | 36 |
} |
38 |
|
|
39 |
public void setProviderServices(ProviderServices services) { |
|
40 |
// TODO Auto-generated method stub |
|
41 |
|
|
37 |
|
|
38 |
/** |
|
39 |
* Create a circle from a GeneralPath. If there is an |
|
40 |
* error return <code>null</code> and add the error |
|
41 |
* to the log |
|
42 |
* |
|
43 |
* @param p1 |
|
44 |
* @param p2 |
|
45 |
* @return |
|
46 |
* The circle |
|
47 |
*/ |
|
48 |
protected Circle createCircle(Point2D p1, Point2D p2, FeatureStore featureStore) { |
|
49 |
Point centro = createPoint(p1.getX(),p1.getY(), featureStore); |
|
50 |
Point radio = createPoint(p2.getX(),p2.getY(), featureStore); |
|
51 |
return createCircle(centro, radio, featureStore); |
|
42 | 52 |
} |
43 | 53 |
|
44 |
public EditingServiceParameter getNextParameter() { |
|
45 |
// TODO Auto-generated method stub |
|
46 |
return null; |
|
54 |
/** |
|
55 |
* Create a circle. If there is an |
|
56 |
* error return <code>null</code> and add the error |
|
57 |
* to the log |
|
58 |
* |
|
59 |
* @param p1 |
|
60 |
* @param p2 |
|
61 |
* @return |
|
62 |
* The circle |
|
63 |
*/ |
|
64 |
protected Circle createCircle(Point p1, Point p2, FeatureStore featureStore) { |
|
65 |
Circle circle = null; |
|
66 |
try { |
|
67 |
circle = (Circle) geomManager.create(TYPES.CIRCLE, getSubType(featureStore)); |
|
68 |
circle.setPoints(p1, p2); |
|
69 |
} catch (org.gvsig.fmap.geom.exception.CreateGeometryException e) { |
|
70 |
LOG.error("Error creating circle with p1=" + p1 + " p2=" + p2, |
|
71 |
new CreateGeometryException(TYPES.CIRCLE, getSubType(featureStore), e)); |
|
72 |
} |
|
73 |
return circle; |
|
47 | 74 |
} |
48 | 75 |
|
49 |
public Geometry drawOperation(Point mousePosition) { |
|
50 |
// TODO Auto-generated method stub |
|
51 |
return null; |
|
52 |
} |
|
53 |
|
|
54 |
public void stopEditingAndSave() { |
|
55 |
// TODO Auto-generated method stub |
|
56 |
|
|
57 |
} |
|
58 |
|
|
59 |
public void stopEditingAndDiscard() { |
|
60 |
// TODO Auto-generated method stub |
|
61 |
|
|
62 |
} |
|
63 |
|
|
64 |
public boolean isValidValue(EditingServiceParameter param, Object value) { |
|
65 |
// TODO Auto-generated method stub |
|
66 |
return false; |
|
67 |
} |
|
68 |
|
|
69 |
public Set<EditingServiceParameter> getParameters() { |
|
70 |
// TODO Auto-generated method stub |
|
71 |
return null; |
|
72 |
} |
|
73 |
|
|
74 |
public void setValueParameter(EditingServiceParameter param, Object value) { |
|
75 |
// TODO Auto-generated method stub |
|
76 |
|
|
77 |
} |
|
78 |
|
|
79 |
public void finishOperation() { |
|
80 |
// TODO Auto-generated method stub |
|
81 |
|
|
82 |
} |
|
83 |
|
|
84 |
public void start() { |
|
85 |
// TODO Auto-generated method stub |
|
86 |
|
|
87 |
} |
|
88 |
|
|
89 | 76 |
/** |
90 | 77 |
* Create point. If there is an |
91 | 78 |
* error return <code>null</code> and add the error |
Also available in: Unified diff