Revision 504

View differences:

org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.derivedgeometries.swing.api.DerivedGeometriesLibrary
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/DerivedGeometriesManager.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api;
24

  
25
import org.gvsig.derivedgeometries.swing.api.DerivedGeometriesProcess.TYPE;
26
import org.gvsig.derivedgeometries.swing.api.panels.DerivedGeometriesPanel;
27
import org.gvsig.derivedgeometries.swing.api.panels.FeaturesControlPanel;
28
import org.gvsig.derivedgeometries.swing.api.panels.LayerAndProcessSelectionPanel;
29
import org.gvsig.fmap.geom.Geometry;
30
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
31
import org.gvsig.fmap.mapcontrol.MapControl;
32

  
33
/**
34
 * Main class to manage DerivedGeometries functionalities
35
 *
36
 * @author gvSIG team
37
 * @version $Id$
38
 */
39
public interface DerivedGeometriesManager {
40

  
41
    /**
42
     * Creates an empty {@link DerivedGeometriesParameters}
43
     * 
44
     * @return
45
     */
46
    public DerivedGeometriesParameters createDerivedGeometriesParameters();
47

  
48
    /**
49
     * Creates a {@link DerivedGeometriesParameters}.
50
     * 
51
     * @param mapControl
52
     * @param sourceLayer
53
     * @param outputLayerName
54
     *            Name of output layer.
55
     * @param outputLayerPath
56
     *            Path of output layer.
57
     * @param outputLayerType
58
     *            Type of output layer. See {@link Geometry.TYPES}
59
     * @param processType
60
     *            Type of process. See {@link DerivedGeometriesProcess.TYPE}
61
     * @return
62
     */
63
    public DerivedGeometriesParameters createDerivedGeometriesParameters(
64
        MapControl mapControl, FLyrVect sourceLayer, String outputLayerName,
65
        String outputLayerPath, int outputLayerType, TYPE processType);
66

  
67
    /**
68
     * @return a new {@link FeaturesControlPanel}.
69
     */
70
    public FeaturesControlPanel getFeaturesControlPanel();
71

  
72
    /**
73
     * @param mapControl
74
     *            to get vectorial layers, adds listeners...
75
     * @return a new {@link DerivedGeometriesPanel}.
76
     */
77
    public DerivedGeometriesPanel getDerivedGeometriesPanel(
78
        MapControl mapControl);
79

  
80
    /**
81
     * @param mapControl
82
     *            mapControl to get vectorial layers, adds listeners...
83
     * @return a new {@link LayerAndProcessSelectionPanel}
84
     */
85
    public LayerAndProcessSelectionPanel getLayerAndProcessSelectionPanel(
86
        MapControl mapControl);
87

  
88
    /**
89
     * Given {@link DerivedGeometriesParameters}, starts a new
90
     * {@link DerivedGeometriesProcess}.
91
     * 
92
     * @param parameters
93
     */
94
    public void startDerivedGeometriesProcess(
95
        DerivedGeometriesParameters parameters);
96

  
97
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/exceptions/FetaureTableModelException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.exceptions;
24

  
25
public class FetaureTableModelException extends DerivedGeometriesException {
26

  
27
    /**
28
     * 
29
     */
30
    private static final long serialVersionUID = -5003333029683139078L;
31

  
32
    private static final String MESSAGE =
33
        "An error has been produced creating feature table model.";
34

  
35
    private static final String KEY = "_FeatureTableModelException";
36

  
37
    public FetaureTableModelException(Throwable ex) {
38
        super(MESSAGE, ex, KEY, serialVersionUID);
39
    }
40

  
41
    public FetaureTableModelException(String message, Throwable ex) {
42
        super(message, ex, KEY, serialVersionUID);
43
    }
44

  
45
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/exceptions/DerivedGeometriesException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.exceptions;
24

  
25
import org.gvsig.tools.exception.BaseException;
26

  
27
public class DerivedGeometriesException extends BaseException {
28

  
29
    /**
30
     * 
31
     */
32
    private static final long serialVersionUID = -5881366280361882646L;
33

  
34
    private static final String MESSAGE =
35
        "An error has been produced in the Derived Geometries library";
36

  
37
    private static final String KEY = "_DerivedGeometriesException";
38

  
39
    /**
40
     * Constructor to be used in rare cases, usually you must create a new child
41
     * exception class for each case.
42
     * <strong>Don't use this constructor in child classes.</strong>
43
     */
44
    public DerivedGeometriesException() {
45
        super(MESSAGE, KEY, serialVersionUID);
46
    }
47

  
48
    /**
49
     * Constructor to be used in rare cases, usually you must create a new child
50
     * exception class for each case.
51
     * <p>
52
     * <strong>Don't use this constructor in child classes.</strong>
53
     * </p>
54
     * 
55
     * @param cause
56
     *            the original cause of the exception
57
     */
58
    public DerivedGeometriesException(Exception cause) {
59
        super(MESSAGE, cause, KEY, serialVersionUID);
60
    }
61

  
62
    /**
63
     * @see BaseException#BaseException(String, String, long).
64
     * @param message
65
     *            the default messageFormat to describe the exception
66
     * @param key
67
     *            the key to use to search a localized messageFormnata
68
     * @param code
69
     *            the unique code to identify the exception
70
     */
71
    protected DerivedGeometriesException(String message, String key, long code) {
72
        super(message, key, code);
73
    }
74

  
75
    /**
76
     * @see BaseException#BaseException(String, Throwable, String, long).
77
     * @param message
78
     *            the default messageFormat to describe the exception
79
     * @param cause
80
     *            the original cause of the exception
81
     * @param key
82
     *            the key to use to search a localized messageFormnata
83
     * @param code
84
     *            the unique code to identify the exception
85
     */
86
    protected DerivedGeometriesException(String message, Throwable cause,
87
        String key, long code) {
88
        super(message, cause, key, code);
89
    }
90

  
91
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/exceptions/ValidateSourceLayerException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.exceptions;
24

  
25
public class ValidateSourceLayerException extends DerivedGeometriesException {
26

  
27
    /**
28
     * 
29
     */
30
    private static final long serialVersionUID = 6671117008934615055L;
31

  
32
    private static final String MESSAGE =
33
        "An error has been produced validating source layer.";
34

  
35
    private static final String KEY = "_ValidateSourceLayerException";
36

  
37
    public ValidateSourceLayerException(Throwable ex) {
38
        super(MESSAGE, ex, KEY, serialVersionUID);
39
    }
40

  
41
    public ValidateSourceLayerException(String message, Throwable ex) {
42
        super(message, ex, KEY, serialVersionUID);
43
    }
44

  
45
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/exceptions/LoadSelectedFeatureDataException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.exceptions;
24

  
25
public class LoadSelectedFeatureDataException extends
26
    DerivedGeometriesException {
27

  
28
    /**
29
     * 
30
     */
31
    private static final long serialVersionUID = -1477432246895858868L;
32

  
33
    private static final String MESSAGE =
34
        "An error has been produced loading selected features.";
35

  
36
    private static final String KEY = "_LoadSelectedFeatureDataException";
37

  
38
    public LoadSelectedFeatureDataException(Throwable ex) {
39
        super(MESSAGE, ex, KEY, serialVersionUID);
40
    }
41

  
42
    public LoadSelectedFeatureDataException(String message, Throwable ex) {
43
        super(message, ex, KEY, serialVersionUID);
44
    }
45

  
46
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/exceptions/FormatRowException.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.exceptions;
24

  
25

  
26
public class FormatRowException extends DerivedGeometriesException {
27

  
28
    /**
29
     * 
30
     */
31
    private static final long serialVersionUID = 6292433772869829638L;
32
    
33
    private static final String MESSAGE =
34
        "An error has been produced formating row.";
35

  
36
    private static final String KEY = "_FormatRowException";
37

  
38
    public FormatRowException(Throwable ex) {
39
        super(MESSAGE, ex, KEY, serialVersionUID);
40
    }
41

  
42
    public FormatRowException(String message, Throwable ex) {
43
        super(message, ex, KEY, serialVersionUID);
44
    }
45

  
46
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/panels/FeaturesControlPanel.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.panels;
24

  
25
import org.gvsig.derivedgeometries.swing.api.DerivedGeometriesParameters;
26
import org.gvsig.derivedgeometries.swing.api.DerivedGeometriesProcess;
27
import org.gvsig.tools.swing.api.Component;
28

  
29
/**
30
 * Features control panel contains three panels. First panel shows information
31
 * about source layer and output layer. Second panel shows information of source
32
 * layer features and the last panel permits users to add, remove and order
33
 * selected features to create derived geometries.
34
 * 
35
 * @author gvSIG team
36
 * @version $Id$
37
 *
38
 */
39
public interface FeaturesControlPanel extends Component {
40

  
41
    /**
42
     * Sets parameters to show information and initialize actions.
43
     * 
44
     * @param parameters
45
     */
46
    public void setParameters(DerivedGeometriesParameters parameters);
47

  
48
    /**
49
     * @return parameters of panel.
50
     */
51
    public DerivedGeometriesParameters getParameters();
52

  
53
    /**
54
     * Does action panel. Gets selected features, closes panel and starts
55
     * {@link DerivedGeometriesProcess}
56
     * 
57
     */
58
    public void doAction();
59

  
60
    /**
61
     * Validate if data of third panel is correct.
62
     * 
63
     * @return True if it is valid otherwise false.
64
     */
65
    public boolean validateFields();
66
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/panels/LayerAndProcessSelectionPanel.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.panels;
24

  
25
import org.gvsig.derivedgeometries.swing.api.DerivedGeometriesParameters;
26
import org.gvsig.derivedgeometries.swing.api.exceptions.ValidateSourceLayerException;
27
import org.gvsig.fmap.mapcontrol.MapControl;
28
import org.gvsig.tools.swing.api.Component;
29

  
30
/**
31
 * 
32
 * @author gvSIG team
33
 * @version $Id$
34
 *
35
 */
36
public interface LayerAndProcessSelectionPanel extends Component {
37

  
38
    /**
39
     * 
40
     * @return
41
     */
42
    public DerivedGeometriesParameters getParameters();
43

  
44
    /**
45
     * 
46
     * @param mapControl
47
     */
48
    public void setMapControl(MapControl mapControl);
49

  
50
    /**
51
     * 
52
     */
53
    public void doAccept();
54

  
55
    /**
56
     * 
57
     */
58
    public void doCancel();
59

  
60
    /**
61
     * 
62
     * @return
63
     */
64
    public boolean validateFields();
65

  
66
    /**
67
     * 
68
     * @return
69
     * @throws ValidateSourceLayerException
70
     */
71
    public boolean validateSourceLayer() throws ValidateSourceLayerException;
72

  
73
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/panels/DerivedGeometriesPanel.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.panels;
24

  
25
import org.gvsig.tools.swing.api.Component;
26

  
27
/**
28
 * Panel that contains {@link LayerAndProcessSelectionPanel} and
29
 * {@link FeaturesControlPanel}
30
 * 
31
 * @author gvSIG team
32
 * @version $Id$
33
 * 
34
 */
35
public interface DerivedGeometriesPanel extends Component {
36

  
37
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/DerivedGeometriesProcess.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api;
24

  
25
import org.gvsig.tools.ToolsLocator;
26
import org.gvsig.tools.i18n.I18nManager;
27
import org.gvsig.tools.task.MonitorableTask;
28

  
29
/**
30
 * Process definition to create derived geometries.
31
 * 
32
 * @author gvSIG team
33
 * @version $Id$
34
 */
35
public interface DerivedGeometriesProcess extends MonitorableTask {
36

  
37
    /**
38
     * Type of process.
39
     */
40
    public enum TYPE {
41
        POINTS_TO_LINE("_points_to_line"), 
42
        POINTS_TO_POLYGON("_points_to_polygon"), 
43
        LINES_TO_CLOSED_POLYLINE("_lines_to_closed_polyline");
44

  
45
        private String value;
46

  
47
        TYPE(String value) {
48
            this.value = value;
49
        }
50

  
51
        public String toString() {
52
            I18nManager i18n = ToolsLocator.getI18nManager();
53
            return i18n.getTranslation(value);
54
        }
55
    }
56

  
57
    /**
58
     * @return parameters of process.
59
     */
60
    public DerivedGeometriesParameters getParameters();
61

  
62
    /**
63
     * Starts process.
64
     */
65
    public void start();
66

  
67
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/DerivedGeometriesLocator.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api;
24

  
25
import org.gvsig.tools.locator.BaseLocator;
26
import org.gvsig.tools.locator.Locator;
27
import org.gvsig.tools.locator.LocatorException;
28

  
29
/**
30
 * This locator is the entry point for the DerivedGeometries library, providing
31
 * access to all DerivedGeometries services through the
32
 * {@link DerivedGeometriesManager} .
33
 *
34
 * @author gvSIG team
35
 * @version $Id$
36
 */
37
public class DerivedGeometriesLocator extends BaseLocator {
38

  
39
    private static final String LOCATOR_NAME = "DerivedGeometriesLocator";
40

  
41
    public static final String MANAGER_NAME = "DerivedGeometriesSwing.manager";
42

  
43
    private static final String MANAGER_DESCRIPTION =
44
        "Derived Geometries Swing Manager";
45

  
46
    private static final DerivedGeometriesLocator instance =
47
        new DerivedGeometriesLocator();
48

  
49
    /**
50
     * Return the singleton instance.
51
     * 
52
     * @return the singleton instance
53
     */
54
    public static DerivedGeometriesLocator getInstance() {
55
        return instance;
56
    }
57

  
58
    public String getLocatorName() {
59
        return LOCATOR_NAME;
60
    }
61

  
62
    /**
63
     * Return a reference to DerivedGeometriesManager.
64
     * 
65
     * @return a reference to DerivedGeometriesManager
66
     * @throws LocatorException
67
     *             if there is no access to the class or the class
68
     *             cannot be instantiated
69
     * @see Locator#get(String)
70
     */
71
    public static DerivedGeometriesManager getManager() throws LocatorException {
72
        return (DerivedGeometriesManager) getInstance().get(MANAGER_NAME);
73
    }
74

  
75
    /**
76
     * Registers the Class implementing the DerivedGeometriesLocator interface.
77
     * 
78
     * @param clazz
79
     *            implementing the DerivedGeometriesgManager interface
80
     */
81
    public static void registerManager(Class clazz) {
82
        getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
83
    }
84

  
85
    public static void registerDefaultManager(Class clazz) {
86
        getInstance().registerDefault(MANAGER_NAME, MANAGER_DESCRIPTION, clazz);
87
    }
88

  
89
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/DerivedGeometriesParameters.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api;
24

  
25
import java.util.List;
26

  
27
import org.gvsig.derivedgeometries.swing.api.DerivedGeometriesProcess.TYPE;
28
import org.gvsig.fmap.dal.feature.FeatureReference;
29
import org.gvsig.fmap.dal.feature.FeatureStore;
30
import org.gvsig.fmap.geom.Geometry;
31
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
32
import org.gvsig.fmap.mapcontrol.MapControl;
33

  
34
/**
35
 * 
36
 * Definition of derived geometries parameters.
37
 * 
38
 * @author gvSIG team
39
 * @version $Id$
40
 *
41
 */
42
public interface DerivedGeometriesParameters {
43

  
44
    /**
45
     * @return Gets if process has to add layer to map context.
46
     */
47
    public boolean getAddLayer();
48

  
49
    /**
50
     * @return Gets if process has to create new feature store
51
     */
52
    public boolean getCreateNewFeatureStore();
53

  
54
    /**
55
     * @return Gets feature store to edit
56
     */
57
    public FeatureStore getFeatureStore();
58

  
59
    /**
60
     * @return mapControl of source layer and output layer
61
     */
62
    public MapControl getMapControl();
63

  
64
    /**
65
     * @return name of output layer.
66
     */
67
    public String getOutPutLayerName();
68

  
69
    /**
70
     * @return path of output layer.
71
     */
72
    public String getOutPutLayerPath();
73

  
74
    /**
75
     * @return type of output layer. See {@link Geometry.TYPES}
76
     */
77
    public int getOutPutLayerType();
78

  
79
    /**
80
     * @return process type. See {@link DerivedGeometriesProcess.TYPE}
81
     */
82
    public TYPE getProcessType();
83

  
84
    /**
85
     * @return an ordered list of selected features.
86
     */
87
    public List<FeatureReference> getSelectedFeatures();
88

  
89
    /**
90
     * @return source layer.
91
     */
92
    public FLyrVect getSourceLayer();
93

  
94
    /**
95
     * @param b
96
     *            Sets if process has to add output layer to mapContext or not.
97
     */
98
    public void setAddLayer(boolean b);
99

  
100
    /**
101
     * @param createNewFeatureStore
102
     *            Sets if process has to create new feature store o not.
103
     */
104
    public void setCreateNewFeatureStore(boolean createNewFeatureStore);
105

  
106
    /**
107
     * @param featureStore
108
     *            Sets feature store to edit
109
     */
110
    public void setFeatureStore(FeatureStore featureStore);
111

  
112
    /**
113
     * Sets name of output layer
114
     * 
115
     * @param name
116
     */
117
    public void setOutPutLayerName(String name);
118

  
119
    /**
120
     * Sets path of output layer
121
     * 
122
     * @param path
123
     */
124
    public void setOutPutLayerPath(String path);
125

  
126
    /**
127
     * Sets type of output layer. See {@link Geometry.TYPES}
128
     * 
129
     * @param type
130
     */
131
    public void setOutPutLayerType(int type);
132

  
133
    /**
134
     * Sets type of {@link DerivedGeometriesProcess} process.
135
     * 
136
     * @param type
137
     */
138
    public void setProcessType(TYPE type);
139

  
140
    /**
141
     * Sets selected features to create derived geometries.
142
     * 
143
     * @param theFeatures
144
     *            ordered list.
145
     */
146
    public void setSelectedFeatures(List<FeatureReference> theFeatures);
147

  
148
    /**
149
     * Sets source layer.
150
     * 
151
     * @param sourceLayer
152
     */
153
    public void setSourceLayer(FLyrVect sourceLayer);
154

  
155
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/DerivedGeometriesLibrary.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api;
24

  
25
import org.gvsig.fmap.dal.DALLibrary;
26
import org.gvsig.fmap.geom.GeometryLibrary;
27
import org.gvsig.tools.library.AbstractLibrary;
28
import org.gvsig.tools.library.LibraryException;
29
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
30

  
31
/**
32
 * 
33
 * Library for API initialization and configuration.
34
 *
35
 * @author gvSIG team
36
 * @version $Id$
37
 */
38
public class DerivedGeometriesLibrary extends AbstractLibrary {
39

  
40
    @Override
41
    public void doRegistration() {
42
        registerAsAPI(DerivedGeometriesLibrary.class);
43
        require(DALLibrary.class);
44
        require(GeometryLibrary.class);
45
    }
46

  
47
    @Override
48
    protected void doInitialize() throws LibraryException {
49
        // Do nothing
50
    }
51

  
52
    @Override
53
    protected void doPostInitialize() throws LibraryException {
54
        // Validate there is any implementation registered.
55
        DerivedGeometriesManager manager =
56
            DerivedGeometriesLocator.getManager();
57
        if (manager == null) {
58
            throw new ReferenceNotRegisteredException(
59
                DerivedGeometriesLocator.MANAGER_NAME,
60
                DerivedGeometriesLocator.getInstance());
61
        }
62

  
63
    }
64

  
65
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/src/main/java/org/gvsig/derivedgeometries/swing/api/tablemodels/DerivedGeometriesSelectionModel.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.api.tablemodels;
24

  
25
import java.util.List;
26

  
27
import javax.swing.ListSelectionModel;
28

  
29
import org.gvsig.fmap.dal.feature.FeatureReference;
30

  
31
public interface DerivedGeometriesSelectionModel extends ListSelectionModel {
32

  
33
    /**
34
     * 
35
     * @return
36
     */
37
    public List<FeatureReference> getSelectedFeatures();
38

  
39
    /**
40
     * 
41
     * @param list
42
     */
43
    public void setSelectedFeatures(List<FeatureReference> list);
44

  
45
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.api/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.derivedgeometries.swing</artifactId>
6
    <version>1.0.91</version>
7
  </parent>
8
  <artifactId>org.gvsig.derivedgeometries.swing.api</artifactId>
9
  <name>org.gvsig.derivedgeometries.swing.api</name>
10
  <dependencies>
11
  	<dependency>
12
  		<groupId>org.gvsig</groupId>
13
  		<artifactId>org.gvsig.tools.lib</artifactId>
14
  	</dependency>
15
  	<dependency>
16
      <groupId>org.gvsig</groupId>
17
      <artifactId>org.gvsig.fmap.dal.api</artifactId>
18
    </dependency>
19
  	<dependency>
20
  		<groupId>org.gvsig</groupId>
21
  		<artifactId>org.gvsig.fmap.control</artifactId>
22
  	</dependency>
23
  </dependencies>
24
</project>
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.derivedgeometries</artifactId>
6
    <version>1.0.91</version>
7
  </parent>
8
  <artifactId>org.gvsig.derivedgeometries.swing</artifactId>
9
  <packaging>pom</packaging>
10
  <name>org.gvsig.derivedgeometries.swing</name>
11
  <modules>
12
  	<module>org.gvsig.derivedgeometries.swing.api</module>
13
  	<module>org.gvsig.derivedgeometries.swing.impl</module>
14
  </modules>
15
</project>
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.impl/src/main/java/org/gvsig/derivedgeometries/swing/impl/views/SourceLayerComboBoxRenderer.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.impl.views;
24

  
25
import java.awt.Color;
26
import java.awt.Component;
27

  
28
import javax.swing.DefaultListCellRenderer;
29
import javax.swing.ImageIcon;
30
import javax.swing.JList;
31

  
32
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
33
import org.gvsig.tools.swing.api.ToolsSwingLocator;
34

  
35
public class SourceLayerComboBoxRenderer extends DefaultListCellRenderer {
36

  
37
    private static final long serialVersionUID = 5975166847058585247L;
38

  
39
    public Component getListCellRendererComponent(JList list, Object value,
40
        int index, boolean isSelected, boolean cellHasFocus) {
41

  
42
        super.getListCellRendererComponent(list, value, index, isSelected,
43
            cellHasFocus);
44

  
45
        FLyrVect selectedLayer = (FLyrVect) value;
46

  
47
        if (selectedLayer != null) {
48
            if (isSelected) {
49
                setBackground(Color.LIGHT_GRAY);
50
                setForeground(Color.BLACK);
51
            } else {
52
                setBackground(Color.WHITE);
53
                setForeground(Color.BLACK);
54
            }
55

  
56
            // Set icon
57
            String iconName = selectedLayer.getTocImageIcon();
58
            ImageIcon moveUpIcon =
59
                ToolsSwingLocator.getIconThemeManager().getCurrent()
60
                    .get(iconName);
61
            setIcon(moveUpIcon);
62

  
63
            // Set name and icon
64
            String layerName = selectedLayer.getName();
65

  
66
            setText(layerName);
67
            setFont(list.getFont());
68
        } else {
69
            setText("");
70
            setIcon(null);
71
        }
72
        return this;
73
    }
74

  
75
}
org.gvsig.derivedgeometries/tags/org.gvsig.derivedgeometries-1.0.91/org.gvsig.derivedgeometries.swing/org.gvsig.derivedgeometries.swing.impl/src/main/java/org/gvsig/derivedgeometries/swing/impl/views/LayerAndProcessSelectionPanelView.java
1
/* gvSIG. Desktop Geographic Information System.
2
 *
3
 * Copyright ? 2007-2014 gvSIG Association
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us
21
 * at info AT gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.derivedgeometries.swing.impl.views;
24

  
25
import java.awt.Color;
26
import java.awt.Dimension;
27
import java.awt.GridBagConstraints;
28
import java.awt.GridBagLayout;
29
import java.awt.Insets;
30

  
31
import javax.swing.BorderFactory;
32
import javax.swing.JButton;
33
import javax.swing.JLabel;
34
import javax.swing.JPanel;
35
import javax.swing.JTextField;
36

  
37
import org.gvsig.tools.ToolsLocator;
38
import org.gvsig.tools.i18n.I18nManager;
39
import org.gvsig.utils.swing.JComboBox;
40

  
41
public class LayerAndProcessSelectionPanelView extends JPanel {
42

  
43
    private static final long serialVersionUID = 5814562877542407537L;
44

  
45
    private I18nManager i18nManager = ToolsLocator.getI18nManager();
46

  
47
    private JPanel sourceLayerPanel;
48

  
49
    private JPanel layersPanel;
50

  
51
    private JPanel optionsPanel;
52

  
53
    private JPanel outputProcessPanel;
54

  
55
    private JPanel outputLayerNamePanel;
56

  
57
    private JPanel outputPathPanel;
58

  
59
    private JPanel outputLayerTypePanel;
60

  
61
    private JComboBox layersComboBox;
62

  
63
    private JComboBox outputProcessCombo;
64

  
65
    private JComboBox outputShapeTypeCombo;
66

  
67
    private JLabel layersLabel;
68

  
69
    private JLabel outputProcessLabel;
70

  
71
    private JLabel labelName;
72

  
73
    private JLabel labelPath;
74

  
75
    private JLabel outputShapeTypeLabel;
76

  
77
    private JTextField outputLayerPath;
78

  
79
    private JTextField outputLayerName;
80

  
81
    private JButton selectPathButton;
82

  
83
    public LayerAndProcessSelectionPanelView() {
84
        initilize();
85
        doLayout();
86
        setVisible(true);
87

  
88
        setPreferredSize(new Dimension(500, 360));
89
    }
90

  
91
    private GridBagConstraints getConstraintsForCombo() {
92
        GridBagConstraints constraints;
93
        constraints = new GridBagConstraints();
94
        constraints.gridx = GridBagConstraints.RELATIVE;
95
        constraints.gridy = 0;
96
        constraints.gridwidth = GridBagConstraints.REMAINDER;
97
        constraints.gridheight = 1;
98
        constraints.weightx = 1;
99
        constraints.anchor = GridBagConstraints.CENTER;
100
        constraints.fill = GridBagConstraints.HORIZONTAL;
101
        constraints.insets = new Insets(4, 4, 4, 4);
102
        return constraints;
103
    }
104

  
105
    private GridBagConstraints getConstraintsForLabel() {
106
        GridBagConstraints constraints = new GridBagConstraints();
107
        constraints.gridx = GridBagConstraints.RELATIVE;
108
        constraints.gridy = 0;
109
        constraints.gridwidth = 1;
110
        constraints.gridheight = 1;
111
        constraints.anchor = GridBagConstraints.WEST;
112
        constraints.fill = GridBagConstraints.NONE;
113
        constraints.insets = new Insets(4, 4, 4, 4);
114
        return constraints;
115
    }
116

  
117
    private GridBagConstraints getContraintsForTextField() {
118
        GridBagConstraints constraints = new GridBagConstraints();
119
        constraints.gridx = GridBagConstraints.RELATIVE;
120
        constraints.gridy = 0;
121
        constraints.gridwidth = 2;
122
        constraints.gridheight = 1;
123
        constraints.weightx = 1;
124
        constraints.anchor = GridBagConstraints.CENTER;
125
        constraints.fill = GridBagConstraints.HORIZONTAL;
126
        constraints.insets = new Insets(4, 4, 4, 4);
127
        return constraints;
128
    }
129

  
130
    protected JButton getJButtonSelectPath() {
131
        if (selectPathButton == null) {
132
            selectPathButton = new JButton();
133
            selectPathButton.setToolTipText(i18nManager
134
                .getTranslation("_select_path"));
135
            selectPathButton.setText("...");
136
        }
137
        return selectPathButton;
138
    }
139

  
140
    private JLabel getLabelName() {
141
        if (labelName == null) {
142
            labelName = new JLabel(i18nManager.getTranslation("_name"));
143
            labelName.setToolTipText(i18nManager.getTranslation("name"));
144
        }
145

  
146
        return labelName;
147
    }
148

  
149
    private JLabel getLabelPath() {
150
        if (labelPath == null) {
151
            labelPath = new JLabel(i18nManager.getTranslation("_path"));
152
            labelPath.setToolTipText(i18nManager.getTranslation("_path"));
153
        }
154

  
155
        return labelPath;
156
    }
157

  
158
    @SuppressWarnings("unchecked")
159
    protected JComboBox getLayersComboBox() {
160
        if (layersComboBox == null) {
161
            layersComboBox = new JComboBox();
162
            layersComboBox.setRenderer(new SourceLayerComboBoxRenderer());
163
        }
164
        return layersComboBox;
165
    }
166

  
167
    private JLabel getLayersLabel() {
168
        if (layersLabel == null) {
169
            layersLabel = new JLabel(i18nManager.getTranslation("_layer"));
170
        }
171

  
172
        return layersLabel;
173
    }
174

  
175
    private JPanel getLayersPanel() {
176
        if (layersPanel == null) {
177

  
178
            layersPanel = new JPanel(new GridBagLayout());
179

  
180
            GridBagConstraints constraints = getConstraintsForLabel();
181
            layersPanel.add(getLayersLabel(), constraints);
182

  
183
            constraints = getConstraintsForCombo();
184

  
185
            layersPanel.add(getLayersComboBox(), constraints);
186
        }
187

  
188
        return layersPanel;
189
    }
190

  
191
    private JPanel getOptionsPanel() {
192
        if (optionsPanel == null) {
193
            optionsPanel = new JPanel();
194
            optionsPanel.setBorder(BorderFactory.createTitledBorder(i18nManager
195
                .getTranslation("_options")));
196
            optionsPanel.setLayout(new GridBagLayout());
197

  
198
            GridBagConstraints constraints = getConstraintsForLabel();
199
            optionsPanel.add(getProcessLabel(), constraints);
200

  
201
            constraints = getConstraintsForCombo();
202
            optionsPanel.add(getProcessCombo(), constraints);
203
        }
204

  
205
        return optionsPanel;
206
    }
207

  
208
    protected JTextField getOutputLayerName() {
209
        if (outputLayerName == null) {
210
            outputLayerName = new JTextField();
211
            outputLayerName.setEnabled(false);
212
            outputLayerName.setBackground(Color.white);
213
            outputLayerName.setToolTipText(i18nManager
214
                .getTranslation("_output_layer_name"));
215
        }
216

  
217
        return outputLayerName;
218
    }
219

  
220
    private JPanel getOutputLayerNamePanel() {
221
        if (outputLayerNamePanel == null) {
222
            outputLayerNamePanel = new JPanel();
223
            outputLayerNamePanel.setLayout(new GridBagLayout());
224

  
225
            GridBagConstraints constraints = getConstraintsForLabel();
226
            outputLayerNamePanel.add(getLabelName(), constraints);
227

  
228
            constraints = getContraintsForTextField();
229
            outputLayerNamePanel.add(getOutputLayerName(), constraints);
230
        }
231

  
232
        return outputLayerNamePanel;
233
    }
234

  
235
    protected JTextField getOutputLayerPath() {
236
        if (outputLayerPath == null) {
237
            outputLayerPath = new JTextField();
238
            outputLayerPath.setEditable(false);
239
            outputLayerPath.setBackground(Color.white);
240
            outputLayerPath.setToolTipText(i18nManager
241
                .getTranslation("_path_where_create_the_new_layer_files"));
242
        }
243

  
244
        return outputLayerPath;
245
    }
246

  
247
    private JPanel getOutputLayerTypePanel() {
248
        if (outputLayerTypePanel == null) {
249
            outputLayerTypePanel = new JPanel(new GridBagLayout());
250

  
251
            GridBagConstraints constraints = getConstraintsForLabel();
252
            outputLayerTypePanel.add(getOutputShapeTypeLabel(), constraints);
253

  
254
            constraints = getConstraintsForCombo();
255
            outputLayerTypePanel.add(getOutputShapeTypeCombo(), constraints);
256
        }
257

  
258
        return outputLayerTypePanel;
259
    }
260

  
261
    private JPanel getOutputPathPanel() {
262
        if (outputPathPanel == null) {
263
            outputPathPanel = new JPanel();
264
            outputPathPanel.setLayout(new GridBagLayout());
265

  
266
            GridBagConstraints constraints = getConstraintsForLabel();
267
            outputPathPanel.add(getLabelPath(), constraints);
268

  
269
            constraints = getContraintsForTextField();
270
            outputPathPanel.add(getOutputLayerPath(), constraints);
271

  
272
            constraints.gridwidth = 1;
273
            constraints.weightx = 0;
274
            constraints.fill = GridBagConstraints.NONE;
275
            outputPathPanel.add(getJButtonSelectPath(), constraints);
276
        }
277

  
278
        return outputPathPanel;
279
    }
280

  
281
    private JPanel getOutputProcessPanel() {
282
        if (outputProcessPanel == null) {
283
            outputProcessPanel = new JPanel();
284
            outputProcessPanel.setLayout(new GridBagLayout());
285
            outputProcessPanel
286
                .setBorder(BorderFactory.createTitledBorder(i18nManager
287
                    .getTranslation("_output_layer")));
288

  
289
            GridBagConstraints constraints = new GridBagConstraints();
290
            constraints.gridx = 0;
291
            constraints.gridy = GridBagConstraints.RELATIVE;
292
            constraints.gridwidth = 1;
293
            constraints.gridheight = 1;
294
            constraints.weightx = 1;
295
            constraints.weighty = 1;
296
            constraints.anchor = GridBagConstraints.CENTER;
297
            constraints.fill = GridBagConstraints.BOTH;
298
            constraints.insets = new Insets(4, 4, 4, 4);
299

  
300
            outputProcessPanel.add(getOutputLayerNamePanel(), constraints);
301
            outputProcessPanel.add(getOutputPathPanel(), constraints);
302
            outputProcessPanel.add(getOutputLayerTypePanel(), constraints);
303
        }
304

  
305
        return outputProcessPanel;
306
    }
307

  
308
    protected JComboBox getOutputShapeTypeCombo() {
309
        if (outputShapeTypeCombo == null) {
310
            outputShapeTypeCombo = new JComboBox();
311
            outputShapeTypeCombo.setToolTipText(i18nManager
312
                .getTranslation("_destination_layer_type"));
313
        }
314

  
315
        return outputShapeTypeCombo;
316
    }
317

  
318
    private JLabel getOutputShapeTypeLabel() {
319
        if (outputShapeTypeLabel == null) {
320
            outputShapeTypeLabel =
321
                new JLabel(i18nManager.getTranslation("_type"));
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff