root / trunk / extensions / extCAD / sm / ComplexSelectionCADTool.sm @ 11445
History | View | Annotate | Download (21.6 KB)
1 |
// -*- tab-width: 4; -*- |
---|---|
2 |
|
3 |
%{ |
4 |
// |
5 |
// Vicente Caballero Navarro |
6 |
%} |
7 |
|
8 |
%start Selection::FirstPoint |
9 |
%class ComplexSelectionCADTool |
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
11 |
%import com.iver.cit.gvsig.gui.cad.tools.ComplexSelectionCADTool |
12 |
%import com.iver.cit.gvsig.fmap.layers.FBitSet |
13 |
%import java.awt.event.InputEvent |
14 |
%import com.iver.andami.PluginServices |
15 |
|
16 |
|
17 |
%map Selection |
18 |
%% |
19 |
// A task begins life in suspended animation. |
20 |
|
21 |
FirstPoint |
22 |
|
23 |
Entry { |
24 |
setQuestion( |
25 |
PluginServices.getText(this,"insert_point")+" "+ |
26 |
PluginServices.getText(this,"cad.or")+" "+ |
27 |
PluginServices.getText(this,"circle")+ |
28 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
29 |
PluginServices.getText(this,"out_rectangle")+ |
30 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
31 |
PluginServices.getText(this,"polygon")+ |
32 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
33 |
PluginServices.getText(this,"cross_polygon")+ |
34 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
35 |
"#"+PluginServices.getText(this,"out_polygon")+ |
36 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
37 |
PluginServices.getText(this,"cross_circle")+ |
38 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
39 |
PluginServices.getText(this,"out_circle")+ |
40 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
41 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
42 |
} |
43 |
Exit{ |
44 |
} |
45 |
|
46 |
{ |
47 |
addOption(s:String) |
48 |
FirstPoint{ |
49 |
setQuestion( |
50 |
PluginServices.getText(this,"insert_point")+" "+ |
51 |
PluginServices.getText(this,"cad.or")+" "+ |
52 |
PluginServices.getText(this,"circle")+ |
53 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
54 |
PluginServices.getText(this,"out_rectangle")+ |
55 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"], "+ |
56 |
PluginServices.getText(this,"polygon")+ |
57 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
58 |
PluginServices.getText(this,"cross_polygon")+ |
59 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
60 |
"#"+PluginServices.getText(this,"out_polygon")+ |
61 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
62 |
PluginServices.getText(this,"cross_circle")+ |
63 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
64 |
PluginServices.getText(this,"out_circle")+ |
65 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
66 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
67 |
addOption(s); |
68 |
} |
69 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
70 |
[ctxt.getType().equals(PluginServices.getText(this,"out_rectangle"))] |
71 |
SecondPointOutRectangle{ |
72 |
setQuestion(PluginServices.getText(this,"insert_second_point_selection")); |
73 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
74 |
addPoint( pointX,pointY,event); |
75 |
} |
76 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
77 |
[ctxt.getType().equals(PluginServices.getText(this,"inside_circle")) || ctxt.getType().equals(PluginServices.getText(this,"cross_circle")) || ctxt.getType().equals(PluginServices.getText(this,"out_circle"))] |
78 |
SecondPointCircle{ |
79 |
setQuestion(PluginServices.getText(this,"insert_second_point_selection")); |
80 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
81 |
addPoint( pointX,pointY,event); |
82 |
} |
83 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
84 |
[ctxt.getType().equals(PluginServices.getText(this,"inside_polygon")) || ctxt.getType().equals(PluginServices.getText(this,"cross_polygon")) || ctxt.getType().equals(PluginServices.getText(this,"out_polygon"))] |
85 |
NextPointPolygon{ |
86 |
setQuestion( |
87 |
PluginServices.getText(this,"insert_next_point_selection_or_end_polygon")+ |
88 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.end")+"]"); |
89 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
90 |
addPoint( pointX,pointY,event); |
91 |
} |
92 |
|
93 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
94 |
[ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.SecondPoint")] |
95 |
SecondPoint{ |
96 |
setQuestion(PluginServices.getText(this,"insert_second_point_selection")); |
97 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
98 |
addPoint( pointX,pointY,event); |
99 |
} |
100 |
// addPoint( pointX:double,pointY:double,event:InputEvent) |
101 |
// [ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")] |
102 |
// WithSelectedFeatures { |
103 |
// setQuestion(PluginServices.getText(this,"select_handlers")); |
104 |
// setDescription(new String[]{"simple","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
105 |
// addPoint( pointX,pointY,event); |
106 |
// end(); |
107 |
// } |
108 |
} |
109 |
|
110 |
SecondPoint{ |
111 |
// Si hemos conseguido seleccionar algo |
112 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
113 |
[ctxt.selectWithSecondPoint(pointX,pointY, event) > 0] |
114 |
WithSelectedFeatures { |
115 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
116 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
117 |
addPoint( pointX,pointY,event); |
118 |
end(); |
119 |
} |
120 |
// Si no lo hemos conseguido |
121 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
122 |
FirstPoint { |
123 |
setQuestion( |
124 |
PluginServices.getText(this,"insert_point")+" "+ |
125 |
PluginServices.getText(this,"cad.or")+" "+ |
126 |
PluginServices.getText(this,"circle")+ |
127 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
128 |
PluginServices.getText(this,"out_rectangle")+ |
129 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
130 |
PluginServices.getText(this,"polygon")+ |
131 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
132 |
PluginServices.getText(this,"cross_polygon")+ |
133 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
134 |
"#"+PluginServices.getText(this,"out_polygon")+ |
135 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
136 |
PluginServices.getText(this,"cross_circle")+ |
137 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
138 |
PluginServices.getText(this,"out_circle")+ |
139 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
140 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
141 |
addPoint(pointX,pointY,event); |
142 |
} |
143 |
addOption(s:String) |
144 |
FirstPoint{ |
145 |
setQuestion( |
146 |
PluginServices.getText(this,"insert_point")+" "+ |
147 |
PluginServices.getText(this,"cad.or")+" "+ |
148 |
PluginServices.getText(this,"circle")+ |
149 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
150 |
PluginServices.getText(this,"out_rectangle")+ |
151 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
152 |
PluginServices.getText(this,"polygon")+ |
153 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
154 |
PluginServices.getText(this,"cross_polygon")+ |
155 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
156 |
"#"+PluginServices.getText(this,"out_polygon")+ |
157 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
158 |
PluginServices.getText(this,"cross_circle")+ |
159 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
160 |
PluginServices.getText(this,"out_circle")+ |
161 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
162 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
163 |
setType(s); |
164 |
} |
165 |
|
166 |
} |
167 |
WithSelectedFeatures{ |
168 |
|
169 |
// Si hemos pinchado encima de un handler |
170 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
171 |
[ctxt.selectHandlers(pointX, pointY, event)>0] |
172 |
WithHandlers { |
173 |
setQuestion(PluginServices.getText(this,"insert_destination_point")); |
174 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
175 |
addPoint( pointX,pointY,event); |
176 |
// refresh(); |
177 |
} |
178 |
|
179 |
// Si no hemos cogido un handler, probamos a seleccionar |
180 |
// otra entidad |
181 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
182 |
[ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")] |
183 |
WithSelectedFeatures { |
184 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
185 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
186 |
addPoint( pointX,pointY,event); |
187 |
} |
188 |
|
189 |
|
190 |
// Cualquier otro caso (hemos pinchado en algo vacio), volvemos al estado inicial |
191 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
192 |
FirstPoint { |
193 |
setQuestion( |
194 |
PluginServices.getText(this,"insert_point")+" "+ |
195 |
PluginServices.getText(this,"cad.or")+" "+ |
196 |
PluginServices.getText(this,"circle")+ |
197 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
198 |
PluginServices.getText(this,"out_rectangle")+ |
199 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
200 |
PluginServices.getText(this,"polygon")+ |
201 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
202 |
PluginServices.getText(this,"cross_polygon")+ |
203 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
204 |
"#"+PluginServices.getText(this,"out_polygon")+ |
205 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
206 |
PluginServices.getText(this,"cross_circle")+ |
207 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
208 |
PluginServices.getText(this,"out_circle")+ |
209 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
210 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
211 |
addPoint( pointX,pointY,event); |
212 |
// refresh(); |
213 |
} |
214 |
addOption(s:String) |
215 |
FirstPoint{ |
216 |
setQuestion( |
217 |
PluginServices.getText(this,"insert_point")+" "+ |
218 |
PluginServices.getText(this,"cad.or")+" "+ |
219 |
PluginServices.getText(this,"circle")+ |
220 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
221 |
PluginServices.getText(this,"out_rectangle")+ |
222 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
223 |
PluginServices.getText(this,"polygon")+ |
224 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
225 |
PluginServices.getText(this,"cross_polygon")+ |
226 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
227 |
"#"+PluginServices.getText(this,"out_polygon")+ |
228 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
229 |
PluginServices.getText(this,"cross_circle")+ |
230 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
231 |
PluginServices.getText(this,"out_circle")+ |
232 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
233 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
234 |
setType(s); |
235 |
} |
236 |
} |
237 |
|
238 |
WithHandlers{ |
239 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
240 |
WithSelectedFeatures { |
241 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
242 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
243 |
addPoint( pointX,pointY,event); |
244 |
refresh(); |
245 |
} |
246 |
} |
247 |
|
248 |
SecondPointOutRectangle{ |
249 |
// Si hemos conseguido seleccionar algo |
250 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
251 |
[ctxt.selectWithSecondPointOutRectangle(pointX,pointY, event) > 0] |
252 |
WithSelectedFeatures { |
253 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
254 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
255 |
addPoint( pointX,pointY,event); |
256 |
end(); |
257 |
} |
258 |
// Si no lo hemos conseguido |
259 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
260 |
FirstPoint { |
261 |
setQuestion( |
262 |
PluginServices.getText(this,"insert_point")+" "+ |
263 |
PluginServices.getText(this,"cad.or")+" "+ |
264 |
PluginServices.getText(this,"circle")+ |
265 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
266 |
PluginServices.getText(this,"out_rectangle")+ |
267 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
268 |
PluginServices.getText(this,"polygon")+ |
269 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
270 |
PluginServices.getText(this,"cross_polygon")+ |
271 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
272 |
"#"+PluginServices.getText(this,"out_polygon")+ |
273 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
274 |
PluginServices.getText(this,"cross_circle")+ |
275 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
276 |
PluginServices.getText(this,"out_circle")+ |
277 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
278 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
279 |
addPoint(pointX,pointY,event); |
280 |
} |
281 |
addOption(s:String) |
282 |
FirstPoint{ |
283 |
setQuestion( |
284 |
PluginServices.getText(this,"insert_point")+" "+ |
285 |
PluginServices.getText(this,"cad.or")+" "+ |
286 |
PluginServices.getText(this,"circle")+ |
287 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
288 |
PluginServices.getText(this,"out_rectangle")+ |
289 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
290 |
PluginServices.getText(this,"polygon")+ |
291 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
292 |
PluginServices.getText(this,"cross_polygon")+ |
293 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
294 |
"#"+PluginServices.getText(this,"out_polygon")+ |
295 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
296 |
PluginServices.getText(this,"cross_circle")+ |
297 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
298 |
PluginServices.getText(this,"out_circle")+ |
299 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
300 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
301 |
setType(s); |
302 |
} |
303 |
|
304 |
} |
305 |
SecondPointCircle{ |
306 |
// Si hemos conseguido seleccionar algo |
307 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
308 |
[ctxt.selectWithCircle(pointX,pointY, event) > 0] |
309 |
WithSelectedFeatures { |
310 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
311 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
312 |
addPoint( pointX,pointY,event); |
313 |
end(); |
314 |
} |
315 |
// Si no lo hemos conseguido |
316 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
317 |
FirstPoint { |
318 |
setQuestion( |
319 |
PluginServices.getText(this,"insert_point")+" "+ |
320 |
PluginServices.getText(this,"cad.or")+" "+ |
321 |
PluginServices.getText(this,"circle")+ |
322 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
323 |
PluginServices.getText(this,"out_rectangle")+ |
324 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
325 |
PluginServices.getText(this,"polygon")+ |
326 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
327 |
PluginServices.getText(this,"cross_polygon")+ |
328 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
329 |
"#"+PluginServices.getText(this,"out_polygon")+ |
330 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
331 |
PluginServices.getText(this,"cross_circle")+ |
332 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
333 |
PluginServices.getText(this,"out_circle")+ |
334 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
335 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
336 |
addPoint(pointX,pointY,event); |
337 |
} |
338 |
addOption(s:String) |
339 |
FirstPoint{ |
340 |
setQuestion( |
341 |
PluginServices.getText(this,"insert_point")+" "+ |
342 |
PluginServices.getText(this,"cad.or")+" "+ |
343 |
PluginServices.getText(this,"circle")+ |
344 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
345 |
PluginServices.getText(this,"out_rectangle")+ |
346 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
347 |
PluginServices.getText(this,"polygon")+ |
348 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
349 |
PluginServices.getText(this,"cross_polygon")+ |
350 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
351 |
"#"+PluginServices.getText(this,"out_polygon")+ |
352 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
353 |
PluginServices.getText(this,"cross_circle")+ |
354 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
355 |
PluginServices.getText(this,"out_circle")+ |
356 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
357 |
setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
358 |
setType(s); |
359 |
} |
360 |
} |
361 |
|
362 |
NextPointPolygon{ |
363 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
364 |
NextPointPolygon { |
365 |
setQuestion(PluginServices.getText(this,"insert_next_point_selection_or_end_polygon")+ |
366 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.end")+"]"); |
367 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
368 |
addPoint(pointX,pointY,event); |
369 |
} |
370 |
addOption(s:String) |
371 |
FirstPoint{ |
372 |
setQuestion( |
373 |
PluginServices.getText(this,"insert_point")+" "+ |
374 |
PluginServices.getText(this,"cad.or")+" "+ |
375 |
PluginServices.getText(this,"circle")+ |
376 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+ |
377 |
PluginServices.getText(this,"out_rectangle")+ |
378 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+ |
379 |
PluginServices.getText(this,"polygon")+ |
380 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+ |
381 |
PluginServices.getText(this,"cross_polygon")+ |
382 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+ |
383 |
"#"+PluginServices.getText(this,"out_polygon")+ |
384 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+ |
385 |
PluginServices.getText(this,"cross_circle")+ |
386 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+ |
387 |
PluginServices.getText(this,"out_circle")+ |
388 |
"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]"); |
389 |
setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"}); |
390 |
addOption(s); |
391 |
} |
392 |
} |
393 |
|
394 |
Default |
395 |
{ |
396 |
addOption(s:String) |
397 |
[s.equals(PluginServices.getText(this,"cancel"))] |
398 |
FirstPoint{ |
399 |
end(); |
400 |
} |
401 |
addOption(s:String) |
402 |
FirstPoint{ |
403 |
throwOptionException(PluginServices.getText(this,"incorrect_option"),s); |
404 |
} |
405 |
addValue(d:double) |
406 |
FirstPoint{ |
407 |
throwValueException(PluginServices.getText(this,"incorrect_value"),d); |
408 |
} |
409 |
addPoint(pointX:double,pointY:double,event:InputEvent) |
410 |
FirstPoint{ |
411 |
throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY); |
412 |
} |
413 |
} |
414 |
%% |