|
8 | 8 | package org.csstudio.display.builder.runtime.app;
|
9 | 9 |
|
10 | 10 | import static org.csstudio.display.builder.model.properties.CommonWidgetProperties.propConfirmDialog;
|
| 11 | +import static org.csstudio.display.builder.model.properties.CommonWidgetProperties.propConfirmDialogOptions; |
11 | 12 | import static org.csstudio.display.builder.model.properties.CommonWidgetProperties.propPassword;
|
12 | 13 |
|
13 | 14 | import javafx.collections.ObservableList;
|
|
21 | 22 | import org.csstudio.display.builder.model.Widget;
|
22 | 23 | import org.csstudio.display.builder.model.WidgetProperty;
|
23 | 24 | import org.csstudio.display.builder.model.properties.CommonWidgetProperties;
|
| 25 | +import org.csstudio.display.builder.model.properties.ConfirmDialog; |
24 | 26 | import org.csstudio.display.builder.model.spi.ActionInfo;
|
25 | 27 | import org.csstudio.display.builder.representation.ToolkitListener;
|
26 | 28 | import org.csstudio.display.builder.representation.javafx.widgets.JFXBaseRepresentation;
|
@@ -134,8 +136,19 @@ private void fillMenu(Runnable setFocus, final Widget widget) {
|
134 | 136 | // because in here we would invoke actions without those constraints
|
135 | 137 | final Optional<WidgetProperty<String>> pass = widget.checkProperty(propPassword);
|
136 | 138 | final Optional<WidgetProperty<Boolean>> prompt = widget.checkProperty(propConfirmDialog);
|
| 139 | + final Optional<WidgetProperty<ConfirmDialog>> promptOptions = widget.checkProperty(propConfirmDialogOptions); |
| 140 | + Boolean promptBool = false; |
| 141 | + if (prompt.isPresent() && promptOptions.isPresent()) { |
| 142 | + if (promptOptions.get().getValue() instanceof ConfirmDialog) { |
| 143 | + if (((ConfirmDialog) promptOptions.get().getValue()) != ConfirmDialog.NONE) { |
| 144 | + promptBool = true; |
| 145 | + } |
| 146 | + } else { |
| 147 | + promptBool = prompt.get().getValue(); |
| 148 | + } |
| 149 | + } |
137 | 150 | final boolean need_dialog = (pass.isPresent() && !pass.get().getValue().isBlank()) ||
|
138 |
| - (prompt.isPresent() && prompt.get().getValue()); |
| 151 | + (prompt.isPresent() && promptBool ); |
139 | 152 |
|
140 | 153 | if (! need_dialog)
|
141 | 154 | for (ActionInfo info : widget.propActions().getValue().getActions()) {
|
|
0 commit comments