Statistics
| Revision:

root / org.gvsig.proj / branches / refactor2018 / org.gvsig.proj / org.gvsig.proj.swing / org.gvsig.proj.swing.api / src / main / java / org / gvsig / proj / swing / CoordinateTransformationSelectorComponent.java @ 798

History | View | Annotate | Download (4.22 KB)

1
/* gvSIG. Desktop Geographic Information System.
2
*
3
* Copyright ? 2018 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.proj.swing;
24

    
25
import org.gvsig.proj.CoordinateOperation;
26
import org.gvsig.proj.CoordinateReferenceSystem;
27
import org.gvsig.tools.swing.api.Component;
28

    
29
/**
30
* User interface component API to select a {@link CoordinateOperation} and
31
* optionally the source and target CoordinateReferenceSystems for the
32
* transformation (or converesion) of coordinates.
33
* 
34
* @author gvSIG Team
35
*/
36
public interface CoordinateTransformationSelectorComponent extends Component {
37

    
38
   /**
39
    * Returns the source {@link CoordinateReferenceSystem}.
40
    * 
41
    * @return the source {@link CoordinateReferenceSystem}
42
    */
43
   CoordinateReferenceSystem getSourceCoordinateReferenceSystem();
44

    
45
   /**
46
    * Returns the target {@link CoordinateReferenceSystem}.
47
    * 
48
    * @return the target {@link CoordinateReferenceSystem}
49
    */
50
   CoordinateReferenceSystem getTargetCoordinateReferenceSystem();
51

    
52
   /**
53
    * Returns the selected {@link CoordinateTransformation}.
54
    * 
55
    * @return the selected {@link CoordinateTransformation}
56
    */
57
   CoordinateOperation getCoordinateTransformation();
58

    
59
   /**
60
    * Sets the current {@link CoordinateTransformation}.
61
    * 
62
    * @param transformation
63
    *            the current {@link CoordinateTransformation}
64
    */
65
   void setCoordinateTransformation(CoordinateOperation transformation);
66

    
67
   /**
68
    * Sets the source {@link CoordinateReferenceSystem}.
69
    * 
70
    * @param crs
71
    *            the source {@link CoordinateReferenceSystem}
72
    */
73
   void setSourceCoordinateReferenceSystem(CoordinateReferenceSystem source);
74
   
75
   /**
76
    * Sets the source {@link CoordinateReferenceSystem} and defines whether
77
    * the source CRS selector should be editable by the user. The selector
78
    * will be enabled by default.
79
    * 
80
    * @param crs
81
    *            the source {@link CoordinateReferenceSystem}
82
    * @param editable
83
    *            whether the source coordinate reference system control
84
    *            should be editable by the user
85
    */
86
   void setSourceCoordinateReferenceSystem(CoordinateReferenceSystem source, boolean editable);
87

    
88
   /**
89
    * Sets the target {@link CoordinateReferenceSystem}.
90
    * 
91
    * @param crs
92
    *            the target {@link CoordinateReferenceSystem}
93
    */
94
   void setTargetCoordinateReferenceSystem(CoordinateReferenceSystem target);
95
   
96
   /**
97
    * Sets the target {@link CoordinateReferenceSystem} and defines whether
98
    * the target CRS selector should be editable by the user. The selector
99
    * will be enabled by default.
100
    * 
101
    * @param target
102
    *            the target {@link CoordinateReferenceSystem}
103
    * @param editable
104
    *            whether the target coordinate reference system control
105
    *            should be editable by the user
106
    */
107
   void setTargetCoordinateReferenceSystem(CoordinateReferenceSystem target, boolean editable);
108
   
109
   /**
110
    * Determines whether the source coordinate reference system control
111
    * is editable by the user
112
    * 
113
    * @see #setSourceCoordinateReferenceSystem(CoordinateReferenceSystem, boolean)
114
    */
115
   boolean isSourceCoordinateReferenceSystemEditable();
116
   
117
   /**
118
    * Determines whether the target coordinate reference system control
119
    * should be editable by the user
120
    * 
121
    * @see #setTargetCoordinateReferenceSystem(CoordinateReferenceSystem, boolean)
122
    */
123
   boolean isTargetCoordinateReferenceSystemEditable();
124
}