Skip to content

Commit 55b181d

Browse files
committed
Update save&restore configuration editor
1 parent 12226d6 commit 55b181d

File tree

2 files changed

+12
-47
lines changed

2 files changed

+12
-47
lines changed

app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/configuration/ConfigPvEntry.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class ConfigPvEntry implements Comparable<ConfigPvEntry> {
2525
private final StringProperty readBackPvNameProperty;
2626
private final BooleanProperty readOnlyProperty;
2727
private final ObjectProperty<CompareMode> compareModeProperty;
28-
private ObjectProperty<Double> toleranceProperty;
28+
private final ObjectProperty<Double> toleranceProperty;
2929

3030
public ConfigPvEntry(ConfigPv configPv) {
3131
this.pvNameProperty = new SimpleStringProperty(this, "pvNameProperty", configPv.getPvName());
@@ -64,10 +64,6 @@ public void setReadBackPvNameProperty(String readBackPvNameProperty) {
6464
this.readBackPvNameProperty.set(readBackPvNameProperty);
6565
}
6666

67-
public void setReadOnlyProperty(boolean readOnlyProperty) {
68-
this.readOnlyProperty.set(readOnlyProperty);
69-
}
70-
7167
public void setCompareModeProperty(CompareMode compareModeProperty) {
7268
this.compareModeProperty.set(compareModeProperty);
7369
}
@@ -83,6 +79,9 @@ public ConfigPv toConfigPv() {
8379
.readOnly(readOnlyProperty.get())
8480
.compareMode(compareModeProperty.get())
8581
.build();
82+
if(toleranceProperty != null){
83+
configPv.setTolerance(toleranceProperty.get());
84+
}
8685
return configPv;
8786
}
8887

app/save-and-restore/app/src/main/java/org/phoebus/applications/saveandrestore/ui/configuration/ConfigurationController.java

Lines changed: 8 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -215,10 +215,7 @@ public void initialize() {
215215

216216
ContextMenu contextMenu = new ContextMenu();
217217
MenuItem setComparisonData = new MenuItem("Add comparison on selection");
218-
setComparisonData.setOnAction(e -> {
219-
List<ConfigPvEntry> selectedItems = pvTable.getSelectionModel().getSelectedItems();
220-
launchComparisonEditor();
221-
});
218+
setComparisonData.setOnAction(e -> launchComparisonEditor());
222219
contextMenu.getItems().add(setComparisonData);
223220
pvTable.setOnContextMenuRequested(event -> {
224221
contextMenu.getItems().clear();
@@ -247,10 +244,6 @@ public void initialize() {
247244
readbackPvNameColumn.setCellValueFactory(cell -> cell.getValue().getReadBackPvNameProperty());
248245
readbackPvNameColumn.setOnEditCommit(t -> {
249246
t.getTableView().getItems().get(t.getTablePosition().getRow()).setReadBackPvNameProperty(t.getNewValue());
250-
if (t.getNewValue() == null || t.getNewValue().isEmpty()) {
251-
t.getTableView().getItems().get(t.getTablePosition().getRow()).setCompareModeProperty(null);
252-
t.getTableView().getItems().get(t.getTablePosition().getRow()).setToleranceProperty(null);
253-
}
254247
setDirty(true);
255248
});
256249

@@ -267,27 +260,12 @@ public void initialize() {
267260
values.add(0, null);
268261
ComboBoxTableCell<ConfigPvEntry, CompareMode> tableCell = new ComboBoxTableCell<>(values) {
269262

270-
/*
271-
@Override
272-
public void startEdit() {
273-
String readBackPvName = getTableView().getItems().get(getIndex()).getReadBackPvNameProperty().get();
274-
if (readBackPvName == null || readBackPvName.isEmpty()) {
275-
cancelEdit();
276-
return;
277-
}
278-
super.startEdit();
279-
}
280-
281-
*/
282-
283263
@Override
284264
public void commitEdit(CompareMode pvCompareMode) {
265+
getTableView().getItems().get(getIndex()).setCompareModeProperty(pvCompareMode);
285266
if (pvCompareMode == null) {
286267
getTableView().getItems().get(getIndex()).setToleranceProperty(null);
287-
} else if (getTableView().getItems().get(getIndex()).getToleranceProperty().get() == null) {
288-
getTableView().getItems().get(getIndex()).setToleranceProperty(0.0);
289268
}
290-
getTableView().getItems().get(getIndex()).setCompareModeProperty(pvCompareMode);
291269
setDirty(true);
292270
super.commitEdit(pvCompareMode);
293271
}
@@ -323,33 +301,24 @@ public String toString(Double value) {
323301
@Override
324302
public Double fromString(String string) {
325303
try {
326-
Double value = Double.parseDouble(string);
327-
if(value < 0){
304+
double value = Double.parseDouble(string);
305+
if(value >= 0){
328306
// Tolerance must be >= 0.
329-
return null;
307+
return value;
330308
}
331-
return value;
309+
return null;
332310
} catch (Exception e) {
333311
// No logging needed: user has entered text that cannot be parsed as double.
334312
return null;
335313
}
336314
}
337315
}) {
338-
@Override
339-
public void startEdit() {
340-
String readBackPvName = getTableView().getItems().get(getIndex()).getReadBackPvNameProperty().get();
341-
if (readBackPvName == null || readBackPvName.isEmpty()) {
342-
cancelEdit();
343-
return;
344-
}
345-
super.startEdit();
346-
}
347-
348316
@Override
349317
public void commitEdit(Double value) {
350318
if (value == null) {
351319
return;
352320
}
321+
getTableView().getItems().get(getIndex()).setToleranceProperty(value);
353322
setDirty(true);
354323
super.commitEdit(value);
355324
}
@@ -464,7 +433,6 @@ public void addPv() {
464433
configPVs.add(new ConfigPvEntry(configPV));
465434
}
466435
configurationEntries.addAll(configPVs);
467-
//configurationTab.annotateDirty(true);
468436
resetAddPv();
469437
});
470438

@@ -560,7 +528,7 @@ private void setDirty(boolean dirty) {
560528
this.dirty.set(dirty && !loadInProgress.get());
561529
}
562530

563-
private ComparisonData launchComparisonEditor(){
531+
private void launchComparisonEditor(){
564532
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
565533
alert.setHeaderText(null);
566534
alert.setGraphic(null);
@@ -575,8 +543,6 @@ private ComparisonData launchComparisonEditor(){
575543
} catch (IOException e) {
576544
throw new RuntimeException(e);
577545
}
578-
579-
return null;
580546
}
581547

582548
public record ComparisonData(CompareMode pvCompareMode, Double tolerance){

0 commit comments

Comments
 (0)