Skip to content

Commit 2697a21

Browse files
authored
- Action Listener added, to force saving text field values of group properties
1 parent 694a31d commit 2697a21

File tree

3 files changed

+46
-2
lines changed

3 files changed

+46
-2
lines changed

JAG3D/src/org/applied_geodesy/jag3d/ui/propertiespane/UIObservationPropertiesPane.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,30 @@
9797

9898
public class UIObservationPropertiesPane {
9999
private class TickFormatChangedListener implements FormatterChangedListener {
100-
101100
@Override
102101
public void formatterChanged(FormatterEvent evt) {
103102
updateUncertaintyChart(lineChart);
104103
updateTickLabels(lineChart);
105104
}
106105
}
107106

107+
private class CommitTextFieldActionListener implements EventHandler<ActionEvent> {
108+
@Override
109+
public void handle(ActionEvent event) {
110+
if (!ignoreValueUpdate && event.getSource() != null && event.getSource() instanceof DoubleTextField && ((DoubleTextField)event.getSource()).getUserData() != null) {
111+
DoubleTextField field = (DoubleTextField)event.getSource();
112+
if (field.getUserData() instanceof ParameterType) {
113+
ParameterType paramType = (ParameterType)field.getUserData();
114+
save(paramType, ParameterModificationType.VALUE);
115+
}
116+
else if (field.getUserData() instanceof ObservationGroupUncertaintyType) {
117+
ObservationGroupUncertaintyType uncertaintyType = (ObservationGroupUncertaintyType)field.getUserData();
118+
save(uncertaintyType);
119+
}
120+
}
121+
}
122+
}
123+
108124
private class NumberChangeListener implements ChangeListener<Double> {
109125
private final DoubleTextField field;
110126

@@ -734,6 +750,7 @@ private DoubleTextField createDoubleTextField(double value, CellValueType type,
734750
field.setMaxWidth(350);
735751
field.setUserData(userData);
736752
field.numberProperty().addListener(new NumberChangeListener(field));
753+
field.setOnAction(new CommitTextFieldActionListener());
737754
return field;
738755
}
739756

@@ -744,6 +761,7 @@ private UncertaintyTextField createUncertaintyTextField(double value, CellValueT
744761
field.setMaxWidth(350);
745762
field.setUserData(userData);
746763
field.numberProperty().addListener(new NumberChangeListener(field));
764+
field.setOnAction(new CommitTextFieldActionListener());
747765
return field;
748766
}
749767

JAG3D/src/org/applied_geodesy/jag3d/ui/propertiespane/UIPointPropertiesPane.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,17 @@
6161
import javafx.util.Duration;
6262

6363
public class UIPointPropertiesPane {
64-
64+
private class CommitTextFieldActionListener implements EventHandler<ActionEvent> {
65+
@Override
66+
public void handle(ActionEvent event) {
67+
if (!ignoreValueUpdate && event.getSource() != null && event.getSource() instanceof DoubleTextField && ((DoubleTextField)event.getSource()).getUserData() != null && ((DoubleTextField)event.getSource()).getUserData() instanceof PointGroupUncertaintyType) {
68+
DoubleTextField field = (DoubleTextField)event.getSource();
69+
PointGroupUncertaintyType uncertaintyType = (PointGroupUncertaintyType)field.getUserData();
70+
save(uncertaintyType);
71+
}
72+
}
73+
}
74+
6575
private class NumberChangeListener implements ChangeListener<Double> {
6676
private final DoubleTextField field;
6777

@@ -230,6 +240,7 @@ private Node createCoordinateUncertaintiesPane() {
230240
this.uncertaintyCoordinateYField.setTooltip(new Tooltip(i18n.getString("UIPointPropertiesPane.uncertainty.point.y.tooltip", "Uncertainty of y-component of stochastic points")));
231241
this.uncertaintyCoordinateYField.setUserData(PointGroupUncertaintyType.COMPONENT_Y);
232242
this.uncertaintyCoordinateYField.numberProperty().addListener(new NumberChangeListener(this.uncertaintyCoordinateYField));
243+
this.uncertaintyCoordinateYField.setOnAction(new CommitTextFieldActionListener());
233244
this.uncertaintyCoordinateYField.setMinWidth(fieldMinWidth);
234245
this.uncertaintyCoordinateYField.setMaxWidth(fieldMaxWidth);
235246

@@ -240,6 +251,7 @@ private Node createCoordinateUncertaintiesPane() {
240251
this.uncertaintyCoordinateXField.setTooltip(new Tooltip(i18n.getString("UIPointPropertiesPane.uncertainty.point.x.tooltip", "Uncertainty of x-component of stochastic points")));
241252
this.uncertaintyCoordinateXField.setUserData(PointGroupUncertaintyType.COMPONENT_X);
242253
this.uncertaintyCoordinateXField.numberProperty().addListener(new NumberChangeListener(this.uncertaintyCoordinateXField));
254+
this.uncertaintyCoordinateXField.setOnAction(new CommitTextFieldActionListener());
243255
this.uncertaintyCoordinateXField.setMinWidth(fieldMinWidth);
244256
this.uncertaintyCoordinateXField.setMaxWidth(fieldMaxWidth);
245257

@@ -271,6 +283,7 @@ private Node createCoordinateUncertaintiesPane() {
271283
this.uncertaintyCoordinateZField.setTooltip(new Tooltip(i18n.getString("UIPointPropertiesPane.uncertainty.point.z.tooltip", "Uncertainty of z-component of stochastic points")));
272284
this.uncertaintyCoordinateZField.setUserData(PointGroupUncertaintyType.COMPONENT_Z);
273285
this.uncertaintyCoordinateZField.numberProperty().addListener(new NumberChangeListener(this.uncertaintyCoordinateZField));
286+
this.uncertaintyCoordinateZField.setOnAction(new CommitTextFieldActionListener());
274287
this.uncertaintyCoordinateZField.setMinWidth(fieldMinWidth);
275288
this.uncertaintyCoordinateZField.setMaxWidth(fieldMaxWidth);
276289

JAG3D/src/org/applied_geodesy/jag3d/ui/propertiespane/UIVerticalDeflectionPropertiesPane.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,17 @@
6161
import javafx.util.Duration;
6262

6363
public class UIVerticalDeflectionPropertiesPane {
64+
private class CommitTextFieldActionListener implements EventHandler<ActionEvent> {
65+
@Override
66+
public void handle(ActionEvent event) {
67+
if (!ignoreValueUpdate && event.getSource() != null && event.getSource() instanceof DoubleTextField && ((DoubleTextField)event.getSource()).getUserData() != null && ((DoubleTextField)event.getSource()).getUserData() instanceof VerticalDeflectionGroupUncertaintyType) {
68+
DoubleTextField field = (DoubleTextField)event.getSource();
69+
VerticalDeflectionGroupUncertaintyType uncertaintyType = (VerticalDeflectionGroupUncertaintyType)field.getUserData();
70+
save(uncertaintyType);
71+
}
72+
}
73+
}
74+
6475
private class NumberChangeListener implements ChangeListener<Double> {
6576
private final DoubleTextField field;
6677

@@ -208,13 +219,15 @@ private Node createUncertaintiesPane() {
208219
this.uncertaintyDeflectionYField.setTooltip(new Tooltip(i18n.getString("UIVerticalDeflectionPropertiesPane.uncertainty.y.tooltip", "Uncertainty of y-component of deflection of the vertical")));
209220
this.uncertaintyDeflectionYField.setUserData(VerticalDeflectionGroupUncertaintyType.DEFLECTION_Y);
210221
this.uncertaintyDeflectionYField.numberProperty().addListener(new NumberChangeListener(this.uncertaintyDeflectionYField));
222+
this.uncertaintyDeflectionYField.setOnAction(new CommitTextFieldActionListener());
211223
this.uncertaintyDeflectionYField.setMinWidth(fieldMinWidth);
212224
this.uncertaintyDeflectionYField.setMaxWidth(fieldMaxWidth);
213225

214226
this.uncertaintyDeflectionXField = new UncertaintyTextField(sigmaX, CellValueType.ANGLE_UNCERTAINTY, true, DoubleTextField.ValueSupport.EXCLUDING_INCLUDING_INTERVAL);
215227
this.uncertaintyDeflectionXField.setTooltip(new Tooltip(i18n.getString("UIVerticalDeflectionPropertiesPane.uncertainty.x.tooltip", "Uncertainty of x-component of deflection of the vertical")));
216228
this.uncertaintyDeflectionXField.setUserData(VerticalDeflectionGroupUncertaintyType.DEFLECTION_X);
217229
this.uncertaintyDeflectionXField.numberProperty().addListener(new NumberChangeListener(this.uncertaintyDeflectionXField));
230+
this.uncertaintyDeflectionXField.setOnAction(new CommitTextFieldActionListener());
218231
this.uncertaintyDeflectionXField.setMinWidth(fieldMinWidth);
219232
this.uncertaintyDeflectionXField.setMaxWidth(fieldMaxWidth);
220233

0 commit comments

Comments
 (0)