Statistics
| Revision:

root / trunk / extensions / extCAD / sm / PolylineCADTool.sm @ 3883

History | View | Annotate | Download (1.95 KB)

1
// -*- tab-width: 4; -*-
2

    
3
%{
4
//
5
// Vicente Caballero Navarro
6
%}
7

    
8
%start ExecuteMap::Initial
9
%class PolylineCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.PolylineCADTool
12

    
13
%map ExecuteMap
14
%%
15
// A task begins life in suspended animation.
16

    
17
Initial
18

    
19
	Entry {
20
		setQuestion("POLILINEA" + "\n" +
21
		"Insertar primer punto");
22
		setDescription(new String[]{"Cancelar"});
23
		}
24
	Exit{
25
		}
26

    
27
	{
28
		addPoint(pointX:double,pointY:double)
29
			First {
30
				setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
31
				setDescription(new String[]{"Arco","Cerrar","Cancelar"});
32
				addPoint(pointX,pointY);
33
				}
34
	}
35
First{
36

    
37
	addOption(s:String)
38
		[s.equals("A") ||  s.equals("a") || s.equals("Arco")]
39
		Second {
40
			setQuestion("Insertar punto siguiente, Linea[N] o Cerrar[C]");
41
			setDescription(new String[]{"Linea","Cerrar","Cancelar"});
42
			addOption(s);
43
			}
44
	addOption(s:String)
45
		[s.equals("C") ||  s.equals("c") || s.equals("Cerrar")]
46
		Third {
47
			addOption(s);
48
			closeGeometry();
49
			endGeometry();
50
			end();
51
			}
52
	addPoint(pointX:double,pointY:double)
53
		First {
54
			setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
55
			setDescription(new String[]{"Arco","Cerrar","Cancelar"});
56
			addPoint(pointX,pointY);
57
			}
58
}
59
Second{
60
	addPoint(pointX:double,pointY:double)
61
		Second {
62
			setQuestion("Insertar punto siguiente, Linea[N] o Cerrar[C]");
63
			setDescription(new String[]{"Linea","Cerrar","Cancelar"});
64
			addPoint(pointX,pointY);
65
			}
66
	addOption(s:String)
67
		[s.equals("N") ||  s.equals("n") || s.equals("Linea")]
68
		First {
69
			setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
70
			setDescription(new String[]{"Arco","Cerrar","Cancelar"});
71
			addOption(s);
72
			}
73
	addOption(s:String)
74
		[s.equals("C") ||  s.equals("c") || s.equals("Cerrar")]
75
		Third {
76
			addOption(s);
77
			closeGeometry();
78
			endGeometry();
79
			end();
80
			}
81
}
82
Third{
83
}
84
Fourth{
85
}
86
Default
87
{
88
	addOption(s:String)
89
		[s.equals("Cancelar")]
90
		Initial{
91
			cancel();
92
			end();
93
			}
94
}
95
%%