Revision 37684

View differences:

tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/distribution/distribution.xml
1
<assembly>
2
	<id>distribution</id>
3
	<formats>
4
		<format>dir</format>
5
	</formats>
6
	<fileSets>
7
	<!-- Extructure for the extension -->
8
		<fileSet>
9
			<directory>config</directory>
10
			<outputDirectory>${extension.install.dir.name}
11
			</outputDirectory>
12
		</fileSet>
13
		<fileSet>
14
			<directory>images</directory>
15
			<outputDirectory>/${extension.install.dir.name}/images
16
			</outputDirectory>
17
		</fileSet>
18
	</fileSets>
19
    <files>
20
        <file>
21
            <source>package.info</source>
22
            <outputDirectory>${extension.install.dir.name}
23
            </outputDirectory>
24
        </file>
25
    </files>
26
	<!--
27
		***********************************************************************
28
	-->
29
  <!-- *													   *-->
30
	<!--
31
		***********************************************************************
32
	-->
33
	<dependencySets>
34
		<dependencySet>
35
			<outputDirectory>${extension.install.dir.name}/${library-dir}
36
			</outputDirectory>
37
			<includes>
38
				<include>org.gvsig:org.gvsig.editing</include>
39
			</includes>
40
		</dependencySet>
41
		<dependencySet>
42
			<outputDirectory>${extension.install.dir.name}/${library-dir}</outputDirectory>
43
			<includes>
44
				<include>net.sf.smc:smc</include>
45
			</includes>
46
		</dependencySet>
47
	</dependencySets>
48
</assembly>
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/ScaleCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Scale::PointMain
9
%class ScaleCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.ScaleCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Scale
16
%%
17
// A task begins life in suspended animation.
18

  
19
PointMain
20
	Entry {
21
		selection();
22
		setQuestion(
23
		PluginServices.getText(this,"insert_basis_point"));
24
		setDescription(new String[]{"cancel"});
25

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			ScaleFactorOrReference {
33
				setQuestion(
34
					PluginServices.getText(this,"insert_factor")+ " "+
35
					PluginServices.getText(this,"cad.or")+" "+
36
					PluginServices.getText(this,"reference")+
37
					PluginServices.getText(this,"ScaleCADTool.reference"));
38
				setDescription(new String[]{"reference","cancel"});
39
				addPoint( pointX,pointY,event);
40
				}
41
	}
42
ScaleFactorOrReference{
43
	addValue(d:double)
44
		PointMain{
45
			addValue(d);
46
			end();
47
			refresh();
48
			}
49
	addOption(s:String)
50
		[s.equals(null) || s.equals("")]
51
		PointMain{
52
			addOption(s);
53
			end();
54
			refresh();
55
			}
56
	addOption(s:String)
57
		[s.equalsIgnoreCase(PluginServices.getText(this,"ScaleCADTool.reference")) || s.equals(PluginServices.getText(this,"reference"))]
58
		PointOriginOrScaleFactor{
59
			setQuestion(
60
				PluginServices.getText(this,"insert_reference_point")+ " "+
61
				PluginServices.getText(this,"cad.or")+" "+
62
				PluginServices.getText(this,"factor")+
63
				"["+PluginServices.getText(this,"ScaleCADTool.factor")+"]");
64
			setDescription(new String[]{"factor","cancel"});
65
			//addOption(s);
66
			}
67
	addPoint( pointX:double,pointY:double,event:InputEvent)
68
		PointMain {
69
			addPoint( pointX,pointY,event);
70
			end();
71
			refresh();
72
			}
73
}
74
PointOriginOrScaleFactor{
75
	addOption(s:String)
76
		[s.equalsIgnoreCase(PluginServices.getText(this,"ScaleCADTool.factor")) || s.equals(PluginServices.getText(this,"factor"))]
77
		PointMain{
78
			setQuestion(
79
				PluginServices.getText(this,"insert_factor")+ " "+
80
				PluginServices.getText(this,"cad.or")+" "+
81
				PluginServices.getText(this,"reference")+
82
				"["+PluginServices.getText(this,"ScaleCADTool.reference")+"]");
83
			setDescription(new String[]{"reference","cancel"});
84
			addOption(s);
85
			}
86
	addPoint( pointX:double,pointY:double,event:InputEvent)
87
		EndPointReference {
88
			setQuestion(PluginServices.getText(this,"insert_last_point_reference"));
89
			setDescription(new String[]{"cancel"});
90
			addPoint( pointX,pointY,event);
91
			}
92
}
93
EndPointReference{
94
	addPoint( pointX:double,pointY:double,event:InputEvent)
95
		OriginPointScale {
96
			setQuestion(PluginServices.getText(this,"insert_first_point_scale"));
97
			setDescription(new String[]{"cancel"});
98
			addPoint( pointX,pointY,event);
99
			}
100
}
101
OriginPointScale{
102
	addPoint( pointX:double,pointY:double,event:InputEvent)
103
		EndPointScale {
104
			setQuestion(PluginServices.getText(this,"insert_last_point_scale"));
105
			setDescription(new String[]{"cancel"});
106
			addPoint( pointX,pointY,event);
107
			}
108
}
109
EndPointScale{
110
	addPoint( pointX:double,pointY:double,event:InputEvent)
111
		PointMain {
112
			addPoint( pointX,pointY,event);
113
			end();
114
			refresh();
115
			}
116
}
117

  
118
Default
119
{
120
	addOption(s:String)
121
		[s.equals(PluginServices.getText(this,"cancel"))]
122
		PointMain{
123
			end();
124
			}
125
	addOption(s:String)
126
		PointMain{
127
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
128
			}
129
	addValue(d:double)
130
		PointMain{
131
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
132
			}
133
	addPoint(pointX:double,pointY:double,event:InputEvent)
134
		PointMain{
135
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
136
			}
137
}
138
%%
0 139

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/PolygonCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Polygon::NumberOrCenterPoint
9
%class PolygonCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.PolygonCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Polygon
16
%%
17
// A task begins life in suspended animation.
18

  
19
NumberOrCenterPoint
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_number_sides"));
24
		setDescription(new String[]{"cancel"});
25
		}
26
	Exit{
27
		}
28

  
29
	{
30
		addValue(d:double)
31
			[d<3]
32
			NumberOrCenterPoint{
33
				throwValueException(PluginServices.getText(this,"num_lados_insuficiente"),d);
34
			}
35
		addValue(d:double)
36
			[d>2]
37
			CenterPoint {
38
				setQuestion(PluginServices.getText(this,"insert_central_point_polygon"));
39
				setDescription(new String[]{"cancel"});
40
				addValue(d);
41
				}
42
		addPoint( pointX:double,pointY:double,event:InputEvent)
43
			OptionOrRadiusOrPoint {
44
				setQuestion(
45
					PluginServices.getText(this,"into_circle")+" "+
46
					"["+PluginServices.getText(this,"PolygonCADTool.into_circle")+"]"+
47
	    			PluginServices.getText(this,"cad.or")+" "+
48
	    			PluginServices.getText(this,"circumscribed")+
49
	   				"["+PluginServices.getText(this,"PolygonCADTool.circumscribed")+"]");
50
				setDescription(new String[]{"into_circle","circumscribed","cancel"});
51
				addPoint( pointX,pointY,event);
52
				}
53

  
54
	}
55
CenterPoint{
56
	addPoint( pointX:double,pointY:double,event:InputEvent)
57
		OptionOrRadiusOrPoint {
58
			setQuestion(
59
				PluginServices.getText(this,"into_circle")+" "+
60
				"["+PluginServices.getText(this,"PolygonCADTool.into_circle")+"]"+
61
	    		PluginServices.getText(this,"cad.or")+" "+
62
	    		PluginServices.getText(this,"circumscribed")+
63
	   			"["+PluginServices.getText(this,"PolygonCADTool.circumscribed")+"]");
64
			setDescription(new String[]{"into_circle","circumscribed","cancel"});
65
			addPoint( pointX,pointY,event);
66
			}
67
}
68
OptionOrRadiusOrPoint{
69
	addOption(s:String)
70
		[!s.equals(PluginServices.getText(this,"cancel"))]
71
		RadiusOrPoint {
72
			setQuestion(PluginServices.getText(this,"insert_radius"));
73
			setDescription(new String[]{"cancel"});
74
			addOption(s);
75
			}
76
	addValue(d:double)
77
		NumberOrCenterPoint{
78
			addValue(d);
79
			}
80
	addPoint( pointX:double,pointY:double,event:InputEvent)
81
		NumberOrCenterPoint {
82
			addPoint( pointX,pointY,event);
83
			}
84
}
85
RadiusOrPoint{
86
	addPoint( pointX:double,pointY:double,event:InputEvent)
87
		NumberOrCenterPoint {
88
			addPoint( pointX,pointY,event);
89
			}
90
	addValue(d:double)
91
		NumberOrCenterPoint{
92
			addValue(d);
93
			}
94
}
95

  
96
Default
97
{
98
	addOption(s:String)
99
		[s.equals(PluginServices.getText(this,"cancel"))]
100
		NumberOrCenterPoint{
101
			end();
102
			}
103
	addOption(s:String)
104
		NumberOrCenterPoint{
105
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
106
			}
107
	addValue(d:double)
108
		NumberOrCenterPoint{
109
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
110
			}
111
	addPoint(pointX:double,pointY:double,event:InputEvent)
112
		NumberOrCenterPoint{
113
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
114
			}
115
}
116
%%
0 117

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/LineCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Line::FirstPoint
9
%class LineCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.LineCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Line
16
%%
17
// A task begins life in suspended animation.
18

  
19
FirstPoint
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_first_point"));
24
		setDescription(new String[]{"cancel"});
25
		}
26
	Exit{
27
		}
28

  
29
	{
30

  
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPointOrAngle {
33
				setQuestion(PluginServices.getText(this,"insert_second_point_angle"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37

  
38
	}
39
SecondPointOrAngle{
40
	addPoint( pointX:double,pointY:double,event:InputEvent)
41
		SecondPointOrAngle {
42
			setQuestion(PluginServices.getText(this,"insert_second_point_angle"));
43
			setDescription(new String[]{"cancel"});
44
			addPoint( pointX,pointY,event);
45
			}
46
	addValue( d:double)
47
		LenghtOrPoint {
48
			setQuestion(PluginServices.getText(this,"insert_length_or_point"));
49
			setDescription(new String[]{"cancel"});
50
			addValue( d);
51
			}
52

  
53
}
54
LenghtOrPoint{
55
	addPoint( pointX:double,pointY:double,event:InputEvent)
56
		SecondPointOrAngle {
57
			setQuestion(PluginServices.getText(this,"insert_second_point_angle"));
58
			setDescription(new String[]{"cancel"});
59
			addPoint( pointX,pointY,event);
60
			}
61
	addValue( d:double)
62
		SecondPointOrAngle {
63
			setQuestion(PluginServices.getText(this,"insert_second_point_angle"));
64
			setDescription(new String[]{"cancel"});
65
			addValue( d);
66
			}
67
	}
68
Default
69
{
70
	addOption(s:String)
71
		[s.equals(PluginServices.getText(this,"cancel"))]
72
		FirstPoint{
73
			end();
74
			}
75
	addOption(s:String)
76
		[s.equals("")]
77
		FirstPoint{
78
			end();
79
			}
80
	addOption(s:String)
81
		FirstPoint{
82
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
83
			}
84
	addValue(d:double)
85
		FirstPoint{
86
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
87
			}
88
	addPoint(pointX:double,pointY:double,event:InputEvent)
89
		FirstPoint{
90
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
91
			}
92

  
93
}
94
%%
0 95

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/SymmetryCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Symmetry::FirstPoint
9
%class SymmetryCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.SymmetryCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Symmetry
16
%%
17
// A task begins life in suspended animation.
18

  
19
FirstPoint
20
	Entry {
21
		selection();
22
		setQuestion(
23
		PluginServices.getText(this,"insert_first_point"));
24
		setDescription(new String[]{"cancel"});
25

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPoint {
33
				setQuestion(PluginServices.getText(this,"insert_second_point"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	}
38
SecondPoint{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		CutOrCopy {
41
			setQuestion(
42
				PluginServices.getText(this,"del_original_geometries")+" "+
43
				PluginServices.getText(this,"yes")+
44
				"["+PluginServices.getText(this,"SymmetryCADTool.yes")+"], "+
45
				PluginServices.getText(this,"cad.or")+" "+
46
				PluginServices.getText(this,"no")+
47
				"["+PluginServices.getText(this,"SymmetryCADTool.no")+"]");
48
			setDescription(new String[]{"cancel","cut","copy"});
49
			addPoint( pointX,pointY,event);
50
			}
51
}
52
CutOrCopy{
53
	addOption(s:String)
54
		FirstPoint{
55
			setDescription(new String[]{"cancel"});
56
			addOption(s);
57
			end();
58
			}
59
}
60

  
61
Default
62
{
63
	addOption(s:String)
64
		[s.equals(PluginServices.getText(this,"cancel"))]
65
		FirstPoint{
66
			end();
67
			}
68
	addOption(s:String)
69
		FirstPoint{
70
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
71
			}
72
	addValue(d:double)
73
		FirstPoint{
74
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
75
			}
76
	addPoint(pointX:double,pointY:double,event:InputEvent)
77
		FirstPoint{
78
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
79
			}
80
}
81
%%
0 82

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/PointCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Point::FirstPoint
9
%class PointCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.PointCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15

  
16
%map Point
17
%%
18
// A task begins life in suspended animation.
19

  
20
FirstPoint
21

  
22
	Entry {
23
		setQuestion(
24
		PluginServices.getText(this,"define_point"));
25
		setDescription(new String[]{"cancel"});
26
		}
27
	Exit {
28
		}
29

  
30
	{
31

  
32
		addPoint( pointX:double,pointY:double,event:InputEvent)
33
			FirstPoint {
34
				setQuestion(PluginServices.getText(this,"insert_point"));
35
				setDescription(new String[]{"cancel"});
36
				addPoint( pointX,pointY,event);
37
				}
38
	}
39

  
40
Default
41
{
42
	addOption(s:String)
43
		[s.equals(PluginServices.getText(this,"cancel"))]
44
		FirstPoint{
45
			end();
46
			}
47
	addOption(s:String)
48
		FirstPoint{
49
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
50
			}
51
	addValue(d:double)
52
		FirstPoint{
53
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
54
			}
55
	addPoint(pointX:double,pointY:double,event:InputEvent)
56
		FirstPoint{
57
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
58
			}
59
}
60
%%
0 61

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/SplineCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Spline::FirstPoint
9
%class SplineCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.SplineCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Spline
16
%%
17
// A task begins life in suspended animation.
18

  
19
FirstPoint
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_first_point"));
24
		setDescription(new String[]{"cancel"});
25
		}
26
	Exit{
27
		}
28

  
29
	{
30
		addPoint( pointX:double,pointY:double,event:InputEvent)
31
			NextPoint{
32
				setQuestion(
33
					PluginServices.getText(this,"insert_next_point")+", "+
34
					PluginServices.getText(this,"close")+" "+
35
					"["+PluginServices.getText(this,"SplineCADTool.close")+"] "+
36
					PluginServices.getText(this,"cad.or")+" "+
37
					PluginServices.getText(this,"end")+" "+
38
					"["+PluginServices.getText(this,"SplineCADTool.end")+"]");
39
				setDescription(new String[]{"close","terminate","cancel"});
40
				addPoint( pointX,pointY,event);
41
				}
42
	}
43
NextPoint{
44

  
45
	addOption(s:String)
46
		[s.equalsIgnoreCase(PluginServices.getText(this,"SplineCADTool.close")) || s.equals(PluginServices.getText(this,"close"))]
47
		FirstPoint {
48
			addOption(s);
49
			closeGeometry();
50
			endGeometry();
51
			end();
52
			}
53
	addOption(s:String)
54
		[s.equalsIgnoreCase(PluginServices.getText(this,"SplineCADTool.end")) || s.equals(PluginServices.getText(this,"terminate"))]
55
		FirstPoint {
56
			addOption(s);
57
			endGeometry();
58
			end();
59
			}
60
	addPoint( pointX:double,pointY:double,event:InputEvent)
61
		NextPoint {
62
			setQuestion(
63
				PluginServices.getText(this,"insert_next_point")+", "+
64
				PluginServices.getText(this,"close")+" "+
65
				"["+PluginServices.getText(this,"SplineCADTool.close")+"] "+
66
				PluginServices.getText(this,"cad.or")+" "+
67
				PluginServices.getText(this,"end")+" "+
68
				"["+PluginServices.getText(this,"SplineCADTool.end")+"]");
69
			setDescription(new String[]{"close","terminate","cancel"});
70
			addPoint( pointX,pointY,event);
71
			}
72
}
73

  
74
Default
75
{
76
	addOption(s:String)
77
		[s.equals(PluginServices.getText(this,"cancel"))]
78
		FirstPoint{
79
			cancel();
80
			}
81
	addOption(s:String)
82
		[s.equals("")]
83
		FirstPoint{
84
			endGeometry();
85
			}
86
	addOption(s:String)
87
		FirstPoint{
88
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
89
			}
90
	addValue(d:double)
91
		FirstPoint{
92
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
93
			}
94
	addPoint(pointX:double,pointY:double,event:InputEvent)
95
		FirstPoint{
96
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
97
			}
98
	endPoint(pointX:double,pointY:double,event:InputEvent)
99
		FirstPoint{
100
			addPoint( pointX,pointY,event);
101
			endGeometry();
102
			}
103

  
104
}
105
%%
0 106

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/PolylineCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Polyline::FirstPoint
9
%class PolylineCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.PolylineCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Polyline
16
%%
17
// A task begins life in suspended animation.
18

  
19
FirstPoint
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_first_point"));
24
		setDescription(new String[]{"cancel"});
25
		}
26
	Exit{
27
		}
28

  
29
	{
30
		addPoint( pointX:double,pointY:double,event:InputEvent)
31
			[ctxt.isPolygonLayer()]
32
			NextPointOrArcOrClose{
33
				setQuestion(
34
					PluginServices.getText(this,"insert_next_point")+", "+
35
				    PluginServices.getText(this,"arc")+
36
				    "["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
37
				    PluginServices.getText(this,"cad.or")+" "+
38
				    PluginServices.getText(this,"end")+
39
				   	"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
40
				setDescription(new String[]{"inter_arc","terminate","cancel"});
41
				addPoint( pointX,pointY,event);
42
				}
43
		addPoint( pointX:double,pointY:double,event:InputEvent)
44
			NextPointOrArcOrClose{
45
				setQuestion(
46
					PluginServices.getText(this,"insert_next_point")+", "+
47
				    PluginServices.getText(this,"arc")+
48
				    "["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
49
				    PluginServices.getText(this,"close_polyline")+
50
				    "["+PluginServices.getText(this,"PolylineCADTool.close_polyline")+"], "+
51
				    PluginServices.getText(this,"cad.or")+" "+
52
				    PluginServices.getText(this,"end")+
53
				   	"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
54
				setDescription(new String[]{"inter_arc","close_polyline","terminate","cancel"});
55
				addPoint( pointX,pointY,event);
56
				}
57
	}
58
NextPointOrArcOrClose{
59
	addOption(s:String)
60
		[ctxt.isPolygonLayer() && (s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.arc")) || s.equals(PluginServices.getText(this,"inter_arc")))]
61
		NextPointOrLineOrClose {
62
			setQuestion(
63
				PluginServices.getText(this,"insert_next_point")+", "+
64
				PluginServices.getText(this,"line")+
65
				"["+PluginServices.getText(this,"PolylineCADTool.line")+"], "+
66
				PluginServices.getText(this,"cad.or")+" "+
67
				PluginServices.getText(this,"end")+
68
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
69
			setDescription(new String[]{"inter_line","terminate","cancel"});
70
			addOption(s);
71
			}
72
	addOption(s:String)
73
		[s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.arc")) || s.equals(PluginServices.getText(this,"inter_arc"))]
74
		NextPointOrLineOrClose {
75
			setQuestion(
76
				PluginServices.getText(this,"insert_next_point")+", "+
77
				PluginServices.getText(this,"line")+
78
				"["+PluginServices.getText(this,"PolylineCADTool.line")+"], "+
79
				PluginServices.getText(this,"close_polyline")+
80
				"["+PluginServices.getText(this,"PolylineCADTool.close_polyline")+"], "+
81
				PluginServices.getText(this,"cad.or")+" "+
82
				PluginServices.getText(this,"end")+
83
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
84
			setDescription(new String[]{"inter_line","close_polyline","terminate","cancel"});
85
			addOption(s);
86
			}
87
	addOption(s:String)
88
		[s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.close_polyline")) || s.equals(PluginServices.getText(this,"close_polyline"))]
89
		FirstPoint {
90
			addOption(s);
91
			closeGeometry();
92
			endGeometry();
93
			end();
94
			}
95
	addOption(s:String)
96
		[(s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.end")) || s.equals(PluginServices.getText(this,"terminate"))) && ctxt.getLinesCount()!=0 ]
97
		FirstPoint {
98
			addOption(s);
99
			endGeometry();
100
			end();
101
			}
102
	addOption(s:String)
103
		[!s.equals(PluginServices.getText(this,"cancel"))]
104
		NextPointOrArcOrClose {
105
		}
106
	addPoint( pointX:double,pointY:double,event:InputEvent)
107
		[ctxt.isPolygonLayer()]
108
		NextPointOrArcOrClose {
109
			setQuestion(
110
				PluginServices.getText(this,"insert_next_point")+", "+
111
				PluginServices.getText(this,"arc")+
112
				"["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
113
				PluginServices.getText(this,"cad.or")+" "+
114
				PluginServices.getText(this,"end")+
115
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
116
			setDescription(new String[]{"inter_arc","terminate","cancel"});
117
			addPoint( pointX,pointY,event);
118
			}
119
	addPoint( pointX:double,pointY:double,event:InputEvent)
120
		NextPointOrArcOrClose {
121
			setQuestion(
122
				PluginServices.getText(this,"insert_next_point")+", "+
123
				PluginServices.getText(this,"arc")+
124
				"["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
125
				PluginServices.getText(this,"close_polyline")+
126
				"["+PluginServices.getText(this,"PolylineCADTool.close_polyline")+"], "+
127
				PluginServices.getText(this,"cad.or")+" "+
128
				PluginServices.getText(this,"end")+
129
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
130
			setDescription(new String[]{"inter_arc","close_polyline","terminate","cancel"});
131
			addPoint( pointX,pointY,event);
132
			}
133
}
134
NextPointOrLineOrClose{
135
	addPoint( pointX:double,pointY:double,event:InputEvent)
136
		[ctxt.isPolygonLayer()]
137
		NextPointOrLineOrClose {
138
			setQuestion(
139
				PluginServices.getText(this,"insert_next_point")+", "+
140
				PluginServices.getText(this,"line")+
141
				"["+PluginServices.getText(this,"PolylineCADTool.line")+"], "+
142
				PluginServices.getText(this,"cad.or")+" "+
143
				PluginServices.getText(this,"end")+
144
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
145
			setDescription(new String[]{"inter_line","terminate","cancel"});
146
			addPoint( pointX,pointY,event);
147
			}
148
	addPoint( pointX:double,pointY:double,event:InputEvent)
149
		NextPointOrLineOrClose {
150
			setQuestion(
151
				PluginServices.getText(this,"insert_next_point")+", "+
152
				PluginServices.getText(this,"line")+
153
				"["+PluginServices.getText(this,"PolylineCADTool.line")+"], "+
154
				PluginServices.getText(this,"close_polyline")+
155
				"["+PluginServices.getText(this,"PolylineCADTool.close_polyline")+"], "+
156
				PluginServices.getText(this,"cad.or")+" "+
157
				PluginServices.getText(this,"end")+
158
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
159
			setDescription(new String[]{"inter_line","close_polyline","terminate","cancel"});
160
			addPoint( pointX,pointY,event);
161
			}
162
	addOption(s:String)
163
		[ctxt.isPolygonLayer() && (s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.line")) || s.equals(PluginServices.getText(this,"inter_line")))]
164
		NextPointOrArcOrClose {
165
			setQuestion(
166
				PluginServices.getText(this,"insert_next_point")+", "+
167
				PluginServices.getText(this,"arc")+
168
				"["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
169
				PluginServices.getText(this,"cad.or")+" "+
170
				PluginServices.getText(this,"end")+
171
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
172
			setDescription(new String[]{"inter_arc","terminate","cancel"});
173
			addOption(s);
174
			}
175
	addOption(s:String)
176
		[s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.line")) || s.equals(PluginServices.getText(this,"inter_line"))]
177
		NextPointOrArcOrClose {
178
			setQuestion(
179
				PluginServices.getText(this,"insert_next_point")+", "+
180
				PluginServices.getText(this,"arc")+
181
				"["+PluginServices.getText(this,"PolylineCADTool.arc")+"], "+
182
				PluginServices.getText(this,"close_polyline")+
183
				"["+PluginServices.getText(this,"PolylineCADTool.close_polyline")+"], "+
184
				PluginServices.getText(this,"cad.or")+" "+
185
				PluginServices.getText(this,"end")+
186
				"["+PluginServices.getText(this,"PolylineCADTool.end")+"]");
187
			setDescription(new String[]{"inter_arc","close_polyline","terminate","cancel"});
188
			addOption(s);
189
			}
190
	addOption(s:String)
191
		[s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.close_polyline")) || s.equals(PluginServices.getText(this,"close_polyline"))]
192
		FirstPoint {
193
			addOption(s);
194
			closeGeometry();
195
			endGeometry();
196
			end();
197
			}
198
	addOption(s:String)
199
		[(s.equalsIgnoreCase(PluginServices.getText(this,"PolylineCADTool.end")) || s.equals(PluginServices.getText(this,"terminate"))) && ctxt.getLinesCount()!=0]
200
		FirstPoint {
201
			addOption(s);
202
			endGeometry();
203
			end();
204
			}
205
	addOption(s:String)
206
		[!s.equals(PluginServices.getText(this,"cancel"))]
207
		NextPointOrLineOrClose {
208
		}
209
}
210

  
211
Default
212
{
213
	addOption(s:String)
214
		[s.equals(PluginServices.getText(this,"cancel"))]
215
		FirstPoint{
216
			cancel();
217
			}
218
	addOption(s:String)
219
		[s.equals("")]
220
		FirstPoint{
221
			endGeometry();
222
			}
223
	addOption(s:String)
224
		FirstPoint{
225
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
226
			}
227
	addValue(d:double)
228
		FirstPoint{
229
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
230
			}
231
	addPoint(pointX:double,pointY:double,event:InputEvent)
232
		FirstPoint{
233
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
234
			}
235
	endPoint(pointX:double,pointY:double,event:InputEvent)
236
		FirstPoint{
237
			addPoint( pointX,pointY,event);
238
			endGeometry();
239
			}
240

  
241
}
242
%%
0 243

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/EllipseCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Ellipse::FirstPointAxis
9
%class EllipseCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.EllipseCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Ellipse
16
%%
17
// A task begins life in suspended animation.
18

  
19
FirstPointAxis
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_initial_point_axis"));
24
		setDescription(new String[]{"cancel"});
25
		}
26
	Exit{
27
		}
28

  
29
	{
30
		addPoint( pointX:double,pointY:double,event:InputEvent)
31
			SecondPointAxis {
32
				setQuestion(PluginServices.getText(this,"insert_last_point_axis"));
33
				setDescription(new String[]{"cancel"});
34
				addPoint( pointX,pointY,event);
35
				}
36

  
37
	}
38
SecondPointAxis{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		DistanceOtherAxis {
41
			setQuestion(PluginServices.getText(this,"insert_distance_another_axis"));
42
			setDescription(new String[]{"cancel"});
43
			addPoint( pointX,pointY,event);
44
			}
45

  
46
}
47
DistanceOtherAxis{
48
	addPoint( pointX:double,pointY:double,event:InputEvent)
49
		FirstPointAxis {
50
			addPoint( pointX,pointY,event);
51
			}
52
	addValue( d:double)
53
		FirstPointAxis {
54
			addValue( d);
55
			}
56
}
57

  
58
Default
59
{
60
	addOption(s:String)
61
		[s.equals(PluginServices.getText(this,"cancel"))]
62
		FirstPointAxis{
63
			end();
64
			}
65
	addOption(s:String)
66
		FirstPointAxis{
67
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
68
			}
69
	addValue(d:double)
70
		FirstPointAxis{
71
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
72
			}
73
	addPoint(pointX:double,pointY:double,event:InputEvent)
74
		FirstPointAxis{
75
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
76
			}
77
}
78
%%
0 79

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/RotateCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Rotate::PointMain
9
%class RotateCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.RotateCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Rotate
16
%%
17
// A task begins life in suspended animation.
18

  
19
PointMain
20
	Entry {
21
		selection();
22
		setQuestion(
23
		PluginServices.getText(this,"insert_basis_point"));
24
		setDescription(new String[]{"cancel"});
25

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			AngleOrPoint {
33
				setQuestion(PluginServices.getText(this,"insert_rotation_angle"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	}
38
AngleOrPoint{
39
	addValue(d:double)
40
		PointMain{
41
			setDescription(new String[]{"cancel"});
42
			addValue(d);
43
			end();
44
			refresh();
45
			}
46
	addPoint( pointX:double,pointY:double,event:InputEvent)
47
		PointMain {
48
			setDescription(new String[]{"cancel"});
49
			addPoint( pointX,pointY,event);
50
			end();
51
			refresh();
52
			}
53
}
54

  
55
Default
56
{
57
	addOption(s:String)
58
		[s.equals(PluginServices.getText(this,"cancel"))]
59
		PointMain{
60
			end();
61
			}
62
	addOption(s:String)
63
		PointMain{
64
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
65
			}
66
	addValue(d:double)
67
		PointMain{
68
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
69
			}
70
	addPoint(pointX:double,pointY:double,event:InputEvent)
71
		PointMain{
72
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
73
			}
74
}
75
%%
0 76

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/JoinCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Join::Execute
9
%class JoinCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.JoinCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Join
16
%%
17
// A task begins life in suspended animation.
18

  
19
Execute
20
    Entry {
21
        join();
22
        end();
23
        }
24
    Exit{
25
        }
26

  
27
    {
28
    }
29

  
30
Default
31
{
32
    addOption(s:String)
33
        [s.equals(PluginServices.getText(this,"cancel"))]
34
        Execute{
35
            end();
36
            }
37
    addOption(s:String)
38
        Execute{
39
            throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
40
            }
41
    addValue(d:double)
42
        Execute{
43
            throwValueException(PluginServices.getText(this,"incorrect_value"),d);
44
            }
45
    addPoint(pointX:double,pointY:double,event:InputEvent)
46
        Execute{
47
            throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
48
            }
49
}
50
%%
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/CircleCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Circle::CenterPointOr3p
9
%class CircleCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.CircleCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Circle
16
%%
17
// A task begins life in suspended animation.
18

  
19
CenterPointOr3p
20

  
21
	Entry {
22
		setQuestion(
23
		PluginServices.getText(this,"insert_central_point_or_3p")+
24
		"["+PluginServices.getText(this,"CircleCADTool.3p")+"]");
25
		setDescription(new String[]{"cancel","3P"});
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
	addPoint( pointX:double,pointY:double,event:InputEvent)
32
			PointOrRadius {
33
				setQuestion(PluginServices.getText(this,"insert_radius_or_second_point"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	addOption( s:String)
38
		[s.equalsIgnoreCase(PluginServices.getText(this,"CircleCADTool.3p"))]
39
			FirstPoint{
40
				setQuestion(PluginServices.getText(this,"insert_first_point"));
41
				setDescription(new String[]{"cancel"});
42
				addOption( s);
43
			}
44
}
45
PointOrRadius{
46
	addPoint( pointX:double,pointY:double,event:InputEvent)
47
		CenterPointOr3p {
48
			addPoint( pointX,pointY,event);
49
			}
50
	addValue( d:double)
51
		CenterPointOr3p {
52
			addValue( d);
53
			}
54
}
55
SecondPoint{
56
	addPoint( pointX:double,pointY:double,event:InputEvent)
57
		ThirdPoint {
58
			setQuestion(PluginServices.getText(this,"insert_third_point"));
59
			setDescription(new String[]{"cancel"});
60
			addPoint( pointX,pointY,event);
61
			}
62
}
63
ThirdPoint{
64
	addPoint( pointX:double,pointY:double,event:InputEvent)
65
		CenterPointOr3p {
66
			addPoint( pointX,pointY,event);
67
			}
68
}
69

  
70
FirstPoint{
71
	addPoint( pointX:double,pointY:double,event:InputEvent)
72
		SecondPoint {
73
			setQuestion(PluginServices.getText(this,"insert_second_point"));
74
			setDescription(new String[]{"cancel"});
75
			addPoint( pointX,pointY,event);
76
			}
77
}
78

  
79
Default
80
{
81
	addOption(s:String)
82
		[s.equals(PluginServices.getText(this,"cancel"))]
83
		CenterPointOr3p{
84
			end();
85
			}
86
	addOption(s:String)
87
		CenterPointOr3p{
88
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
89
			}
90
	addValue(d:double)
91
		CenterPointOr3p{
92
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
93
			}
94
	addPoint(pointX:double,pointY:double,event:InputEvent)
95
		CenterPointOr3p{
96
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
97
			}
98
}
99
%%
0 100

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/smc.bat
1
java -jar ../lib/Smc.jar -d ../src/gen -java *.sm
0 2

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/MultiPointCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start MultiPoint::InsertPoint
9
%class MultiPointCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.MultiPointCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15

  
16
%map MultiPoint
17
%%
18
// A task begins life in suspended animation.
19

  
20
InsertPoint
21

  
22
	Entry {
23
		setQuestion(
24
		PluginServices.getText(this,"insert_point"));
25
		setDescription(new String[]{"cancel",});
26
		}
27
	Exit {
28
		}
29

  
30
	{
31

  
32
		addPoint( pointX:double,pointY:double,event:InputEvent)
33
			InsertPoint {
34
				setQuestion(
35
				 	PluginServices.getText(this,"insert_point")+" "+
36
	    			PluginServices.getText(this,"cad.or")+" "+
37
	    			PluginServices.getText(this,"end")+
38
	   				"["+PluginServices.getText(this,"MultipointCADTool.end")+"]");
39

  
40
				setDescription(new String[]{"cancel","end"});
41
				addPoint( pointX,pointY,event);
42
				}
43
		addOption( s:String)
44
			[s.equalsIgnoreCase(PluginServices.getText(this,"MultipointCADTool.end")) || s.equals(PluginServices.getText(this,"end"))]
45
			InsertPoint {
46
				setQuestion(PluginServices.getText(this,"insert_point"));
47
				setDescription(new String[]{"cancel"});
48
				addOption(s);
49
				endGeometry();
50
				}
51
	}
52

  
53
Default
54
{
55
	addOption(s:String)
56
		[s.equals(PluginServices.getText(this,"cancel"))]
57
		InsertPoint{
58
			end();
59
			}
60
	addOption(s:String)
61
		InsertPoint{
62
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
63
			}
64
	addValue(d:double)
65
		InsertPoint{
66
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
67
			}
68
	addPoint(pointX:double,pointY:double,event:InputEvent)
69
		InsertPoint{
70
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
71
			}
72
}
73
%%
0 74

  
tags/v_2_0_0_Build_2043/extensions/extEditing/extEditing/sm/MatrixCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Matrix::Start
9
%class MatrixCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.MatrixCADTool
12
%import java.awt.event.InputEvent
13
%import com.iver.andami.PluginServices
14

  
15
%map Matrix
16
%%
17
// A task begins life in suspended animation.
18

  
19
Start
20
	Entry {
21
		selection();
22
		setQuestion(
23
		PluginServices.getText(this,"insert_first_point"));
24
		setDescription(new String[]{"cancel"});
25

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPoint {
33
				setQuestion(PluginServices.getText(this,"insert_second_point"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37

  
38
	}
39

  
40
FirstPoint{
41
	addPoint( pointX:double,pointY:double,event:InputEvent)
42
		SecondPoint {
43
			setDescription(new String[]{"cancel"});
44
			addPoint( pointX,pointY,event);
45
			}
46
}
47
SecondPoint{
48
	addPoint( pointX:double,pointY:double,event:InputEvent)
49
		FirstPoint {
50
			setDescription(new String[]{"cancel"});
51
			addPoint( pointX,pointY,event);
52
			endMatrix();
53
			}
54
}
55

  
56
Default
57
{
58
	addOption(s:String)
59
		[s.equals(PluginServices.getText(this,"cancel"))]
60
		Start{
61
			end();
62
			}
63
	addOption(s:String)
64
		Start{
65
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
66
			}
67
	addValue(d:double)
68
		Start{
69
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
70
			}
71
	addPoint(pointX:double,pointY:double,event:InputEvent)
72
		Start{
73
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
74
			}
75
}
76
%%
0 77

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff