Added toggle for view structure and fixed menu text color

This commit is contained in:
Scott Stamp 2018-10-15 18:40:50 -02:30
parent eb1d298f4d
commit 230121dfdc
5 changed files with 41 additions and 15 deletions

View File

@ -2,7 +2,9 @@ package gearth.ui;
import gearth.protocol.HPacket;
import gearth.ui.logger.loggerdisplays.PacketLogger;
import javafx.event.ActionEvent;
import javafx.fxml.Initializable;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.FlowPane;
@ -16,16 +18,20 @@ import java.util.Collection;
import java.util.Collections;
import java.util.ResourceBundle;
public class LoggerController implements Initializable {
public class UiLoggerController implements Initializable {
public FlowPane flowPane;
public BorderPane borderPane;
public Label lblViewIncoming;
public Label lblViewOutgoing;
public CheckMenuItem chkViewIncoming;
public CheckMenuItem chkViewOutgoing;
public CheckMenuItem chkDisplayStructure;
private StyleClassedTextArea area;
private boolean viewIncoming = true;
private boolean viewOutgoing = true;
private boolean displayStructure = true;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
@ -61,7 +67,7 @@ public class LoggerController implements Initializable {
elements.add(new Element(" <- ", ""));
elements.add(new Element(packet.toString(), "incoming"));
if (!expr.equals(""))
if (!expr.equals("") && displayStructure)
elements.add(new Element("\n" + expr, "incoming"));
} else {
elements.add(new Element("Outgoing[", "outgoing"));
@ -71,7 +77,7 @@ public class LoggerController implements Initializable {
elements.add(new Element(" -> ", ""));
elements.add(new Element(packet.toString(), "outgoing"));
if (!expr.equals(""))
if (!expr.equals("") && displayStructure)
elements.add(new Element("\n" + expr, "outgoing"));
}
@ -99,11 +105,18 @@ public class LoggerController implements Initializable {
public void toggleViewIncoming() {
viewIncoming = !viewIncoming;
lblViewIncoming.setText("View Incoming: " + (viewIncoming ? "True" : "False"));
chkViewIncoming.setSelected(viewIncoming);
}
public void toggleViewOutgoing() {
viewOutgoing = !viewOutgoing;
lblViewOutgoing.setText("View Outgoing: " + (viewOutgoing ? "True" : "False"));
chkViewOutgoing.setSelected(viewOutgoing);
}
public void toggleDisplayStructure() {
displayStructure = !displayStructure;
chkDisplayStructure.setSelected(displayStructure);
}
}

View File

@ -1,7 +1,7 @@
package gearth.ui.logger.loggerdisplays;
import gearth.protocol.HPacket;
import gearth.ui.LoggerController;
import gearth.ui.UiLoggerController;
import javafx.application.Platform;
import javafx.event.Event;
import javafx.event.EventHandler;
@ -14,12 +14,13 @@ import javafx.scene.input.KeyCombination;
import javafx.scene.input.KeyEvent;
import javafx.stage.Modality;
import javafx.stage.Stage;
import org.scenicview.ScenicView;
import java.io.IOException;
public class UiLogger implements PacketLogger {
private Stage stage;
private LoggerController controller;
private UiLoggerController controller;
@Override
public void start() {
@ -55,6 +56,8 @@ public class UiLogger implements PacketLogger {
stage.setScene(scene);
// ScenicView.show(scene);
// don't let the user close this window on their own
stage.setOnCloseRequest(Event::consume);
@ -66,7 +69,8 @@ public class UiLogger implements PacketLogger {
@Override
public void stop() {
stage.close();
if (stage != null)
stage.close();
}
@Override

View File

@ -1,26 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.CheckMenuItem?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.FlowPane?>
<BorderPane fx:id="borderPane" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.LoggerController">
<BorderPane fx:id="borderPane" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.121" xmlns:fx="http://javafx.com/fxml/1" fx:controller="gearth.ui.UiLoggerController">
<top>
<MenuBar BorderPane.alignment="CENTER">
<Menu mnemonicParsing="false" text="View">
<MenuItem mnemonicParsing="false" onAction="#toggleViewIncoming" text="View Incoming (Ctrl+I)" />
<MenuItem mnemonicParsing="false" onAction="#toggleViewOutgoing" text="View Outgoing (Ctrl+O)" />
<Menu mnemonicParsing="false" text="Display Details">
<items>
<CheckMenuItem fx:id="chkDisplayStructure" mnemonicParsing="false" onAction="#toggleDisplayStructure" selected="true" text="Structure" />
</items>
</Menu>
<CheckMenuItem fx:id="chkViewIncoming" mnemonicParsing="false" onAction="#toggleViewIncoming" selected="true" text="View Incoming (Ctrl+I)" />
<CheckMenuItem fx:id="chkViewOutgoing" mnemonicParsing="false" onAction="#toggleViewOutgoing" selected="true" text="View Outgoing (Ctrl+O)" />
</Menu>
</MenuBar>
</top>
<bottom>
<FlowPane fx:id="flowPane" prefHeight="30.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<FlowPane fx:id="flowPane" prefHeight="26.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<padding>
<Insets left="10.0" top="5.0" />
<Insets left="10.0" top="3.0" />
</padding>
<Label fx:id="lblViewIncoming" style="-fx-text-fill: black !important" text="View Incoming: True">
<FlowPane.margin>

View File

@ -152,7 +152,7 @@ VBox > .split-menu-button.last > .arrow-button {
.font-menu-button,
.split-menu-button > .label,.split-menu-button > .arrow-button {
-fx-border-color: #cccccc;
-fx-text-fill: #333333;
-fx-text-fill: #000000;
}
/*just for the special split menu button*/
.split-menu-button > .label {
@ -342,7 +342,7 @@ VBox > .split-menu-button.last > .arrow-button {
}
.menu-item:focused > * {
-fx-text-fill: #262626;
-fx-text-fill: #000000;
}
.menu-item:focused .arrow {
-fx-background-color: #333333;

View File

@ -24,6 +24,10 @@
}
.label {
-fx-color-label-visible: #000000 !important;
-fx-text-fill: #000000 !important;
}
.menu-bar .text, .menu .text {
-fx-text-fill: #000000 !important;
-fx-fill: #000000 !important;
}