Revision 800 org.gvsig.lrs/trunk/org.gvsig.lrs/org.gvsig.lrs.swing/org.gvsig.lrs.swing.impl/src/main/java/org/gvsig/lrs/swing/impl/JLrsShowMeasuresParamsController.java
JLrsShowMeasuresParamsController.java | ||
---|---|---|
8 | 8 |
|
9 | 9 |
import java.awt.event.ActionEvent; |
10 | 10 |
import java.awt.event.ActionListener; |
11 |
import java.awt.event.ItemEvent; |
|
12 |
import java.awt.event.ItemListener; |
|
13 |
import java.io.File; |
|
14 |
import java.text.ParseException; |
|
15 |
import java.util.Iterator; |
|
16 | 11 |
import java.util.Locale; |
17 |
|
|
18 |
import javax.swing.ComboBoxModel; |
|
19 |
import javax.swing.DefaultComboBoxModel; |
|
20 | 12 |
import javax.swing.JComponent; |
21 |
import javax.swing.JFormattedTextField; |
|
22 |
import javax.swing.JOptionPane; |
|
23 |
import javax.swing.ListCellRenderer; |
|
24 |
import javax.swing.text.MaskFormatter; |
|
25 |
|
|
26 |
import org.apache.commons.io.FileUtils; |
|
27 |
import org.apache.commons.lang3.StringUtils; |
|
28 |
import org.cresques.cts.IProjection; |
|
29 |
import org.gvsig.fmap.dal.DALLocator; |
|
30 |
import org.gvsig.fmap.dal.DataManager; |
|
31 |
import org.gvsig.fmap.dal.DataStoreParameters; |
|
32 |
import org.gvsig.fmap.dal.exception.DataException; |
|
33 |
import org.gvsig.fmap.dal.exception.ReadException; |
|
34 |
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor; |
|
35 |
import org.gvsig.fmap.dal.feature.EditableFeatureType; |
|
36 |
import org.gvsig.fmap.dal.feature.Feature; |
|
37 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
38 |
import org.gvsig.fmap.dal.feature.FeatureSelection; |
|
39 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
40 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
41 |
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters; |
|
42 |
import org.gvsig.fmap.dal.store.shp.SHPNewStoreParameters; |
|
43 |
import org.gvsig.fmap.geom.DataTypes; |
|
44 |
import org.gvsig.fmap.geom.Geometry; |
|
45 |
import org.gvsig.fmap.geom.Geometry.SUBTYPES; |
|
46 |
import org.gvsig.fmap.geom.Geometry.TYPES; |
|
47 |
import org.gvsig.fmap.geom.GeometryException; |
|
48 |
import org.gvsig.fmap.geom.GeometryLocator; |
|
49 | 13 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
50 |
import org.gvsig.fmap.mapcontext.layers.operations.LayerCollection; |
|
51 |
import org.gvsig.fmap.mapcontext.layers.operations.LayersVisitor; |
|
52 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
53 |
import org.gvsig.lrs.lib.api.DistanceUnits; |
|
54 | 14 |
import org.gvsig.lrs.lib.api.LrsAlgorithmParams; |
55 | 15 |
import org.gvsig.lrs.lib.api.LrsAlgorithmsLocator; |
56 | 16 |
import org.gvsig.lrs.lib.api.LrsAlgorithmsManager; |
57 |
import org.gvsig.lrs.lib.api.LrsCalibrateRouteAlgorithmParams; |
|
58 |
import org.gvsig.lrs.lib.api.LrsMeasureCalculationMethods; |
|
59 | 17 |
import org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams; |
18 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_KILOMETER; |
|
19 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_KILOMETER_LABEL; |
|
20 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_METER; |
|
21 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_METER_LABEL; |
|
22 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_UNKNOWN_OTHER; |
|
23 |
import static org.gvsig.lrs.lib.api.LrsShowMeasuresAlgorithmParams.LRS_SHOWMEASURES_UNKNOWN_OTHER_LABEL; |
|
60 | 24 |
import org.gvsig.lrs.lib.api.exceptions.LrsGettingParametersException; |
61 | 25 |
import org.gvsig.lrs.lib.api.exceptions.LrsNeededParameterException; |
62 | 26 |
import org.gvsig.lrs.swing.api.JLrsAlgorithmParams; |
63 | 27 |
import org.gvsig.tools.ToolsLocator; |
64 |
import org.gvsig.tools.exception.BaseException; |
|
65 | 28 |
import org.gvsig.tools.i18n.I18nManager; |
66 |
import org.gvsig.tools.locator.LocatorException; |
|
67 | 29 |
import org.gvsig.tools.swing.api.ActionListenerSupport; |
68 | 30 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
69 |
import org.gvsig.tools.swing.api.threadsafedialogs.ThreadSafeDialogsManager; |
|
70 |
import org.gvsig.tools.visitor.VisitCanceledException; |
|
31 |
import org.gvsig.tools.swing.api.ToolsSwingManager; |
|
32 |
import org.gvsig.tools.swing.api.ToolsSwingUtils; |
|
33 |
import org.gvsig.tools.util.LabeledValue; |
|
34 |
import org.gvsig.tools.util.LabeledValueImpl; |
|
71 | 35 |
import org.slf4j.Logger; |
72 | 36 |
import org.slf4j.LoggerFactory; |
73 | 37 |
|
74 |
public class JLrsShowMeasuresParamsController extends JLrsShowMeasuresParamsView implements JLrsAlgorithmParams{ |
|
38 |
public final class JLrsShowMeasuresParamsController extends JLrsShowMeasuresParamsView implements JLrsAlgorithmParams{
|
|
75 | 39 |
|
76 | 40 |
/** |
77 | 41 |
* |
... | ... | |
79 | 43 |
private static final Logger logger = LoggerFactory.getLogger(JLrsShowMeasuresParamsController.class); |
80 | 44 |
|
81 | 45 |
private boolean canceled; |
82 |
private ActionListenerSupport listeners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport(); |
|
46 |
private final ActionListenerSupport listeners = ToolsSwingLocator.getToolsSwingManager().createActionListenerSupport();
|
|
83 | 47 |
|
84 |
private FLayer layer; |
|
48 |
private final FLayer layer;
|
|
85 | 49 |
|
86 | 50 |
/** |
51 |
* @param layer |
|
52 |
* @param params |
|
87 | 53 |
* @param layers |
88 | 54 |
* @throws LrsNeededParameterException |
89 | 55 |
* |
... | ... | |
96 | 62 |
setParams(params); |
97 | 63 |
} |
98 | 64 |
|
65 |
@Override |
|
99 | 66 |
public void addActionListener(ActionListener listener) { |
100 | 67 |
listeners.addActionListener(listener); |
101 | 68 |
} |
102 | 69 |
|
70 |
@Override |
|
103 | 71 |
public void removeActionListener(ActionListener listener) { |
104 | 72 |
listeners.removeActionListener(listener); |
105 | 73 |
} |
106 | 74 |
|
107 | 75 |
private void translate() { |
108 |
I18nManager i18nManager = ToolsLocator.getI18nManager(); |
|
76 |
ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
|
77 |
toolsSwingManager.translate(lblDistance); |
|
78 |
toolsSwingManager.translate(txtDistance); |
|
79 |
toolsSwingManager.translate(lblUnits); |
|
80 |
toolsSwingManager.translate(cboUnits); |
|
109 | 81 |
|
110 |
lblDistance.setText(i18nManager.getTranslation(lblDistance.getText())); |
|
111 |
|
|
112 |
btnAccept.setText(i18nManager.getTranslation(btnAccept.getText())); |
|
113 |
btnCancel.setText(i18nManager.getTranslation(btnCancel.getText())); |
|
114 |
|
|
82 |
toolsSwingManager.translate(btnAccept); |
|
83 |
toolsSwingManager.translate(btnCancel); |
|
115 | 84 |
} |
116 | 85 |
|
117 | 86 |
/** |
118 | 87 |
* |
88 |
* @param locale |
|
119 | 89 |
*/ |
120 | 90 |
public void setLocate(Locale locale) { |
121 | 91 |
Locale l = super.getLocale(); |
... | ... | |
128 | 98 |
/** |
129 | 99 |
* Validates one curve M-layer with selected features |
130 | 100 |
* if it is not correct throws an exception |
101 |
* @param layer |
|
131 | 102 |
* @throws LrsNeededParameterException |
132 | 103 |
*/ |
133 | 104 |
public static void validateLayer(FLayer layer)throws LrsNeededParameterException { |
... | ... | |
152 | 123 |
|
153 | 124 |
validateLayer(layer); |
154 | 125 |
|
155 |
txtDistance.setText(new Double(0).toString());
|
|
126 |
txtDistance.setText(Double.toString(0d));
|
|
156 | 127 |
|
157 |
this.btnAccept.addActionListener(new ActionListener() { |
|
158 |
|
|
159 |
public void actionPerformed(ActionEvent e) { |
|
160 |
canceled = false; |
|
161 |
doClose(); |
|
162 |
listeners.fireActionEvent(new ActionEvent(JLrsShowMeasuresParamsController.this, 0, "accept")); |
|
163 |
|
|
164 |
} |
|
128 |
this.btnAccept.addActionListener((ActionEvent e) -> { |
|
129 |
canceled = false; |
|
130 |
doClose(); |
|
131 |
listeners.fireActionEvent(new ActionEvent(JLrsShowMeasuresParamsController.this, 0, "accept")); |
|
165 | 132 |
}); |
133 |
|
|
134 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
|
166 | 135 |
|
167 |
this.btnCancel.addActionListener(new ActionListener() { |
|
136 |
this.cboUnits.addItem(new LabeledValueImpl<>(i18n.getTranslation(LRS_SHOWMEASURES_UNKNOWN_OTHER_LABEL), LRS_SHOWMEASURES_UNKNOWN_OTHER)); |
|
137 |
this.cboUnits.addItem(new LabeledValueImpl<>(i18n.getTranslation(LRS_SHOWMEASURES_METER_LABEL), LRS_SHOWMEASURES_METER)); |
|
138 |
this.cboUnits.addItem(new LabeledValueImpl<>(i18n.getTranslation(LRS_SHOWMEASURES_KILOMETER_LABEL), LRS_SHOWMEASURES_KILOMETER)); |
|
168 | 139 |
|
169 |
public void actionPerformed(ActionEvent e) { |
|
170 |
canceled = true; |
|
171 |
doClose(); |
|
172 |
listeners.fireActionEvent(new ActionEvent(JLrsShowMeasuresParamsController.this, 0, "cancel")); |
|
173 |
} |
|
140 |
this.btnCancel.addActionListener((ActionEvent e) -> { |
|
141 |
canceled = true; |
|
142 |
doClose(); |
|
143 |
listeners.fireActionEvent(new ActionEvent(JLrsShowMeasuresParamsController.this, 0, "cancel")); |
|
174 | 144 |
}); |
175 | 145 |
|
176 | 146 |
setVisibleAceptCancel(false); |
177 | 147 |
canceled = false; |
148 |
|
|
149 |
ToolsSwingUtils.ensureRowsCols(this, 8, 50); |
|
150 |
|
|
178 | 151 |
} |
179 | 152 |
|
180 | 153 |
|
... | ... | |
183 | 156 |
this.setVisible(false); |
184 | 157 |
} |
185 | 158 |
|
159 |
@Override |
|
186 | 160 |
public boolean isCanceled() { |
187 | 161 |
return this.canceled; |
188 | 162 |
} |
189 | 163 |
|
164 |
@Override |
|
190 | 165 |
public void setVisibleAceptCancel(boolean visible) { |
191 | 166 |
this.btnAccept.setVisible(visible); |
192 | 167 |
this.btnCancel.setVisible(visible); |
193 | 168 |
} |
194 | 169 |
|
170 |
@Override |
|
195 | 171 |
public boolean getVisibleAceptCancel() { |
196 | 172 |
return this.btnAccept.isVisible(); |
197 | 173 |
} |
198 | 174 |
|
175 |
@Override |
|
199 | 176 |
public JComponent asJComponent() { |
200 | 177 |
return this; |
201 | 178 |
} |
202 | 179 |
|
180 |
@Override |
|
203 | 181 |
public LrsAlgorithmParams getParams() throws LrsGettingParametersException, LrsNeededParameterException { |
204 | 182 |
LrsAlgorithmsManager manager = LrsAlgorithmsLocator.getLrsAlgorithmsManager(); |
205 | 183 |
LrsShowMeasuresAlgorithmParams params = manager.createLrsShowMeasuresAlgorithmParams(); |
... | ... | |
207 | 185 |
|
208 | 186 |
try { |
209 | 187 |
Double distance = Double.valueOf(this.txtDistance.getText()); |
210 |
params.setDistance((Double)distance); |
|
188 |
params.setDistance(distance); |
|
189 |
|
|
190 |
Object item = this.cboUnits.getSelectedItem(); |
|
191 |
if(item instanceof LabeledValue){ |
|
192 |
Integer units = (Integer) ((LabeledValue)item).getValue(); |
|
193 |
params.setUnits(units); |
|
194 |
} |
|
195 |
|
|
211 | 196 |
} catch (Exception e) { |
212 | 197 |
params.setDistance(1); |
213 | 198 |
} |
Also available in: Unified diff