Statistics
| Revision:

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

History | View | Annotate | Download (1.36 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
		init();
21
		setQuestion("Insertar primer punto");
22
		}
23
	Exit{
24
		}
25

    
26
	{
27
		addPoint(pointX:double,pointY:double)
28
			First {
29
				setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
30
				addPoint(pointX,pointY);
31
				}
32

    
33
	}
34
First{
35

    
36
	addOption(s:String)
37
		[s.equals("A") ||  s.equals("a")]
38
		Second {
39
			setQuestion("Insertar punto siguiente, Linea[N] o Cerrar[C]");
40
			addOption(s);
41
			}
42
	addOption(s:String)
43
		[s.equals("C") ||  s.equals("c")]
44
		Third {
45
			addOption(s);
46
			end();
47
			}
48
	addPoint(pointX:double,pointY:double)
49
		First {
50
			setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
51
			addPoint(pointX,pointY);
52
			}
53

    
54
}
55
Second{
56
	addPoint(pointX:double,pointY:double)
57
		Second {
58
			setQuestion("Insertar punto siguiente, Linea[N] o Cerrar[C]");
59
			addPoint(pointX,pointY);
60
			}
61
	addOption(s:String)
62
		[s.equals("N") ||  s.equals("n")]
63
		First {
64
			setQuestion("Insertar siguiente punto, Arco[A] o Cerrar[C]");
65
			addOption(s);
66
			}
67
	addOption(s:String)
68
		[s.equals("C") ||  s.equals("c")]
69
		Third {
70
			addOption(s);
71
			end();
72
			}
73
	}
74
Third{
75
}
76
Fourth{
77
}
78
Default
79
{
80

    
81
}
82
%%