diff --git a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLogger.java b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLogger.java index 0c03e3d..c12432a 100644 --- a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLogger.java +++ b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLogger.java @@ -2,6 +2,7 @@ package gearth.ui.logger.loggerdisplays.uilogger; import gearth.protocol.HPacket; import gearth.ui.logger.loggerdisplays.PacketLogger; +import javafx.event.ActionEvent; import javafx.event.Event; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; @@ -38,6 +39,8 @@ public class UiLogger implements PacketLogger { Scene scene = new Scene(root); scene.getStylesheets().add("/gearth/ui/bootstrap3.css"); scene.getStylesheets().add("/gearth/ui/logger/uilogger/logger.css"); + UiLoggerController controller = (UiLoggerController) loader.getController(); + controller.setStage(stage); // scene.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler() { // final KeyCombination keyCombIncoming = new KeyCodeCombination(KeyCode.I, diff --git a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java index 2b0f5e0..098a168 100644 --- a/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java +++ b/G-Earth/src/main/java/gearth/ui/logger/loggerdisplays/uilogger/UiLoggerController.java @@ -12,6 +12,7 @@ import javafx.scene.control.CheckMenuItem; import javafx.scene.control.Label; import javafx.scene.layout.BorderPane; import javafx.scene.layout.FlowPane; +import javafx.stage.Stage; import org.fxmisc.flowless.VirtualizedScrollPane; import org.fxmisc.richtext.StyleClassedTextArea; import org.fxmisc.richtext.model.StyleSpansBuilder; @@ -36,6 +37,8 @@ public class UiLoggerController implements Initializable { private StyleClassedTextArea area; + private Stage stage; + private boolean viewIncoming = true; private boolean viewOutgoing = true; private boolean displayStructure = true; @@ -43,6 +46,7 @@ public class UiLoggerController implements Initializable { private boolean skiphugepackets = true; private boolean viewMessageName = true; private boolean viewMessageHash = false; + private boolean alwaysOnTop = false; private volatile boolean initialized = false; private final List appendLater = new ArrayList<>(); @@ -181,6 +185,10 @@ public class UiLoggerController implements Initializable { }); } + public void setStage(Stage stage) { + this.stage = stage; + } + public void toggleViewIncoming() { viewIncoming = !viewIncoming; lblViewIncoming.setText("View Incoming: " + (viewIncoming ? "True" : "False")); @@ -214,4 +222,9 @@ public class UiLoggerController implements Initializable { public void toggleMessageHash(ActionEvent actionEvent) { viewMessageHash = !viewMessageHash; } + + public void toggleAlwaysOnTop(ActionEvent actionEvent) { + stage.setAlwaysOnTop(!alwaysOnTop); + alwaysOnTop = !alwaysOnTop; + } } diff --git a/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml b/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml index 4580284..526b4af 100644 --- a/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml +++ b/G-Earth/src/main/resources/gearth/ui/logger/uilogger/UiLogger.fxml @@ -9,7 +9,7 @@ - + @@ -33,6 +33,7 @@ +