mirror of https://github.com/badvision/jace.git
280 lines
18 KiB
XML
280 lines
18 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<?import java.net.URL?>
|
|
<?import javafx.geometry.Insets?>
|
|
<?import javafx.scene.SubScene?>
|
|
<?import javafx.scene.control.Button?>
|
|
<?import javafx.scene.control.CheckBox?>
|
|
<?import javafx.scene.control.Label?>
|
|
<?import javafx.scene.control.ListView?>
|
|
<?import javafx.scene.control.RadioButton?>
|
|
<?import javafx.scene.control.ScrollPane?>
|
|
<?import javafx.scene.control.Separator?>
|
|
<?import javafx.scene.control.SplitPane?>
|
|
<?import javafx.scene.control.Tab?>
|
|
<?import javafx.scene.control.TabPane?>
|
|
<?import javafx.scene.control.TableColumn?>
|
|
<?import javafx.scene.control.TableView?>
|
|
<?import javafx.scene.control.TextField?>
|
|
<?import javafx.scene.control.TitledPane?>
|
|
<?import javafx.scene.control.ToggleGroup?>
|
|
<?import javafx.scene.control.ToolBar?>
|
|
<?import javafx.scene.layout.BorderPane?>
|
|
<?import javafx.scene.layout.FlowPane?>
|
|
<?import javafx.scene.layout.HBox?>
|
|
<?import javafx.scene.layout.Region?>
|
|
<?import javafx.scene.layout.TilePane?>
|
|
<?import javafx.scene.layout.StackPane?>
|
|
<?import javafx.scene.layout.VBox?>
|
|
<?import javafx.scene.text.Font?>
|
|
|
|
<!--<?import javafx.scene.canvas.*?>-->
|
|
|
|
<VBox maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="520.0" prefWidth="710.0" stylesheets="@../styles/style.css" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1" fx:controller="jace.ui.MetacheatUI">
|
|
<stylesheets>
|
|
<URL value="@/styles/style.css" />
|
|
</stylesheets>
|
|
<children>
|
|
<ToolBar prefHeight="40.0" prefWidth="200.0" VBox.vgrow="NEVER">
|
|
<items>
|
|
<Button fx:id="pauseButton" mnemonicParsing="false" onAction="#pauseClicked" text="Pause" />
|
|
<Button mnemonicParsing="false" onAction="#zoomIn" text="Zoom in" />
|
|
<Button mnemonicParsing="false" onAction="#zoomOut" text="Zoom out" />
|
|
<Label text="Start:" />
|
|
<TextField fx:id="searchStartAddressField" prefHeight="26.0" prefWidth="60.0" text="0000" />
|
|
<Label text="End:" />
|
|
<TextField fx:id="searchEndAddressField" prefHeight="26.0" prefWidth="60.0" text="FFFF" />
|
|
<CheckBox fx:id="showValuesCheckbox" mnemonicParsing="false" text="Show Values" />
|
|
</items>
|
|
</ToolBar>
|
|
<SplitPane dividerPositions="0.6304347826086957" prefHeight="363.0" prefWidth="600.0" VBox.vgrow="ALWAYS">
|
|
<items>
|
|
<ScrollPane fx:id="memoryViewPane" prefHeight="450.0" prefWidth="391.0">
|
|
<content>
|
|
<StackPane fx:id="memoryViewContents" prefHeight="150.0" prefWidth="200.0"/>
|
|
</content></ScrollPane>
|
|
<ScrollPane fitToHeight="true" fitToWidth="true" prefHeight="200.0" prefWidth="200.0">
|
|
<content>
|
|
<VBox>
|
|
<children>
|
|
<TitledPane expanded="false" minHeight="-Infinity" prefWidth="200.0" text="Search" VBox.vgrow="NEVER">
|
|
<content>
|
|
<VBox>
|
|
<children>
|
|
<TabPane fx:id="searchTypesTabPane" prefWidth="233.0" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="NEVER">
|
|
<tabs>
|
|
<Tab text="Value">
|
|
<content>
|
|
<VBox prefWidth="100.0">
|
|
<children>
|
|
<FlowPane prefHeight="43.0" prefWidth="233.0">
|
|
<children>
|
|
<Label text="Search for value:">
|
|
<padding>
|
|
<Insets right="3.0" />
|
|
</padding>
|
|
</Label>
|
|
<TextField fx:id="searchValueField" prefHeight="26.0" prefWidth="75.0" />
|
|
</children>
|
|
<padding>
|
|
<Insets top="3.0" />
|
|
</padding>
|
|
<VBox.margin>
|
|
<Insets bottom="4.0" />
|
|
</VBox.margin>
|
|
</FlowPane>
|
|
<Separator prefWidth="200.0" />
|
|
<Label text="These affect Change searches also.">
|
|
<font>
|
|
<Font name="System Italic" size="13.0" />
|
|
</font>
|
|
</Label>
|
|
<HBox prefWidth="200.0" VBox.vgrow="NEVER">
|
|
<children>
|
|
<RadioButton fx:id="searchTypeByte" mnemonicParsing="false" selected="true" text="Byte">
|
|
<HBox.margin>
|
|
<Insets left="2.0" />
|
|
</HBox.margin>
|
|
<toggleGroup>
|
|
<ToggleGroup fx:id="searchSize" />
|
|
</toggleGroup>
|
|
</RadioButton>
|
|
<RadioButton fx:id="searchTypeWord" mnemonicParsing="false" text="Word" toggleGroup="$searchSize">
|
|
<HBox.margin>
|
|
<Insets />
|
|
</HBox.margin>
|
|
<padding>
|
|
<Insets left="2.0" right="2.0" />
|
|
</padding>
|
|
</RadioButton>
|
|
<CheckBox fx:id="searchTypeSigned" mnemonicParsing="false" text="Signed" />
|
|
</children>
|
|
<opaqueInsets>
|
|
<Insets />
|
|
</opaqueInsets>
|
|
<padding>
|
|
<Insets bottom="3.0" top="3.0" />
|
|
</padding>
|
|
</HBox>
|
|
</children>
|
|
<padding>
|
|
<Insets left="5.0" />
|
|
</padding>
|
|
</VBox>
|
|
</content>
|
|
</Tab>
|
|
<Tab text="Change">
|
|
<content>
|
|
<VBox nodeOrientation="LEFT_TO_RIGHT" prefHeight="112.0" prefWidth="217.0">
|
|
<children>
|
|
<RadioButton fx:id="searchChangeNoneOption" mnemonicParsing="false" text="No changes since last search">
|
|
<opaqueInsets>
|
|
<Insets />
|
|
</opaqueInsets>
|
|
<padding>
|
|
<Insets bottom="3.0" top="2.0" />
|
|
</padding>
|
|
<toggleGroup>
|
|
<ToggleGroup fx:id="changeSearchType" />
|
|
</toggleGroup>
|
|
</RadioButton>
|
|
<RadioButton fx:id="searchChangeAnyOption" mnemonicParsing="false" text="Any changes since last search" toggleGroup="$changeSearchType">
|
|
<padding>
|
|
<Insets bottom="3.0" />
|
|
</padding>
|
|
</RadioButton>
|
|
<RadioButton fx:id="searchChangeLessOption" mnemonicParsing="false" text="Less than last search" toggleGroup="$changeSearchType">
|
|
<padding>
|
|
<Insets bottom="3.0" />
|
|
</padding>
|
|
</RadioButton>
|
|
<RadioButton fx:id="searchChangeGreaterOption" mnemonicParsing="false" text="Greater than last search" toggleGroup="$changeSearchType" />
|
|
<FlowPane prefWidth="200.0">
|
|
<children>
|
|
<RadioButton fx:id="searchChangeByOption" mnemonicParsing="false" text="Change by: " toggleGroup="$changeSearchType" />
|
|
<TextField fx:id="searchChangeByField" prefHeight="26.0" prefWidth="76.0" />
|
|
</children>
|
|
</FlowPane>
|
|
</children>
|
|
<opaqueInsets>
|
|
<Insets />
|
|
</opaqueInsets>
|
|
<padding>
|
|
<Insets left="2.0" />
|
|
</padding>
|
|
</VBox>
|
|
</content>
|
|
</Tab>
|
|
<Tab text="Text" />
|
|
</tabs>
|
|
</TabPane>
|
|
<ToolBar prefHeight="40.0" prefWidth="200.0" VBox.vgrow="NEVER">
|
|
<items>
|
|
<Button mnemonicParsing="false" onAction="#newSearch" text="New Search" />
|
|
<Button mnemonicParsing="false" onAction="#search" text="Search" />
|
|
</items>
|
|
</ToolBar>
|
|
<HBox prefHeight="19.0" prefWidth="235.0">
|
|
<children>
|
|
<Label prefWidth="80.0" text="Results:" HBox.hgrow="NEVER" />
|
|
<Label fx:id="searchStatusLabel" prefHeight="16.0" prefWidth="181.0" textAlignment="RIGHT" wrapText="true" HBox.hgrow="ALWAYS" />
|
|
</children>
|
|
</HBox>
|
|
<ListView fx:id="searchResultsListView" minHeight="25.0" prefHeight="75.0" VBox.vgrow="ALWAYS" />
|
|
</children>
|
|
</VBox>
|
|
</content>
|
|
</TitledPane>
|
|
<TitledPane text="Watches" VBox.vgrow="NEVER">
|
|
<content>
|
|
<TilePane fx:id="watchesPane" alignment="TOP_CENTER" hgap="5.0" prefTileHeight="120.0" prefTileWidth="65.0" prefWidth="200.0" tileAlignment="TOP_CENTER" vgap="5.0" />
|
|
</content>
|
|
</TitledPane>
|
|
<TitledPane text="Cheats" VBox.vgrow="NEVER">
|
|
<content>
|
|
<BorderPane>
|
|
<bottom>
|
|
<ToolBar prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
|
|
<items>
|
|
<Button mnemonicParsing="false" onAction="#addCheat" text="Add" />
|
|
<Button mnemonicParsing="false" onAction="#deleteCheat" text="Delete" />
|
|
<Button mnemonicParsing="false" onAction="#loadCheats" text="Load" />
|
|
<Button mnemonicParsing="false" onAction="#saveCheats" text="Save" />
|
|
</items>
|
|
</ToolBar>
|
|
</bottom>
|
|
<center>
|
|
<TableView fx:id="cheatsTableView" editable="true" minHeight="75.0" BorderPane.alignment="CENTER">
|
|
<columns>
|
|
<TableColumn prefWidth="28.0" sortable="false" text="On" />
|
|
<TableColumn prefWidth="77.0" text="Name" />
|
|
<TableColumn minWidth="9.0" prefWidth="42.0" text="Addr" />
|
|
<TableColumn prefWidth="88.0" text="Effect" />
|
|
</columns>
|
|
</TableView>
|
|
</center>
|
|
</BorderPane>
|
|
</content>
|
|
</TitledPane>
|
|
<TitledPane expanded="false" text="Inspector" VBox.vgrow="SOMETIMES">
|
|
<content>
|
|
<VBox>
|
|
<children>
|
|
<HBox prefHeight="33.0" prefWidth="236.0" spacing="4.0" VBox.vgrow="NEVER">
|
|
<children>
|
|
<Label alignment="CENTER_RIGHT" prefHeight="26.0" prefWidth="68.0" text="Address" textAlignment="RIGHT" HBox.hgrow="NEVER">
|
|
<opaqueInsets>
|
|
<Insets />
|
|
</opaqueInsets>
|
|
</Label>
|
|
<TextField fx:id="codeInspectorAddress" prefHeight="26.0" prefWidth="94.0" HBox.hgrow="ALWAYS" />
|
|
</children>
|
|
<opaqueInsets>
|
|
<Insets />
|
|
</opaqueInsets>
|
|
</HBox>
|
|
<TabPane minHeight="-Infinity" prefHeight="102.0" prefWidth="236.0" side="LEFT" tabClosingPolicy="UNAVAILABLE" VBox.vgrow="SOMETIMES">
|
|
<tabs>
|
|
<Tab text="W">
|
|
<content>
|
|
<ListView fx:id="codeInspectorWriteList" editable="true" styleClass="codeInspector" />
|
|
</content>
|
|
</Tab>
|
|
<Tab text="R">
|
|
<content>
|
|
<ListView fx:id="codeInspectorReadList" editable="true" styleClass="codeInspector" />
|
|
</content>
|
|
</Tab>
|
|
</tabs>
|
|
</TabPane>
|
|
</children>
|
|
</VBox>
|
|
</content>
|
|
</TitledPane>
|
|
<TitledPane expanded="false" text="Snapshots" VBox.vgrow="NEVER">
|
|
<content>
|
|
<BorderPane minWidth="-Infinity">
|
|
<bottom>
|
|
<ToolBar prefHeight="40.0" prefWidth="200.0" BorderPane.alignment="CENTER">
|
|
<items>
|
|
<Button mnemonicParsing="false" onAction="#createSnapshot" text="Create" />
|
|
<Button mnemonicParsing="false" onAction="#deleteSnapshot" text="Delete" />
|
|
<Button mnemonicParsing="false" onAction="#diffSnapshots" text="Diff" />
|
|
</items>
|
|
</ToolBar>
|
|
</bottom>
|
|
<center>
|
|
<ListView fx:id="snapshotsListView" minHeight="25.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
|
|
</center>
|
|
</BorderPane>
|
|
</content>
|
|
</TitledPane>
|
|
</children>
|
|
</VBox>
|
|
</content>
|
|
</ScrollPane>
|
|
</items>
|
|
</SplitPane>
|
|
</children>
|
|
</VBox>
|