Revision 33876

View differences:

tags/v2_0_0_Build_2020/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
    <plugins>
28
        <!-- TODO: MAKE TESTS WORK AND REMOVE THIS OPTION -->
29
        <plugin>
30
            <groupId>org.apache.maven.plugins</groupId>
31
            <artifactId>maven-surefire-plugin</artifactId>
32
            <configuration>
33
                <skipTests>true</skipTests>
34
            </configuration>
35
        </plugin>       
36
    </plugins>    
37
  </build>
38
  <dependencies>
39
    <dependency>
40
      <groupId>org.gvsig</groupId>
41
      <artifactId>org.gvsig.ui</artifactId>
42
      <version>2.0-SNAPSHOT</version>
43
    </dependency>
44
    <dependency>
45
      <groupId>org.gvsig</groupId>
46
      <artifactId>org.gvsig.app</artifactId>
47
      <version>2.0-SNAPSHOT</version>
48
      <exclusions>
49
	    <!-- TODO uncomment the exclusion and solve dependencies 
50
	         with the symbology implementation 
51
        <exclusion>
52
          <groupId>org.gvsig</groupId>
53
          <artifactId>org.gvsig.symbology</artifactId>
54
        </exclusion>
55
        -->
56
      </exclusions>
57
    </dependency>
58
	<dependency>
59
		<groupId>net.sf.smc</groupId>
60
		<artifactId>smc</artifactId>
61
	</dependency>			
62
	<dependency>
63
		<groupId>org.gvsig</groupId>
64
		<artifactId>org.gvsig.symbology</artifactId>
65
		<version>2.0-SNAPSHOT</version>
66
	</dependency>		    
67
	<dependency>
68
		<groupId>org.gvsig</groupId>
69
		<artifactId>org.gvsig.fmap.geometry</artifactId>
70
		<version>2.0-SNAPSHOT</version>
71
	</dependency>		
72
	<!-- TODO: we shouldn't have this dependency -->    
73
	<dependency>
74
		<groupId>org.gvsig</groupId>
75
		<artifactId>org.gvsig.fmap.geometry</artifactId>
76
		<version>2.0-SNAPSHOT</version>
77
		<classifier>impl</classifier>
78
	</dependency>		    
79
  </dependencies>
80

  
81
	<properties>
82
		<build-dir>${basedir}/../build</build-dir>
83
	</properties>
84
</project>
tags/v2_0_0_Build_2020/extensions/extEditing/.cvsignore
1
bin
2
bin-test
0 3

  
tags/v2_0_0_Build_2020/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>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/v2_0_0_Build_2020/extensions/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/v2_0_0_Build_2020/extensions/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/v2_0_0_Build_2020/extensions/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/v2_0_0_Build_2020/extensions/extEditing/sm/smc.bat
1
java -jar ../lib/Smc.jar -d ../src/gen -java *.sm
0 2

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/RectangleCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

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

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

  
19
FirstPoint
20

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

  
29
	{
30

  
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPointOrSquare {
33
				setQuestion(
34
					PluginServices.getText(this,"insert_point_corner")+" "+
35
					PluginServices.getText(this,"cad.or")+" "+
36
					PluginServices.getText(this,"square")+" "+
37
					"["+PluginServices.getText(this,"RectangleCADTool.square")+"]");
38
				setDescription(new String[]{"square","cancel"});
39
				addPoint( pointX,pointY,event);
40
				}
41

  
42
	}
43
SecondPointOrSquare{
44
	addPoint( pointX:double,pointY:double,event:InputEvent)
45
		FirstPoint {
46
			addPoint(pointX,pointY,event);
47
			}
48
	addOption(s:String)
49
		[s.equalsIgnoreCase(PluginServices.getText(this,"RectangleCADTool.square")) || s.equals(PluginServices.getText(this,"square"))]
50
		SecondPointSquare {
51
			setQuestion(PluginServices.getText(this,"insert_opposited_corner"));
52
			setDescription(new String[]{"cancel"});
53
			addOption(s);
54
			}
55

  
56
}
57
SecondPointSquare{
58
	addPoint( pointX:double,pointY:double,event:InputEvent)
59
		FirstPoint {
60
			addPoint( pointX,pointY,event);
61
			}
62
}
63

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

  
tags/v2_0_0_Build_2020/extensions/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

  
tags/v2_0_0_Build_2020/extensions/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/v2_0_0_Build_2020/extensions/extEditing/sm/ArcCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

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

  
15
%map Arc
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
			SecondPoint {
32
				setQuestion(PluginServices.getText(this,"insert_second_point"));
33
				setDescription(new String[]{"cancel"});
34
				addPoint( pointX,pointY,event);
35
				}
36

  
37
	}
38
SecondPoint{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		ThirdPoint {
41
			setQuestion(PluginServices.getText(this,"insert_last_point"));
42
			setDescription(new String[]{"cancel"});
43
			addPoint( pointX,pointY,event);
44
			}
45
}
46
ThirdPoint{
47
	addPoint( pointX:double,pointY:double,event:InputEvent)
48
		FirstPoint {
49
			addPoint( pointX,pointY,event);
50
			}
51
}
52

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

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/MoveCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

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

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

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

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPointToMove {
33
				setQuestion(PluginServices.getText(this,"insert_second_point_move"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	}
38
SecondPointToMove{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		FirstPointToMove {
41
			setDescription(new String[]{"cancel"});
42
			addPoint( pointX,pointY,event);
43
			end();
44
			refresh();
45
			}
46
}
47

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

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/SplitGeometryCADTool.sm
1
%{
2
/**
3
 Finite state machine, generated with fsm tool
4
 (http://smc.sourceforge.net)
5
 @author Alvaro Zabala
6
*/
7
%}
8

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

  
16

  
17
%map SplitGeometry
18
%%
19

  
20

  
21

  
22
FirstPoint
23

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

  
29
  Exit{}
30

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

  
40

  
41
DigitizingLine{
42
  /**
43
  addPoint( pointX:double,pointY:double,event:InputEvent)
44
  [ctxt.isDigitingFinished()]
45
  FirstPoint{
46
   			finishDigitizedLine();
47
   			splitSelectedGeometryWithDigitizedLine();
48
   			end();
49
   }
50
   */
51

  
52
   addOption(s:String)
53
   [s.equalsIgnoreCase(PluginServices.getText(this,"SplitGeometryCADTool.end")) || s.equalsIgnoreCase(PluginServices.getText(this,"terminate"))]
54
	FirstPoint {
55
		finishDigitizedLine();
56
   		splitSelectedGeometryWithDigitizedLine();
57
   		end();
58
	}
59

  
60

  
61
   addPoint( pointX:double,pointY:double,event:InputEvent)
62
   DigitizingLine{
63
   		setQuestion(
64
				PluginServices.getText(this,"insert_next_point")+
65
				PluginServices.getText(this,"cad.or")+" "+
66
				PluginServices.getText(this,"end")+
67
				"["+PluginServices.getText(this,"SplitGeometryCADTool.end")+"]"
68
		);
69
		setDescription(new String[]{"inter_arc","terminate","cancel"});
70
		addPoint( pointX,pointY,event);
71
   }
72
}
73

  
74
Default{
75

  
76
  addOption(s:String)
77
  [s.equals("")]
78
  FirstPoint{
79
    restorePreviousTool();
80
    setQuestion(PluginServices.getText(this,"insert_first_point"));
81
    setDescription(new String[]{"cancel"});
82
    end();
83
   }
84

  
85
  addOption(s:String)
86
  [s.equals(PluginServices.getText(this,"cancel"))]
87
  FirstPoint{
88
      end();
89
  }
90

  
91
addOption(s:String)
92
	FirstPoint{
93
		throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
94
		}
95

  
96
addValue(d:double)
97
	FirstPoint{
98
		throwValueException(PluginServices.getText(this,"incorrect_value"),d);
99
		}
100

  
101
addPoint(pointX:double,pointY:double,event:InputEvent)
102
	FirstPoint{
103
		throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
104
		}
105
}
106
%%
tags/v2_0_0_Build_2020/extensions/extEditing/sm/CopyCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

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

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

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

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SecondPointToMove {
33
				setQuestion(PluginServices.getText(this,"insert_second_point_move"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	}
38
SecondPointToMove{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		FirstPointToMove {
41
			setDescription(new String[]{"cancel"});
42
			addPoint( pointX,pointY,event);
43
			end();
44
			refresh();
45
			}
46
}
47

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

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/StretchCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

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

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

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

  
26
		}
27
	Exit{
28
		}
29

  
30
	{
31
		addPoint( pointX:double,pointY:double,event:InputEvent)
32
			SelLastPoint {
33
				setQuestion(PluginServices.getText(this,"insert_selection_last_point"));
34
				setDescription(new String[]{"cancel"});
35
				addPoint( pointX,pointY,event);
36
				}
37
	}
38
SelLastPoint{
39
	addPoint( pointX:double,pointY:double,event:InputEvent)
40
		MoveFirstPoint {
41
			setQuestion(PluginServices.getText(this,"insert_move_first_point"));
42
			setDescription(new String[]{"cancel"});
43
			addPoint( pointX,pointY,event);
44
			}
45
}
46
MoveFirstPoint{
47
	addPoint( pointX:double,pointY:double,event:InputEvent)
48
		MoveLastPoint {
49
			setQuestion(PluginServices.getText(this,"insert_move_last_point"));
50
			setDescription(new String[]{"cancel"});
51
			addPoint( pointX,pointY,event);
52
			}
53
}
54
MoveLastPoint{
55
	addPoint( pointX:double,pointY:double,event:InputEvent)
56
		SelFirstPoint {
57
			setQuestion(PluginServices.getText(this,"insert_selection_point"));
58
			setDescription(new String[]{"cancel"});
59
			addPoint( pointX,pointY,event);
60
			end();
61
			refresh();
62
			}
63
}
64
Default
65
{
66
	addOption(s:String)
67
		[s.equals(PluginServices.getText(this,"cancel"))]
68
		SelFirstPoint{
69
			end();
70
			}
71
	addOption(s:String)
72
		SelFirstPoint{
73
			throwOptionException(PluginServices.getText(this,"incorrect_option"),s);
74
			}
75
	addValue(d:double)
76
		SelFirstPoint{
77
			throwValueException(PluginServices.getText(this,"incorrect_value"),d);
78
			}
79
	addPoint(pointX:double,pointY:double,event:InputEvent)
80
		SelFirstPoint{
81
			throwPointException(PluginServices.getText(this,"incorrect_point"),pointX,pointY);
82
			}
83
}
84
%%
0 85

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/buildSMC.xml
1
<project default="generate">
2
	<property name="smfiles" location="../lib/Smc.jar" />
3
	<property name="javafiles" location="../src/com/iver/cit/gvsig/gui/cad/tools/smc" />
4

  
5
	<target name="generate">
6
		<apply executable="java">
7
			<arg value="-jar" />
8
			<arg value="../lib/Smc.jar"/>
9
			<arg value="-java"/>
10
			<arg value="-d" />
11
			<arg value="../src/com/iver/cit/gvsig/gui/cad/tools/smc" />
12
			<fileset dir="." includes="*.sm"/>
13
		</apply>
14
	</target>
15
	<target name="html">
16
		<apply executable="java">
17
			<arg value="-jar" />
18
			<arg value="../lib/Smc.jar"/>
19
			<arg value="-table"/>
20
			<fileset dir="." includes="*.sm"/>
21
		</apply>
22
	</target>
23
	<target name="dot">
24
		<apply executable="java">
25
			<arg value="-jar" />
26
			<arg value="../lib/Smc.jar"/>
27
			<arg value="-graph"/>
28
			<fileset dir="." includes="*.sm"/>
29
		</apply>
30
	</target>
31
</project>
0 32

  
tags/v2_0_0_Build_2020/extensions/extEditing/sm/ComplexSelectionCADTool.sm
1
// -*- tab-width: 4; -*-
2

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

  
8
%start Selection::FirstPoint
9
%class ComplexSelectionCADTool
10
%package com.iver.cit.gvsig.gui.cad.tools.smc
11
%import com.iver.cit.gvsig.gui.cad.tools.ComplexSelectionCADTool
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")+" "+
25
	    PluginServices.getText(this,"cad.or")+" "+
26
	    PluginServices.getText(this,"circle")+
27
	    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
28
	    PluginServices.getText(this,"out_rectangle")+
29
	    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
30
	    PluginServices.getText(this,"polygon")+
31
	    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
32
	    PluginServices.getText(this,"cross_polygon")+
33
	   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
34
	    "#"+PluginServices.getText(this,"out_polygon")+
35
	   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
36
	    PluginServices.getText(this,"cross_circle")+
37
	   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
38
		PluginServices.getText(this,"out_circle")+
39
	   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
40
    setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
41
    }
42
  Exit{
43
    }
44

  
45
  {
46
    addOption(s:String)
47
      FirstPoint{
48
        setQuestion(
49
			PluginServices.getText(this,"insert_point")+" "+
50
		    PluginServices.getText(this,"cad.or")+" "+
51
		    PluginServices.getText(this,"circle")+
52
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
53
		    PluginServices.getText(this,"out_rectangle")+
54
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"], "+
55
		    PluginServices.getText(this,"polygon")+
56
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
57
		    PluginServices.getText(this,"cross_polygon")+
58
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
59
		    "#"+PluginServices.getText(this,"out_polygon")+
60
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
61
		    PluginServices.getText(this,"cross_circle")+
62
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
63
			PluginServices.getText(this,"out_circle")+
64
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
65
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
66
        addOption(s);
67
        }
68
    addPoint( pointX:double,pointY:double,event:InputEvent)
69
      [ctxt.getType().equals(PluginServices.getText(this,"out_rectangle"))]
70
      SecondPointOutRectangle{
71
        setQuestion(PluginServices.getText(this,"insert_second_point_selection"));
72
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
73
        addPoint( pointX,pointY,event);
74
        }
75
    addPoint( pointX:double,pointY:double,event:InputEvent)
76
      [ctxt.getType().equals(PluginServices.getText(this,"inside_circle")) || ctxt.getType().equals(PluginServices.getText(this,"cross_circle")) || ctxt.getType().equals(PluginServices.getText(this,"out_circle"))]
77
      SecondPointCircle{
78
        setQuestion(PluginServices.getText(this,"insert_second_point_selection"));
79
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
80
        addPoint( pointX,pointY,event);
81
        }
82
    addPoint( pointX:double,pointY:double,event:InputEvent)
83
      [ctxt.getType().equals(PluginServices.getText(this,"inside_polygon")) || ctxt.getType().equals(PluginServices.getText(this,"cross_polygon")) || ctxt.getType().equals(PluginServices.getText(this,"out_polygon"))]
84
      NextPointPolygon{
85
        setQuestion(
86
        	PluginServices.getText(this,"insert_next_point_selection_or_end_polygon")+
87
        	"["+PluginServices.getText(this,"ComplexSelectionCADTool.end")+"]");
88
        setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
89
        addPoint( pointX,pointY,event);
90
        }
91

  
92
    addPoint( pointX:double,pointY:double,event:InputEvent)
93
      [ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.SecondPoint")]
94
      SecondPoint{
95
        setQuestion(PluginServices.getText(this,"insert_second_point_selection"));
96
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
97
        addPoint( pointX,pointY,event);
98
        }
99
//    addPoint( pointX:double,pointY:double,event:InputEvent)
100
//      [ctxt.getType().equals(PluginServices.getText(this,"simple")) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")]
101
//      WithSelectedFeatures {
102
//        setQuestion(PluginServices.getText(this,"select_handlers"));
103
//        setDescription(new String[]{"simple","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
104
//        addPoint( pointX,pointY,event);
105
//        end();
106
//        }
107
}
108

  
109
SecondPoint{
110
  // Si hemos conseguido seleccionar algo
111
  addPoint( pointX:double,pointY:double,event:InputEvent)
112
      [ctxt.selectWithSecondPoint(pointX,pointY, event) > 0]
113
      WithSelectedFeatures {
114
        setQuestion(PluginServices.getText(this,"select_handlers"));
115
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
116
        addPoint( pointX,pointY,event);
117
        end();
118
        }
119
  // Si no lo hemos conseguido
120
  addPoint( pointX:double,pointY:double,event:InputEvent)
121
      FirstPoint {
122
        setQuestion(
123
			PluginServices.getText(this,"insert_point")+" "+
124
		    PluginServices.getText(this,"cad.or")+" "+
125
		    PluginServices.getText(this,"circle")+
126
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
127
		    PluginServices.getText(this,"out_rectangle")+
128
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
129
		    PluginServices.getText(this,"polygon")+
130
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
131
		    PluginServices.getText(this,"cross_polygon")+
132
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
133
		    "#"+PluginServices.getText(this,"out_polygon")+
134
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
135
		    PluginServices.getText(this,"cross_circle")+
136
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
137
			PluginServices.getText(this,"out_circle")+
138
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
139
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
140
        addPoint(pointX,pointY,event);
141
        }
142
  addOption(s:String)
143
      FirstPoint{
144
        setQuestion(
145
			PluginServices.getText(this,"insert_point")+" "+
146
		    PluginServices.getText(this,"cad.or")+" "+
147
		    PluginServices.getText(this,"circle")+
148
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
149
		    PluginServices.getText(this,"out_rectangle")+
150
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
151
		    PluginServices.getText(this,"polygon")+
152
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
153
		    PluginServices.getText(this,"cross_polygon")+
154
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
155
		    "#"+PluginServices.getText(this,"out_polygon")+
156
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
157
		    PluginServices.getText(this,"cross_circle")+
158
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
159
			PluginServices.getText(this,"out_circle")+
160
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
161
        setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
162
        setType(s);
163
        }
164

  
165
}
166
WithSelectedFeatures{
167

  
168
  // Si hemos pinchado encima de un handler
169
  addPoint( pointX:double,pointY:double,event:InputEvent)
170
  [ctxt.selectHandlers(pointX, pointY, event)>0]
171
      WithHandlers {
172
        setQuestion(PluginServices.getText(this,"insert_destination_point"));
173
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
174
        addPoint( pointX,pointY,event);
175
        // refresh();
176
        }
177

  
178
  // Si no hemos cogido un handler, probamos a seleccionar
179
  // otra entidad
180
  addPoint( pointX:double,pointY:double,event:InputEvent)
181
    [ctxt.selectFeatures(pointX,pointY, event) && ctxt.getNextState().equals("Selection.WithSelectedFeatures")]
182
      WithSelectedFeatures {
183
        setQuestion(PluginServices.getText(this,"select_handlers"));
184
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
185
        addPoint( pointX,pointY,event);
186
        }
187

  
188

  
189
  // Cualquier otro caso (hemos pinchado en algo vacio), volvemos al estado inicial
190
  addPoint( pointX:double,pointY:double,event:InputEvent)
191
      FirstPoint {
192
        setQuestion(
193
			PluginServices.getText(this,"insert_point")+" "+
194
		    PluginServices.getText(this,"cad.or")+" "+
195
		    PluginServices.getText(this,"circle")+
196
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
197
		    PluginServices.getText(this,"out_rectangle")+
198
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
199
		    PluginServices.getText(this,"polygon")+
200
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
201
		    PluginServices.getText(this,"cross_polygon")+
202
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
203
		    "#"+PluginServices.getText(this,"out_polygon")+
204
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
205
		    PluginServices.getText(this,"cross_circle")+
206
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
207
			PluginServices.getText(this,"out_circle")+
208
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
209
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
210
        addPoint( pointX,pointY,event);
211
        // refresh();
212
        }
213
	 addOption(s:String)
214
      FirstPoint{
215
        setQuestion(
216
			PluginServices.getText(this,"insert_point")+" "+
217
		    PluginServices.getText(this,"cad.or")+" "+
218
		    PluginServices.getText(this,"circle")+
219
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
220
		    PluginServices.getText(this,"out_rectangle")+
221
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
222
		    PluginServices.getText(this,"polygon")+
223
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
224
		    PluginServices.getText(this,"cross_polygon")+
225
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
226
		    "#"+PluginServices.getText(this,"out_polygon")+
227
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
228
		    PluginServices.getText(this,"cross_circle")+
229
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
230
			PluginServices.getText(this,"out_circle")+
231
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
232
        setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
233
        setType(s);
234
        }
235
}
236

  
237
WithHandlers{
238
  addPoint( pointX:double,pointY:double,event:InputEvent)
239
      WithSelectedFeatures {
240
        setQuestion(PluginServices.getText(this,"select_handlers"));
241
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
242
        addPoint( pointX,pointY,event);
243
        refresh();
244
        }
245
}
246

  
247
SecondPointOutRectangle{
248
  // Si hemos conseguido seleccionar algo
249
  addPoint( pointX:double,pointY:double,event:InputEvent)
250
      [ctxt.selectWithSecondPointOutRectangle(pointX,pointY, event) > 0]
251
      WithSelectedFeatures {
252
        setQuestion(PluginServices.getText(this,"select_handlers"));
253
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
254
        addPoint( pointX,pointY,event);
255
        end();
256
        }
257
  // Si no lo hemos conseguido
258
  addPoint( pointX:double,pointY:double,event:InputEvent)
259
      FirstPoint {
260
        setQuestion(
261
			PluginServices.getText(this,"insert_point")+" "+
262
		    PluginServices.getText(this,"cad.or")+" "+
263
		    PluginServices.getText(this,"circle")+
264
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
265
		    PluginServices.getText(this,"out_rectangle")+
266
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
267
		    PluginServices.getText(this,"polygon")+
268
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
269
		    PluginServices.getText(this,"cross_polygon")+
270
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
271
		    "#"+PluginServices.getText(this,"out_polygon")+
272
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
273
		    PluginServices.getText(this,"cross_circle")+
274
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
275
			PluginServices.getText(this,"out_circle")+
276
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
277
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
278
        addPoint(pointX,pointY,event);
279
        }
280
  addOption(s:String)
281
      FirstPoint{
282
        setQuestion(
283
			PluginServices.getText(this,"insert_point")+" "+
284
		    PluginServices.getText(this,"cad.or")+" "+
285
		    PluginServices.getText(this,"circle")+
286
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.introcircle")+"], "+
287
		    PluginServices.getText(this,"out_rectangle")+
288
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.outrectangle")+"], "+
289
		    PluginServices.getText(this,"polygon")+
290
		    "["+PluginServices.getText(this,"ComplexSelectionCADTool.intropolygon")+"], "+
291
		    PluginServices.getText(this,"cross_polygon")+
292
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosspolygon")+"], "+"\n"+
293
		    "#"+PluginServices.getText(this,"out_polygon")+
294
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outpolygon")+"], "+
295
		    PluginServices.getText(this,"cross_circle")+
296
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.crosscircle")+"], "+
297
			PluginServices.getText(this,"out_circle")+
298
		   	"["+PluginServices.getText(this,"ComplexSelectionCADTool.outcircle")+"]");
299
        setDescription(new String[]{"end_polygon","out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
300
        setType(s);
301
        }
302

  
303
}
304
SecondPointCircle{
305
  // Si hemos conseguido seleccionar algo
306
  addPoint( pointX:double,pointY:double,event:InputEvent)
307
      [ctxt.selectWithCircle(pointX,pointY, event) > 0]
308
      WithSelectedFeatures {
309
        setQuestion(PluginServices.getText(this,"select_handlers"));
310
        setDescription(new String[]{"out_rectangle","inside_polygon","cross_polygon","out_polygon","inside_circle","cross_circle","out_circle","select_all","cancel"});
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff