root / trunk / extensions / extCAD / sm / PolygonCADTool.sm @ 4365
History | View | Annotate | Download (1.84 KB)
1 | 3782 | caballero | // -*- tab-width: 4; -*- |
---|---|---|---|
2 | |||
3 | %{ |
||
4 | // |
||
5 | // Vicente Caballero Navarro |
||
6 | %} |
||
7 | |||
8 | 3978 | caballero | %start Polygon::NumberOrCenterPoint |
9 | 3782 | caballero | %class PolygonCADTool |
10 | %package com.iver.cit.gvsig.gui.cad.tools.smc |
||
11 | %import com.iver.cit.gvsig.gui.cad.tools.PolygonCADTool |
||
12 | 4324 | caballero | %import java.awt.event.InputEvent |
13 | 3782 | caballero | |
14 | 3978 | caballero | %map Polygon |
15 | 3782 | caballero | %% |
16 | // A task begins life in suspended animation. |
||
17 | |||
18 | 3978 | caballero | NumberOrCenterPoint |
19 | 3782 | caballero | |
20 | Entry { |
||
21 | 3844 | caballero | setQuestion("POLIGONO" + "\n" + |
22 | "Insertar numero de lados<5>"); |
||
23 | 3883 | caballero | setDescription(new String[]{"Cancelar"}); |
24 | 3782 | caballero | } |
25 | Exit{ |
||
26 | } |
||
27 | |||
28 | { |
||
29 | 3828 | caballero | addValue(d:double) |
30 | 3978 | caballero | CenterPoint { |
31 | 3782 | caballero | setQuestion("Insertar punto central del poligono"); |
32 | 3883 | caballero | setDescription(new String[]{"Cancelar"}); |
33 | 3828 | caballero | addValue(d); |
34 | 3782 | caballero | } |
35 | 4324 | caballero | addPoint( pointX:double,pointY:double,event:InputEvent) |
36 | 3978 | caballero | OptionOrRadiusOrPoint { |
37 | 3883 | caballero | setQuestion("Inscrito en el c?rculo[I] o Circunscrito[C]<C>"); |
38 | setDescription(new String[]{"Inscrito","Circunscrito","Cancelar"}); |
||
39 | 4365 | caballero | addPoint( pointX,pointY,event); |
40 | 3782 | caballero | } |
41 | |||
42 | } |
||
43 | 3978 | caballero | CenterPoint{ |
44 | 4324 | caballero | addPoint( pointX:double,pointY:double,event:InputEvent) |
45 | 3978 | caballero | OptionOrRadiusOrPoint { |
46 | 3782 | caballero | setQuestion("Inscrito en el c?rculo[I] o Circunscrito[C]<C>"); |
47 | 3883 | caballero | setDescription(new String[]{"Inscrito","Circunscrito","Cancelar"}); |
48 | 4365 | caballero | addPoint( pointX,pointY,event); |
49 | 3782 | caballero | } |
50 | } |
||
51 | 3978 | caballero | OptionOrRadiusOrPoint{ |
52 | 3828 | caballero | addOption(s:String) |
53 | 3978 | caballero | RadiusOrPoint { |
54 | 3782 | caballero | setQuestion("Precise r?dio(r)"); |
55 | 3883 | caballero | setDescription(new String[]{"Cancelar"}); |
56 | 3828 | caballero | addOption(s); |
57 | 3782 | caballero | } |
58 | 3828 | caballero | addValue(d:double) |
59 | 3978 | caballero | NumberOrCenterPoint{ |
60 | 3828 | caballero | addValue(d); |
61 | 3782 | caballero | end(); |
62 | } |
||
63 | 4324 | caballero | addPoint( pointX:double,pointY:double,event:InputEvent) |
64 | 3978 | caballero | NumberOrCenterPoint { |
65 | 4365 | caballero | addPoint( pointX,pointY,event); |
66 | 3782 | caballero | end(); |
67 | } |
||
68 | } |
||
69 | 3978 | caballero | RadiusOrPoint{ |
70 | 4324 | caballero | addPoint( pointX:double,pointY:double,event:InputEvent) |
71 | 3978 | caballero | NumberOrCenterPoint { |
72 | 4365 | caballero | addPoint( pointX,pointY,event); |
73 | 3782 | caballero | end(); |
74 | } |
||
75 | 3828 | caballero | addValue(d:double) |
76 | 3978 | caballero | NumberOrCenterPoint{ |
77 | 3828 | caballero | addValue(d); |
78 | 3782 | caballero | end(); |
79 | } |
||
80 | } |
||
81 | 3978 | caballero | |
82 | 3782 | caballero | Default |
83 | { |
||
84 | 3883 | caballero | addOption(s:String) |
85 | [s.equals("Cancelar")] |
||
86 | 3978 | caballero | NumberOrCenterPoint{ |
87 | 3883 | caballero | end(); |
88 | } |
||
89 | 3782 | caballero | } |
90 | %% |