Revision 32980
tags/v2_0_0_Build_2008/extensions/extEditing/CADToolsSMC.txt | ||
---|---|---|
1 |
C:\eclipse\workspace\CADTools\sm>java -jar ../lib/Smc.jar -java -d ../src/gen CADTool.sm |
|
0 | 2 |
tags/v2_0_0_Build_2008/extensions/extEditing/pom.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="UTF-8"?> |
|
2 |
|
|
3 |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|
4 |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 |
|
5 |
http://maven.apache.org/maven-v4_0_0.xsd"> |
|
6 |
<modelVersion>4.0.0</modelVersion> |
|
7 |
<groupId>org.gvsig</groupId> |
|
8 |
<artifactId>org.gvsig.editing</artifactId> |
|
9 |
<name>extEditing</name> |
|
10 |
<version>2.0-SNAPSHOT</version> |
|
11 |
<parent> |
|
12 |
<artifactId>gvsig-base-extension-pom</artifactId> |
|
13 |
<groupId>org.gvsig</groupId> |
|
14 |
<version>2.0-SNAPSHOT</version> |
|
15 |
</parent> |
|
16 |
<distributionManagement> |
|
17 |
<site> |
|
18 |
<id>gvsig-repository</id> |
|
19 |
<url>${site-repository}/</url> |
|
20 |
</site> |
|
21 |
</distributionManagement> |
|
22 |
|
|
23 |
<url>http://gvsig.org</url> |
|
24 |
<build> |
|
25 |
<sourceDirectory>src</sourceDirectory> |
|
26 |
<testSourceDirectory>src-test</testSourceDirectory> |
|
27 |
</build> |
|
28 |
<dependencies> |
|
29 |
<dependency> |
|
30 |
<groupId>org.gvsig</groupId> |
|
31 |
<artifactId>org.gvsig.ui</artifactId> |
|
32 |
<version>2.0-SNAPSHOT</version> |
|
33 |
</dependency> |
|
34 |
<dependency> |
|
35 |
<groupId>org.gvsig</groupId> |
|
36 |
<artifactId>org.gvsig.app</artifactId> |
|
37 |
<version>2.0-SNAPSHOT</version> |
|
38 |
<exclusions> |
|
39 |
<!-- TODO uncomment the exclusion and solve dependencies |
|
40 |
with the symbology implementation |
|
41 |
<exclusion> |
|
42 |
<groupId>org.gvsig</groupId> |
|
43 |
<artifactId>org.gvsig.symbology</artifactId> |
|
44 |
</exclusion> |
|
45 |
--> |
|
46 |
</exclusions> |
|
47 |
</dependency> |
|
48 |
<dependency> |
|
49 |
<groupId>net.sf.smc</groupId> |
|
50 |
<artifactId>smc</artifactId> |
|
51 |
</dependency> |
|
52 |
<dependency> |
|
53 |
<groupId>org.gvsig</groupId> |
|
54 |
<artifactId>org.gvsig.symbology</artifactId> |
|
55 |
<version>2.0-SNAPSHOT</version> |
|
56 |
</dependency> |
|
57 |
<dependency> |
|
58 |
<groupId>org.gvsig</groupId> |
|
59 |
<artifactId>org.gvsig.fmap.geometry</artifactId> |
|
60 |
<version>2.0-SNAPSHOT</version> |
|
61 |
</dependency> |
|
62 |
<!-- TODO: we shouldn't have this dependency --> |
|
63 |
<dependency> |
|
64 |
<groupId>org.gvsig</groupId> |
|
65 |
<artifactId>org.gvsig.fmap.geometry</artifactId> |
|
66 |
<version>2.0-SNAPSHOT</version> |
|
67 |
<classifier>impl</classifier> |
|
68 |
</dependency> |
|
69 |
</dependencies> |
|
70 |
|
|
71 |
<properties> |
|
72 |
<build-dir>${basedir}/../build</build-dir> |
|
73 |
</properties> |
|
74 |
</project> |
tags/v2_0_0_Build_2008/extensions/extEditing/.cvsignore | ||
---|---|---|
1 |
bin |
|
2 |
bin-test |
|
0 | 3 |
tags/v2_0_0_Build_2008/extensions/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>build.number</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/v2_0_0_Build_2008/extensions/extEditing/sm/EditVertexCADTool.sm | ||
---|---|---|
1 |
// -*- tab-width: 4; -*- |
|
2 |
|
|
3 |
%{ |
|
4 |
// |
|
5 |
// Vicente Caballero Navarro |
|
6 |
%} |
|
7 |
|
|
8 |
%start EditVertex::SelectVertexOrDelete |
|
9 |
%class EditVertexCADTool |
|
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
|
11 |
%import com.iver.cit.gvsig.gui.cad.tools.EditVertexCADTool |
|
12 |
%import java.awt.event.InputEvent |
|
13 |
%import com.iver.andami.PluginServices |
|
14 |
|
|
15 |
%map EditVertex |
|
16 |
%% |
|
17 |
// A task begins life in suspended animation. |
|
18 |
|
|
19 |
SelectVertexOrDelete |
|
20 |
Entry { |
|
21 |
selection(); |
|
22 |
setQuestion( |
|
23 |
PluginServices.getText(this,"point")+", "+ |
|
24 |
PluginServices.getText(this,"next")+ |
|
25 |
"["+PluginServices.getText(this,"EditVertexCADTool.nextvertex")+"], "+ |
|
26 |
PluginServices.getText(this,"previous")+ |
|
27 |
"["+PluginServices.getText(this,"EditVertexCADTool.previousvertex")+"], "+ |
|
28 |
PluginServices.getText(this,"add")+ |
|
29 |
"["+PluginServices.getText(this,"EditVertexCADTool.addvertex")+"] "+ |
|
30 |
PluginServices.getText(this,"cad.or")+" "+ |
|
31 |
PluginServices.getText(this,"del")+ |
|
32 |
"["+PluginServices.getText(this,"EditVertexCADTool.delvertex")+"]"); |
|
33 |
setDescription(new String[]{"next","previous","add","del","cancel"}); |
|
34 |
|
|
35 |
} |
|
36 |
Exit{ |
|
37 |
} |
|
38 |
|
|
39 |
{ |
|
40 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
41 |
SelectVertexOrDelete { |
|
42 |
setQuestion(PluginServices.getText(this,"select_from_point")); |
|
43 |
setDescription(new String[]{"next","previous","add","del","cancel"}); |
|
44 |
addPoint( pointX,pointY,event); |
|
45 |
} |
|
46 |
addOption(s:String) |
|
47 |
[s.equals("i") || s.equals("I") || s.equals(PluginServices.getText(this,"add"))] |
|
48 |
AddVertex { |
|
49 |
setQuestion(PluginServices.getText(this,"add_vertex")); |
|
50 |
setDescription(new String[]{"cancel"}); |
|
51 |
addOption(s); |
|
52 |
} |
|
53 |
addOption(s:String) |
|
54 |
[!s.equals("i") && !s.equals("I") && !s.equals(PluginServices.getText(this,"add"))] |
|
55 |
|
|
56 |
SelectVertexOrDelete { |
|
57 |
setQuestion( |
|
58 |
PluginServices.getText(this,"point")+", "+ |
|
59 |
PluginServices.getText(this,"next")+ |
|
60 |
"["+PluginServices.getText(this,"EditVertexCADTool.nextvertex")+"], "+ |
|
61 |
PluginServices.getText(this,"previous")+ |
|
62 |
"["+PluginServices.getText(this,"EditVertexCADTool.previousvertex")+"], "+ |
|
63 |
PluginServices.getText(this,"add")+ |
|
64 |
"["+PluginServices.getText(this,"EditVertexCADTool.addvertex")+"] "+ |
|
65 |
PluginServices.getText(this,"cad.or")+" "+ |
|
66 |
PluginServices.getText(this,"del")+ |
|
67 |
"["+PluginServices.getText(this,"EditVertexCADTool.delvertex")+"]"); |
|
68 |
setDescription(new String[]{"next","previous","add","del","cancel"}); |
|
69 |
addOption(s); |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
AddVertex{ |
|
74 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
75 |
SelectVertexOrDelete { |
|
76 |
setQuestion(PluginServices.getText(this,"select_from_point")); |
|
77 |
setDescription(new String[]{"next","previous","add","del","cancel"}); |
|
78 |
addPoint( pointX,pointY,event); |
|
79 |
} |
|
80 |
} |
|
81 |
|
|
82 |
Default |
|
83 |
{ |
|
84 |
addOption(s:String) |
|
85 |
[s.equals(PluginServices.getText(this,"cancel"))] |
|
86 |
SelectVertexOrDelete{ |
|
87 |
end(); |
|
88 |
} |
|
89 |
addOption(s:String) |
|
90 |
SelectVertexOrDelete{ |
|
91 |
throwOptionException(PluginServices.getText(this,"incorrect_option"),s); |
|
92 |
} |
|
93 |
addValue(d:double) |
|
94 |
SelectVertexOrDelete{ |
|
95 |
throwValueException(PluginServices.getText(this,"incorrect_value"),d); |
|
96 |
} |
|
97 |
addPoint(pointX:double,pointY:double,event:InputEvent) |
|
98 |
SelectVertexOrDelete{ |
|
99 |
throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY); |
|
100 |
} |
|
101 |
} |
|
102 |
%% |
|
0 | 103 |
tags/v2_0_0_Build_2008/extensions/extEditing/sm/BreakCADTool.sm | ||
---|---|---|
1 |
// -*- tab-width: 4; -*- |
|
2 |
|
|
3 |
%{ |
|
4 |
// |
|
5 |
// Vicente Caballero Navarro |
|
6 |
%} |
|
7 |
|
|
8 |
%start Break::FirstPoint |
|
9 |
%class BreakCADTool |
|
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
|
11 |
%import com.iver.cit.gvsig.gui.cad.tools.BreakCADTool |
|
12 |
%import java.awt.event.InputEvent |
|
13 |
%import com.iver.andami.PluginServices |
|
14 |
|
|
15 |
%map Break |
|
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 |
[ctxt.intersects(pointX,pointY)] |
|
33 |
SecondPoint { |
|
34 |
setQuestion(PluginServices.getText(this,"insert_second_point")); |
|
35 |
setDescription(new String[]{"cancel"}); |
|
36 |
addPoint( pointX,pointY,event); |
|
37 |
} |
|
38 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
39 |
[!ctxt.intersects(pointX,pointY)] |
|
40 |
FirstPoint { |
|
41 |
setQuestion(PluginServices.getText(this,"insert_first_point")); |
|
42 |
setDescription(new String[]{"cancel"}); |
|
43 |
} |
|
44 |
addOption(s:String) |
|
45 |
FirstPoint { |
|
46 |
setQuestion(PluginServices.getText(this,"insert_first_point")); |
|
47 |
setDescription(new String[]{"cancel"}); |
|
48 |
addOption(s); |
|
49 |
} |
|
50 |
} |
|
51 |
|
|
52 |
|
|
53 |
SecondPoint |
|
54 |
{ |
|
55 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
56 |
[ctxt.intersects(pointX,pointY)] |
|
57 |
FirstPoint { |
|
58 |
setQuestion(PluginServices.getText(this,"insert_first_point")); |
|
59 |
setDescription(new String[]{"cancel"}); |
|
60 |
addPoint( pointX,pointY,event); |
|
61 |
end(); |
|
62 |
} |
|
63 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
64 |
[!ctxt.intersects(pointX,pointY)] |
|
65 |
SecondPoint { |
|
66 |
setQuestion(PluginServices.getText(this,"insert_second_point")); |
|
67 |
setDescription(new String[]{"cancel"}); |
|
68 |
} |
|
69 |
addOption(s:String) |
|
70 |
FirstPoint { |
|
71 |
setQuestion(PluginServices.getText(this,"insert_first_point")); |
|
72 |
setDescription(new String[]{"cancel"}); |
|
73 |
addOption(s); |
|
74 |
} |
|
75 |
} |
|
76 |
Default |
|
77 |
{ |
|
78 |
addOption(s:String) |
|
79 |
[s.equals(PluginServices.getText(this,"cancel"))] |
|
80 |
FirstPoint{ |
|
81 |
end(); |
|
82 |
} |
|
83 |
addOption(s:String) |
|
84 |
FirstPoint{ |
|
85 |
throwOptionException(PluginServices.getText(this,"incorrect_option"),s); |
|
86 |
} |
|
87 |
addValue(d:double) |
|
88 |
FirstPoint{ |
|
89 |
throwValueException(PluginServices.getText(this,"incorrect_value"),d); |
|
90 |
} |
|
91 |
addPoint(pointX:double,pointY:double,event:InputEvent) |
|
92 |
FirstPoint{ |
|
93 |
throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY); |
|
94 |
} |
|
95 |
} |
|
96 |
%% |
|
0 | 97 |
tags/v2_0_0_Build_2008/extensions/extEditing/sm/ExploitCADTool.sm | ||
---|---|---|
1 |
// -*- tab-width: 4; -*- |
|
2 |
|
|
3 |
%{ |
|
4 |
// |
|
5 |
// Vicente Caballero Navarro |
|
6 |
%} |
|
7 |
|
|
8 |
%start Exploit::Execute |
|
9 |
%class ExploitCADTool |
|
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
|
11 |
%import com.iver.cit.gvsig.gui.cad.tools.ExploitCADTool |
|
12 |
%import java.awt.event.InputEvent |
|
13 |
%import com.iver.andami.PluginServices |
|
14 |
|
|
15 |
%map Exploit |
|
16 |
%% |
|
17 |
// A task begins life in suspended animation. |
|
18 |
|
|
19 |
Execute |
|
20 |
Entry { |
|
21 |
exploit(); |
|
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 |
%% |
|
0 | 51 |
tags/v2_0_0_Build_2008/extensions/extEditing/sm/InternalPolygonCADTool.sm | ||
---|---|---|
1 |
// -*- tab-width: 4; -*- |
|
2 |
|
|
3 |
%{ |
|
4 |
// |
|
5 |
// Vicente Caballero Navarro |
|
6 |
%} |
|
7 |
|
|
8 |
%start InternalPolygon::AddNextPoint |
|
9 |
%class InternalPolygonCADTool |
|
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
|
11 |
%import com.iver.cit.gvsig.gui.cad.tools.InternalPolygonCADTool |
|
12 |
%import java.awt.event.InputEvent |
|
13 |
%import com.iver.andami.PluginServices |
|
14 |
|
|
15 |
%map InternalPolygon |
|
16 |
%% |
|
17 |
// A task begins life in suspended animation. |
|
18 |
|
|
19 |
AddNextPoint |
|
20 |
Entry { |
|
21 |
selection(); |
|
22 |
setQuestion( |
|
23 |
PluginServices.getText(this,"next_point")+" "+ |
|
24 |
PluginServices.getText(this,"cad.or")+" "+ |
|
25 |
PluginServices.getText(this,"end")+ |
|
26 |
"["+PluginServices.getText(this,"InternalPolygonCADTool.end")+"]"); |
|
27 |
setDescription(new String[]{"end","cancel"}); |
|
28 |
|
|
29 |
} |
|
30 |
Exit{ |
|
31 |
} |
|
32 |
|
|
33 |
{ |
|
34 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
35 |
AddNextPoint { |
|
36 |
setQuestion( |
|
37 |
PluginServices.getText(this,"next_point")+" "+ |
|
38 |
PluginServices.getText(this,"cad.or")+" "+ |
|
39 |
PluginServices.getText(this,"end")+ |
|
40 |
"["+PluginServices.getText(this,"InternalPolygonCADTool.end")+"]"); |
|
41 |
setDescription(new String[]{"end","cancel"}); |
|
42 |
addPoint( pointX,pointY,event); |
|
43 |
} |
|
44 |
addOption(s:String) |
|
45 |
AddNextPoint { |
|
46 |
setQuestion( |
|
47 |
PluginServices.getText(this,"next_point")+" "+ |
|
48 |
PluginServices.getText(this,"cad.or")+" "+ |
|
49 |
"["+PluginServices.getText(this,"InternalPolygonCADTool.end")+"]"); |
|
50 |
setDescription(new String[]{"end","cancel"}); |
|
51 |
addOption(s); |
|
52 |
} |
|
53 |
} |
|
54 |
|
|
55 |
|
|
56 |
Default |
|
57 |
{ |
|
58 |
addOption(s:String) |
|
59 |
[s.equals(PluginServices.getText(this,"cancel"))] |
|
60 |
AddNextPoint{ |
|
61 |
end(); |
|
62 |
} |
|
63 |
addOption(s:String) |
|
64 |
AddNextPoint{ |
|
65 |
throwOptionException(PluginServices.getText(this,"incorrect_option"),s); |
|
66 |
} |
|
67 |
addValue(d:double) |
|
68 |
AddNextPoint{ |
|
69 |
throwValueException(PluginServices.getText(this,"incorrect_value"),d); |
|
70 |
} |
|
71 |
addPoint(pointX:double,pointY:double,event:InputEvent) |
|
72 |
AddNextPoint{ |
|
73 |
throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY); |
|
74 |
} |
|
75 |
} |
|
76 |
%% |
|
0 | 77 |
tags/v2_0_0_Build_2008/extensions/extEditing/sm/SelectionCADTool.sm | ||
---|---|---|
1 |
// -*- tab-width: 4; -*- |
|
2 |
|
|
3 |
%{ |
|
4 |
// |
|
5 |
// Vicente Caballero Navarro |
|
6 |
%} |
|
7 |
|
|
8 |
%start Selection::FirstPoint |
|
9 |
%class SelectionCADTool |
|
10 |
%package com.iver.cit.gvsig.gui.cad.tools.smc |
|
11 |
%import com.iver.cit.gvsig.gui.cad.tools.SelectionCADTool |
|
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 |
PluginServices.getText(this,"insert_point_selection")); |
|
25 |
setDescription(new String[]{"cancel"}); |
|
26 |
} |
|
27 |
Exit{ |
|
28 |
} |
|
29 |
|
|
30 |
{ |
|
31 |
|
|
32 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
33 |
[ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.SecondPoint")] |
|
34 |
SecondPoint{ |
|
35 |
setQuestion(PluginServices.getText(this,"insert_second_point")); |
|
36 |
setDescription(new String[]{"cancel"}); |
|
37 |
addPoint( pointX,pointY,event); |
|
38 |
} |
|
39 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
40 |
[ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")] |
|
41 |
WithSelectedFeatures { |
|
42 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
|
43 |
setDescription(new String[]{"cancel"}); |
|
44 |
addPoint( pointX,pointY,event); |
|
45 |
end(); |
|
46 |
} |
|
47 |
} |
|
48 |
|
|
49 |
SecondPoint{ |
|
50 |
// Si hemos conseguido seleccionar algo |
|
51 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
52 |
[ctxt.selectWithSecondPoint(pointX,pointY, event) > 0] |
|
53 |
WithSelectedFeatures { |
|
54 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
|
55 |
setDescription(new String[]{"cancel"}); |
|
56 |
addPoint( pointX,pointY,event); |
|
57 |
end(); |
|
58 |
} |
|
59 |
// Si no lo hemos conseguido |
|
60 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
61 |
FirstPoint { |
|
62 |
setQuestion(PluginServices.getText(this,"insert_point_selection")); |
|
63 |
setDescription(new String[]{"cancel"}); |
|
64 |
addPoint(pointX,pointY,event); |
|
65 |
} |
|
66 |
addOption(s:String) |
|
67 |
FirstPoint{ |
|
68 |
setQuestion(PluginServices.getText(this,"insert_point_selection")); |
|
69 |
setDescription(new String[]{"cancel"}); |
|
70 |
setType(s); |
|
71 |
} |
|
72 |
|
|
73 |
} |
|
74 |
WithSelectedFeatures{ |
|
75 |
|
|
76 |
// Si hemos pinchado encima de un handler |
|
77 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
78 |
[ctxt.selectHandlers(pointX, pointY, event)>0] |
|
79 |
WithHandlers { |
|
80 |
setQuestion(PluginServices.getText(this,"insert_destination_point")); |
|
81 |
setDescription(new String[]{"cancel"}); |
|
82 |
addPoint( pointX,pointY,event); |
|
83 |
// refresh(); |
|
84 |
} |
|
85 |
|
|
86 |
// Si no hemos cogido un handler, probamos a seleccionar |
|
87 |
// otra entidad |
|
88 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
89 |
[ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")] |
|
90 |
WithSelectedFeatures { |
|
91 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
|
92 |
setDescription(new String[]{"cancel"}); |
|
93 |
addPoint( pointX,pointY,event); |
|
94 |
} |
|
95 |
|
|
96 |
|
|
97 |
// Cualquier otro caso (hemos pinchado en algo vacio), volvemos al estado inicial |
|
98 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
99 |
FirstPoint { |
|
100 |
setQuestion(PluginServices.getText(this,"insert_point_selection")); |
|
101 |
setDescription(new String[]{"cancel"}); |
|
102 |
addPoint( pointX,pointY,event); |
|
103 |
// refresh(); |
|
104 |
} |
|
105 |
addOption(s:String) |
|
106 |
FirstPoint{ |
|
107 |
setQuestion(PluginServices.getText(this,"insert_point_selection")); |
|
108 |
setDescription(new String[]{"cancel"}); |
|
109 |
setType(s); |
|
110 |
} |
|
111 |
} |
|
112 |
|
|
113 |
WithHandlers{ |
|
114 |
addPoint( pointX:double,pointY:double,event:InputEvent) |
|
115 |
WithSelectedFeatures { |
|
116 |
setQuestion(PluginServices.getText(this,"select_handlers")); |
|
117 |
setDescription(new String[]{"cancel"}); |
|
118 |
addPoint( pointX,pointY,event); |
|
119 |
refresh(); |
|
120 |
} |
|
121 |
} |
|
122 |
|
|
123 |
Default |
|
124 |
{ |
|
125 |
addOption(s:String) |
|
126 |
[s.equals("")] |
|
127 |
FirstPoint{ |
|
128 |
restorePreviousTool(); |
|
129 |
setQuestion(PluginServices.getText(this,"insert_point_selection")); |
|
130 |
setDescription(new String[]{"cancel"}); |
|
131 |
end(); |
|
132 |
} |
|
133 |
addOption(s:String) |
|
134 |
[s.equals(PluginServices.getText(this,"cancel"))] |
|
135 |
FirstPoint{ |
|
136 |
end(); |
|
137 |
} |
|
138 |
addOption(s:String) |
|
139 |
FirstPoint{ |
|
140 |
throwOptionException(PluginServices.getText(this,"incorrect_option"),s); |
|
141 |
} |
|
142 |
addValue(d:double) |
|
143 |
FirstPoint{ |
|
144 |
throwValueException(PluginServices.getText(this,"incorrect_value"),d); |
|
145 |
} |
|
146 |
addPoint(pointX:double,pointY:double,event:InputEvent) |
|
147 |
FirstPoint{ |
|
148 |
throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY); |
|
149 |
} |
|
150 |
} |
|
151 |
%% |
|
0 | 152 |
tags/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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/v2_0_0_Build_2008/extensions/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( |
Also available in: Unified diff