corefx - modified base dialogs to allow modality configuration, updated terminal dialogs to not have modality and can be instanced per node
This commit is contained in:
parent
e37caedf61
commit
9b1bc3e444
4 changed files with 15 additions and 7 deletions
|
@ -84,7 +84,6 @@ public class Controller implements Initializable {
|
|||
private ConnectDialog connectDialog = new ConnectDialog(this);
|
||||
private GuiPreferencesDialog guiPreferencesDialog = new GuiPreferencesDialog(this);
|
||||
private NodeTypeCreateDialog nodeTypeCreateDialog = new NodeTypeCreateDialog(this);
|
||||
private TerminalDialog terminalDialog = new TerminalDialog(this);
|
||||
|
||||
public void connectToCore(String address, int port) {
|
||||
coreWebSocket.stop();
|
||||
|
@ -288,7 +287,6 @@ public class Controller implements Initializable {
|
|||
connectDialog.setOwner(window);
|
||||
guiPreferencesDialog.setOwner(window);
|
||||
nodeTypeCreateDialog.setOwner(window);
|
||||
terminalDialog.setOwner(window);
|
||||
}
|
||||
|
||||
@FXML
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.core.graph;
|
|||
import com.core.Controller;
|
||||
import com.core.data.*;
|
||||
import com.core.ui.Toast;
|
||||
import com.core.ui.dialogs.TerminalDialog;
|
||||
import com.core.utils.Configuration;
|
||||
import com.core.utils.IconUtils;
|
||||
import com.google.common.base.Supplier;
|
||||
|
@ -141,7 +142,11 @@ public class NetworkGraph {
|
|||
Toast.error("Node terminal failed to start");
|
||||
}
|
||||
} else {
|
||||
Platform.runLater(() -> controller.getTerminalDialog().showDialog(node));
|
||||
Platform.runLater(() -> {
|
||||
TerminalDialog terminalDialog = new TerminalDialog(controller);
|
||||
terminalDialog.setOwner(controller.getWindow());
|
||||
terminalDialog.showDialog(node);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,10 @@ public class StageDialog {
|
|||
private final HBox buttonBar = new HBox();
|
||||
|
||||
public StageDialog(Controller controller, String fxmlPath) {
|
||||
this(controller, fxmlPath, Modality.APPLICATION_MODAL);
|
||||
}
|
||||
|
||||
public StageDialog(Controller controller, String fxmlPath, Modality modality) {
|
||||
this.controller = controller;
|
||||
|
||||
JFXDecorator decorator = new JFXDecorator(stage, gridPane);
|
||||
|
@ -69,7 +73,7 @@ public class StageDialog {
|
|||
buttonBar.setAlignment(Pos.CENTER_RIGHT);
|
||||
buttonBar.setSpacing(10);
|
||||
|
||||
stage.initModality(Modality.APPLICATION_MODAL);
|
||||
stage.initModality(modality);
|
||||
|
||||
FXMLLoader loader = new FXMLLoader(getClass().getResource(fxmlPath));
|
||||
loader.setController(this);
|
||||
|
|
|
@ -8,6 +8,7 @@ import com.jfoenix.controls.JFXTextArea;
|
|||
import com.jfoenix.controls.JFXTextField;
|
||||
import javafx.concurrent.Task;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.stage.Modality;
|
||||
import lombok.Data;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
@ -18,12 +19,12 @@ public class TerminalDialog extends StageDialog {
|
|||
private String address;
|
||||
private int port;
|
||||
private JFXButton saveButton;
|
||||
@FXML JFXTextArea outputTextArea;
|
||||
@FXML JFXTextField commandTextField;
|
||||
private @FXML JFXTextArea outputTextArea;
|
||||
private @FXML JFXTextField commandTextField;
|
||||
private CoreNode node;
|
||||
|
||||
public TerminalDialog(Controller controller) {
|
||||
super(controller, "/fxml/terminal_dialog.fxml");
|
||||
super(controller, "/fxml/terminal_dialog.fxml", Modality.NONE);
|
||||
commandTextField.setOnAction(event -> {
|
||||
String command = commandTextField.getText();
|
||||
addOutput(String.format("$> %s", command));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue