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

@@ -22,5 +22,30 @@
<version>${javafx.version}</version> <version>${javafx.version}</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </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-fxml</artifactId>
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -195,7 +195,8 @@ public class GeneratorImpl implements Generator {
} catch (final NoSuchFieldException | IllegalAccessException e) { } catch (final NoSuchFieldException | IllegalAccessException e) {
throw new RuntimeException("Error using reflection on " + fieldName, e); throw new RuntimeException("Error using reflection on " + fieldName, e);
} }
}"""); }
""");
} }
return sb.toString(); return sb.toString();
} }
@@ -408,7 +409,7 @@ public class GeneratorImpl implements Generator {
final var method = getStaticMethod(property.sourceType(), setMethod); final var method = getStaticMethod(property.sourceType(), setMethod);
final var parameterType = method.getParameterTypes()[1]; final var parameterType = method.getParameterTypes()[1];
final var arg = getArg(request, property.value(), parameterType); final var arg = getArg(request, property.value(), parameterType);
sb.append(" ").append(property.sourceType().getName()).append(".").append(setMethod).append("(").append(parentVariable).append(", ").append(arg).append(");\n"); setLaterIfNeeded(request, property, parameterType, " " + property.sourceType().getName() + "." + setMethod + "(" + parentVariable + ", " + arg + ");\n", sb);
} else { } else {
throw new IllegalStateException("Cannot set " + propertyName + " on " + property.sourceType().getCanonicalName()); throw new IllegalStateException("Cannot set " + propertyName + " on " + property.sourceType().getCanonicalName());
} }
@@ -418,13 +419,13 @@ public class GeneratorImpl implements Generator {
final var method = getMethod(parent.clazz(), setMethod); final var method = getMethod(parent.clazz(), setMethod);
final var parameterType = method.getParameterTypes()[0]; final var parameterType = method.getParameterTypes()[0];
final var arg = getArg(request, property.value(), parameterType); final var arg = getArg(request, property.value(), parameterType);
sb.append(" ").append(parentVariable).append(".").append(setMethod).append("(").append(arg).append(");\n"); setLaterIfNeeded(request, property, parameterType, " " + parentVariable + "." + setMethod + "(" + arg + ");\n", sb);
} else if (hasMethod(parent.clazz(), getMethod)) { } else if (hasMethod(parent.clazz(), getMethod)) {
final var method = getMethod(parent.clazz(), getMethod); final var method = getMethod(parent.clazz(), getMethod);
final var returnType = method.getReturnType(); final var returnType = method.getReturnType();
if (hasMethod(returnType, "addAll")) { if (hasMethod(returnType, "addAll")) {
final var arg = getArg(request, property.value(), String.class); final var arg = getArg(request, property.value(), String.class);
sb.append(" ").append(parentVariable).append(".").append(getMethod).append("().addAll(").append(arg).append(");\n"); setLaterIfNeeded(request, property, String.class, " " + parentVariable + "." + getMethod + "().addAll(" + arg + ");\n", sb);
} }
} else { } else {
throw new IllegalStateException("Cannot set " + propertyName + " on " + parent.clazz().getCanonicalName()); throw new IllegalStateException("Cannot set " + propertyName + " on " + parent.clazz().getCanonicalName());
@@ -432,6 +433,15 @@ public class GeneratorImpl implements Generator {
} }
} }
private void setLaterIfNeeded(final GenerationRequest request, final ParsedProperty property, final Class<?> type, final String arg, final StringBuilder sb) {
if (type == String.class && property.value().startsWith("%") && request.parameters().resourceBundleInjection().injectionType() == ResourceBundleInjectionTypes.GETTER
&& getControllerInjection(request).fieldInjectionType() == ControllerFieldInjectionTypes.FACTORY) {
controllerFactoryPostAction.add(arg);
} else {
sb.append(arg);
}
}
/** /**
* Injects a controller method * Injects a controller method
* *
@@ -800,13 +810,7 @@ public class GeneratorImpl implements Generator {
if (resourceBundleInjectionType instanceof final ResourceBundleInjectionTypes types) { if (resourceBundleInjectionType instanceof final ResourceBundleInjectionTypes types) {
return switch (types) { return switch (types) {
case CONSTRUCTOR, GET_BUNDLE -> "bundle.getString(\"" + value + "\")"; case CONSTRUCTOR, GET_BUNDLE -> "bundle.getString(\"" + value + "\")";
case GETTER -> { case GETTER -> "controller.resources().getString(\"" + value + "\")";
if (getControllerInjection(request).fieldInjectionType() == ControllerFieldInjectionTypes.FACTORY) {
throw new UnsupportedOperationException("Factory injection with bundle getter not supported yet");
} else {
yield "controller.resources().getString(\"" + value + "\")";
}
}
}; };
} else { } else {
throw new IllegalArgumentException("Unknown resource bundle injection type : " + resourceBundleInjectionType); throw new IllegalArgumentException("Unknown resource bundle injection type : " + resourceBundleInjectionType);

View File

@@ -3,6 +3,7 @@ package com.github.gtache.fxml.compiler.parsing.impl;
import com.github.gtache.fxml.compiler.parsing.ParsedInclude; import com.github.gtache.fxml.compiler.parsing.ParsedInclude;
import com.github.gtache.fxml.compiler.parsing.ParsedProperty; import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
import java.util.Collections;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.SequencedMap; import java.util.SequencedMap;
@@ -14,6 +15,6 @@ import java.util.SequencedMap;
public record ParsedIncludeImpl(SequencedMap<String, ParsedProperty> properties) implements ParsedInclude { public record ParsedIncludeImpl(SequencedMap<String, ParsedProperty> properties) implements ParsedInclude {
public ParsedIncludeImpl { public ParsedIncludeImpl {
properties = new LinkedHashMap<>(properties); properties = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(properties));
} }
} }

View File

@@ -4,6 +4,7 @@ import com.github.gtache.fxml.compiler.parsing.ParsedObject;
import com.github.gtache.fxml.compiler.parsing.ParsedProperty; import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Objects; import java.util.Objects;
import java.util.SequencedCollection; import java.util.SequencedCollection;
@@ -21,8 +22,8 @@ public record ParsedObjectImpl(Class<?> clazz, SequencedMap<String, ParsedProper
public ParsedObjectImpl { public ParsedObjectImpl {
Objects.requireNonNull(clazz); Objects.requireNonNull(clazz);
properties = new LinkedHashMap<>(properties); properties = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(properties));
children = new LinkedHashMap<>(children); children = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(children));
} }
/** /**

View File

@@ -1,4 +1,4 @@
package com.github.gtache.fxml.compiler.loader; package com.github.gtache.fxml.compiler.impl;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.control.*; import javafx.scene.control.*;
@@ -9,7 +9,7 @@ import javafx.scene.paint.Color;
import javafx.scene.web.HTMLEditor; import javafx.scene.web.HTMLEditor;
import javafx.scene.web.WebView; import javafx.scene.web.WebView;
public class IncludeController { public class ControlsController {
@FXML @FXML
GridPane gridPane; GridPane gridPane;
@FXML @FXML

View File

@@ -1,4 +1,4 @@
package com.github.gtache.fxml.compiler.loader; package com.github.gtache.fxml.compiler.impl;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
@@ -15,7 +15,7 @@ import javafx.scene.layout.TilePane;
import javafx.scene.layout.VBox; import javafx.scene.layout.VBox;
import javafx.scene.text.TextFlow; import javafx.scene.text.TextFlow;
public class TestController { public class IncludesController {
@FXML @FXML
StackPane stackPane; StackPane stackPane;
@FXML @FXML
@@ -30,7 +30,7 @@ public class TestController {
Slider playSlider; Slider playSlider;
@FXML @FXML
IncludeController includeController; ControlsController controlsController;
@FXML @FXML
VBox vbox; VBox vbox;
@FXML @FXML
@@ -101,8 +101,8 @@ public class TestController {
this.playSlider = playSlider; this.playSlider = playSlider;
} }
public void setIncludeController(final IncludeController includeController) { public void setIncludeController(final ControlsController controlsController) {
this.includeController = includeController; this.controlsController = controlsController;
} }
public void setVbox(final VBox vbox) { public void setVbox(final VBox vbox) {

View File

@@ -1,4 +0,0 @@
package com.github.gtache.fxml.compiler.impl;
class TestGeneratorImpl {
}

View File

@@ -1,4 +1,52 @@
package com.github.gtache.fxml.compiler.parsing.impl; package com.github.gtache.fxml.compiler.parsing.impl;
public class TestParsedIncludeImpl { import com.github.gtache.fxml.compiler.parsing.ParsedInclude;
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.LinkedHashMap;
import java.util.SequencedMap;
import static org.junit.jupiter.api.Assertions.*;
@ExtendWith(MockitoExtension.class)
class TestParsedIncludeImpl {
private final SequencedMap<String, ParsedProperty> properties;
private final ParsedInclude include;
TestParsedIncludeImpl(@Mock final ParsedProperty property) {
this.properties = new LinkedHashMap<>();
this.properties.put("name", property);
this.include = new ParsedIncludeImpl(properties);
}
@Test
void testGetters() {
assertEquals(properties, include.properties());
assertEquals(ParsedInclude.class, include.clazz());
assertEquals(new LinkedHashMap<>(), include.children());
}
@Test
void testCopyMap() {
final var originalProperties = include.properties();
properties.clear();
assertEquals(originalProperties, include.properties());
assertNotEquals(properties, include.properties());
}
@Test
void testUnmodifiable() {
final var objectProperties = include.properties();
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
}
@Test
void testIllegal() {
assertThrows(NullPointerException.class, () -> new ParsedIncludeImpl(null));
}
} }

View File

@@ -15,7 +15,7 @@
<GridPane fx:id="gridPane" onInputMethodTextChanged="#inputMethodTextChanged" onKeyPressed="#keyPressed" <GridPane fx:id="gridPane" onInputMethodTextChanged="#inputMethodTextChanged" onKeyPressed="#keyPressed"
onKeyReleased="#keyReleased" onKeyReleased="#keyReleased"
onKeyTyped="#keyTyped" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" onKeyTyped="#keyTyped" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.gtache.fxml.compiler.loader.IncludeController"> fx:controller="com.github.gtache.fxml.compiler.impl.ControlsController">
<rowConstraints> <rowConstraints>
<RowConstraints/> <RowConstraints/>
<RowConstraints/> <RowConstraints/>

View File

@@ -6,7 +6,7 @@
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<?import javafx.scene.text.TextFlow?> <?import javafx.scene.text.TextFlow?>
<BorderPane xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1" <BorderPane xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.github.gtache.fxml.compiler.loader.TestController"> fx:controller="com.github.gtache.fxml.compiler.impl.IncludesController">
<bottom> <bottom>
<VBox BorderPane.alignment="CENTER"> <VBox BorderPane.alignment="CENTER">
<children> <children>
@@ -37,8 +37,8 @@
<Label text="%media.volume.label"/> <Label text="%media.volume.label"/>
<Slider fx:id="volumeSlider" value="100"/> <Slider fx:id="volumeSlider" value="100"/>
<Label fx:id="volumeValueLabel" text="Label"/> <Label fx:id="volumeValueLabel" text="Label"/>
<fx:include fx:id="include" source="includeView.fxml" <fx:include fx:id="controls" source="controlsView.fxml"
resources="com/github/gtache/fxml/compiler/loader/IncludeBundle"/> resources="com/github/gtache/fxml/compiler/impl/ControlsBundle"/>
</children> </children>
<padding> <padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0"/>

View File

@@ -11,9 +11,6 @@
<artifactId>fxml-compiler-loader</artifactId> <artifactId>fxml-compiler-loader</artifactId>
<properties>
<jmh.version>1.37</jmh.version>
</properties>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>com.github.gtache</groupId> <groupId>com.github.gtache</groupId>
@@ -32,12 +29,6 @@
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
<scope>test</scope>
</dependency>
<dependency> <dependency>
<groupId>org.openjfx</groupId> <groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId> <artifactId>javafx-media</artifactId>
@@ -50,35 +41,5 @@
<version>${javafx.version}</version> <version>${javafx.version}</version>
<scope>test</scope> <scope>test</scope>
</dependency> </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> </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> </project>

View File

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

@@ -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

@@ -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>