Adds maven wrapper ; rework internal a bit ; Adds all tests for core
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* XML parsing module for FXML compiler (not implemented yet)
|
||||
* XML parsing module for FXML compiler
|
||||
*/
|
||||
module com.github.gtache.fxml.compiler.xml {
|
||||
requires transitive com.github.gtache.fxml.compiler.core;
|
||||
|
||||
@@ -19,6 +19,7 @@ import java.util.Map;
|
||||
import java.util.SequencedMap;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
class TestDOMFXMLParser {
|
||||
|
||||
@@ -76,6 +77,7 @@ class TestDOMFXMLParser {
|
||||
List.of(new ParsedObjectImpl(VBox.class.getName(), newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "vbox")), newLinkedHashMap(), List.of()))
|
||||
), List.of());
|
||||
try (final var in = getClass().getResourceAsStream("loadView.fxml")) {
|
||||
assertNotNull(in);
|
||||
final var content = new String(in.readAllBytes(), StandardCharsets.UTF_8);
|
||||
final var actual = parser.parse(content);
|
||||
assertEquals(expected, actual);
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
package com.github.gtache.fxml.compiler.parsing.xml;
|
||||
|
||||
import com.github.gtache.fxml.compiler.ControllerFieldInfo;
|
||||
import com.github.gtache.fxml.compiler.GenerationException;
|
||||
import com.github.gtache.fxml.compiler.GenerationRequest;
|
||||
import com.github.gtache.fxml.compiler.Generator;
|
||||
import com.github.gtache.fxml.compiler.compatibility.impl.GenerationCompatibilityImpl;
|
||||
import com.github.gtache.fxml.compiler.impl.*;
|
||||
import com.github.gtache.fxml.compiler.parsing.ParseException;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
|
||||
class TestGeneratorImpl {
|
||||
|
||||
private static final Map<String, ControllerFieldInfo> FIELD_INFO_MAP;
|
||||
|
||||
static {
|
||||
FIELD_INFO_MAP = new HashMap<>();
|
||||
FIELD_INFO_MAP.put("button", new ControllerFieldInfoImpl("button", List.of()));
|
||||
FIELD_INFO_MAP.put("checkBox", new ControllerFieldInfoImpl("checkBox", List.of()));
|
||||
FIELD_INFO_MAP.put("colorPicker", new ControllerFieldInfoImpl("colorPicker", List.of()));
|
||||
FIELD_INFO_MAP.put("color", new ControllerFieldInfoImpl("color", List.of()));
|
||||
FIELD_INFO_MAP.put("comboBox", new ControllerFieldInfoImpl("comboBox", List.of()));
|
||||
FIELD_INFO_MAP.put("listView", new ControllerFieldInfoImpl("listView", List.of("javafx.scene.control.Label")));
|
||||
FIELD_INFO_MAP.put("spinner", new ControllerFieldInfoImpl("spinner", List.of("Double")));
|
||||
FIELD_INFO_MAP.put("tableView", new ControllerFieldInfoImpl("tableView", List.of("javafx.scene.control.TextArea")));
|
||||
FIELD_INFO_MAP.put("treeView", new ControllerFieldInfoImpl("treeView", List.of("String")));
|
||||
FIELD_INFO_MAP.put("treeTableView", new ControllerFieldInfoImpl("treeTableView", List.of("javafx.scene.control.TreeItem<String>")));
|
||||
FIELD_INFO_MAP.put("treeTableColumn1", new ControllerFieldInfoImpl("treeTableColumn1", List.of("javafx.scene.control.TreeItem<String>", "String")));
|
||||
FIELD_INFO_MAP.put("treeTableColumn2", new ControllerFieldInfoImpl("treeTableColumn2", List.of("javafx.scene.control.TreeItem<String>", "Integer")));
|
||||
FIELD_INFO_MAP.put("tableColumn1", new ControllerFieldInfoImpl("tableColumn1", List.of("javafx.scene.control.TextArea", "Float")));
|
||||
FIELD_INFO_MAP.put("tableColumn2", new ControllerFieldInfoImpl("tableColumn2", List.of("javafx.scene.control.TextArea", "String")));
|
||||
}
|
||||
|
||||
private final Generator generator;
|
||||
|
||||
TestGeneratorImpl() {
|
||||
this.generator = new GeneratorImpl();
|
||||
}
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource("providesGenerationTestCases")
|
||||
void testGenerate(final String file, final ControllerInjectionTypes controller, final ControllerFieldInjectionTypes field, final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes bundle) throws Exception {
|
||||
final var request = getRequest(file, controller, field, method, bundle);
|
||||
final var path = Paths.get(getPath(file, controller, field, method, bundle));
|
||||
try (final var in = getClass().getResourceAsStream("/com/github/gtache/fxml/compiler/parsing/xml/" + path)) {
|
||||
assertNotNull(in);
|
||||
final var expected = new String(in.readAllBytes(), StandardCharsets.UTF_8);
|
||||
final var actual = generator.generate(request);
|
||||
assertEquals(expected, actual);
|
||||
} catch (final IOException | GenerationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(final String[] args) throws GenerationException, IOException, ParseException {
|
||||
final var generator = new GeneratorImpl();
|
||||
final var files = List.of("Controls", "Includes");
|
||||
for (final var file : files) {
|
||||
for (final var controller : ControllerInjectionTypes.values()) {
|
||||
for (final var field : ControllerFieldInjectionTypes.values()) {
|
||||
for (final var method : ControllerMethodsInjectionType.values()) {
|
||||
for (final var bundle : ResourceBundleInjectionTypes.values()) {
|
||||
final var request = getRequest(file, controller, field, method, bundle);
|
||||
final var content = generator.generate(request);
|
||||
final var path = Paths.get(getPath(file, controller, field, method, bundle));
|
||||
Files.writeString(path, content);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static String getPath(final String file, final ControllerInjectionTypes controller, final ControllerFieldInjectionTypes field, final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes bundle) {
|
||||
return "expected-" + file.toLowerCase() + "-" + controller.name().toLowerCase() + "-" + field.name().toLowerCase() + "-" + method.name().toLowerCase() + "-" + bundle.name().replace("_", "").toLowerCase() + ".txt";
|
||||
}
|
||||
|
||||
private static GenerationRequest getRequest(final String file, final ControllerInjectionTypes controller, final ControllerFieldInjectionTypes field,
|
||||
final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes resource) throws IOException, ParseException {
|
||||
final var controllerClass = "com.github.gtache.fxml.compiler.parsing.xml." + file + "Controller";
|
||||
final var controlsControllerInfo = new ControllerInfoImpl(controllerClass, Map.of("keyPressed", false, "mouseClicked", false),
|
||||
FIELD_INFO_MAP, true);
|
||||
final var includesControllerInfo = new ControllerInfoImpl(controllerClass, Map.of(), Map.of(), true);
|
||||
final var controllerInfo = file.equals("Controls") ? controlsControllerInfo : includesControllerInfo;
|
||||
final var resourceBundlePath = "com.github.gtache.fxml.compiler.parsing.xml." + file + "Bundle";
|
||||
final var viewPath = "/com/github/gtache/fxml/compiler/parsing/xml/" + file.toLowerCase() + "View.fxml";
|
||||
final var controlsSourceInfo = new SourceInfoImpl("com.github.gtache.fxml.compiler.parsing.xml.ControlsController",
|
||||
controllerClass, Paths.get(viewPath), List.of(), Map.of(), true);
|
||||
final var includesSourceInfo = new SourceInfoImpl("com.github.gtache.fxml.compiler.parsing.xml.IncludesController",
|
||||
controllerClass, Paths.get(viewPath), List.of(controlsSourceInfo), Map.of("controlsView.fxml", controlsSourceInfo), true);
|
||||
final var sourceInfo = file.equals("Controls") ? controlsSourceInfo : includesSourceInfo;
|
||||
final var parser = new DOMFXMLParser();
|
||||
try (final var in = TestGeneratorImpl.class.getResourceAsStream(viewPath)) {
|
||||
assertNotNull(in);
|
||||
final var content = new String(in.readAllBytes(), StandardCharsets.UTF_8);
|
||||
final var root = parser.parse(content);
|
||||
return new GenerationRequestImpl(
|
||||
new GenerationParametersImpl(new GenerationCompatibilityImpl(21), false,
|
||||
Map.of(controllerInfo.className(), resourceBundlePath),
|
||||
controller,
|
||||
field,
|
||||
method,
|
||||
resource
|
||||
),
|
||||
controllerInfo,
|
||||
sourceInfo,
|
||||
root,
|
||||
"com.github.gtache.fxml.compiler.parsing.xml." + file + "View"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
private static Stream<Arguments> providesGenerationTestCases() {
|
||||
final var files = List.of("Controls", "Includes");
|
||||
final var list = new ArrayList<Arguments>();
|
||||
for (final var file : files) {
|
||||
for (final var controller : ControllerInjectionTypes.values()) {
|
||||
for (final var field : ControllerFieldInjectionTypes.values()) {
|
||||
for (final var method : ControllerMethodsInjectionType.values()) {
|
||||
for (final var bundle : ResourceBundleInjectionTypes.values()) {
|
||||
list.add(Arguments.of(file, controller, field, method, bundle));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return list.stream();
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
include.label=Label
|
||||
@@ -1 +0,0 @@
|
||||
media.volume.label=Volume
|
||||
@@ -1,239 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
||||
<?import javafx.collections.FXCollections?>
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.geometry.Point3D?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.Cursor?>
|
||||
<?import javafx.scene.effect.Bloom?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.media.MediaView?>
|
||||
<?import javafx.scene.paint.Color?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.scene.web.HTMLEditor?>
|
||||
<?import javafx.scene.web.WebView?>
|
||||
<?import java.lang.String?>
|
||||
<GridPane fx:id="gridPane" onInputMethodTextChanged="#inputMethodTextChanged" onKeyPressed="#keyPressed"
|
||||
onKeyReleased="#keyReleased"
|
||||
onKeyTyped="#keyTyped" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.ControlsController">
|
||||
<fx:define>
|
||||
<FXCollections fx:id="list" fx:factory="observableArrayList">
|
||||
<String>text1</String>
|
||||
<String fx:value="text2"/>
|
||||
<String value="text3"/>
|
||||
</FXCollections>
|
||||
<FXCollections fx:id="emptyMap" fx:factory="emptyObservableMap"/>
|
||||
</fx:define>
|
||||
<rowConstraints>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
<RowConstraints/>
|
||||
</rowConstraints>
|
||||
<columnConstraints>
|
||||
<ColumnConstraints/>
|
||||
<ColumnConstraints/>
|
||||
<ColumnConstraints minWidth="10.0" prefWidth="100.0"/>
|
||||
</columnConstraints>
|
||||
<children>
|
||||
<fx:define>
|
||||
<String fx:id="str">text</String>
|
||||
</fx:define>
|
||||
<Button fx:id="button">
|
||||
<mnemonicParsing>false</mnemonicParsing>
|
||||
Button
|
||||
</Button>
|
||||
<CheckBox fx:id="checkBox">
|
||||
<indeterminate>true</indeterminate>
|
||||
<mnemonicParsing>false</mnemonicParsing>
|
||||
CheckBox
|
||||
<GridPane.columnIndex>1</GridPane.columnIndex>
|
||||
</CheckBox>
|
||||
<ChoiceBox fx:id="choiceBox" cacheShape="false" centerShape="false" disable="true" focusTraversable="false"
|
||||
prefWidth="150.0"
|
||||
scaleShape="false" visible="false" GridPane.rowIndex="1" accessibleText="$str"/>
|
||||
<ColorPicker fx:id="colorPicker" nodeOrientation="LEFT_TO_RIGHT" opacity="0.5" GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="1">
|
||||
<value>
|
||||
<Color fx:id="color" red="0.7894737124443054" green="0.08771929889917374" blue="0.08771929889917374"/>
|
||||
</value>
|
||||
<opaqueInsets>
|
||||
<Insets bottom="3.0" left="2.0" right="4.0" top="5.0"/>
|
||||
</opaqueInsets>
|
||||
</ColorPicker>
|
||||
<ComboBox fx:id="comboBox" editable="true" prefWidth="150.0" promptText="Text" visibleRowCount="5"
|
||||
GridPane.rowIndex="2">
|
||||
<cursor>
|
||||
<Cursor fx:constant="CLOSED_HAND"/>
|
||||
</cursor>
|
||||
<effect>
|
||||
<Bloom/>
|
||||
</effect>
|
||||
</ComboBox>
|
||||
<DatePicker fx:id="datePicker" showWeekNumbers="true" style="-fx-background-color: #ffffff;"
|
||||
GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="2"/>
|
||||
<HTMLEditor fx:id="htmlEditor"
|
||||
htmlText="<html><head></head><body contenteditable="true"></body></html>"
|
||||
prefHeight="200.0" prefWidth="506.0" styleClass="clazz" stylesheets="@style.css"
|
||||
GridPane.rowIndex="3"/>
|
||||
<Hyperlink fx:id="hyperlink" text="Hyperlink" GridPane.columnIndex="1" GridPane.rowIndex="3"/>
|
||||
<ImageView fx:id="imageView" fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true"
|
||||
GridPane.rowIndex="4">
|
||||
<Image url="https://github.com/gtache" backgroundLoading="true" fx:id="image" preserveRatio="true"
|
||||
requestedWidth="200">
|
||||
<smooth>true</smooth>
|
||||
<requestedHeight>100</requestedHeight>
|
||||
</Image>
|
||||
</ImageView>
|
||||
<ImageView>
|
||||
<image>
|
||||
<Image url="@image.png"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
<fx:define>
|
||||
<Image fx:id="definedImage" url="/url"/>
|
||||
</fx:define>
|
||||
<ImageView>
|
||||
<fx:reference source="definedImage"/>
|
||||
</ImageView>
|
||||
<Label fx:id="label" accessibleHelp="TTTTT" blendMode="ADD" cache="true"
|
||||
cacheHint="QUALITY"
|
||||
depthTest="ENABLE" mnemonicParsing="true" mouseTransparent="true" text="%include.label"
|
||||
GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="4">
|
||||
<accessibleText>
|
||||
<fx:copy source="str"/>
|
||||
</accessibleText>
|
||||
</Label>
|
||||
<ListView fx:id="listView" fixedCellSize="20.0" nodeOrientation="RIGHT_TO_LEFT" orientation="HORIZONTAL"
|
||||
prefHeight="200.0"
|
||||
prefWidth="200.0" GridPane.rowIndex="5"/>
|
||||
<MediaView fx:id="mediaView" fitHeight="200.0" fitWidth="200.0" GridPane.columnIndex="1" GridPane.columnSpan="2"
|
||||
GridPane.rowIndex="5" GridPane.rowSpan="2"/>
|
||||
<MenuBar fx:id="menuBar" GridPane.halignment="RIGHT" GridPane.hgrow="ALWAYS" GridPane.rowIndex="7"
|
||||
GridPane.valignment="BASELINE" GridPane.vgrow="SOMETIMES">
|
||||
<Menu fx:id="menu1" mnemonicParsing="false">
|
||||
<text>File</text>
|
||||
<MenuItem fx:id="menuItem1" mnemonicParsing="false" text="Close"/>
|
||||
<MenuItem fx:id="menuItem2" mnemonicParsing="false" text="Open"/>
|
||||
</Menu>
|
||||
<Menu mnemonicParsing="false" text="Edit">
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" text="Delete"/>
|
||||
</items>
|
||||
</Menu>
|
||||
<Menu mnemonicParsing="false" text="Help">
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" text="About"/>
|
||||
</items>
|
||||
</Menu>
|
||||
</MenuBar>
|
||||
<MenuButton fx:id="menuButton" mnemonicParsing="false" text="MenuButton" GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="7">
|
||||
<items>
|
||||
<MenuItem mnemonicParsing="false" text="Action 1"/>
|
||||
<MenuItem mnemonicParsing="false" text="Action 2"/>
|
||||
</items>
|
||||
<GridPane.margin>
|
||||
<Insets bottom="3.0" left="2.0" right="4.0">
|
||||
<top>5.0</top>
|
||||
</Insets>
|
||||
</GridPane.margin>
|
||||
</MenuButton>
|
||||
<Pagination fx:id="pagination" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="8">
|
||||
<padding>
|
||||
<Insets bottom="3.0" left="2.0" right="4.0" top="5.0"/>
|
||||
</padding>
|
||||
</Pagination>
|
||||
<PasswordField fx:id="passwordField" maxHeight="Infinity" maxWidth="5.0" minHeight="-Infinity" minWidth="1.0"
|
||||
prefColumnCount="7"
|
||||
prefHeight="4.0" prefWidth="3.0" GridPane.columnIndex="1" GridPane.rowIndex="8"/>
|
||||
<ProgressBar fx:id="progressBar" layoutX="10.0" layoutY="20.0" prefWidth="200.0" progress="0.0"
|
||||
GridPane.rowIndex="9"/>
|
||||
<ProgressIndicator fx:id="progressIndicator" progress="0.0" rotate="2.0" GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="9">
|
||||
<rotationAxis>
|
||||
<Point3D x="4.0" y="5.0" z="6.0"/>
|
||||
</rotationAxis>
|
||||
</ProgressIndicator>
|
||||
<RadioButton fx:id="radioButton" mnemonicParsing="false" scaleX="7.0" scaleY="2.0" scaleZ="3.0"
|
||||
text="RadioButton" translateX="4.0"
|
||||
translateY="5.0" translateZ="6.0" GridPane.rowIndex="10"/>
|
||||
<ScrollBar fx:id="scrollBarH" GridPane.columnIndex="1" GridPane.rowIndex="10"/>
|
||||
<ScrollBar fx:id="scrollBarV" orientation="VERTICAL" GridPane.rowIndex="11"/>
|
||||
<Separator fx:id="separatorH" onDragDetected="#dragDetected" onDragDone="#dragDone" onDragDropped="#dragDropped"
|
||||
onDragEntered="#dragEntered" onDragExited="#dragExited" onDragOver="#dragOver"
|
||||
onMouseDragEntered="#mouseDragEntered" onMouseDragExited="#mouseDragExited"
|
||||
onMouseDragOver="#mouseDragOver" onMouseDragReleased="#mouseDragReleased" prefWidth="200.0"
|
||||
GridPane.columnIndex="1" GridPane.rowIndex="11"/>
|
||||
<Separator fx:id="separatorV" orientation="VERTICAL" prefHeight="200.0" GridPane.rowIndex="12"/>
|
||||
<Slider fx:id="sliderH" onContextMenuRequested="#contextMenuRequested" onMouseClicked="#mouseClicked"
|
||||
onMouseDragged="#mouseDragged" onMouseEntered="#mouseEntered" onMouseExited="#mouseExited"
|
||||
onMouseMoved="#mouseMoved" onMousePressed="#mousePressed" onMouseReleased="#mouseReleased"
|
||||
onScroll="#onScroll" onScrollFinished="#onScrollFinished" onScrollStarted="#onScrollStarted"
|
||||
GridPane.columnIndex="1" GridPane.rowIndex="12"/>
|
||||
<Slider fx:id="sliderV" onZoom="#onZoom" onZoomFinished="#onZoomFinished" onZoomStarted="#onZoomStarted"
|
||||
orientation="VERTICAL"
|
||||
GridPane.rowIndex="13"/>
|
||||
<Spinner fx:id="spinner" GridPane.columnIndex="1" GridPane.rowIndex="13"/>
|
||||
<SplitMenuButton fx:id="splitMenuButton" mnemonicParsing="false" text="SplitMenuButton" GridPane.rowIndex="14">
|
||||
<items>
|
||||
<MenuItem fx:id="item1" mnemonicParsing="false" text="Action 1"/>
|
||||
<MenuItem fx:id="item2" mnemonicParsing="false" text="Action 2"/>
|
||||
</items>
|
||||
</SplitMenuButton>
|
||||
<TableView fx:id="tableView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="14">
|
||||
<columns>
|
||||
<TableColumn fx:id="tableColumn1" prefWidth="75.0" text="C1"/>
|
||||
<TableColumn fx:id="tableColumn2" prefWidth="75.0" text="C2"/>
|
||||
</columns>
|
||||
</TableView>
|
||||
<TextArea fx:id="textArea" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="15">
|
||||
<font>
|
||||
<Font fx:id="font" name="Arial" size="12.0"/>
|
||||
</font>
|
||||
</TextArea>
|
||||
<TextField fx:id="textField" GridPane.columnIndex="1" GridPane.rowIndex="15"/>
|
||||
<ToggleButton mnemonicParsing="false" onAction="#onAction" onRotate="#onRotate"
|
||||
onRotationFinished="#onRotationFinished" onRotationStarted="#onRotationStarted"
|
||||
text="ToggleButton" GridPane.rowIndex="16"/>
|
||||
<TreeTableView fx:id="treeTableView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
||||
GridPane.rowIndex="16">
|
||||
<columns>
|
||||
<TreeTableColumn fx:id="treeTableColumn1" onEditCancel="#onEditCancel" onEditCommit="#onEditCommit"
|
||||
onEditStart="#onEditStart"
|
||||
prefWidth="75.0" text="C1"/>
|
||||
<TreeTableColumn fx:id="treeTableColumn2" prefWidth="75.0" sortType="DESCENDING" text="C2"/>
|
||||
</columns>
|
||||
</TreeTableView>
|
||||
<TreeView fx:id="treeView" onSwipeDown="#onSwipeDown" onSwipeLeft="#onSwipeLeft" onSwipeRight="#onSwipeRight"
|
||||
onSwipeUp="#onSwipeUp" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="17"/>
|
||||
<WebView fx:id="webView" onTouchMoved="#onTouchMoved" onTouchPressed="#onTouchPressed"
|
||||
onTouchReleased="#onTouchReleased"
|
||||
onTouchStationary="#onTouchStationary" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
||||
location="https://github.com/gtache" confirmHandler="$controller.confirmHandler"
|
||||
createPopupHandler="#createPopupHandler"
|
||||
onAlert="$controller.onAlert" onResized="#onResized"
|
||||
GridPane.rowIndex="17"/>
|
||||
</children>
|
||||
</GridPane>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<HBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<fx:include source="include1.fxml"/>
|
||||
<fx:include source="include2.fxml"/>
|
||||
<fx:include source="include3.fxml"/>
|
||||
<fx:include resources="com/github/gtache/fxml/compiler/parsing/xml/includes/IncludedBundle" source="include1.fxml"/>
|
||||
</HBox>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<HBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<fx:include source="include21.fxml"/>
|
||||
</HBox>
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<HBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<Label text="%text"/>
|
||||
</HBox>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<HBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<fx:include source="include1.fxml"/>
|
||||
<fx:include source="include2.fxml"/>
|
||||
<fx:include source="include3.fxml"/>
|
||||
<fx:include resources="com/github/gtache/fxml/compiler/parsing/xml/includes/IncludedBundle" source="include1.fxml"/>
|
||||
</HBox>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<HBox xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<fx:include source="include1.fxml"/>
|
||||
<fx:include source="include2.fxml"/>
|
||||
<fx:include source="include3.fxml"/>
|
||||
<fx:include resources="com/github/gtache/fxml/compiler/parsing/xml/includes/IncludedBundle" source="include1.fxml"/>
|
||||
</HBox>
|
||||
@@ -1,141 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.Group?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.TextFlow?>
|
||||
<BorderPane xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
||||
fx:controller="com.github.gtache.fxml.compiler.parsing.xml.IncludesController">
|
||||
<bottom>
|
||||
<VBox BorderPane.alignment="CENTER">
|
||||
<children>
|
||||
<HBox alignment="CENTER" spacing="10.0">
|
||||
<children>
|
||||
<Slider fx:id="playSlider" HBox.hgrow="ALWAYS">
|
||||
<padding>
|
||||
<Insets left="10.0"/>
|
||||
</padding>
|
||||
</Slider>
|
||||
<Label fx:id="playLabel" text="Label">
|
||||
<padding>
|
||||
<Insets right="10.0"/>
|
||||
</padding>
|
||||
</Label>
|
||||
</children>
|
||||
<padding>
|
||||
<Insets top="10.0"/>
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" spacing="10.0">
|
||||
<children>
|
||||
<Button fx:id="playButton" mnemonicParsing="false" onAction="#playPressed">
|
||||
<HBox.margin>
|
||||
<Insets right="20.0"/>
|
||||
</HBox.margin>
|
||||
</Button>
|
||||
<Label text="%media.volume.label"/>
|
||||
<Slider fx:id="volumeSlider" value="100"/>
|
||||
<Label fx:id="volumeValueLabel" text="Label"/>
|
||||
<fx:include fx:id="controls" source="controlsView.fxml"
|
||||
resources="com/github/gtache/fxml/compiler/parsing/xml/ControlsBundle"/>
|
||||
</children>
|
||||
<padding>
|
||||
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>
|
||||
</padding>
|
||||
</HBox>
|
||||
</children>
|
||||
</VBox>
|
||||
</bottom>
|
||||
<center>
|
||||
<VBox fx:id="vbox">
|
||||
<children>
|
||||
<ToolBar fx:id="toolBar">
|
||||
<items>
|
||||
<TitledPane fx:id="titledPane">
|
||||
<content>
|
||||
<TilePane fx:id="tilePane">
|
||||
<children>
|
||||
<TextFlow fx:id="textFlow">
|
||||
<children>
|
||||
<TabPane fx:id="tabPane">
|
||||
<tabs>
|
||||
<Tab fx:id="tab">
|
||||
<content>
|
||||
<StackPane fx:id="stackPane">
|
||||
<children>
|
||||
<SplitPane fx:id="splitPane">
|
||||
<items>
|
||||
<ScrollPane fx:id="scrollPane">
|
||||
<content>
|
||||
<Pane fx:id="pane">
|
||||
<children>
|
||||
<HBox fx:id="hbox">
|
||||
<children>
|
||||
<Group fx:id="group">
|
||||
<children>
|
||||
<GridPane
|
||||
fx:id="gridPane">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints
|
||||
fx:id="columnConstraints"
|
||||
hgrow="SOMETIMES"
|
||||
minWidth="10.0"/>
|
||||
</columnConstraints>
|
||||
<rowConstraints>
|
||||
<RowConstraints
|
||||
minHeight="10.0"
|
||||
vgrow="SOMETIMES"/>
|
||||
</rowConstraints>
|
||||
<children>
|
||||
<FlowPane
|
||||
fx:id="flowPane">
|
||||
<children>
|
||||
<DialogPane
|
||||
fx:id="dialogPane">
|
||||
<content>
|
||||
<ButtonBar
|
||||
fx:id="buttonBar">
|
||||
<buttons>
|
||||
<AnchorPane
|
||||
fx:id="anchorPane">
|
||||
<children>
|
||||
<Label managed="false"/>
|
||||
</children>
|
||||
</AnchorPane>
|
||||
</buttons>
|
||||
</ButtonBar>
|
||||
</content>
|
||||
</DialogPane>
|
||||
</children>
|
||||
</FlowPane>
|
||||
</children>
|
||||
</GridPane>
|
||||
</children>
|
||||
</Group>
|
||||
</children>
|
||||
</HBox>
|
||||
</children>
|
||||
</Pane>
|
||||
</content>
|
||||
</ScrollPane>
|
||||
</items>
|
||||
</SplitPane>
|
||||
</children>
|
||||
</StackPane>
|
||||
</content>
|
||||
</Tab>
|
||||
</tabs>
|
||||
</TabPane>
|
||||
</children>
|
||||
</TextFlow>
|
||||
</children>
|
||||
</TilePane>
|
||||
</content>
|
||||
</TitledPane>
|
||||
</items>
|
||||
</ToolBar>
|
||||
</children>
|
||||
</VBox>
|
||||
</center>
|
||||
</BorderPane>
|
||||
@@ -1,3 +0,0 @@
|
||||
.clazz {
|
||||
-fx-font-weight: bold;
|
||||
}
|
||||
Reference in New Issue
Block a user