Adds some tests

This commit is contained in:
Guillaume Tâche
2024-11-18 22:01:42 +01:00
parent f583c9942b
commit 4777ec8104
88 changed files with 16404 additions and 3050 deletions

View File

@@ -11,9 +11,6 @@
<artifactId>fxml-compiler-loader</artifactId>
<properties>
<jmh.version>1.37</jmh.version>
</properties>
<dependencies>
<dependency>
<groupId>com.github.gtache</groupId>
@@ -32,12 +29,6 @@
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
@@ -50,35 +41,5 @@
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@@ -24,12 +24,12 @@ public class ParsingLoadListener implements LoadListener {
private final Deque<ParsedObjectImpl.Builder> stack;
private final Deque<ParsedProperty> propertyStack;
private final Deque<List<ParsedObject>> currentObjectStack;
private final SequencedMap<String, ParsedProperty> currentIncludeProperties;
private ParsedObjectImpl.Builder current;
private ParsedProperty currentProperty;
private List<ParsedObject> currentObjects;
private Object previousEnd;
private boolean isInclude;
private SequencedMap<String, ParsedProperty> currentIncludeProperties;
/**
* Instantiates the listener
@@ -115,12 +115,16 @@ public class ParsingLoadListener implements LoadListener {
@Override
public void beginPropertyElement(final String name, final Class<?> sourceType) {
previousEnd = null;
if (currentProperty != null) {
propertyStack.push(currentProperty);
if (isInclude) {
throw new IllegalStateException("Reading complex property for include");
} else {
if (currentProperty != null) {
propertyStack.push(currentProperty);
}
currentProperty = new ParsedPropertyImpl(name, sourceType, null);
currentObjectStack.push(currentObjects);
currentObjects = new ArrayList<>();
}
currentProperty = new ParsedPropertyImpl(name, sourceType, null);
currentObjectStack.push(currentObjects);
currentObjects = new ArrayList<>();
}
@Override
@@ -144,6 +148,8 @@ public class ParsingLoadListener implements LoadListener {
final var property = new ParsedPropertyImpl(name, null, value);
if (isInclude) {
currentIncludeProperties.put(name, property);
} else if (current == null) {
throw new IllegalStateException("Current object is null (trying to add attribute " + name + " = " + value + ")");
} else {
current.addProperty(property);
}
@@ -151,8 +157,14 @@ public class ParsingLoadListener implements LoadListener {
@Override
public void readPropertyAttribute(final String name, final Class<?> sourceType, final String value) {
previousEnd = null;
current.addProperty(new ParsedPropertyImpl(name, sourceType, value));
if (isInclude) {
throw new IllegalStateException("Reading complex property for include");
} else if (current == null) {
throw new IllegalStateException("Current object is null (trying to add property " + name + "/" + sourceType + " = " + value + ")");
} else {
previousEnd = null;
current.addProperty(new ParsedPropertyImpl(name, sourceType, value));
}
}
@Override
@@ -162,31 +174,49 @@ public class ParsingLoadListener implements LoadListener {
@Override
public void readEventHandlerAttribute(final String name, final String value) {
current.addProperty(new ParsedPropertyImpl(name, EventHandler.class, value));
if (isInclude) {
throw new IllegalStateException("Reading event handler for include");
} else if (current == null) {
throw new IllegalStateException("Current object is null (trying to add event handler" + name + " = " + value + ")");
} else {
current.addProperty(new ParsedPropertyImpl(name, EventHandler.class, value));
}
}
@Override
public void endElement(final Object value) {
if (isInclude) {
currentObjects.add(new ParsedIncludeImpl(currentIncludeProperties));
currentIncludeProperties.clear();
isInclude = false;
endInclude();
} else if (previousEnd == value || value instanceof ObservableList<?>) {
//End of property
if (currentProperty == null) {
throw new IllegalStateException("Unexpected end element (property is null) : " + value);
} else {
currentObjects.forEach(go -> current.addChild(currentProperty, go));
currentObjects = currentObjectStack.isEmpty() ? new ArrayList<>() : currentObjectStack.pop();
currentProperty = propertyStack.isEmpty() ? null : propertyStack.pop();
}
endProperty(value);
} else if (current != null) {
final var built = current.build();
currentObjects.add(built);
current = stack.isEmpty() ? null : stack.pop();
previousEnd = value;
endObject(value);
} else {
throw new IllegalStateException("Unexpected end element (current is null) : " + value);
}
}
private void endInclude() {
currentObjects.add(new ParsedIncludeImpl(currentIncludeProperties));
currentIncludeProperties.clear();
isInclude = false;
}
private void endProperty(final Object value) {
//End of property
if (currentProperty == null) {
throw new IllegalStateException("Unexpected end element (property is null) : " + value);
} else {
currentObjects.forEach(go -> current.addChild(currentProperty, go));
currentObjects = currentObjectStack.isEmpty() ? new ArrayList<>() : currentObjectStack.pop();
currentProperty = propertyStack.isEmpty() ? null : propertyStack.pop();
}
}
private void endObject(final Object value) {
final var built = current.build();
currentObjects.add(built);
current = stack.isEmpty() ? null : stack.pop();
previousEnd = value;
}
}

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/java/com/github/gtache/fxml/compiler/impl/ControlsController.java

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/java/com/github/gtache/fxml/compiler/impl/IncludesController.java

View File

@@ -0,0 +1,157 @@
package com.github.gtache.fxml.compiler.impl;
import com.github.gtache.fxml.compiler.GenerationRequest;
import com.github.gtache.fxml.compiler.Generator;
import com.github.gtache.fxml.compiler.parsing.listener.ParsingLoadListener;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import org.junit.jupiter.api.BeforeAll;
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.ResourceBundle;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Stream;
import static org.junit.jupiter.api.Assertions.assertEquals;
class TestGeneratorImpl {
private static final Map<String, List<String>> GENERIC_TYPES;
static {
GENERIC_TYPES = new HashMap<>();
GENERIC_TYPES.put("choiceBox", List.of("String"));
GENERIC_TYPES.put("listView", List.of("javafx.scene.control.Label"));
GENERIC_TYPES.put("spinner", List.of("Double"));
GENERIC_TYPES.put("tableView", List.of("javafx.scene.control.TextArea"));
GENERIC_TYPES.put("treeView", List.of("String"));
GENERIC_TYPES.put("treeTableView", List.of("javafx.scene.control.TreeItem<String>"));
GENERIC_TYPES.put("treeTableColumn1", List.of("javafx.scene.control.TreeItem<String>", "String"));
GENERIC_TYPES.put("treeTableColumn2", List.of("javafx.scene.control.TreeItem<String>", "Integer"));
GENERIC_TYPES.put("tableColumn1", List.of("javafx.scene.control.TextArea", "Float"));
GENERIC_TYPES.put("tableColumn2", List.of("javafx.scene.control.TextArea", "String"));
}
private final Generator generator;
TestGeneratorImpl() {
this.generator = new GeneratorImpl();
}
@BeforeAll
static void beforeAll() {
try {
Platform.startup(() -> {
});
} catch (final IllegalStateException ignored) {
}
}
@ParameterizedTest
@MethodSource("providesGenerationTestCases")
public void testGenerate(final String file, final ControllerFieldInjectionTypes field, final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes bundle) {
final var request = getRequest(file, field, method, bundle);
final var path = Paths.get(getPath(file, field, method, bundle));
try (final var in = getClass().getResourceAsStream("/com/github/gtache/fxml/compiler/impl/" + path)) {
final var expected = new String(in.readAllBytes(), StandardCharsets.UTF_8);
final var actual = generator.generate(request);
assertEquals(expected, actual);
} catch (final IOException e) {
throw new RuntimeException(e);
}
}
public static void main(final String[] args) {
//Generates the test cases
try {
Platform.startup(() -> {
final var generator = new GeneratorImpl();
final var files = List.of("Controls", "Includes");
for (final var file : files) {
for (final var field : ControllerFieldInjectionTypes.values()) {
for (final var method : ControllerMethodsInjectionType.values()) {
for (final var bundle : ResourceBundleInjectionTypes.values()) {
final var request = getRequest(file, field, method, bundle);
final var content = generator.generate(request);
final var path = Paths.get(getPath(file, field, method, bundle));
try {
Files.writeString(path, content);
} catch (final IOException e) {
throw new RuntimeException(e);
}
}
}
}
}
});
} finally {
Platform.exit();
}
}
private static String getPath(final String file, final ControllerFieldInjectionTypes field, final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes bundle) {
return "expected-" + file.toLowerCase() + "-" + field.name().toLowerCase() + "-" + method.name().toLowerCase() + "-" + bundle.name().replace("_", "").toLowerCase() + ".txt";
}
private static GenerationRequest getRequest(final String file, final ControllerFieldInjectionTypes field, final ControllerMethodsInjectionType method, final ResourceBundleInjectionTypes bundle) {
return CompletableFuture.supplyAsync(() -> {
final var controlsControllerInfo = new ControllerInfoImpl(Map.of("keyPressed", false, "mouseClicked", false),
GENERIC_TYPES);
final var includesControllerInfo = new ControllerInfoImpl(Map.of(), Map.of());
final var controllerInfo = file.equals("Controls") ? controlsControllerInfo : includesControllerInfo;
final var resourceBundlePath = "com.github.gtache.fxml.compiler.impl." + file + "Bundle";
final var viewPath = "/com/github/gtache/fxml/compiler/impl/" + file + "View.fxml";
final var listener = new ParsingLoadListener();
final var loader = new FXMLLoader(TestGeneratorImpl.class.getResource(viewPath));
loader.setLoadListener(listener);
loader.setResources(ResourceBundle.getBundle(resourceBundlePath));
try {
loader.load();
} catch (final IOException e) {
throw new RuntimeException(e);
}
final var root = listener.root();
return new GenerationRequestImpl(
new GenerationParametersImpl(Map.of(
"com.github.gtache.fxml.compiler.impl.ControlsController", new ControllerInjectionImpl(field, method,
"com.github.gtache.fxml.compiler.impl.ControlsController"),
"com.github.gtache.fxml.compiler.impl.IncludesController", new ControllerInjectionImpl(field, method,
"com.github.gtache.fxml.compiler.impl.IncludesController")),
Map.of("controlsView.fxml", "com.github.gtache.fxml.compiler.impl.ControlsView"),
Map.of("controlsView.fxml", "com.github.gtache.fxml.compiler.impl.ControlsController"),
new ResourceBundleInjectionImpl(bundle, resourceBundlePath)
),
controllerInfo,
root,
"com.github.gtache.fxml.compiler.impl." + file + "Controller"
);
}, Platform::runLater).join();
}
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 field : ControllerFieldInjectionTypes.values()) {
for (final var method : ControllerMethodsInjectionType.values()) {
for (final var bundle : ResourceBundleInjectionTypes.values()) {
list.add(Arguments.of(file, field, method, bundle));
}
}
}
}
return list.stream();
}
}

View File

@@ -1,439 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class AssignIncludeView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.IncludeController controller;
/**
* Instantiates a new AssignIncludeView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public AssignIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new AssignIncludeView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public AssignIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, resourceBundle));
}
/**
* Instantiates a new AssignIncludeView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public AssignIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new AssignIncludeView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public AssignIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
controller = (com.github.gtache.fxml.compiler.loader.IncludeController) controllersMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.IncludeController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,198 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class AssignTestView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.TestController controller;
/**
* Instantiates a new AssignTestView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public AssignTestView(final com.github.gtache.fxml.compiler.loader.TestController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new AssignTestView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public AssignTestView(final com.github.gtache.fxml.compiler.loader.TestController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, resourceBundle));
}
/**
* Instantiates a new AssignTestView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public AssignTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new AssignTestView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public AssignTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
controller = (com.github.gtache.fxml.compiler.loader.TestController) controllersMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var class0 = includeControllersMap.get("includeView.fxml");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle");
map0.put(class0, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.loader.AssignIncludeView(controllersMap, includeControllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.includeController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.TestController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,128 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Level;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.Setup;
import org.openjdk.jmh.annotations.State;
import java.io.IOException;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.concurrent.CompletableFuture;
@Fork(1)
@State(Scope.Benchmark)
public class CreationBenchmark {
public static void main(final String[] args) throws java.io.IOException {
org.openjdk.jmh.Main.main(args);
}
@Setup(Level.Trial)
public void setup() {
Platform.startup(() -> {
});
}
@Benchmark
public Object useFXMLLoader() {
return CompletableFuture.supplyAsync(() -> {
final var loader = new FXMLLoader(getClass().getResource("/com/github/gtache/fxml/compiler/loader/includeView.fxml"));
loader.setResources(ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle"));
try {
return loader.load();
} catch (final IOException e) {
throw new RuntimeException(e);
}
}, Platform::runLater).join();
}
@Benchmark
public Object useFXMLLoaderInclude() {
return CompletableFuture.supplyAsync(() -> {
final var loader = new FXMLLoader(getClass().getResource("/com/github/gtache/fxml/compiler/loader/testView.fxml"));
loader.setResources(ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"));
try {
return loader.load();
} catch (final IOException e) {
throw new RuntimeException(e);
}
}, Platform::runLater).join();
}
@Benchmark
public Object useReflection() {
return CompletableFuture.supplyAsync(() -> {
final var view = new ReflectionIncludeView(new IncludeController(), ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle"));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useReflectionInclude() {
return CompletableFuture.supplyAsync(() -> {
final var view = new ReflectionTestView(Map.of(TestController.class, new TestController(), IncludeController.class, new IncludeController()), Map.of("includeView.fxml", IncludeController.class),
Map.of(TestController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"),
IncludeController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle")));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useAssignment() {
return CompletableFuture.supplyAsync(() -> {
final var view = new AssignIncludeView(new IncludeController(), ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle"));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useAssignmentInclude() {
return CompletableFuture.supplyAsync(() -> {
final var view = new AssignTestView(Map.of(TestController.class, new TestController(), IncludeController.class, new IncludeController()), Map.of("includeView.fxml", IncludeController.class),
Map.of(TestController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"),
IncludeController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle")));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useFactory() {
return CompletableFuture.supplyAsync(() -> {
final var view = new FactoryIncludeView(c -> new IncludeController(), ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle"));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useFactoryInclude() {
return CompletableFuture.supplyAsync(() -> {
final var view = new FactoryIncludeView(Map.of(TestController.class, c -> new TestController(), IncludeController.class, c -> new IncludeController()), Map.of("includeView.fxml", IncludeController.class),
Map.of(TestController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"),
IncludeController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle")));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useSetters() {
return CompletableFuture.supplyAsync(() -> {
final var view = new SettersIncludeView(new IncludeController(), ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle"));
return view.load();
}, Platform::runLater).join();
}
@Benchmark
public Object useSettersInclude() {
return CompletableFuture.supplyAsync(() -> {
final var view = new SettersIncludeView(Map.of(TestController.class, new TestController(), IncludeController.class, new IncludeController()), Map.of("includeView.fxml", IncludeController.class),
Map.of(TestController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"),
IncludeController.class, ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle")));
return view.load();
}, Platform::runLater).join();
}
}

View File

@@ -1,444 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class FactoryIncludeView {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.IncludeController controller;
/**
* Instantiates a new FactoryIncludeView with no nested controllers and no resource bundle
*
* @param controllerFactory The controller factory
*/
public FactoryIncludeView(final ControllerFactory<com.github.gtache.fxml.compiler.loader.IncludeController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controllerFactory), Map.of(), Map.of());
}
/**
* Instantiates a new FactoryIncludeView with no nested controllers
*
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public FactoryIncludeView(final ControllerFactory<com.github.gtache.fxml.compiler.loader.IncludeController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controllerFactory), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, resourceBundle));
}
/**
* Instantiates a new FactoryIncludeView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller factory
* @param includeControllersMap The map of source to controller class
*/
public FactoryIncludeView(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new FactoryIncludeView with nested controllers
*
* @param controllersMap The map of controller class to controller factory
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public FactoryIncludeView(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
controller = (com.github.gtache.fxml.compiler.loader.IncludeController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.IncludeController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,202 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class FactoryTestView {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.TestController controller;
/**
* Instantiates a new FactoryTestView with no nested controllers and no resource bundle
*
* @param controllerFactory The controller factory
*/
public FactoryTestView(final ControllerFactory<com.github.gtache.fxml.compiler.loader.TestController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controllerFactory), Map.of(), Map.of());
}
/**
* Instantiates a new FactoryTestView with no nested controllers
*
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public FactoryTestView(final ControllerFactory<com.github.gtache.fxml.compiler.loader.TestController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controllerFactory), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, resourceBundle));
}
/**
* Instantiates a new FactoryTestView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller factory
* @param includeControllersMap The map of source to controller class
*/
public FactoryTestView(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new FactoryTestView with nested controllers
*
* @param controllersMap The map of controller class to controller factory
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public FactoryTestView(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var class0 = includeControllersMap.get("includeView.fxml");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle");
map0.put(class0, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.loader.FactoryIncludeView(controllersMap, includeControllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("includeController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
controller = (com.github.gtache.fxml.compiler.loader.TestController) controllerFactory.create(fieldMap);
object9.setOnAction(controller::playPressed);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.TestController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,489 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.fxml.FXML;
import javafx.scene.control.*;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.scene.media.MediaView;
import javafx.scene.paint.Color;
import javafx.scene.web.HTMLEditor;
import javafx.scene.web.WebView;
public class IncludeController {
@FXML
GridPane gridPane;
@FXML
Button button;
@FXML
CheckBox checkBox;
@FXML
ChoiceBox<String> choiceBox;
@FXML
ColorPicker colorPicker;
@FXML
ComboBox comboBox;
@FXML
DatePicker datePicker;
@FXML
HTMLEditor htmlEditor;
@FXML
Hyperlink hyperlink;
@FXML
ImageView imageView;
@FXML
Label label;
@FXML
ListView<Label> listView;
@FXML
MediaView mediaView;
@FXML
MenuBar menuBar;
@FXML
MenuButton menuButton;
@FXML
Pagination pagination;
@FXML
PasswordField passwordField;
@FXML
ProgressBar progressBar;
@FXML
ProgressIndicator progressIndicator;
@FXML
RadioButton radioButton;
@FXML
ScrollBar scrollBarH;
@FXML
ScrollBar scrollBarV;
@FXML
Separator separatorH;
@FXML
Separator separatorV;
@FXML
Slider sliderH;
@FXML
Slider sliderV;
@FXML
Spinner<Double> spinner;
@FXML
SplitMenuButton splitMenuButton;
@FXML
TableView<TextArea> tableView;
@FXML
TextArea textArea;
@FXML
TextField textField;
@FXML
TreeTableView<TreeItem<String>> treeTableView;
@FXML
TreeView<String> treeView;
@FXML
TreeTableColumn<TreeItem<String>, String> treeTableColumn1;
@FXML
TreeTableColumn<TreeItem<String>, Integer> treeTableColumn2;
@FXML
TableColumn<TextArea, Float> tableColumn1;
@FXML
TableColumn<TextArea, String> tableColumn2;
@FXML
WebView webView;
@FXML
MenuItem item1;
@FXML
MenuItem item2;
@FXML
Menu menu1;
@FXML
MenuItem menuItem1;
@FXML
Color color;
@FXML
void inputMethodTextChanged(final javafx.scene.input.InputMethodEvent inputMethodEvent) {
}
@FXML
void keyPressed() {
}
@FXML
void keyReleased(final javafx.scene.input.KeyEvent keyEvent) {
}
@FXML
void keyTyped(final javafx.scene.input.KeyEvent keyEvent) {
}
@FXML
void dragDetected(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void dragDone(final javafx.scene.input.DragEvent dragEvent) {
}
@FXML
void dragDropped(final javafx.scene.input.DragEvent dragEvent) {
}
@FXML
void dragEntered(final javafx.scene.input.DragEvent dragEvent) {
}
@FXML
void dragExited(final javafx.scene.input.DragEvent dragEvent) {
}
@FXML
void dragOver(final javafx.scene.input.DragEvent dragEvent) {
}
@FXML
void mouseDragEntered(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
}
@FXML
void mouseDragExited(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
}
@FXML
void mouseDragOver(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
}
@FXML
void mouseDragReleased(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
}
@FXML
void contextMenuRequested(final javafx.scene.input.ContextMenuEvent contextMenuEvent) {
}
@FXML
void mouseClicked() {
}
@FXML
void mouseDragged(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void mouseEntered(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void mouseExited(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void mouseMoved(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void mousePressed(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void mouseReleased(final javafx.scene.input.MouseEvent mouseEvent) {
}
@FXML
void onScroll(final javafx.scene.input.ScrollEvent scrollEvent) {
}
@FXML
void onScrollFinished(final javafx.scene.input.ScrollEvent scrollEvent) {
}
@FXML
void onScrollStarted(final javafx.scene.input.ScrollEvent scrollEvent) {
}
@FXML
void onZoom(final javafx.scene.input.ZoomEvent zoomEvent) {
}
@FXML
void onZoomFinished(final javafx.scene.input.ZoomEvent zoomEvent) {
}
@FXML
void onZoomStarted(final javafx.scene.input.ZoomEvent zoomEvent) {
}
@FXML
void onAction(final javafx.event.ActionEvent actionEvent) {
}
@FXML
void onRotate(final javafx.scene.input.RotateEvent rotateEvent) {
}
@FXML
void onRotationFinished(final javafx.scene.input.RotateEvent rotateEvent) {
}
@FXML
void onRotationStarted(final javafx.scene.input.RotateEvent rotateEvent) {
}
@FXML
void onEditCancel(final javafx.scene.control.TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
}
@FXML
void onEditCommit(final javafx.scene.control.TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
}
@FXML
void onEditStart(final javafx.scene.control.TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
}
@FXML
void onSwipeDown(final javafx.scene.input.SwipeEvent swipeEvent) {
}
@FXML
void onSwipeLeft(final javafx.scene.input.SwipeEvent swipeEvent) {
}
@FXML
void onSwipeRight(final javafx.scene.input.SwipeEvent swipeEvent) {
}
@FXML
void onSwipeUp(final javafx.scene.input.SwipeEvent swipeEvent) {
}
@FXML
void onTouchMoved(final javafx.scene.input.TouchEvent touchEvent) {
}
@FXML
void onTouchPressed(final javafx.scene.input.TouchEvent touchEvent) {
}
@FXML
void onTouchReleased(final javafx.scene.input.TouchEvent touchEvent) {
}
@FXML
void onTouchStationary(final javafx.scene.input.TouchEvent touchEvent) {
}
void initialize() {
}
public void setGridPane(final GridPane gridPane) {
this.gridPane = gridPane;
}
public void setButton(final Button button) {
this.button = button;
}
public void setCheckBox(final CheckBox checkBox) {
this.checkBox = checkBox;
}
public void setChoiceBox(final ChoiceBox<String> choiceBox) {
this.choiceBox = choiceBox;
}
public void setColorPicker(final ColorPicker colorPicker) {
this.colorPicker = colorPicker;
}
public void setComboBox(final ComboBox comboBox) {
this.comboBox = comboBox;
}
public void setDatePicker(final DatePicker datePicker) {
this.datePicker = datePicker;
}
public void setHtmlEditor(final HTMLEditor htmlEditor) {
this.htmlEditor = htmlEditor;
}
public void setHyperlink(final Hyperlink hyperlink) {
this.hyperlink = hyperlink;
}
public void setImageView(final ImageView imageView) {
this.imageView = imageView;
}
public void setLabel(final Label label) {
this.label = label;
}
public void setListView(final ListView<Label> listView) {
this.listView = listView;
}
public void setMediaView(final MediaView mediaView) {
this.mediaView = mediaView;
}
public void setMenuBar(final MenuBar menuBar) {
this.menuBar = menuBar;
}
public void setMenuButton(final MenuButton menuButton) {
this.menuButton = menuButton;
}
public void setPagination(final Pagination pagination) {
this.pagination = pagination;
}
public void setPasswordField(final PasswordField passwordField) {
this.passwordField = passwordField;
}
public void setProgressBar(final ProgressBar progressBar) {
this.progressBar = progressBar;
}
public void setProgressIndicator(final ProgressIndicator progressIndicator) {
this.progressIndicator = progressIndicator;
}
public void setRadioButton(final RadioButton radioButton) {
this.radioButton = radioButton;
}
public void setScrollBarH(final ScrollBar scrollBarH) {
this.scrollBarH = scrollBarH;
}
public void setScrollBarV(final ScrollBar scrollBarV) {
this.scrollBarV = scrollBarV;
}
public void setSeparatorH(final Separator separatorH) {
this.separatorH = separatorH;
}
public void setSeparatorV(final Separator separatorV) {
this.separatorV = separatorV;
}
public void setSliderH(final Slider sliderH) {
this.sliderH = sliderH;
}
public void setSliderV(final Slider sliderV) {
this.sliderV = sliderV;
}
public void setSpinner(final Spinner<Double> spinner) {
this.spinner = spinner;
}
public void setSplitMenuButton(final SplitMenuButton splitMenuButton) {
this.splitMenuButton = splitMenuButton;
}
public void setTableView(final TableView<TextArea> tableView) {
this.tableView = tableView;
}
public void setTextArea(final TextArea textArea) {
this.textArea = textArea;
}
public void setTextField(final TextField textField) {
this.textField = textField;
}
public void setTreeTableView(final TreeTableView<TreeItem<String>> treeTableView) {
this.treeTableView = treeTableView;
}
public void setTreeView(final TreeView<String> treeView) {
this.treeView = treeView;
}
public void setTreeTableColumn1(final TreeTableColumn<TreeItem<String>, String> treeTableColumn1) {
this.treeTableColumn1 = treeTableColumn1;
}
public void setTreeTableColumn2(final TreeTableColumn<TreeItem<String>, Integer> treeTableColumn2) {
this.treeTableColumn2 = treeTableColumn2;
}
public void setTableColumn1(final TableColumn<TextArea, Float> tableColumn1) {
this.tableColumn1 = tableColumn1;
}
public void setTableColumn2(final TableColumn<TextArea, String> tableColumn2) {
this.tableColumn2 = tableColumn2;
}
public void setWebView(final WebView webView) {
this.webView = webView;
}
public void setItem1(final MenuItem item1) {
this.item1 = item1;
}
public void setItem2(final MenuItem item2) {
this.item2 = item2;
}
public void setMenu1(final Menu menu1) {
this.menu1 = menu1;
}
public void setMenuItem1(final MenuItem menuItem1) {
this.menuItem1 = menuItem1;
}
public void setColor(final Color color) {
this.color = color;
}
}

View File

@@ -1,10 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.application.Application;
public class Main {
public static void main(String[] args) {
Application.launch(TestApp.class);
}
}

View File

@@ -1,96 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.fxml.LoadListener;
public class PrintLoadListener implements LoadListener {
@Override
public void readImportProcessingInstruction(final String target) {
System.out.println("import : " + target);
}
@Override
public void readLanguageProcessingInstruction(final String language) {
System.out.println("language : " + language);
}
@Override
public void readComment(final String comment) {
System.out.println("comment : " + comment);
}
@Override
public void beginInstanceDeclarationElement(final Class<?> type) {
System.out.println("begin instance declaration : " + type);
}
@Override
public void beginUnknownTypeElement(final String name) {
System.out.println("begin unknown type : " + name);
}
@Override
public void beginIncludeElement() {
System.out.println("beginInclude");
}
@Override
public void beginReferenceElement() {
System.out.println("beginReference");
}
@Override
public void beginCopyElement() {
System.out.println("beginCopy");
}
@Override
public void beginRootElement() {
System.out.println("beginRoot");
}
@Override
public void beginPropertyElement(final String name, final Class<?> sourceType) {
System.out.println("begin property : " + name + " (" + sourceType + ")");
}
@Override
public void beginUnknownStaticPropertyElement(final String name) {
System.out.println("begin unknown static property : " + name);
}
@Override
public void beginScriptElement() {
System.out.println("begin script");
}
@Override
public void beginDefineElement() {
System.out.println("begin define");
}
@Override
public void readInternalAttribute(final String name, final String value) {
System.out.println("read internal attribute : " + name + " = " + value);
}
@Override
public void readPropertyAttribute(final String name, final Class<?> sourceType, final String value) {
System.out.println("read property attribute : " + name + " (" + sourceType + ") = " + value);
}
@Override
public void readUnknownStaticPropertyAttribute(final String name, final String value) {
System.out.println("read unknown static property attribute : " + name + " = " + value);
}
@Override
public void readEventHandlerAttribute(final String name, final String value) {
System.out.println("read event handler attribute : " + name + " = " + value);
}
@Override
public void endElement(final Object value) {
System.out.println("end element : " + value.getClass() + " - " + value);
}
}

View File

@@ -1,494 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.event.Event;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class ReflectionIncludeView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.IncludeController controller;
/**
* Instantiates a new ReflectionIncludeView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public ReflectionIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new ReflectionIncludeView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ReflectionIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, resourceBundle));
}
/**
* Instantiates a new ReflectionIncludeView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public ReflectionIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new ReflectionIncludeView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ReflectionIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
controller = (com.github.gtache.fxml.compiler.loader.IncludeController) controllersMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox<>();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<>();
injectField("treeView", object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.IncludeController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,253 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.event.Event;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class ReflectionTestView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.TestController controller;
/**
* Instantiates a new ReflectionTestView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public ReflectionTestView(final com.github.gtache.fxml.compiler.loader.TestController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new ReflectionTestView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ReflectionTestView(final com.github.gtache.fxml.compiler.loader.TestController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, resourceBundle));
}
/**
* Instantiates a new ReflectionTestView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public ReflectionTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new ReflectionTestView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ReflectionTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
controller = (com.github.gtache.fxml.compiler.loader.TestController) controllersMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var class0 = includeControllersMap.get("includeView.fxml");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle");
map0.put(class0, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.loader.ReflectionIncludeView(controllersMap, includeControllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("includeController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.TestController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,439 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class SettersIncludeView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.IncludeController controller;
/**
* Instantiates a new SettersIncludeView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public SettersIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new SettersIncludeView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public SettersIncludeView(final com.github.gtache.fxml.compiler.loader.IncludeController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.IncludeController.class, resourceBundle));
}
/**
* Instantiates a new SettersIncludeView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public SettersIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new SettersIncludeView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public SettersIncludeView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
controller = (com.github.gtache.fxml.compiler.loader.IncludeController) controllersMap.get(com.github.gtache.fxml.compiler.loader.IncludeController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.IncludeController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,198 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
/**
* Generated code, not thread-safe
*/
public final class SettersTestView {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private final Map<String, Class<?>> includeControllersMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.loader.TestController controller;
/**
* Instantiates a new SettersTestView with no nested controllers and no resource bundle
*
* @param controller The controller
*/
public SettersTestView(final com.github.gtache.fxml.compiler.loader.TestController controller) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of());
}
/**
* Instantiates a new SettersTestView with no nested controllers
*
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public SettersTestView(final com.github.gtache.fxml.compiler.loader.TestController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, controller), Map.of(), Map.of(com.github.gtache.fxml.compiler.loader.TestController.class, resourceBundle));
}
/**
* Instantiates a new SettersTestView with nested controllers and no resource bundle
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
*/
public SettersTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap) {
this(controllersMap, includeControllersMap, Map.of());
}
/**
* Instantiates a new SettersTestView with nested controllers
*
* @param controllersMap The map of controller class to controller
* @param includeControllersMap The map of source to controller class
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public SettersTestView(final Map<Class<?>, Object> controllersMap, final Map<String, Class<?>> includeControllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.includeControllersMap = Map.copyOf(includeControllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
controller = (com.github.gtache.fxml.compiler.loader.TestController) controllersMap.get(com.github.gtache.fxml.compiler.loader.TestController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var class0 = includeControllersMap.get("includeView.fxml");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.IncludeBundle");
map0.put(class0, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.loader.SettersIncludeView(controllersMap, includeControllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setIncludeController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.loader.TestController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -1,56 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import com.github.gtache.fxml.compiler.impl.ControllerFieldInjectionTypes;
import com.github.gtache.fxml.compiler.impl.ControllerInfoImpl;
import com.github.gtache.fxml.compiler.impl.ControllerInjectionImpl;
import com.github.gtache.fxml.compiler.impl.ControllerMethodsInjectionType;
import com.github.gtache.fxml.compiler.impl.GenerationParametersImpl;
import com.github.gtache.fxml.compiler.impl.GenerationRequestImpl;
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
import com.github.gtache.fxml.compiler.impl.ResourceBundleInjectionImpl;
import com.github.gtache.fxml.compiler.impl.ResourceBundleInjectionTypes;
import com.github.gtache.fxml.compiler.parsing.listener.ParsingLoadListener;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.fxml.FXMLLoader;
import javafx.stage.Stage;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
public class TestApp extends Application {
@Override
public void start(final Stage primaryStage) throws Exception {
final var loader = new FXMLLoader(getClass().getResource("testView.fxml"));
final var listener = new ParsingLoadListener();
loader.setLoadListener(listener);
loader.setResources(ResourceBundle.getBundle("com.github.gtache.fxml.compiler.loader.TestBundle"));
loader.load();
final var genericTypes = new HashMap<String, List<String>>();
genericTypes.put("choiceBox", List.of("String"));
genericTypes.put("listView", List.of("javafx.scene.control.Label"));
genericTypes.put("spinner", List.of("Double"));
genericTypes.put("tableView", List.of("javafx.scene.control.TextArea"));
genericTypes.put("treeView", List.of("String"));
genericTypes.put("treeTableView", List.of("javafx.scene.control.TreeItem<String>"));
genericTypes.put("treeTableColumn1", List.of("javafx.scene.control.TreeItem<String>", "String"));
genericTypes.put("treeTableColumn2", List.of("javafx.scene.control.TreeItem<String>", "Integer"));
genericTypes.put("tableColumn1", List.of("javafx.scene.control.TextArea", "Float"));
genericTypes.put("tableColumn2", List.of("javafx.scene.control.TextArea", "String"));
final var includeControllerInfo = new ControllerInfoImpl(Map.of("keyPressed", false, "mouseClicked", false),
genericTypes);
final var parameters = new GenerationParametersImpl(Map.of(
"com.github.gtache.fxml.compiler.loader.IncludeController", new ControllerInjectionImpl(ControllerFieldInjectionTypes.REFLECTION, ControllerMethodsInjectionType.REFLECTION,
"com.github.gtache.fxml.compiler.loader.IncludeController"),
"com.github.gtache.fxml.compiler.loader.TestController", new ControllerInjectionImpl(ControllerFieldInjectionTypes.REFLECTION, ControllerMethodsInjectionType.REFLECTION,
"com.github.gtache.fxml.compiler.loader.TestController")),
Map.of("includeView.fxml", "com.github.gtache.fxml.compiler.loader.ReflectionIncludeView"),
Map.of("includeView.fxml", "com.github.gtache.fxml.compiler.loader.IncludeController"),
new ResourceBundleInjectionImpl(ResourceBundleInjectionTypes.CONSTRUCTOR, "com.github.gtache.fxml.compiler.loader.TestBundle"));
final var request = new GenerationRequestImpl(parameters, includeControllerInfo, listener.root(), "com.github.gtache.fxml.compiler.loader.ReflectionTestView");
System.out.println(new GeneratorImpl().generate(request));
Platform.exit();
}
}

View File

@@ -1,179 +0,0 @@
package com.github.gtache.fxml.compiler.loader;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.Group;
import javafx.scene.control.*;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Pane;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox;
import javafx.scene.text.TextFlow;
public class TestController {
@FXML
StackPane stackPane;
@FXML
Slider volumeSlider;
@FXML
Label volumeValueLabel;
@FXML
Button playButton;
@FXML
Label playLabel;
@FXML
Slider playSlider;
@FXML
IncludeController includeController;
@FXML
VBox vbox;
@FXML
ToolBar toolBar;
@FXML
TitledPane titledPane;
@FXML
TilePane tilePane;
@FXML
TextFlow textFlow;
@FXML
TabPane tabPane;
@FXML
Tab tab;
@FXML
SplitPane splitPane;
@FXML
ScrollPane scrollPane;
@FXML
Pane pane;
@FXML
HBox hbox;
@FXML
Group group;
@FXML
GridPane gridPane;
@FXML
ColumnConstraints columnConstraints;
@FXML
FlowPane flowPane;
@FXML
DialogPane dialogPane;
@FXML
ButtonBar buttonBar;
@FXML
AnchorPane anchorPane;
@FXML
void initialize() {
}
@FXML
void playPressed(final ActionEvent actionEvent) {
}
public void setStackPane(final StackPane stackPane) {
this.stackPane = stackPane;
}
public void setVolumeSlider(final Slider volumeSlider) {
this.volumeSlider = volumeSlider;
}
public void setVolumeValueLabel(final Label volumeValueLabel) {
this.volumeValueLabel = volumeValueLabel;
}
public void setPlayButton(final Button playButton) {
this.playButton = playButton;
}
public void setPlayLabel(final Label playLabel) {
this.playLabel = playLabel;
}
public void setPlaySlider(final Slider playSlider) {
this.playSlider = playSlider;
}
public void setIncludeController(final IncludeController includeController) {
this.includeController = includeController;
}
public void setVbox(final VBox vbox) {
this.vbox = vbox;
}
public void setToolBar(final ToolBar toolBar) {
this.toolBar = toolBar;
}
public void setTitledPane(final TitledPane titledPane) {
this.titledPane = titledPane;
}
public void setTilePane(final TilePane tilePane) {
this.tilePane = tilePane;
}
public void setTextFlow(final TextFlow textFlow) {
this.textFlow = textFlow;
}
public void setTabPane(final TabPane tabPane) {
this.tabPane = tabPane;
}
public void setTab(final Tab tab) {
this.tab = tab;
}
public void setSplitPane(final SplitPane splitPane) {
this.splitPane = splitPane;
}
public void setScrollPane(final ScrollPane scrollPane) {
this.scrollPane = scrollPane;
}
public void setPane(final Pane pane) {
this.pane = pane;
}
public void setHbox(final HBox hbox) {
this.hbox = hbox;
}
public void setGroup(final Group group) {
this.group = group;
}
public void setGridPane(final GridPane gridPane) {
this.gridPane = gridPane;
}
public void setColumnConstraints(final ColumnConstraints columnConstraints) {
this.columnConstraints = columnConstraints;
}
public void setFlowPane(final FlowPane flowPane) {
this.flowPane = flowPane;
}
public void setDialogPane(final DialogPane dialogPane) {
this.dialogPane = dialogPane;
}
public void setButtonBar(final ButtonBar buttonBar) {
this.buttonBar = buttonBar;
}
public void setAnchorPane(final AnchorPane anchorPane) {
this.anchorPane = anchorPane;
}
}

View File

@@ -0,0 +1,17 @@
package com.github.gtache.fxml.compiler.parsing.listener;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
public class LoadController {
@FXML
private Slider playSlider;
@FXML
private Label playLabel;
@FXML
private void mouseClicked() {
}
}

View File

@@ -0,0 +1,273 @@
package com.github.gtache.fxml.compiler.parsing.listener;
import com.github.gtache.fxml.compiler.parsing.impl.ParsedIncludeImpl;
import com.github.gtache.fxml.compiler.parsing.impl.ParsedObjectImpl;
import com.github.gtache.fxml.compiler.parsing.impl.ParsedPropertyImpl;
import javafx.application.Platform;
import javafx.event.EventHandler;
import javafx.fxml.FXMLLoader;
import javafx.geometry.Insets;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.io.IOException;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.SequencedMap;
import java.util.concurrent.CompletableFuture;
import static org.junit.jupiter.api.Assertions.*;
class TestParsingLoadListener {
private final ParsingLoadListener listener;
TestParsingLoadListener() {
this.listener = new ParsingLoadListener();
}
@BeforeAll
static void beforeAll() {
try {
Platform.startup(() -> {
});
} catch (final IllegalStateException ignored) {
}
}
@Test
void testRealCase() {
final var expected = new ParsedObjectImpl(BorderPane.class,
newLinkedHashMap("fx:controller", new ParsedPropertyImpl("fx:controller", null, "com.github.gtache.fxml.compiler.parsing.listener.LoadController")),
newLinkedHashMap(new ParsedPropertyImpl("bottom", null, null),
List.of(new ParsedObjectImpl(VBox.class,
newLinkedHashMap("alignment", new ParsedPropertyImpl("alignment", BorderPane.class, "CENTER")),
newLinkedHashMap(new ParsedPropertyImpl("children", null, null), List.of(
new ParsedObjectImpl(Slider.class,
newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "playSlider"), "hgrow", new ParsedPropertyImpl("hgrow", HBox.class, "ALWAYS")),
newLinkedHashMap(new ParsedPropertyImpl("padding", null, null),
List.of(new ParsedObjectImpl(Insets.class,
newLinkedHashMap("left", new ParsedPropertyImpl("left", null, "10.0")),
newLinkedHashMap())))),
new ParsedObjectImpl(Label.class,
newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "playLabel"), "text", new ParsedPropertyImpl("text", null, "Label"), "onMouseClicked", new ParsedPropertyImpl("onMouseClicked", EventHandler.class, "#mouseClicked")),
newLinkedHashMap(new ParsedPropertyImpl("padding", null, null),
List.of(new ParsedObjectImpl(Insets.class,
newLinkedHashMap("right", new ParsedPropertyImpl("right", null, "10.0")),
newLinkedHashMap())))),
new ParsedIncludeImpl(
newLinkedHashMap("source", new ParsedPropertyImpl("source", null, "includedView.fxml"), "resources", new ParsedPropertyImpl("resources", null, "com/github/gtache/fxml/compiler/parsing/listener/IncludedBundle"), "fx:id", new ParsedPropertyImpl("fx:id", null, "id")))
)))),
new ParsedPropertyImpl("center", null, null),
List.of(new ParsedObjectImpl(VBox.class, newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "vbox")), newLinkedHashMap()))
));
final var actual = CompletableFuture.supplyAsync(() -> {
final var loader = new FXMLLoader(TestParsingLoadListener.class.getResource("loadView.fxml"));
loader.setLoadListener(listener);
try {
loader.load();
} catch (final IOException e) {
throw new RuntimeException(e);
}
return listener.root();
}, Platform::runLater).join();
assertEquals(expected, actual);
}
private static <K, V> SequencedMap<K, V> newLinkedHashMap() {
return new LinkedHashMap<K, V>();
}
private static <K, V> SequencedMap<K, V> newLinkedHashMap(final K k1, final V v1) {
final var map = new LinkedHashMap<K, V>();
map.put(k1, v1);
return map;
}
private static <K, V> SequencedMap<K, V> newLinkedHashMap(final K k1, final V v1, final K k2, final V v2) {
final var map = new LinkedHashMap<K, V>();
map.put(k1, v1);
map.put(k2, v2);
return map;
}
private static <K, V> SequencedMap<K, V> newLinkedHashMap(final K k1, final V v1, final K k2, final V v2, final K k3, final V v3) {
final var map = new LinkedHashMap<K, V>();
map.put(k1, v1);
map.put(k2, v2);
map.put(k3, v3);
return map;
}
@Test
void testRootNullObjects() {
assertThrows(IllegalStateException.class, listener::root);
}
@Test
void testRootOneObject() {
listener.beginInstanceDeclarationElement(String.class);
listener.endElement("");
final var expected = new ParsedObjectImpl(String.class, new LinkedHashMap<>(), new LinkedHashMap<>());
assertEquals(expected, listener.root());
}
@Test
void testRootTwoObjects() {
listener.beginInstanceDeclarationElement(String.class);
listener.endElement("");
listener.beginInstanceDeclarationElement(String.class);
listener.endElement("");
assertThrows(IllegalStateException.class, listener::root);
}
@Test
void testReadImportProcessingInstruction() {
listener.beginInstanceDeclarationElement(String.class);
listener.beginPropertyElement("name", null);
listener.beginInstanceDeclarationElement(String.class);
final var element = "element";
listener.endElement(element);
listener.readImportProcessingInstruction("test");
listener.endElement(element);
assertThrows(IllegalStateException.class, () -> listener.endElement("other"));
}
@Test
void testReadLanguageProcessingInstruction() {
listener.beginInstanceDeclarationElement(String.class);
listener.beginPropertyElement("name", null);
listener.beginInstanceDeclarationElement(String.class);
final var element = "element";
listener.endElement(element);
listener.readLanguageProcessingInstruction("test");
listener.endElement(element);
assertThrows(IllegalStateException.class, () -> listener.endElement("other"));
}
@Test
void testReadComment() {
listener.beginInstanceDeclarationElement(String.class);
listener.beginPropertyElement("name", null);
listener.beginInstanceDeclarationElement(String.class);
final var element = "element";
listener.endElement(element);
listener.readComment("test");
listener.endElement(element);
assertDoesNotThrow(() -> listener.endElement("other"));
assertDoesNotThrow(listener::root);
}
@Test
void testBeginUnknownTypeElement() {
assertThrows(IllegalArgumentException.class, () -> listener.beginUnknownTypeElement(""));
}
@Test
void testInclude() {
listener.beginInstanceDeclarationElement(Object.class);
listener.beginIncludeElement();
listener.readInternalAttribute("source", "s");
listener.readInternalAttribute("p", "v");
listener.endElement("String");
final var root = listener.root();
final var expected = new ParsedIncludeImpl(new LinkedHashMap<>(Map.of("source",
new ParsedPropertyImpl("source", null, "s"), "p", new ParsedPropertyImpl("p", null, "v"))));
assertEquals(expected, root);
}
@Test
void testBeginNestedIncludeElement() {
listener.beginIncludeElement();
assertThrows(IllegalStateException.class, listener::beginIncludeElement);
}
@Test
void testBeginReferenceElement() {
assertThrows(UnsupportedOperationException.class, listener::beginReferenceElement);
}
@Test
void testBeginCopyElement() {
assertThrows(UnsupportedOperationException.class, listener::beginCopyElement);
}
@Test
void testBeginRootElement() {
assertThrows(UnsupportedOperationException.class, listener::beginRootElement);
}
@Test
void testBeginPropertyElementInclude() {
listener.beginIncludeElement();
assertThrows(IllegalStateException.class, () -> listener.beginPropertyElement("", null));
}
@Test
void testBeginUnknownStaticPropertyElement() {
assertThrows(IllegalArgumentException.class, () -> listener.beginUnknownStaticPropertyElement(""));
}
@Test
void testBeginScriptElement() {
assertThrows(UnsupportedOperationException.class, listener::beginScriptElement);
}
@Test
void testBeginDefineElement() {
assertThrows(UnsupportedOperationException.class, listener::beginDefineElement);
}
@Test
void testReadInternalAttributeNull() {
assertThrows(IllegalStateException.class, () -> listener.readInternalAttribute("name", "value"));
}
@Test
void testReadPropertyAttributeNull() {
assertThrows(IllegalStateException.class, () -> listener.readPropertyAttribute("name", null, "value"));
}
@Test
void testReadPropertyAttributeIsInclude() {
listener.beginIncludeElement();
assertThrows(IllegalStateException.class, () -> listener.readPropertyAttribute("name", null, "value"));
}
@Test
void testReadUnknownStaticPropertyAttribute() {
assertThrows(IllegalArgumentException.class, () -> listener.readUnknownStaticPropertyAttribute("", ""));
}
@Test
void testReadEventHandlerAttributeNull() {
assertThrows(IllegalStateException.class, () -> listener.readEventHandlerAttribute("name", "value"));
}
@Test
void testReadEventHandlerAttributeInclude() {
listener.beginIncludeElement();
assertThrows(IllegalStateException.class, () -> listener.readEventHandlerAttribute("name", "value"));
}
@Test
void testEndPropertyNull() {
listener.beginInstanceDeclarationElement(String.class);
listener.beginInstanceDeclarationElement(String.class);
listener.endElement("");
assertThrows(IllegalStateException.class, () -> listener.endElement(""));
}
@Test
void testEndElementNull() {
assertThrows(IllegalStateException.class, () -> listener.endElement(""));
}
}

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/resources/com/github/gtache/fxml/compiler/impl/ControlsBundle.properties

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/resources/com/github/gtache/fxml/compiler/impl/IncludesBundle.properties

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/resources/com/github/gtache/fxml/compiler/impl/controlsView.fxml

View File

@@ -0,0 +1,425 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,425 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,424 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,469 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,469 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,468 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.gridPane = object0;
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.button = object22;
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.checkBox = object23;
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.choiceBox = object24;
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.colorPicker = object25;
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.color = object26;
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.comboBox = object28;
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.datePicker = object31;
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.htmlEditor = object32;
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.hyperlink = object33;
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.imageView = object34;
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.label = object35;
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.listView = object36;
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.mediaView = object37;
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.menuBar = object38;
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.menu1 = object39;
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.menuItem1 = object40;
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.menuButton = object45;
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.pagination = object49;
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.passwordField = object51;
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.progressBar = object52;
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.progressIndicator = object53;
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.radioButton = object55;
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.scrollBarH = object56;
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.scrollBarV = object57;
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.separatorH = object58;
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.separatorV = object59;
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.sliderH = object60;
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.sliderV = object61;
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.spinner = object62;
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.splitMenuButton = object63;
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.item1 = object64;
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.item2 = object65;
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.tableView = object66;
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.tableColumn1 = object67;
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.tableColumn2 = object68;
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.textArea = object69;
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.textField = object70;
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.treeTableView = object72;
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.treeTableColumn1 = object73;
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.treeTableColumn2 = object74;
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.treeView = object75;
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.webView = object76;
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,428 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,428 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,427 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
object35.setText(controller.resources().getString("include.label"));
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,472 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,472 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,471 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public ControlsController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object0);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
fieldMap.put("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
fieldMap.put("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
fieldMap.put("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
fieldMap.put("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
fieldMap.put("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
fieldMap.put("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
fieldMap.put("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
fieldMap.put("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
fieldMap.put("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
fieldMap.put("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
fieldMap.put("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
fieldMap.put("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
fieldMap.put("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
fieldMap.put("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
fieldMap.put("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
fieldMap.put("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
fieldMap.put("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
fieldMap.put("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
fieldMap.put("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
fieldMap.put("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
fieldMap.put("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
fieldMap.put("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
fieldMap.put("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
fieldMap.put("separatorH", object58);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
fieldMap.put("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
fieldMap.put("sliderH", object60);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
fieldMap.put("sliderV", object61);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
fieldMap.put("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
fieldMap.put("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
fieldMap.put("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
fieldMap.put("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
fieldMap.put("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
fieldMap.put("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
fieldMap.put("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
fieldMap.put("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
fieldMap.put("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
fieldMap.put("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
fieldMap.put("treeTableColumn1", object73);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
fieldMap.put("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
fieldMap.put("treeView", object75);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
fieldMap.put("webView", object76);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllerFactory.create(fieldMap);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
object35.setText(controller.resources().getString("include.label"));
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,434 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,434 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,433 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,478 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,478 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,477 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
injectField("gridPane", object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
injectField("button", object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
injectField("checkBox", object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
injectField("choiceBox", object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
injectField("colorPicker", object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
injectField("color", object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
injectField("comboBox", object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
injectField("datePicker", object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
injectField("htmlEditor", object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
injectField("hyperlink", object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
injectField("imageView", object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
injectField("label", object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
injectField("listView", object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
injectField("mediaView", object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
injectField("menuBar", object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
injectField("menu1", object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
injectField("menuItem1", object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
injectField("menuButton", object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
injectField("pagination", object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
injectField("passwordField", object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
injectField("progressBar", object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
injectField("progressIndicator", object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
injectField("radioButton", object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
injectField("scrollBarH", object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
injectField("scrollBarV", object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
injectField("separatorH", object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
injectField("separatorV", object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
injectField("sliderH", object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
injectField("sliderV", object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
injectField("spinner", object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
injectField("splitMenuButton", object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
injectField("item1", object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
injectField("item2", object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
injectField("tableView", object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
injectField("tableColumn1", object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
injectField("tableColumn2", object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
injectField("textArea", object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
injectField("textField", object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
injectField("treeTableView", object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
injectField("treeTableColumn1", object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
injectField("treeTableColumn2", object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
injectField("treeView", object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
injectField("webView", object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,425 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,425 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,424 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
object0.setOnKeyPressed(e -> controller.keyPressed());
object0.setOnKeyReleased(controller::keyReleased);
object0.setOnKeyTyped(controller::keyTyped);
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(controller::dragDetected);
object58.setOnDragDone(controller::dragDone);
object58.setOnDragDropped(controller::dragDropped);
object58.setOnDragEntered(controller::dragEntered);
object58.setOnDragExited(controller::dragExited);
object58.setOnDragOver(controller::dragOver);
object58.setOnMouseDragEntered(controller::mouseDragEntered);
object58.setOnMouseDragExited(controller::mouseDragExited);
object58.setOnMouseDragOver(controller::mouseDragOver);
object58.setOnMouseDragReleased(controller::mouseDragReleased);
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(controller::contextMenuRequested);
object60.setOnMouseClicked(e -> controller.mouseClicked());
object60.setOnMouseDragged(controller::mouseDragged);
object60.setOnMouseEntered(controller::mouseEntered);
object60.setOnMouseExited(controller::mouseExited);
object60.setOnMouseMoved(controller::mouseMoved);
object60.setOnMousePressed(controller::mousePressed);
object60.setOnMouseReleased(controller::mouseReleased);
object60.setOnScroll(controller::onScroll);
object60.setOnScrollFinished(controller::onScrollFinished);
object60.setOnScrollStarted(controller::onScrollStarted);
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(controller::onZoom);
object61.setOnZoomFinished(controller::onZoomFinished);
object61.setOnZoomStarted(controller::onZoomStarted);
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(controller::onAction);
object71.setOnRotate(controller::onRotate);
object71.setOnRotationFinished(controller::onRotationFinished);
object71.setOnRotationStarted(controller::onRotationStarted);
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(controller::onEditCancel);
object73.setOnEditCommit(controller::onEditCommit);
object73.setOnEditStart(controller::onEditStart);
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(controller::onSwipeDown);
object75.setOnSwipeLeft(controller::onSwipeLeft);
object75.setOnSwipeRight(controller::onSwipeRight);
object75.setOnSwipeUp(controller::onSwipeUp);
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(controller::onTouchMoved);
object76.setOnTouchPressed(controller::onTouchPressed);
object76.setOnTouchReleased(controller::onTouchReleased);
object76.setOnTouchStationary(controller::onTouchStationary);
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,469 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,469 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(bundle.getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,468 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class ControlsController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.ControlsController controller;
/**
* Instantiates a new ControlsController with no nested controllers and no resource bundle
* @param controller The controller
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of());
}
/**
* Instantiates a new ControlsController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public ControlsController(final com.github.gtache.fxml.compiler.impl.ControlsController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.ControlsController.class, resourceBundle));
}
/**
* Instantiates a new ControlsController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public ControlsController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.impl.ControlsController.class);
final var object0 = new javafx.scene.layout.GridPane();
controller.setGridPane(object0);
object0.setOnInputMethodTextChanged(e -> callMethod("inputMethodTextChanged", e));
object0.setOnKeyPressed(e -> callMethod("keyPressed", e));
object0.setOnKeyReleased(e -> callMethod("keyReleased", e));
object0.setOnKeyTyped(e -> callMethod("keyTyped", e));
final var object1 = new javafx.scene.layout.RowConstraints();
final var object2 = new javafx.scene.layout.RowConstraints();
final var object3 = new javafx.scene.layout.RowConstraints();
final var object4 = new javafx.scene.layout.RowConstraints();
final var object5 = new javafx.scene.layout.RowConstraints();
final var object6 = new javafx.scene.layout.RowConstraints();
final var object7 = new javafx.scene.layout.RowConstraints();
final var object8 = new javafx.scene.layout.RowConstraints();
final var object9 = new javafx.scene.layout.RowConstraints();
final var object10 = new javafx.scene.layout.RowConstraints();
final var object11 = new javafx.scene.layout.RowConstraints();
final var object12 = new javafx.scene.layout.RowConstraints();
final var object13 = new javafx.scene.layout.RowConstraints();
final var object14 = new javafx.scene.layout.RowConstraints();
final var object15 = new javafx.scene.layout.RowConstraints();
final var object16 = new javafx.scene.layout.RowConstraints();
final var object17 = new javafx.scene.layout.RowConstraints();
final var object18 = new javafx.scene.layout.RowConstraints();
object0.getRowConstraints().addAll(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18);
final var object19 = new javafx.scene.layout.ColumnConstraints();
final var object20 = new javafx.scene.layout.ColumnConstraints();
final var object21 = new javafx.scene.layout.ColumnConstraints();
object21.setMinWidth(10.0);
object21.setPrefWidth(100.0);
object0.getColumnConstraints().addAll(object19, object20, object21);
final var object22 = new javafx.scene.control.Button();
controller.setButton(object22);
object22.setMnemonicParsing(false);
object22.setText("Button");
final var object23 = new javafx.scene.control.CheckBox();
controller.setCheckBox(object23);
object23.setIndeterminate(true);
object23.setMnemonicParsing(false);
object23.setText("CheckBox");
javafx.scene.layout.GridPane.setColumnIndex(object23, 1);
final var object24 = new javafx.scene.control.ChoiceBox<String>();
controller.setChoiceBox(object24);
object24.setCacheShape(false);
object24.setCenterShape(false);
object24.setDisable(true);
object24.setFocusTraversable(false);
object24.setPrefWidth(150.0);
object24.setScaleShape(false);
object24.setVisible(false);
javafx.scene.layout.GridPane.setRowIndex(object24, 1);
final var object25 = new javafx.scene.control.ColorPicker();
controller.setColorPicker(object25);
object25.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
object25.setOpacity(0.5);
javafx.scene.layout.GridPane.setColumnIndex(object25, 1);
javafx.scene.layout.GridPane.setRowIndex(object25, 1);
final var object26 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
controller.setColor(object26);
object25.setValue(object26);
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object25.setOpaqueInsets(object27);
final var object28 = new javafx.scene.control.ComboBox();
controller.setComboBox(object28);
object28.setEditable(true);
object28.setPrefWidth(150.0);
object28.setPromptText("Text");
object28.setVisibleRowCount(5);
javafx.scene.layout.GridPane.setRowIndex(object28, 2);
final var object29 = javafx.scene.Cursor.CLOSED_HAND;
object28.setCursor(object29);
final var object30 = new javafx.scene.effect.Bloom();
object28.setEffect(object30);
final var object31 = new javafx.scene.control.DatePicker();
controller.setDatePicker(object31);
object31.setShowWeekNumbers(true);
object31.setStyle("-fx-background-color: #ffffff;");
javafx.scene.layout.GridPane.setColumnIndex(object31, 1);
javafx.scene.layout.GridPane.setRowIndex(object31, 2);
final var object32 = new javafx.scene.web.HTMLEditor();
controller.setHtmlEditor(object32);
object32.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
object32.setPrefHeight(200.0);
object32.setPrefWidth(506.0);
object32.getStyleClass().addAll("clazz");
object32.getStylesheets().addAll("@style.css");
javafx.scene.layout.GridPane.setRowIndex(object32, 3);
final var object33 = new javafx.scene.control.Hyperlink();
controller.setHyperlink(object33);
object33.setText("Hyperlink");
javafx.scene.layout.GridPane.setColumnIndex(object33, 1);
javafx.scene.layout.GridPane.setRowIndex(object33, 3);
final var object34 = new javafx.scene.image.ImageView();
controller.setImageView(object34);
object34.setFitHeight(150.0);
object34.setFitWidth(200.0);
object34.setPickOnBounds(true);
object34.setPreserveRatio(true);
javafx.scene.layout.GridPane.setRowIndex(object34, 4);
final var object35 = new javafx.scene.control.Label();
controller.setLabel(object35);
object35.setAccessibleHelp("TTTTT");
object35.setAccessibleText("TTT");
object35.setBlendMode(javafx.scene.effect.BlendMode.ADD);
object35.setCache(true);
object35.setCacheHint(javafx.scene.CacheHint.QUALITY);
object35.setDepthTest(javafx.scene.DepthTest.ENABLE);
object35.setMnemonicParsing(true);
object35.setMouseTransparent(true);
object35.setText(controller.resources().getString("include.label"));
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
javafx.scene.layout.GridPane.setRowIndex(object35, 4);
final var object36 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
controller.setListView(object36);
object36.setFixedCellSize(20.0);
object36.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
object36.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
object36.setPrefHeight(200.0);
object36.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object36, 5);
final var object37 = new javafx.scene.media.MediaView();
controller.setMediaView(object37);
object37.setFitHeight(200.0);
object37.setFitWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
javafx.scene.layout.GridPane.setColumnSpan(object37, 2);
javafx.scene.layout.GridPane.setRowIndex(object37, 5);
javafx.scene.layout.GridPane.setRowSpan(object37, 2);
final var object38 = new javafx.scene.control.MenuBar();
controller.setMenuBar(object38);
javafx.scene.layout.GridPane.setHalignment(object38, javafx.geometry.HPos.RIGHT);
javafx.scene.layout.GridPane.setHgrow(object38, javafx.scene.layout.Priority.ALWAYS);
javafx.scene.layout.GridPane.setRowIndex(object38, 7);
javafx.scene.layout.GridPane.setValignment(object38, javafx.geometry.VPos.BASELINE);
javafx.scene.layout.GridPane.setVgrow(object38, javafx.scene.layout.Priority.SOMETIMES);
final var object39 = new javafx.scene.control.Menu();
controller.setMenu1(object39);
object39.setMnemonicParsing(false);
object39.setText("File");
final var object40 = new javafx.scene.control.MenuItem();
controller.setMenuItem1(object40);
object40.setMnemonicParsing(false);
object40.setText("Close");
object39.getItems().addAll(object40);
final var object41 = new javafx.scene.control.Menu();
object41.setMnemonicParsing(false);
object41.setText("Edit");
final var object42 = new javafx.scene.control.MenuItem();
object42.setMnemonicParsing(false);
object42.setText("Delete");
object41.getItems().addAll(object42);
final var object43 = new javafx.scene.control.Menu();
object43.setMnemonicParsing(false);
object43.setText("Help");
final var object44 = new javafx.scene.control.MenuItem();
object44.setMnemonicParsing(false);
object44.setText("About");
object43.getItems().addAll(object44);
object38.getMenus().addAll(object39, object41, object43);
final var object45 = new javafx.scene.control.MenuButton();
controller.setMenuButton(object45);
object45.setMnemonicParsing(false);
object45.setText("MenuButton");
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
javafx.scene.layout.GridPane.setRowIndex(object45, 7);
final var object46 = new javafx.scene.control.MenuItem();
object46.setMnemonicParsing(false);
object46.setText("Action 1");
final var object47 = new javafx.scene.control.MenuItem();
object47.setMnemonicParsing(false);
object47.setText("Action 2");
object45.getItems().addAll(object46, object47);
final var object48 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
javafx.scene.layout.GridPane.setMargin(object45, object48);
final var object49 = new javafx.scene.control.Pagination();
controller.setPagination(object49);
object49.setPrefHeight(200.0);
object49.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object49, 8);
final var object50 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
object49.setPadding(object50);
final var object51 = new javafx.scene.control.PasswordField();
controller.setPasswordField(object51);
object51.setMaxHeight(6.0);
object51.setMaxWidth(5.0);
object51.setMinHeight(2.0);
object51.setMinWidth(1.0);
object51.setPrefColumnCount(7);
object51.setPrefHeight(4.0);
object51.setPrefWidth(3.0);
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
javafx.scene.layout.GridPane.setRowIndex(object51, 8);
final var object52 = new javafx.scene.control.ProgressBar();
controller.setProgressBar(object52);
object52.setLayoutX(10.0);
object52.setLayoutY(20.0);
object52.setPrefWidth(200.0);
object52.setProgress(0.0);
javafx.scene.layout.GridPane.setRowIndex(object52, 9);
final var object53 = new javafx.scene.control.ProgressIndicator();
controller.setProgressIndicator(object53);
object53.setProgress(0.0);
object53.setRotate(2.0);
javafx.scene.layout.GridPane.setColumnIndex(object53, 1);
javafx.scene.layout.GridPane.setRowIndex(object53, 9);
final var object54 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
object53.setRotationAxis(object54);
final var object55 = new javafx.scene.control.RadioButton();
controller.setRadioButton(object55);
object55.setMnemonicParsing(false);
object55.setScaleX(7.0);
object55.setScaleY(2.0);
object55.setScaleZ(3.0);
object55.setText("RadioButton");
object55.setTranslateX(4.0);
object55.setTranslateY(5.0);
object55.setTranslateZ(6.0);
javafx.scene.layout.GridPane.setRowIndex(object55, 10);
final var object56 = new javafx.scene.control.ScrollBar();
controller.setScrollBarH(object56);
javafx.scene.layout.GridPane.setColumnIndex(object56, 1);
javafx.scene.layout.GridPane.setRowIndex(object56, 10);
final var object57 = new javafx.scene.control.ScrollBar();
controller.setScrollBarV(object57);
object57.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object57, 11);
final var object58 = new javafx.scene.control.Separator();
controller.setSeparatorH(object58);
object58.setOnDragDetected(e -> callMethod("dragDetected", e));
object58.setOnDragDone(e -> callMethod("dragDone", e));
object58.setOnDragDropped(e -> callMethod("dragDropped", e));
object58.setOnDragEntered(e -> callMethod("dragEntered", e));
object58.setOnDragExited(e -> callMethod("dragExited", e));
object58.setOnDragOver(e -> callMethod("dragOver", e));
object58.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
object58.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
object58.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
object58.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
object58.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object58, 1);
javafx.scene.layout.GridPane.setRowIndex(object58, 11);
final var object59 = new javafx.scene.control.Separator();
controller.setSeparatorV(object59);
object59.setOrientation(javafx.geometry.Orientation.VERTICAL);
object59.setPrefHeight(200.0);
javafx.scene.layout.GridPane.setRowIndex(object59, 12);
final var object60 = new javafx.scene.control.Slider();
controller.setSliderH(object60);
object60.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
object60.setOnMouseClicked(e -> callMethod("mouseClicked", e));
object60.setOnMouseDragged(e -> callMethod("mouseDragged", e));
object60.setOnMouseEntered(e -> callMethod("mouseEntered", e));
object60.setOnMouseExited(e -> callMethod("mouseExited", e));
object60.setOnMouseMoved(e -> callMethod("mouseMoved", e));
object60.setOnMousePressed(e -> callMethod("mousePressed", e));
object60.setOnMouseReleased(e -> callMethod("mouseReleased", e));
object60.setOnScroll(e -> callMethod("onScroll", e));
object60.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
object60.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
javafx.scene.layout.GridPane.setColumnIndex(object60, 1);
javafx.scene.layout.GridPane.setRowIndex(object60, 12);
final var object61 = new javafx.scene.control.Slider();
controller.setSliderV(object61);
object61.setOnZoom(e -> callMethod("onZoom", e));
object61.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
object61.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
object61.setOrientation(javafx.geometry.Orientation.VERTICAL);
javafx.scene.layout.GridPane.setRowIndex(object61, 13);
final var object62 = new javafx.scene.control.Spinner<Double>();
controller.setSpinner(object62);
javafx.scene.layout.GridPane.setColumnIndex(object62, 1);
javafx.scene.layout.GridPane.setRowIndex(object62, 13);
final var object63 = new javafx.scene.control.SplitMenuButton();
controller.setSplitMenuButton(object63);
object63.setMnemonicParsing(false);
object63.setText("SplitMenuButton");
javafx.scene.layout.GridPane.setRowIndex(object63, 14);
final var object64 = new javafx.scene.control.MenuItem();
controller.setItem1(object64);
object64.setMnemonicParsing(false);
object64.setText("Action 1");
final var object65 = new javafx.scene.control.MenuItem();
controller.setItem2(object65);
object65.setMnemonicParsing(false);
object65.setText("Action 2");
object63.getItems().addAll(object64, object65);
final var object66 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
controller.setTableView(object66);
object66.setPrefHeight(200.0);
object66.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object66, 1);
javafx.scene.layout.GridPane.setRowIndex(object66, 14);
final var object67 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
controller.setTableColumn1(object67);
object67.setPrefWidth(75.0);
object67.setText("C1");
final var object68 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
controller.setTableColumn2(object68);
object68.setPrefWidth(75.0);
object68.setText("C2");
object66.getColumns().addAll(object67, object68);
final var object69 = new javafx.scene.control.TextArea();
controller.setTextArea(object69);
object69.setPrefHeight(200.0);
object69.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object69, 15);
final var object70 = new javafx.scene.control.TextField();
controller.setTextField(object70);
javafx.scene.layout.GridPane.setColumnIndex(object70, 1);
javafx.scene.layout.GridPane.setRowIndex(object70, 15);
final var object71 = new javafx.scene.control.ToggleButton();
object71.setMnemonicParsing(false);
object71.setOnAction(e -> callMethod("onAction", e));
object71.setOnRotate(e -> callMethod("onRotate", e));
object71.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
object71.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
object71.setText("ToggleButton");
javafx.scene.layout.GridPane.setRowIndex(object71, 16);
final var object72 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
controller.setTreeTableView(object72);
object72.setPrefHeight(200.0);
object72.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object72, 1);
javafx.scene.layout.GridPane.setRowIndex(object72, 16);
final var object73 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
controller.setTreeTableColumn1(object73);
object73.setOnEditCancel(e -> callMethod("onEditCancel", e));
object73.setOnEditCommit(e -> callMethod("onEditCommit", e));
object73.setOnEditStart(e -> callMethod("onEditStart", e));
object73.setPrefWidth(75.0);
object73.setText("C1");
final var object74 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
controller.setTreeTableColumn2(object74);
object74.setPrefWidth(75.0);
object74.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
object74.setText("C2");
object72.getColumns().addAll(object73, object74);
final var object75 = new javafx.scene.control.TreeView<String>();
controller.setTreeView(object75);
object75.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
object75.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
object75.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
object75.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
object75.setPrefHeight(200.0);
object75.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setRowIndex(object75, 17);
final var object76 = new javafx.scene.web.WebView();
controller.setWebView(object76);
object76.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
object76.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
object76.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
object76.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
object76.setPrefHeight(200.0);
object76.setPrefWidth(200.0);
javafx.scene.layout.GridPane.setColumnIndex(object76, 1);
javafx.scene.layout.GridPane.setRowIndex(object76, 17);
object0.getChildren().addAll(object22, object23, object24, object25, object28, object31, object32, object33, object34, object35, object36, object37, object38, object45, object49, object51, object52, object53, object55, object56, object57, object58, object59, object60, object61, object62, object63, object66, object69, object70, object71, object72, object75, object76);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.ControlsController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,182 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,182 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,181 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,226 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,226 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,225 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.playSlider = object3;
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.playLabel = object5;
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.playButton = object9;
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.volumeSlider = object12;
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.volumeValueLabel = object13;
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.controlsController = controller0;
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.vbox = object16;
final var object17 = new javafx.scene.control.ToolBar();
controller.toolBar = object17;
final var object18 = new javafx.scene.control.TitledPane();
controller.titledPane = object18;
final var object19 = new javafx.scene.layout.TilePane();
controller.tilePane = object19;
final var object20 = new javafx.scene.text.TextFlow();
controller.textFlow = object20;
final var object21 = new javafx.scene.control.TabPane();
controller.tabPane = object21;
final var object22 = new javafx.scene.control.Tab();
controller.tab = object22;
final var object23 = new javafx.scene.layout.StackPane();
controller.stackPane = object23;
final var object24 = new javafx.scene.control.SplitPane();
controller.splitPane = object24;
final var object25 = new javafx.scene.control.ScrollPane();
controller.scrollPane = object25;
final var object26 = new javafx.scene.layout.Pane();
controller.pane = object26;
final var object27 = new javafx.scene.layout.HBox();
controller.hbox = object27;
final var object28 = new javafx.scene.Group();
controller.group = object28;
final var object29 = new javafx.scene.layout.GridPane();
controller.gridPane = object29;
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.columnConstraints = object30;
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.flowPane = object32;
final var object33 = new javafx.scene.control.DialogPane();
controller.dialogPane = object33;
final var object34 = new javafx.scene.control.ButtonBar();
controller.buttonBar = object34;
final var object35 = new javafx.scene.layout.AnchorPane();
controller.anchorPane = object35;
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,185 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(controller::playPressed);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,185 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(controller::playPressed);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,184 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(controller::playPressed);
object11.setText(controller.resources().getString("media.volume.label"));
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,229 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(e -> callMethod("playPressed", e));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,229 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(e -> callMethod("playPressed", e));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,228 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import com.github.gtache.fxml.compiler.ControllerFactory;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, ControllerFactory<?>> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controllerFactory The controller factory
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controllerFactory The controller factory
* @param resourceBundle The resource bundle
*/
public IncludesController(final ControllerFactory<com.github.gtache.fxml.compiler.impl.IncludesController> controllerFactory, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller factory
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, ControllerFactory<?>> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var fieldMap = new HashMap<String, Object>();
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
fieldMap.put("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
fieldMap.put("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
fieldMap.put("playButton", object9);
object9.setMnemonicParsing(false);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
final var object12 = new javafx.scene.control.Slider();
fieldMap.put("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
fieldMap.put("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
fieldMap.put("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
fieldMap.put("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
fieldMap.put("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
fieldMap.put("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
fieldMap.put("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
fieldMap.put("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
fieldMap.put("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
fieldMap.put("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
fieldMap.put("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
fieldMap.put("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
fieldMap.put("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
fieldMap.put("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
fieldMap.put("hbox", object27);
final var object28 = new javafx.scene.Group();
fieldMap.put("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
fieldMap.put("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
fieldMap.put("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
fieldMap.put("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
fieldMap.put("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
fieldMap.put("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
fieldMap.put("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllerFactory.create(fieldMap);
object9.setOnAction(e -> callMethod("playPressed", e));
object11.setText(controller.resources().getString("media.volume.label"));
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,191 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,191 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,190 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,235 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,235 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,234 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
injectField("playSlider", object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
injectField("playLabel", object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
injectField("playButton", object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
injectField("volumeSlider", object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
injectField("volumeValueLabel", object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
injectField("controlsController", controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
injectField("vbox", object16);
final var object17 = new javafx.scene.control.ToolBar();
injectField("toolBar", object17);
final var object18 = new javafx.scene.control.TitledPane();
injectField("titledPane", object18);
final var object19 = new javafx.scene.layout.TilePane();
injectField("tilePane", object19);
final var object20 = new javafx.scene.text.TextFlow();
injectField("textFlow", object20);
final var object21 = new javafx.scene.control.TabPane();
injectField("tabPane", object21);
final var object22 = new javafx.scene.control.Tab();
injectField("tab", object22);
final var object23 = new javafx.scene.layout.StackPane();
injectField("stackPane", object23);
final var object24 = new javafx.scene.control.SplitPane();
injectField("splitPane", object24);
final var object25 = new javafx.scene.control.ScrollPane();
injectField("scrollPane", object25);
final var object26 = new javafx.scene.layout.Pane();
injectField("pane", object26);
final var object27 = new javafx.scene.layout.HBox();
injectField("hbox", object27);
final var object28 = new javafx.scene.Group();
injectField("group", object28);
final var object29 = new javafx.scene.layout.GridPane();
injectField("gridPane", object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
injectField("columnConstraints", object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
injectField("flowPane", object32);
final var object33 = new javafx.scene.control.DialogPane();
injectField("dialogPane", object33);
final var object34 = new javafx.scene.control.ButtonBar();
injectField("buttonBar", object34);
final var object35 = new javafx.scene.layout.AnchorPane();
injectField("anchorPane", object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
private <T> void injectField(final String fieldName, final T object) {
try {
final var field = controller.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
field.set(controller, object);
} catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,182 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,182 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,181 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(controller::playPressed);
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
controller.initialize();
loaded = true;
return object0;
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,226 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,226 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.IncludesBundle");
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(bundle.getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1,225 @@
package com.github.gtache.fxml.compiler.impl;
import java.util.Map;
import java.util.ResourceBundle;
import java.util.HashMap;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import javafx.event.Event;
import java.lang.reflect.Method;
/**
* Generated code, not thread-safe
*/
public final class IncludesController {
private final Map<Class<?>, Object> controllersMap;
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
private boolean loaded;
private com.github.gtache.fxml.compiler.impl.IncludesController controller;
/**
* Instantiates a new IncludesController with no nested controllers and no resource bundle
* @param controller The controller
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of());
}
/**
* Instantiates a new IncludesController with no nested controllers
* @param controller The controller
* @param resourceBundle The resource bundle
*/
public IncludesController(final com.github.gtache.fxml.compiler.impl.IncludesController controller, final ResourceBundle resourceBundle) {
this(Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.impl.IncludesController.class, resourceBundle));
}
/**
* Instantiates a new IncludesController with nested controllers
* @param controllersMap The map of controller class to controller
* @param resourceBundlesMap The map of controller class to resource bundle
*/
public IncludesController(final Map<Class<?>, Object> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
this.controllersMap = Map.copyOf(controllersMap);
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
}
public javafx.scene.Parent load() {
if (loaded) {
throw new IllegalStateException("Already loaded");
}
controller = (com.github.gtache.fxml.compiler.impl.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.impl.IncludesController.class);
final var object0 = new javafx.scene.layout.BorderPane();
final var object1 = new javafx.scene.layout.VBox();
javafx.scene.layout.BorderPane.setAlignment(object1, javafx.geometry.Pos.CENTER);
final var object2 = new javafx.scene.layout.HBox();
object2.setAlignment(javafx.geometry.Pos.CENTER);
object2.setSpacing(10.0);
final var object3 = new javafx.scene.control.Slider();
controller.setPlaySlider(object3);
javafx.scene.layout.HBox.setHgrow(object3, javafx.scene.layout.Priority.ALWAYS);
final var object4 = new javafx.geometry.Insets(0, 0, 0, 10.0);
object3.setPadding(object4);
final var object5 = new javafx.scene.control.Label();
controller.setPlayLabel(object5);
object5.setText("Label");
final var object6 = new javafx.geometry.Insets(0, 10.0, 0, 0);
object5.setPadding(object6);
object2.getChildren().addAll(object3, object5);
final var object7 = new javafx.geometry.Insets(10.0, 0, 0, 0);
object2.setPadding(object7);
final var object8 = new javafx.scene.layout.HBox();
object8.setAlignment(javafx.geometry.Pos.CENTER);
object8.setSpacing(10.0);
final var object9 = new javafx.scene.control.Button();
controller.setPlayButton(object9);
object9.setMnemonicParsing(false);
object9.setOnAction(e -> callMethod("playPressed", e));
final var object10 = new javafx.geometry.Insets(0, 20.0, 0, 0);
javafx.scene.layout.HBox.setMargin(object9, object10);
final var object11 = new javafx.scene.control.Label();
object11.setText(controller.resources().getString("media.volume.label"));
final var object12 = new javafx.scene.control.Slider();
controller.setVolumeSlider(object12);
object12.setValue(100);
final var object13 = new javafx.scene.control.Label();
controller.setVolumeValueLabel(object13);
object13.setText("Label");
final var map0 = new HashMap<>(resourceBundlesMap);
final var bundle0 = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.impl.ControlsBundle");
map0.put(com.github.gtache.fxml.compiler.impl.ControlsController, bundle0);
final var view0 = new com.github.gtache.fxml.compiler.impl.ControlsView(controllersMap, map0);
final var object14 = view0.load();
final var controller0 = view0.controller();
controller.setControlsController(controller0);
object8.getChildren().addAll(object9, object11, object12, object13, object14);
final var object15 = new javafx.geometry.Insets(10.0, 10.0, 10.0, 10.0);
object8.setPadding(object15);
object1.getChildren().addAll(object2, object8);
object0.setBottom(object1);
final var object16 = new javafx.scene.layout.VBox();
controller.setVbox(object16);
final var object17 = new javafx.scene.control.ToolBar();
controller.setToolBar(object17);
final var object18 = new javafx.scene.control.TitledPane();
controller.setTitledPane(object18);
final var object19 = new javafx.scene.layout.TilePane();
controller.setTilePane(object19);
final var object20 = new javafx.scene.text.TextFlow();
controller.setTextFlow(object20);
final var object21 = new javafx.scene.control.TabPane();
controller.setTabPane(object21);
final var object22 = new javafx.scene.control.Tab();
controller.setTab(object22);
final var object23 = new javafx.scene.layout.StackPane();
controller.setStackPane(object23);
final var object24 = new javafx.scene.control.SplitPane();
controller.setSplitPane(object24);
final var object25 = new javafx.scene.control.ScrollPane();
controller.setScrollPane(object25);
final var object26 = new javafx.scene.layout.Pane();
controller.setPane(object26);
final var object27 = new javafx.scene.layout.HBox();
controller.setHbox(object27);
final var object28 = new javafx.scene.Group();
controller.setGroup(object28);
final var object29 = new javafx.scene.layout.GridPane();
controller.setGridPane(object29);
final var object30 = new javafx.scene.layout.ColumnConstraints();
controller.setColumnConstraints(object30);
object30.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
object30.setMinWidth(10.0);
object29.getColumnConstraints().addAll(object30);
final var object31 = new javafx.scene.layout.RowConstraints();
object31.setMinHeight(10.0);
object31.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
object29.getRowConstraints().addAll(object31);
final var object32 = new javafx.scene.layout.FlowPane();
controller.setFlowPane(object32);
final var object33 = new javafx.scene.control.DialogPane();
controller.setDialogPane(object33);
final var object34 = new javafx.scene.control.ButtonBar();
controller.setButtonBar(object34);
final var object35 = new javafx.scene.layout.AnchorPane();
controller.setAnchorPane(object35);
final var object36 = new javafx.scene.control.Label();
object36.setManaged(false);
object35.getChildren().addAll(object36);
object34.getButtons().addAll(object35);
object33.setContent(object34);
object32.getChildren().addAll(object33);
object29.getChildren().addAll(object32);
object28.getChildren().addAll(object29);
object27.getChildren().addAll(object28);
object26.getChildren().addAll(object27);
object25.setContent(object26);
object24.getItems().addAll(object25);
object23.getChildren().addAll(object24);
object22.setContent(object23);
object21.getTabs().addAll(object22);
object20.getChildren().addAll(object21);
object19.getChildren().addAll(object20);
object18.setContent(object19);
object17.getItems().addAll(object18);
object16.getChildren().addAll(object17);
object0.setCenter(object16);
try {
final var initialize = controller.getClass().getDeclaredMethod("initialize");
initialize.setAccessible(true);
initialize.invoke(controller);
} catch (final InvocationTargetException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection", e);
} catch (final NoSuchMethodException ignored) {
}
loaded = true;
return object0;
}
private <T extends Event> void callMethod(final String methodName, final T event) {
try {
final Method method;
final var methods = Arrays.stream(controller.getClass().getDeclaredMethods())
.filter(m -> m.getName().equals(methodName)).toList();
if (methods.size() > 1) {
final var eventMethods = methods.stream().filter(m ->
m.getParameterCount() == 1 && Event.class.isAssignableFrom(m.getParameterTypes()[0])).toList();
if (eventMethods.size() == 1) {
method = eventMethods.getFirst();
} else {
final var emptyMethods = methods.stream().filter(m -> m.getParameterCount() == 0).toList();
if (emptyMethods.size() == 1) {
method = emptyMethods.getFirst();
} else {
throw new IllegalArgumentException("Multiple matching methods for " + methodName);
}
}
} else if (methods.size() == 1) {
method = methods.getFirst();
} else {
throw new IllegalArgumentException("No matching method for " + methodName);
}
method.setAccessible(true);
if (method.getParameterCount() == 0) {
method.invoke(controller);
} else {
method.invoke(controller, event);
}
} catch (final IllegalAccessException | InvocationTargetException ex) {
throw new RuntimeException("Error using reflection on " + methodName, ex);
}
}
/**
* @return The controller
*/
public com.github.gtache.fxml.compiler.impl.IncludesController controller() {
if (loaded) {
return controller;
} else {
throw new IllegalStateException("Not loaded");
}
}
}

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/resources/com/github/gtache/fxml/compiler/impl/includesView.fxml

View File

@@ -0,0 +1 @@
../../../../../../../../../../core/src/test/resources/com/github/gtache/fxml/compiler/impl/style.css

View File

@@ -1,189 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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.ImageView?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.media.MediaView?>
<?import javafx.scene.paint.Color?>
<?import javafx.scene.web.HTMLEditor?>
<?import javafx.scene.web.WebView?>
<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.loader.IncludeController">
<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>
<Button fx:id="button" mnemonicParsing="false" text="Button"/>
<CheckBox fx:id="checkBox" indeterminate="true" mnemonicParsing="false" text="CheckBox"
GridPane.columnIndex="1"/>
<ChoiceBox fx:id="choiceBox" cacheShape="false" centerShape="false" disable="true" focusTraversable="false"
prefWidth="150.0"
scaleShape="false" visible="false" GridPane.rowIndex="1"/>
<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="&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body contenteditable=&quot;true&quot;&gt;&lt;/body&gt;&lt;/html&gt;"
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"/>
<Label fx:id="label" accessibleHelp="TTTTT" accessibleText="TTT" blendMode="ADD" cache="true"
cacheHint="QUALITY"
depthTest="ENABLE" mnemonicParsing="true" mouseTransparent="true" text="%include.label"
GridPane.columnIndex="1"
GridPane.rowIndex="4"/>
<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">
<menus>
<Menu fx:id="menu1" mnemonicParsing="false" text="File">
<items>
<MenuItem fx:id="menuItem1" mnemonicParsing="false" text="Close"/>
</items>
</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>
</menus>
</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"/>
</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="6.0" maxWidth="5.0" minHeight="2.0" 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"/>
<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"
GridPane.rowIndex="17"/>
</children>
</GridPane>

View File

@@ -1,3 +0,0 @@
.clazz {
-fx-font-weight: bold;
}

View File

@@ -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.loader.TestController">
<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="include" source="includeView.fxml"
resources="com/github/gtache/fxml/compiler/loader/IncludeBundle"/>
</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>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.layout.BorderPane?>
<BorderPane xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.gtache.fxml.compiler.parsing.listener.LoadController">
</BorderPane>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.Slider?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<BorderPane xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.gtache.fxml.compiler.parsing.listener.LoadController">
<bottom>
<VBox BorderPane.alignment="CENTER">
<children>
<Slider fx:id="playSlider" HBox.hgrow="ALWAYS">
<padding>
<Insets left="10.0"/>
</padding>
</Slider>
<Label fx:id="playLabel" text="Label" onMouseClicked="#mouseClicked">
<padding>
<Insets right="10.0"/>
</padding>
</Label>
<fx:include source="includedView.fxml"
resources="com/github/gtache/fxml/compiler/parsing/listener/IncludedBundle" fx:id="id"/>
</children>
</VBox>
</bottom>
<center>
<VBox fx:id="vbox">
</VBox>
</center>
</BorderPane>