Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / extensions / extEditing / sm / ComplexSelectionCADTool.sm @ 28720

History | View | Annotate | Download (21.5 KB)

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