Removes loader, adds some missing features, refactors for easier comprehension and maintenance
This commit is contained in:
@@ -3,6 +3,7 @@ package com.github.gtache.fxml.compiler;
|
|||||||
/**
|
/**
|
||||||
* Generates compiled FXML code
|
* Generates compiled FXML code
|
||||||
*/
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
public interface Generator {
|
public interface Generator {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing;
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.SequencedCollection;
|
import java.util.SequencedCollection;
|
||||||
import java.util.SequencedMap;
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
@@ -27,4 +28,9 @@ public interface ParsedConstant extends ParsedObject {
|
|||||||
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
return new LinkedHashMap<>();
|
return new LinkedHashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for fx:copy
|
||||||
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
|
public interface ParsedCopy extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the source from fx:copy
|
||||||
|
*
|
||||||
|
* @return The source
|
||||||
|
*/
|
||||||
|
default String source() {
|
||||||
|
final var attribute = attributes().get("source");
|
||||||
|
if (attribute == null) {
|
||||||
|
throw new IllegalStateException("Missing source");
|
||||||
|
} else {
|
||||||
|
return attribute.value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default String className() {
|
||||||
|
return ParsedCopy.class.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for fx:define
|
||||||
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
|
public interface ParsedDefine extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the object defined by this fx:define
|
||||||
|
*
|
||||||
|
* @return The object
|
||||||
|
*/
|
||||||
|
ParsedObject object();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default String className() {
|
||||||
|
return object().className();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default Map<String, ParsedProperty> attributes() {
|
||||||
|
return object().attributes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return object().properties();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return object().children();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for fx:factory
|
||||||
|
*/
|
||||||
|
public interface ParsedFactory extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the factory value from fx:factory
|
||||||
|
*
|
||||||
|
* @return The value
|
||||||
|
*/
|
||||||
|
default String factory() {
|
||||||
|
final var attribute = attributes().get("fx:factory");
|
||||||
|
if (attribute == null) {
|
||||||
|
throw new IllegalStateException("Missing fx:factory");
|
||||||
|
} else {
|
||||||
|
return attribute.value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the arguments for the factory
|
||||||
|
*
|
||||||
|
* @return The arguments
|
||||||
|
*/
|
||||||
|
SequencedCollection<ParsedObject> arguments();
|
||||||
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing;
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.SequencedCollection;
|
import java.util.SequencedCollection;
|
||||||
import java.util.SequencedMap;
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
@@ -61,4 +62,9 @@ public interface ParsedInclude extends ParsedObject {
|
|||||||
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
return new LinkedHashMap<>();
|
return new LinkedHashMap<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,4 +29,11 @@ public interface ParsedObject {
|
|||||||
* @return The properties
|
* @return The properties
|
||||||
*/
|
*/
|
||||||
SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties();
|
SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the children (fx:define, fx:copy, etc.) contained in this object
|
||||||
|
*
|
||||||
|
* @return The children
|
||||||
|
*/
|
||||||
|
SequencedCollection<ParsedObject> children();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for fx:reference
|
||||||
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
|
public interface ParsedReference extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the source from fx:reference
|
||||||
|
*
|
||||||
|
* @return The source
|
||||||
|
*/
|
||||||
|
default String source() {
|
||||||
|
final var attribute = attributes().get("source");
|
||||||
|
if (attribute == null) {
|
||||||
|
throw new IllegalStateException("Missing source");
|
||||||
|
} else {
|
||||||
|
return attribute.value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default String className() {
|
||||||
|
return ParsedReference.class.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for simple text
|
||||||
|
*/
|
||||||
|
@FunctionalInterface
|
||||||
|
public interface ParsedText extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the text value
|
||||||
|
*
|
||||||
|
* @return The value
|
||||||
|
*/
|
||||||
|
String text();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default String className() {
|
||||||
|
return "java.lang.String";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default Map<String, ParsedProperty> attributes() {
|
||||||
|
return Map.of();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.SequencedMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Special {@link ParsedObject} for fx:value
|
||||||
|
*/
|
||||||
|
public interface ParsedValue extends ParsedObject {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the value from fx:value
|
||||||
|
*
|
||||||
|
* @return The value
|
||||||
|
*/
|
||||||
|
default String value() {
|
||||||
|
final var attribute = attributes().get("fx:value");
|
||||||
|
if (attribute == null) {
|
||||||
|
throw new IllegalStateException("Missing fx:value");
|
||||||
|
} else {
|
||||||
|
return attribute.value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties() {
|
||||||
|
return new LinkedHashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
default SequencedCollection<ParsedObject> children() {
|
||||||
|
return List.of();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.nio.file.Files;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestFXMLParser {
|
||||||
|
|
||||||
|
private final FXMLParser parser;
|
||||||
|
private final String content;
|
||||||
|
private final ParsedObject object;
|
||||||
|
|
||||||
|
TestFXMLParser(@Mock final ParsedObject object) {
|
||||||
|
this.parser = spy(FXMLParser.class);
|
||||||
|
this.content = "content";
|
||||||
|
this.object = requireNonNull(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() throws ParseException {
|
||||||
|
when(parser.parse(content)).thenReturn(object);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testParse() throws Exception {
|
||||||
|
final var file = Files.createTempFile("test", ".fxml");
|
||||||
|
try {
|
||||||
|
Files.writeString(file, content);
|
||||||
|
assertEquals(object, parser.parse(file));
|
||||||
|
verify(parser).parse(content);
|
||||||
|
} finally {
|
||||||
|
Files.deleteIfExists(file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testParseIOException() throws Exception {
|
||||||
|
final var file = Paths.get("whatever");
|
||||||
|
assertThrows(ParseException.class, () -> parser.parse(file));
|
||||||
|
verify(parser, never()).parse(content);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -53,4 +54,9 @@ class TestParsedConstant {
|
|||||||
void testProperties() {
|
void testProperties() {
|
||||||
assertEquals(new LinkedHashMap<>(), constant.properties());
|
assertEquals(new LinkedHashMap<>(), constant.properties());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), constant.children());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedCopy {
|
||||||
|
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final ParsedProperty property;
|
||||||
|
private final String string;
|
||||||
|
private final ParsedCopy reference;
|
||||||
|
|
||||||
|
TestParsedCopy(@Mock final ParsedProperty property) {
|
||||||
|
this.attributes = new HashMap<>();
|
||||||
|
this.property = Objects.requireNonNull(property);
|
||||||
|
this.string = "str/ing";
|
||||||
|
this.reference = spy(ParsedCopy.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() {
|
||||||
|
when(reference.attributes()).thenReturn(attributes);
|
||||||
|
when(property.value()).thenReturn(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSourceNull() {
|
||||||
|
assertThrows(IllegalStateException.class, reference::source);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSource() {
|
||||||
|
attributes.put("source", property);
|
||||||
|
assertEquals(string, reference.source());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testClassName() {
|
||||||
|
assertEquals(ParsedCopy.class.getName(), reference.className());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
assertEquals(new LinkedHashMap<>(), reference.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), reference.children());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
|
||||||
|
import static java.util.Objects.requireNonNull;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.mockito.Mockito.*;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedDefine {
|
||||||
|
|
||||||
|
private final ParsedProperty property;
|
||||||
|
private final ParsedObject object;
|
||||||
|
private final String string;
|
||||||
|
private final ParsedDefine define;
|
||||||
|
|
||||||
|
TestParsedDefine(@Mock final ParsedProperty property, @Mock final ParsedObject object) {
|
||||||
|
this.property = requireNonNull(property);
|
||||||
|
this.object = requireNonNull(object);
|
||||||
|
this.string = "str/ing";
|
||||||
|
this.define = spy(ParsedDefine.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() {
|
||||||
|
when(property.value()).thenReturn(string);
|
||||||
|
when(define.object()).thenReturn(object);
|
||||||
|
when(object.className()).thenReturn(string);
|
||||||
|
when(object.children()).thenReturn(List.of(define));
|
||||||
|
final var map = new LinkedHashMap<ParsedProperty, SequencedCollection<ParsedObject>>();
|
||||||
|
map.put(property, List.of(object));
|
||||||
|
when(object.properties()).thenReturn(map);
|
||||||
|
when(object.attributes()).thenReturn(Map.of(string, property));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testObject() {
|
||||||
|
assertEquals(object, define.object());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testClassName() {
|
||||||
|
assertEquals(string, define.className());
|
||||||
|
verify(define).object();
|
||||||
|
verify(object).className();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAttributes() {
|
||||||
|
assertEquals(Map.of(string, property), define.attributes());
|
||||||
|
verify(define).object();
|
||||||
|
verify(object).attributes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
final var map = new LinkedHashMap<ParsedProperty, SequencedCollection<ParsedObject>>();
|
||||||
|
map.put(property, List.of(object));
|
||||||
|
assertEquals(map, define.properties());
|
||||||
|
verify(define).object();
|
||||||
|
verify(object).properties();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(define), define.children());
|
||||||
|
verify(define).object();
|
||||||
|
verify(object).children();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedFactory {
|
||||||
|
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final ParsedProperty property;
|
||||||
|
private final String string;
|
||||||
|
private final ParsedFactory value;
|
||||||
|
|
||||||
|
TestParsedFactory(@Mock final ParsedProperty property) {
|
||||||
|
this.attributes = new HashMap<>();
|
||||||
|
this.property = Objects.requireNonNull(property);
|
||||||
|
this.string = "str/ing";
|
||||||
|
this.value = spy(ParsedFactory.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() {
|
||||||
|
when(value.attributes()).thenReturn(attributes);
|
||||||
|
when(property.value()).thenReturn(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstantNull() {
|
||||||
|
assertThrows(IllegalStateException.class, value::factory);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstant() {
|
||||||
|
attributes.put("fx:factory", property);
|
||||||
|
assertEquals(string, value.factory());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
assertEquals(new LinkedHashMap<>(), value.properties());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@@ -79,4 +80,9 @@ class TestParsedInclude {
|
|||||||
void testProperties() {
|
void testProperties() {
|
||||||
assertEquals(new LinkedHashMap<>(), include.properties());
|
assertEquals(new LinkedHashMap<>(), include.properties());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), include.children());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedReference {
|
||||||
|
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final ParsedProperty property;
|
||||||
|
private final String string;
|
||||||
|
private final ParsedReference reference;
|
||||||
|
|
||||||
|
TestParsedReference(@Mock final ParsedProperty property) {
|
||||||
|
this.attributes = new HashMap<>();
|
||||||
|
this.property = Objects.requireNonNull(property);
|
||||||
|
this.string = "str/ing";
|
||||||
|
this.reference = spy(ParsedReference.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() {
|
||||||
|
when(reference.attributes()).thenReturn(attributes);
|
||||||
|
when(property.value()).thenReturn(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSourceNull() {
|
||||||
|
assertThrows(IllegalStateException.class, reference::source);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testSource() {
|
||||||
|
attributes.put("source", property);
|
||||||
|
assertEquals(string, reference.source());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testClassName() {
|
||||||
|
assertEquals(ParsedReference.class.getName(), reference.className());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
assertEquals(new LinkedHashMap<>(), reference.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), reference.children());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
|
||||||
|
class TestParsedText {
|
||||||
|
|
||||||
|
private final ParsedText parsedText;
|
||||||
|
|
||||||
|
TestParsedText() {
|
||||||
|
this.parsedText = spy(ParsedText.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testClassName() {
|
||||||
|
assertEquals(String.class.getName(), parsedText.className());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), parsedText.children());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
assertEquals(new LinkedHashMap<>(), parsedText.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testAttributes() {
|
||||||
|
assertEquals(Map.of(), parsedText.attributes());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing;
|
||||||
|
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
|
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.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.spy;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedValue {
|
||||||
|
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final ParsedProperty property;
|
||||||
|
private final String string;
|
||||||
|
private final ParsedValue value;
|
||||||
|
|
||||||
|
TestParsedValue(@Mock final ParsedProperty property) {
|
||||||
|
this.attributes = new HashMap<>();
|
||||||
|
this.property = Objects.requireNonNull(property);
|
||||||
|
this.string = "str/ing";
|
||||||
|
this.value = spy(ParsedValue.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void beforeEach() {
|
||||||
|
when(value.attributes()).thenReturn(attributes);
|
||||||
|
when(property.value()).thenReturn(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstantNull() {
|
||||||
|
assertThrows(IllegalStateException.class, value::value);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstant() {
|
||||||
|
attributes.put("fx:value", property);
|
||||||
|
assertEquals(string, value.value());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testProperties() {
|
||||||
|
assertEquals(new LinkedHashMap<>(), value.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testChildren() {
|
||||||
|
assertEquals(List.of(), value.children());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,83 +1,59 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl;
|
||||||
|
|
||||||
import com.github.gtache.fxml.compiler.ControllerInjection;
|
|
||||||
import com.github.gtache.fxml.compiler.GenerationException;
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
import com.github.gtache.fxml.compiler.GenerationRequest;
|
import com.github.gtache.fxml.compiler.GenerationRequest;
|
||||||
import com.github.gtache.fxml.compiler.Generator;
|
import com.github.gtache.fxml.compiler.Generator;
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedConstant;
|
import com.github.gtache.fxml.compiler.impl.internal.GenerationProgress;
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedInclude;
|
import com.github.gtache.fxml.compiler.impl.internal.HelperMethodsProvider;
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
|
||||||
import javafx.event.EventHandler;
|
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.getControllerInjection;
|
||||||
import java.util.*;
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.getVariablePrefix;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import static com.github.gtache.fxml.compiler.impl.internal.ObjectFormatter.format;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static com.github.gtache.fxml.compiler.impl.ReflectionHelper.*;
|
//TODO handle binding (${})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of {@link Generator}
|
* Implementation of {@link Generator}
|
||||||
*/
|
*/
|
||||||
public class GeneratorImpl implements Generator {
|
public class GeneratorImpl implements Generator {
|
||||||
|
|
||||||
private static final Pattern INT_PATTERN = Pattern.compile("\\d+");
|
|
||||||
private static final Pattern DECIMAL_PATTERN = Pattern.compile("\\d+(?:\\.\\d+)?");
|
|
||||||
|
|
||||||
private final Collection<String> controllerFactoryPostAction;
|
|
||||||
private final Map<String, AtomicInteger> variableNameCounters;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates a new generator
|
|
||||||
*/
|
|
||||||
public GeneratorImpl() {
|
|
||||||
this.controllerFactoryPostAction = new ArrayList<>();
|
|
||||||
this.variableNameCounters = new ConcurrentHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String generate(final GenerationRequest request) throws GenerationException {
|
public String generate(final GenerationRequest request) throws GenerationException {
|
||||||
controllerFactoryPostAction.clear();
|
final var progress = new GenerationProgress(request);
|
||||||
variableNameCounters.clear();
|
|
||||||
final var className = request.outputClassName();
|
final var className = request.outputClassName();
|
||||||
final var pkgName = className.substring(0, className.lastIndexOf('.'));
|
final var pkgName = className.substring(0, className.lastIndexOf('.'));
|
||||||
final var simpleClassName = className.substring(className.lastIndexOf('.') + 1);
|
final var simpleClassName = className.substring(className.lastIndexOf('.') + 1);
|
||||||
final var loadMethod = getLoadMethod(request);
|
final var loadMethod = getLoadMethod(progress);
|
||||||
final var controllerInjection = getControllerInjection(request);
|
final var controllerInjection = getControllerInjection(progress);
|
||||||
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
||||||
|
final var controllerInjectionClass = controllerInjection.injectionClass();
|
||||||
final String constructorArgument;
|
final String constructorArgument;
|
||||||
final String constructorControllerJavadoc;
|
final String constructorControllerJavadoc;
|
||||||
final String controllerArgumentType;
|
final String controllerArgumentType;
|
||||||
final String controllerMapType;
|
final String controllerMapType;
|
||||||
final var controllerInjectionClass = controllerInjection.injectionClass();
|
|
||||||
final var imports = getImports(request);
|
|
||||||
if (controllerInjectionType == ControllerFieldInjectionTypes.FACTORY) {
|
if (controllerInjectionType == ControllerFieldInjectionTypes.FACTORY) {
|
||||||
constructorArgument = "controllerFactory";
|
constructorArgument = "controllerFactory";
|
||||||
constructorControllerJavadoc = "controller factory";
|
constructorControllerJavadoc = "controller factory";
|
||||||
controllerArgumentType = "ControllerFactory<" + controllerInjectionClass + ">";
|
controllerArgumentType = "com.github.gtache.fxml.compiler.ControllerFactory<" + controllerInjectionClass + ">";
|
||||||
controllerMapType = "ControllerFactory<?>";
|
controllerMapType = "com.github.gtache.fxml.compiler.ControllerFactory<?>";
|
||||||
} else {
|
} else {
|
||||||
constructorArgument = "controller";
|
constructorArgument = "controller";
|
||||||
constructorControllerJavadoc = "controller";
|
constructorControllerJavadoc = "controller";
|
||||||
controllerArgumentType = controllerInjectionClass;
|
controllerArgumentType = controllerInjectionClass;
|
||||||
controllerMapType = "Object";
|
controllerMapType = "Object";
|
||||||
}
|
}
|
||||||
final var helperMethods = getHelperMethods(request);
|
final var helperMethods = HelperMethodsProvider.getHelperMethods(progress);
|
||||||
return """
|
return """
|
||||||
package %1$s;
|
package %1$s;
|
||||||
|
|
||||||
%9$s
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generated code, not thread-safe
|
* Generated code, not thread-safe
|
||||||
*/
|
*/
|
||||||
public final class %2$s {
|
public final class %2$s {
|
||||||
|
|
||||||
private final Map<Class<?>, %7$s> controllersMap;
|
private final java.util.Map<Class<?>, %7$s> controllersMap;
|
||||||
private final Map<Class<?>, ResourceBundle> resourceBundlesMap;
|
private final java.util.Map<Class<?>, java.util.ResourceBundle> resourceBundlesMap;
|
||||||
private boolean loaded;
|
private boolean loaded;
|
||||||
private %3$s controller;
|
private %3$s controller;
|
||||||
|
|
||||||
@@ -86,7 +62,7 @@ public class GeneratorImpl implements Generator {
|
|||||||
* @param %4$s The %5$s
|
* @param %4$s The %5$s
|
||||||
*/
|
*/
|
||||||
public %2$s(final %8$s %4$s) {
|
public %2$s(final %8$s %4$s) {
|
||||||
this(Map.of(%3$s.class, %4$s), Map.of());
|
this(java.util.Map.of(%3$s.class, %4$s), java.util.Map.of());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -94,8 +70,8 @@ public class GeneratorImpl implements Generator {
|
|||||||
* @param %4$s The %5$s
|
* @param %4$s The %5$s
|
||||||
* @param resourceBundle The resource bundle
|
* @param resourceBundle The resource bundle
|
||||||
*/
|
*/
|
||||||
public %2$s(final %8$s %4$s, final ResourceBundle resourceBundle) {
|
public %2$s(final %8$s %4$s, final java.util.ResourceBundle resourceBundle) {
|
||||||
this(Map.of(%3$s.class, %4$s), Map.of(%3$s.class, resourceBundle));
|
this(java.util.Map.of(%3$s.class, %4$s), java.util.Map.of(%3$s.class, resourceBundle));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -103,9 +79,9 @@ public class GeneratorImpl implements Generator {
|
|||||||
* @param controllersMap The map of controller class to %5$s
|
* @param controllersMap The map of controller class to %5$s
|
||||||
* @param resourceBundlesMap The map of controller class to resource bundle
|
* @param resourceBundlesMap The map of controller class to resource bundle
|
||||||
*/
|
*/
|
||||||
public %2$s(final Map<Class<?>, %7$s> controllersMap, final Map<Class<?>, ResourceBundle> resourceBundlesMap) {
|
public %2$s(final java.util.Map<Class<?>, %7$s> controllersMap, final java.util.Map<Class<?>, java.util.ResourceBundle> resourceBundlesMap) {
|
||||||
this.controllersMap = Map.copyOf(controllersMap);
|
this.controllersMap = java.util.Map.copyOf(controllersMap);
|
||||||
this.resourceBundlesMap = Map.copyOf(resourceBundlesMap);
|
this.resourceBundlesMap = java.util.Map.copyOf(resourceBundlesMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -115,7 +91,7 @@ public class GeneratorImpl implements Generator {
|
|||||||
*/
|
*/
|
||||||
%6$s
|
%6$s
|
||||||
|
|
||||||
%10$s
|
%9$s
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return The controller
|
* @return The controller
|
||||||
@@ -129,113 +105,30 @@ public class GeneratorImpl implements Generator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
""".formatted(pkgName, simpleClassName, controllerInjectionClass, constructorArgument, constructorControllerJavadoc,
|
""".formatted(pkgName, simpleClassName, controllerInjectionClass, constructorArgument, constructorControllerJavadoc,
|
||||||
loadMethod, controllerMapType, controllerArgumentType, imports, helperMethods);
|
loadMethod, controllerMapType, controllerArgumentType, helperMethods);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets helper methods string for the given generation request
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @return The helper methods
|
|
||||||
*/
|
|
||||||
private static String getHelperMethods(final GenerationRequest request) throws GenerationException {
|
|
||||||
final var injection = getControllerInjection(request);
|
|
||||||
final var methodInjectionType = injection.methodInjectionType();
|
|
||||||
final var sb = new StringBuilder();
|
|
||||||
if (methodInjectionType == ControllerMethodsInjectionType.REFLECTION) {
|
|
||||||
sb.append("""
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
""");
|
|
||||||
}
|
|
||||||
if (injection.fieldInjectionType() == ControllerFieldInjectionTypes.REFLECTION) {
|
|
||||||
sb.append("""
|
|
||||||
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 sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets imports for the given generation request
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @return The imports
|
|
||||||
*/
|
|
||||||
private static String getImports(final GenerationRequest request) throws GenerationException {
|
|
||||||
final var injection = getControllerInjection(request);
|
|
||||||
final var fieldInjectionType = injection.fieldInjectionType();
|
|
||||||
final var sb = new StringBuilder("import java.util.Map;\nimport java.util.ResourceBundle;\nimport java.util.HashMap;\n");
|
|
||||||
if (fieldInjectionType == ControllerFieldInjectionTypes.FACTORY) {
|
|
||||||
sb.append("import com.github.gtache.fxml.compiler.ControllerFactory;\n");
|
|
||||||
}
|
|
||||||
final var methodInjectionType = injection.methodInjectionType();
|
|
||||||
if (methodInjectionType == ControllerMethodsInjectionType.REFLECTION) {
|
|
||||||
sb.append("import java.lang.reflect.InvocationTargetException;\n");
|
|
||||||
sb.append("import java.util.Arrays;\n");
|
|
||||||
sb.append("import javafx.event.Event;\n");
|
|
||||||
sb.append("import java.lang.reflect.Method;\n");
|
|
||||||
}
|
|
||||||
return sb.toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the load method
|
* Computes the load method
|
||||||
*
|
*
|
||||||
* @param request The generation request
|
* @param progress The generation progress
|
||||||
* @return The load method
|
* @return The load method
|
||||||
*/
|
*/
|
||||||
private String getLoadMethod(final GenerationRequest request) throws GenerationException {
|
private static String getLoadMethod(final GenerationProgress progress) throws GenerationException {
|
||||||
|
final var request = progress.request();
|
||||||
final var rootObject = request.rootObject();
|
final var rootObject = request.rootObject();
|
||||||
final var controllerInjection = getControllerInjection(request);
|
final var controllerInjection = getControllerInjection(progress);
|
||||||
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
||||||
final var controllerClass = controllerInjection.injectionClass();
|
final var controllerClass = controllerInjection.injectionClass();
|
||||||
final var sb = new StringBuilder("public <T> T load() {\n");
|
final var sb = progress.stringBuilder();
|
||||||
|
sb.append("public <T> T load() {\n");
|
||||||
sb.append(" if (loaded) {\n");
|
sb.append(" if (loaded) {\n");
|
||||||
sb.append(" throw new IllegalStateException(\"Already loaded\");\n");
|
sb.append(" throw new IllegalStateException(\"Already loaded\");\n");
|
||||||
sb.append(" }\n");
|
sb.append(" }\n");
|
||||||
final var resourceBundleInjection = request.parameters().resourceBundleInjection();
|
final var resourceBundleInjection = request.parameters().resourceBundleInjection();
|
||||||
if (resourceBundleInjection.injectionType() == ResourceBundleInjectionTypes.GET_BUNDLE) {
|
if (resourceBundleInjection.injectionType() == ResourceBundleInjectionTypes.GET_BUNDLE) {
|
||||||
sb.append(" final var bundle = ResourceBundle.getBundle(\"").append(resourceBundleInjection.bundleName()).append("\");\n");
|
sb.append(" final var bundle = java.util.ResourceBundle.getBundle(\"").append(resourceBundleInjection.bundleName()).append("\");\n");
|
||||||
} else if (resourceBundleInjection.injectionType() == ResourceBundleInjectionTypes.CONSTRUCTOR) {
|
} else if (resourceBundleInjection.injectionType() == ResourceBundleInjectionTypes.CONSTRUCTOR) {
|
||||||
sb.append(" final var bundle = resourceBundlesMap.get(").append(controllerClass).append(".class);\n");
|
sb.append(" final var bundle = resourceBundlesMap.get(").append(controllerClass).append(".class);\n");
|
||||||
}
|
}
|
||||||
@@ -244,19 +137,19 @@ public class GeneratorImpl implements Generator {
|
|||||||
} else {
|
} else {
|
||||||
sb.append(" controller = (").append(controllerClass).append(") controllersMap.get(").append(controllerClass).append(".class);\n");
|
sb.append(" controller = (").append(controllerClass).append(") controllersMap.get(").append(controllerClass).append(".class);\n");
|
||||||
}
|
}
|
||||||
final var variableName = getNextVariableName("object");
|
final var variableName = progress.getNextVariableName(getVariablePrefix(rootObject));
|
||||||
format(request, rootObject, variableName, sb);
|
format(progress, rootObject, variableName);
|
||||||
if (controllerInjectionType == ControllerFieldInjectionTypes.FACTORY) {
|
if (controllerInjectionType == ControllerFieldInjectionTypes.FACTORY) {
|
||||||
sb.append(" final var controllerFactory = controllersMap.get(").append(controllerClass).append(".class);\n");
|
sb.append(" final var controllerFactory = controllersMap.get(").append(controllerClass).append(".class);\n");
|
||||||
sb.append(" controller = (").append(controllerClass).append(") controllerFactory.create(fieldMap);\n");
|
sb.append(" controller = (").append(controllerClass).append(") controllerFactory.create(fieldMap);\n");
|
||||||
controllerFactoryPostAction.forEach(sb::append);
|
progress.controllerFactoryPostAction().forEach(sb::append);
|
||||||
}
|
}
|
||||||
if (controllerInjection.methodInjectionType() == ControllerMethodsInjectionType.REFLECTION) {
|
if (controllerInjection.methodInjectionType() == ControllerMethodsInjectionType.REFLECTION) {
|
||||||
sb.append(" try {\n");
|
sb.append(" try {\n");
|
||||||
sb.append(" final var initialize = controller.getClass().getDeclaredMethod(\"initialize\");\n");
|
sb.append(" final var initialize = controller.getClass().getDeclaredMethod(\"initialize\");\n");
|
||||||
sb.append(" initialize.setAccessible(true);\n");
|
sb.append(" initialize.setAccessible(true);\n");
|
||||||
sb.append(" initialize.invoke(controller);\n");
|
sb.append(" initialize.invoke(controller);\n");
|
||||||
sb.append(" } catch (final InvocationTargetException | IllegalAccessException e) {\n");
|
sb.append(" } catch (final java.lang.reflect.InvocationTargetException | IllegalAccessException e) {\n");
|
||||||
sb.append(" throw new RuntimeException(\"Error using reflection\", e);\n");
|
sb.append(" throw new RuntimeException(\"Error using reflection\", e);\n");
|
||||||
sb.append(" } catch (final NoSuchMethodException ignored) {\n");
|
sb.append(" } catch (final NoSuchMethodException ignored) {\n");
|
||||||
sb.append(" }\n");
|
sb.append(" }\n");
|
||||||
@@ -264,584 +157,10 @@ public class GeneratorImpl implements Generator {
|
|||||||
sb.append(" controller.initialize();\n");
|
sb.append(" controller.initialize();\n");
|
||||||
}
|
}
|
||||||
sb.append(" loaded = true;\n");
|
sb.append(" loaded = true;\n");
|
||||||
sb.append(" return ").append(variableName).append(";\n");
|
sb.append(" return (T) ").append(variableName).append(";\n");
|
||||||
sb.append("}");
|
sb.append("}");
|
||||||
return sb.toString();
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats an object
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param parsedObject The parsed object to format
|
|
||||||
* @param variableName The variable name for the object
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private void format(final GenerationRequest request, final ParsedObject parsedObject, final String variableName, final StringBuilder sb) throws GenerationException {
|
|
||||||
switch (parsedObject) {
|
|
||||||
case final ParsedInclude include -> formatInclude(request, include, variableName, sb);
|
|
||||||
case final ParsedConstant constant -> formatConstant(constant, variableName, sb);
|
|
||||||
default -> {
|
|
||||||
final var clazz = getClass(parsedObject.className());
|
|
||||||
final var constructors = clazz.getConstructors();
|
|
||||||
final var allPropertyNames = new HashSet<>(parsedObject.attributes().keySet());
|
|
||||||
allPropertyNames.addAll(parsedObject.properties().keySet().stream().map(ParsedProperty::name).collect(Collectors.toSet()));
|
|
||||||
final var constructorArgs = getMatchingConstructorArgs(constructors, allPropertyNames);
|
|
||||||
if (constructorArgs == null) {
|
|
||||||
if (allPropertyNames.size() == 1 && allPropertyNames.iterator().next().equals("fx:constant")) {
|
|
||||||
final var property = parsedObject.attributes().get("fx:constant");
|
|
||||||
sb.append(" final var ").append(variableName).append(" = ").append(clazz.getCanonicalName()).append(".").append(property.value()).append(";\n");
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot find constructor for " + clazz.getCanonicalName());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
final var args = getListConstructorArgs(constructorArgs, parsedObject);
|
|
||||||
final var genericTypes = getGenericTypes(request, parsedObject);
|
|
||||||
sb.append(" final var ").append(variableName).append(" = new ").append(clazz.getCanonicalName())
|
|
||||||
.append(genericTypes).append("(").append(String.join(", ", args)).append(");\n");
|
|
||||||
final var sortedAttributes = parsedObject.attributes().entrySet().stream().sorted(Map.Entry.comparingByKey()).toList();
|
|
||||||
for (final var e : sortedAttributes) {
|
|
||||||
if (!constructorArgs.namedArgs().containsKey(e.getKey())) {
|
|
||||||
final var p = e.getValue();
|
|
||||||
formatProperty(request, p, parsedObject, variableName, sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
final var sortedProperties = parsedObject.properties().entrySet().stream().sorted(Comparator.comparing(e -> e.getKey().name())).toList();
|
|
||||||
for (final var e : sortedProperties) {
|
|
||||||
if (!constructorArgs.namedArgs().containsKey(e.getKey().name())) {
|
|
||||||
final var p = e.getKey();
|
|
||||||
final var o = e.getValue();
|
|
||||||
formatChild(request, parsedObject, p, o, variableName, sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getGenericTypes(final GenerationRequest request, final ParsedObject parsedObject) throws GenerationException {
|
|
||||||
final var clazz = getClass(parsedObject.className());
|
|
||||||
if (isGeneric(clazz)) {
|
|
||||||
final var idProperty = parsedObject.attributes().get("fx:id");
|
|
||||||
if (idProperty == null) {
|
|
||||||
return "<>";
|
|
||||||
} else {
|
|
||||||
final var id = idProperty.value();
|
|
||||||
final var genericTypes = request.controllerInfo().propertyGenericTypes(id);
|
|
||||||
if (genericTypes == null) { //Raw
|
|
||||||
return "";
|
|
||||||
} else {
|
|
||||||
return "<" + String.join(", ", genericTypes) + ">";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats an include object
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param include The include object
|
|
||||||
* @param subNodeName The sub node name
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private void formatInclude(final GenerationRequest request, final ParsedInclude include, final String subNodeName, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var subViewVariable = getNextVariableName("view");
|
|
||||||
final var source = include.source();
|
|
||||||
final var resources = include.resources();
|
|
||||||
final var subControllerClass = request.parameters().sourceToControllerName().get(source);
|
|
||||||
final var subClassName = request.parameters().sourceToGeneratedClassName().get(source);
|
|
||||||
if (subClassName == null) {
|
|
||||||
throw new GenerationException("Unknown include source : " + source);
|
|
||||||
}
|
|
||||||
if (resources == null) {
|
|
||||||
sb.append(" final var ").append(subViewVariable).append(" = new ").append(subClassName).append("(controllersMap, resourceBundlesMap);\n");
|
|
||||||
} else {
|
|
||||||
final var subResourceBundlesMapVariable = getNextVariableName("map");
|
|
||||||
final var subBundleVariable = getNextVariableName("bundle");
|
|
||||||
sb.append(" final var ").append(subResourceBundlesMapVariable).append(" = new HashMap<>(resourceBundlesMap);\n");
|
|
||||||
sb.append(" final var ").append(subBundleVariable).append(" = ResourceBundle.getBundle(\"").append(resources).append("\");\n");
|
|
||||||
sb.append(" ").append(subResourceBundlesMapVariable).append(".put(").append(subControllerClass).append(", ").append(subBundleVariable).append(");\n");
|
|
||||||
sb.append(" final var ").append(subViewVariable).append(" = new ").append(subClassName).append("(controllersMap, ").append(subResourceBundlesMapVariable).append(");\n");
|
|
||||||
}
|
|
||||||
sb.append(" final var ").append(subNodeName).append(" = ").append(subViewVariable).append(".load();\n");
|
|
||||||
final var id = include.controllerId();
|
|
||||||
if (id != null) {
|
|
||||||
final var subControllerVariable = getNextVariableName("controller");
|
|
||||||
sb.append(" final var ").append(subControllerVariable).append(" = ").append(subViewVariable).append(".controller();\n");
|
|
||||||
injectControllerField(request, id, subControllerVariable, sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats a constant object
|
|
||||||
*
|
|
||||||
* @param constant The constant
|
|
||||||
* @param variableName The variable name
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void formatConstant(final ParsedConstant constant, final String variableName, final StringBuilder sb) {
|
|
||||||
sb.append(" final var ").append(variableName).append(" = ").append(constant.className()).append(".").append(constant.constant()).append(";\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats a property
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param property The property to format
|
|
||||||
* @param parent The property's parent object
|
|
||||||
* @param parentVariable The parent variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private void formatProperty(final GenerationRequest request, final ParsedProperty property, final ParsedObject parent, final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var propertyName = property.name();
|
|
||||||
final var setMethod = getSetMethod(propertyName);
|
|
||||||
if (propertyName.equals("fx:id")) {
|
|
||||||
final var id = property.value();
|
|
||||||
injectControllerField(request, id, parentVariable, sb);
|
|
||||||
} else if (propertyName.equals("fx:controller")) {
|
|
||||||
if (parent != request.rootObject()) {
|
|
||||||
throw new GenerationException("Invalid nested controller");
|
|
||||||
}
|
|
||||||
} else if (Objects.equals(property.sourceType(), EventHandler.class.getName())) {
|
|
||||||
injectControllerMethod(request, property, parentVariable, sb);
|
|
||||||
} else if (property.sourceType() != null) {
|
|
||||||
final var propertySourceTypeClass = getClass(property.sourceType());
|
|
||||||
if (hasStaticMethod(propertySourceTypeClass, setMethod)) {
|
|
||||||
final var method = getStaticMethod(propertySourceTypeClass, setMethod);
|
|
||||||
final var parameterType = method.getParameterTypes()[1];
|
|
||||||
final var arg = getArg(request, property.value(), parameterType);
|
|
||||||
setLaterIfNeeded(request, property, parameterType, " " + property.sourceType() + "." + setMethod + "(" + parentVariable + ", " + arg + ");\n", sb);
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot set " + propertyName + " on " + property.sourceType());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
final var getMethod = getGetMethod(propertyName);
|
|
||||||
final var parentClass = getClass(parent.className());
|
|
||||||
if (hasMethod(parentClass, setMethod)) {
|
|
||||||
final var method = getMethod(parentClass, setMethod);
|
|
||||||
final var parameterType = method.getParameterTypes()[0];
|
|
||||||
final var arg = getArg(request, property.value(), parameterType);
|
|
||||||
setLaterIfNeeded(request, property, parameterType, " " + parentVariable + "." + setMethod + "(" + arg + ");\n", sb);
|
|
||||||
} else if (hasMethod(parentClass, getMethod)) {
|
|
||||||
final var method = getMethod(parentClass, getMethod);
|
|
||||||
final var returnType = method.getReturnType();
|
|
||||||
if (hasMethod(returnType, "addAll")) {
|
|
||||||
final var arg = getArg(request, property.value(), String.class);
|
|
||||||
setLaterIfNeeded(request, property, String.class, " " + parentVariable + "." + getMethod + "().addAll(" + arg + ");\n", sb);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot set " + propertyName + " on " + parent.className());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void setLaterIfNeeded(final GenerationRequest request, final ParsedProperty property, final Class<?> type, final String arg, final StringBuilder sb) throws GenerationException {
|
|
||||||
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
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param property The property to inject
|
|
||||||
* @param parentVariable The parent variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private void injectControllerMethod(final GenerationRequest request, final ParsedProperty property, final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var injection = getControllerInjection(request);
|
|
||||||
final var methodInjection = getMethodInjection(request, property, parentVariable, sb);
|
|
||||||
if (injection.fieldInjectionType() instanceof final ControllerFieldInjectionTypes fieldTypes) {
|
|
||||||
switch (fieldTypes) {
|
|
||||||
case FACTORY -> controllerFactoryPostAction.add(methodInjection);
|
|
||||||
case ASSIGN, SETTERS, REFLECTION -> sb.append(methodInjection);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Unknown injection type : " + injection.fieldInjectionType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Computes the method injection
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param property The property
|
|
||||||
* @param parentVariable The parent variable
|
|
||||||
* @param sb The string builder
|
|
||||||
* @return The method injection
|
|
||||||
*/
|
|
||||||
private static String getMethodInjection(final GenerationRequest request, final ParsedProperty property, final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var setMethod = getSetMethod(property.name());
|
|
||||||
final var injection = getControllerInjection(request);
|
|
||||||
final var controllerMethod = property.value().replace("#", "");
|
|
||||||
if (injection.methodInjectionType() instanceof final ControllerMethodsInjectionType methodTypes) {
|
|
||||||
return switch (methodTypes) {
|
|
||||||
case REFERENCE -> {
|
|
||||||
final var hasArgument = request.controllerInfo().handlerHasArgument(controllerMethod);
|
|
||||||
if (hasArgument) {
|
|
||||||
yield " " + parentVariable + "." + setMethod + "(controller::" + controllerMethod + ");\n";
|
|
||||||
} else {
|
|
||||||
yield " " + parentVariable + "." + setMethod + "(e -> controller." + controllerMethod + "());\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
case REFLECTION ->
|
|
||||||
" " + parentVariable + "." + setMethod + "(e -> callMethod(\"" + controllerMethod + "\", e));\n";
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Unknown injection type : " + injection.methodInjectionType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats an argument to a method
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param value The value
|
|
||||||
* @param parameterType The parameter type
|
|
||||||
* @return The formatted value
|
|
||||||
*/
|
|
||||||
private static String getArg(final GenerationRequest request, final String value, final Class<?> parameterType) throws GenerationException {
|
|
||||||
if (parameterType == String.class && value.startsWith("%")) {
|
|
||||||
return getBundleValue(request, value.substring(1));
|
|
||||||
} else {
|
|
||||||
return toString(value, parameterType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Injects the given variable into the controller
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param id The object id
|
|
||||||
* @param variable The object variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void injectControllerField(final GenerationRequest request, final String id, final String variable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var controllerInjection = getControllerInjection(request);
|
|
||||||
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
|
||||||
if (controllerInjectionType instanceof final ControllerFieldInjectionTypes types) {
|
|
||||||
switch (types) {
|
|
||||||
case FACTORY ->
|
|
||||||
sb.append(" fieldMap.put(\"").append(id).append("\", ").append(variable).append(");\n");
|
|
||||||
case ASSIGN -> sb.append(" controller.").append(id).append(" = ").append(variable).append(";\n");
|
|
||||||
case SETTERS -> {
|
|
||||||
final var setMethod = getSetMethod(id);
|
|
||||||
sb.append(" controller.").append(setMethod).append("(").append(variable).append(");\n");
|
|
||||||
}
|
|
||||||
case REFLECTION ->
|
|
||||||
sb.append(" injectField(\"").append(id).append("\", ").append(variable).append(");\n");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Unknown controller injection type : " + controllerInjectionType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the controller injection object from the generation request
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @return The controller injection
|
|
||||||
*/
|
|
||||||
private static ControllerInjection getControllerInjection(final GenerationRequest request) throws GenerationException {
|
|
||||||
final var property = request.rootObject().attributes().get("fx:controller");
|
|
||||||
if (property == null) {
|
|
||||||
throw new GenerationException("Root object must have a controller property");
|
|
||||||
} else {
|
|
||||||
final var id = property.value();
|
|
||||||
return request.parameters().controllerInjections().get(id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats the children objects of a property
|
|
||||||
*
|
|
||||||
* @param request The generation request
|
|
||||||
* @param parent The parent object
|
|
||||||
* @param property The parent property
|
|
||||||
* @param objects The child objects
|
|
||||||
* @param parentVariable The parent object variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private void formatChild(final GenerationRequest request, final ParsedObject parent, final ParsedProperty property,
|
|
||||||
final Collection<? extends ParsedObject> objects, final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var propertyName = property.name();
|
|
||||||
final var variables = new ArrayList<String>();
|
|
||||||
for (final var object : objects) {
|
|
||||||
final var vn = getNextVariableName("object");
|
|
||||||
format(request, object, vn, sb);
|
|
||||||
variables.add(vn);
|
|
||||||
}
|
|
||||||
if (variables.size() > 1) {
|
|
||||||
formatMultipleChildren(variables, propertyName, parent, parentVariable, sb);
|
|
||||||
} else if (variables.size() == 1) {
|
|
||||||
final var vn = variables.getFirst();
|
|
||||||
formatSingleChild(vn, property, parent, parentVariable, sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats children objects given that they are more than one
|
|
||||||
*
|
|
||||||
* @param variables The children variables
|
|
||||||
* @param propertyName The property name
|
|
||||||
* @param parent The parent object
|
|
||||||
* @param parentVariable The parent object variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void formatMultipleChildren(final Iterable<String> variables, final String propertyName, final ParsedObject parent,
|
|
||||||
final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var getMethod = getGetMethod(propertyName);
|
|
||||||
if (hasMethod(getClass(parent.className()), getMethod)) {
|
|
||||||
sb.append(" ").append(parentVariable).append(".").append(getMethod).append("().addAll(").append(String.join(", ", variables)).append(");\n");
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot set " + propertyName + " on " + parent.className());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats a single child object
|
|
||||||
*
|
|
||||||
* @param variableName The child's variable name
|
|
||||||
* @param property The parent property
|
|
||||||
* @param parent The parent object
|
|
||||||
* @param parentVariable The parent object variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void formatSingleChild(final String variableName, final ParsedProperty property, final ParsedObject parent,
|
|
||||||
final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
if (property.sourceType() == null) {
|
|
||||||
formatSingleChildInstance(variableName, property, parent, parentVariable, sb);
|
|
||||||
} else {
|
|
||||||
formatSingleChildStatic(variableName, property, parentVariable, sb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats a single child object using an instance method on the parent object
|
|
||||||
*
|
|
||||||
* @param variableName The child's variable name
|
|
||||||
* @param property The parent property
|
|
||||||
* @param parent The parent object
|
|
||||||
* @param parentVariable The parent object variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void formatSingleChildInstance(final String variableName, final ParsedProperty property, final ParsedObject parent,
|
|
||||||
final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var setMethod = getSetMethod(property);
|
|
||||||
final var getMethod = getGetMethod(property);
|
|
||||||
final var parentClass = getClass(parent.className());
|
|
||||||
if (hasMethod(parentClass, setMethod)) {
|
|
||||||
sb.append(" ").append(parentVariable).append(".").append(setMethod).append("(").append(variableName).append(");\n");
|
|
||||||
} else if (hasMethod(parentClass, getMethod)) {
|
|
||||||
//Probably a list method that has only one element
|
|
||||||
sb.append(" ").append(parentVariable).append(".").append(getMethod).append("().addAll(").append(variableName).append(");\n");
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot set " + property.name() + " on " + parent.className());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Formats a child object using a static method
|
|
||||||
*
|
|
||||||
* @param variableName The child's variable name
|
|
||||||
* @param property The parent property
|
|
||||||
* @param parentVariable The parent variable
|
|
||||||
* @param sb The string builder
|
|
||||||
*/
|
|
||||||
private static void formatSingleChildStatic(final String variableName, final ParsedProperty property, final String parentVariable, final StringBuilder sb) throws GenerationException {
|
|
||||||
final var setMethod = getSetMethod(property);
|
|
||||||
if (hasStaticMethod(getClass(property.sourceType()), setMethod)) {
|
|
||||||
sb.append(" ").append(property.sourceType()).append(".").append(setMethod).append("(").append(parentVariable).append(", ").append(variableName).append(");\n");
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Cannot set " + property.name() + " on " + property.sourceType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the getter method name for the given property
|
|
||||||
*
|
|
||||||
* @param property The property
|
|
||||||
* @return The getter method name
|
|
||||||
*/
|
|
||||||
private static String getGetMethod(final ParsedProperty property) {
|
|
||||||
return getGetMethod(property.name());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the getter method name for the given property name
|
|
||||||
*
|
|
||||||
* @param propertyName The property name
|
|
||||||
* @return The getter method name
|
|
||||||
*/
|
|
||||||
private static String getGetMethod(final String propertyName) {
|
|
||||||
return "get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the setter method name for the given property
|
|
||||||
*
|
|
||||||
* @param property The property
|
|
||||||
* @return The setter method name
|
|
||||||
*/
|
|
||||||
private static String getSetMethod(final ParsedProperty property) {
|
|
||||||
return getSetMethod(property.name());
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the setter method name for the given property name
|
|
||||||
*
|
|
||||||
* @param propertyName The property name
|
|
||||||
* @return The setter method name
|
|
||||||
*/
|
|
||||||
private static String getSetMethod(final String propertyName) {
|
|
||||||
return "set" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private static String getBundleValue(final GenerationRequest request, final String value) throws GenerationException {
|
|
||||||
final var resourceBundleInjectionType = request.parameters().resourceBundleInjection().injectionType();
|
|
||||||
if (resourceBundleInjectionType instanceof final ResourceBundleInjectionTypes types) {
|
|
||||||
return switch (types) {
|
|
||||||
case CONSTRUCTOR, GET_BUNDLE -> "bundle.getString(\"" + value + "\")";
|
|
||||||
case GETTER -> "controller.resources().getString(\"" + value + "\")";
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Unknown resource bundle injection type : " + resourceBundleInjectionType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the constructor arguments as a list of strings
|
|
||||||
*
|
|
||||||
* @param constructorArgs The constructor arguments
|
|
||||||
* @param parsedObject The parsed object
|
|
||||||
* @return The list of constructor arguments
|
|
||||||
*/
|
|
||||||
private static List<String> getListConstructorArgs(final ConstructorArgs constructorArgs, final ParsedObject parsedObject) throws GenerationException {
|
|
||||||
final var args = new ArrayList<String>(constructorArgs.namedArgs().size());
|
|
||||||
for (final var entry : constructorArgs.namedArgs().entrySet()) {
|
|
||||||
final var type = entry.getValue().type();
|
|
||||||
final var p = parsedObject.attributes().get(entry.getKey());
|
|
||||||
if (p == null) {
|
|
||||||
final var c = parsedObject.properties().entrySet().stream().filter(e ->
|
|
||||||
e.getKey().name().equals(entry.getKey())).findFirst().orElse(null);
|
|
||||||
if (c == null) {
|
|
||||||
args.add(toString(entry.getValue().defaultValue(), type));
|
|
||||||
} else {
|
|
||||||
throw new GenerationException("Constructor using complex property not supported yet");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
args.add(toString(p.value(), type));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return args;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the constructor arguments that best match the given property names
|
|
||||||
*
|
|
||||||
* @param constructors The constructors
|
|
||||||
* @param allPropertyNames The property names
|
|
||||||
* @return The matching constructor arguments, or null if no constructor matches and no default constructor exists
|
|
||||||
*/
|
|
||||||
private static ConstructorArgs getMatchingConstructorArgs(final Constructor<?>[] constructors, final Set<String> allPropertyNames) {
|
|
||||||
ConstructorArgs matchingConstructorArgs = null;
|
|
||||||
for (final var constructor : constructors) {
|
|
||||||
final var constructorArgs = getConstructorArgs(constructor);
|
|
||||||
final var matchingArgsCount = getMatchingArgsCount(constructorArgs, allPropertyNames);
|
|
||||||
if (matchingConstructorArgs == null ? matchingArgsCount > 0 : matchingArgsCount > getMatchingArgsCount(matchingConstructorArgs, allPropertyNames)) {
|
|
||||||
matchingConstructorArgs = constructorArgs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (matchingConstructorArgs == null) {
|
|
||||||
return Arrays.stream(constructors).filter(c -> c.getParameterCount() == 0).findFirst().map(c -> new ConstructorArgs(c, new LinkedHashMap<>())).orElse(null);
|
|
||||||
} else {
|
|
||||||
return matchingConstructorArgs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks how many arguments of the given constructor match the given property names
|
|
||||||
*
|
|
||||||
* @param constructorArgs The constructor arguments
|
|
||||||
* @param allPropertyNames The property names
|
|
||||||
* @return The number of matching arguments
|
|
||||||
*/
|
|
||||||
private static long getMatchingArgsCount(final ConstructorArgs constructorArgs, final Set<String> allPropertyNames) {
|
|
||||||
return constructorArgs.namedArgs().keySet().stream().filter(allPropertyNames::contains).count();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Computes the string value to use in the generated code
|
|
||||||
*
|
|
||||||
* @param value The value
|
|
||||||
* @param clazz The value class
|
|
||||||
* @return The computed string value
|
|
||||||
*/
|
|
||||||
private static String toString(final String value, final Class<?> clazz) {
|
|
||||||
if (clazz == String.class) {
|
|
||||||
return "\"" + value.replace("\"", "\\\"") + "\"";
|
|
||||||
} else if (clazz == char.class || clazz == Character.class) {
|
|
||||||
return "'" + value + "'";
|
|
||||||
} else if (clazz == boolean.class || clazz == Boolean.class) {
|
|
||||||
return value;
|
|
||||||
} else if (clazz == byte.class || clazz == Byte.class || clazz == short.class || clazz == Short.class ||
|
|
||||||
clazz == int.class || clazz == Integer.class || clazz == long.class || clazz == Long.class) {
|
|
||||||
if (INT_PATTERN.matcher(value).matches()) {
|
|
||||||
return value;
|
|
||||||
} else {
|
|
||||||
return getWrapperClass(clazz) + ".valueOf(\"" + value + "\")";
|
|
||||||
}
|
|
||||||
} else if (clazz == float.class || clazz == Float.class || clazz == double.class || clazz == Double.class) {
|
|
||||||
if (DECIMAL_PATTERN.matcher(value).matches()) {
|
|
||||||
return value;
|
|
||||||
} else {
|
|
||||||
return getWrapperClass(clazz) + ".valueOf(\"" + value + "\")";
|
|
||||||
}
|
|
||||||
} else if (hasValueOf(clazz)) {
|
|
||||||
if (clazz.isEnum()) {
|
|
||||||
return clazz.getCanonicalName() + "." + value;
|
|
||||||
} else {
|
|
||||||
return clazz.getCanonicalName() + ".valueOf(\"" + value + "\")";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private static String getWrapperClass(final Class<?> clazz) {
|
|
||||||
final var name = clazz.getName();
|
|
||||||
if (name.contains(".") || Character.isUpperCase(name.charAt(0))) {
|
|
||||||
return name;
|
|
||||||
} else {
|
|
||||||
return name.substring(0, 1).toUpperCase() + name.substring(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Computes the next available variable name for the given prefix
|
|
||||||
*
|
|
||||||
* @param prefix The variable name prefix
|
|
||||||
* @return The next available variable name
|
|
||||||
*/
|
|
||||||
private String getNextVariableName(final String prefix) {
|
|
||||||
final var counter = variableNameCounters.computeIfAbsent(prefix, k -> new AtomicInteger(0));
|
|
||||||
return prefix + counter.getAndIncrement();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Class<?> getClass(final String className) throws GenerationException {
|
|
||||||
try {
|
|
||||||
return Class.forName(className, false, Thread.currentThread().getContextClassLoader());
|
|
||||||
} catch (final ClassNotFoundException e) {
|
|
||||||
throw new GenerationException("Cannot find class " + className + " ; Is a dependency missing for the plugin?", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@@ -15,6 +15,14 @@ import static java.util.Objects.requireNonNull;
|
|||||||
*/
|
*/
|
||||||
record ConstructorArgs(Constructor<?> constructor,
|
record ConstructorArgs(Constructor<?> constructor,
|
||||||
SequencedMap<String, Parameter> namedArgs) {
|
SequencedMap<String, Parameter> namedArgs) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates new args
|
||||||
|
*
|
||||||
|
* @param constructor The constructor
|
||||||
|
* @param namedArgs The named args
|
||||||
|
* @throws NullPointerException if any argument is null
|
||||||
|
*/
|
||||||
ConstructorArgs {
|
ConstructorArgs {
|
||||||
requireNonNull(constructor);
|
requireNonNull(constructor);
|
||||||
namedArgs = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(namedArgs));
|
namedArgs = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(namedArgs));
|
||||||
+84
@@ -0,0 +1,84 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
|
||||||
|
import java.lang.reflect.Constructor;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ReflectionHelper.getConstructorArgs;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to handle constructors
|
||||||
|
*/
|
||||||
|
final class ConstructorHelper {
|
||||||
|
private ConstructorHelper() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the constructor arguments as a list of strings
|
||||||
|
*
|
||||||
|
* @param constructorArgs The constructor arguments
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @return The list of constructor arguments
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static List<String> getListConstructorArgs(final ConstructorArgs constructorArgs, final ParsedObject parsedObject) throws GenerationException {
|
||||||
|
final var args = new ArrayList<String>(constructorArgs.namedArgs().size());
|
||||||
|
for (final var entry : constructorArgs.namedArgs().entrySet()) {
|
||||||
|
final var type = entry.getValue().type();
|
||||||
|
final var p = parsedObject.attributes().get(entry.getKey());
|
||||||
|
if (p == null) {
|
||||||
|
final var c = parsedObject.properties().entrySet().stream().filter(e ->
|
||||||
|
e.getKey().name().equals(entry.getKey())).findFirst().orElse(null);
|
||||||
|
if (c == null) {
|
||||||
|
args.add(ValueFormatter.toString(entry.getValue().defaultValue(), type));
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Constructor using complex property not supported yet");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
args.add(ValueFormatter.toString(p.value(), type));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return args;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the constructor arguments that best match the given property names
|
||||||
|
*
|
||||||
|
* @param constructors The constructors
|
||||||
|
* @param allPropertyNames The property names
|
||||||
|
* @return The matching constructor arguments, or null if no constructor matches and no default constructor exists
|
||||||
|
*/
|
||||||
|
static ConstructorArgs getMatchingConstructorArgs(final Constructor<?>[] constructors, final Set<String> allPropertyNames) {
|
||||||
|
ConstructorArgs matchingConstructorArgs = null;
|
||||||
|
for (final var constructor : constructors) {
|
||||||
|
final var constructorArgs = getConstructorArgs(constructor);
|
||||||
|
final var matchingArgsCount = getMatchingArgsCount(constructorArgs, allPropertyNames);
|
||||||
|
if (matchingConstructorArgs == null ? matchingArgsCount > 0 : matchingArgsCount > getMatchingArgsCount(matchingConstructorArgs, allPropertyNames)) {
|
||||||
|
matchingConstructorArgs = constructorArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (matchingConstructorArgs == null) {
|
||||||
|
return Arrays.stream(constructors).filter(c -> c.getParameterCount() == 0).findFirst().map(c -> new ConstructorArgs(c, new LinkedHashMap<>())).orElse(null);
|
||||||
|
} else {
|
||||||
|
return matchingConstructorArgs;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks how many arguments of the given constructor match the given property names
|
||||||
|
*
|
||||||
|
* @param constructorArgs The constructor arguments
|
||||||
|
* @param allPropertyNames The property names
|
||||||
|
* @return The number of matching arguments
|
||||||
|
*/
|
||||||
|
private static long getMatchingArgsCount(final ConstructorArgs constructorArgs, final Set<String> allPropertyNames) {
|
||||||
|
return constructorArgs.namedArgs().keySet().stream().filter(allPropertyNames::contains).count();
|
||||||
|
}
|
||||||
|
}
|
||||||
+154
@@ -0,0 +1,154 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.InjectionType;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerFieldInjectionTypes;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerMethodsInjectionType;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.getControllerInjection;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.getSetMethod;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Various methods to help {@link GeneratorImpl} for injecting controllers
|
||||||
|
*/
|
||||||
|
final class ControllerInjector {
|
||||||
|
private ControllerInjector() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injects the given variable into the controller
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param id The object id
|
||||||
|
* @param variable The object variable
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void injectControllerField(final GenerationProgress progress, final String id, final String variable) throws GenerationException {
|
||||||
|
final var controllerInjection = getControllerInjection(progress);
|
||||||
|
final var controllerInjectionType = controllerInjection.fieldInjectionType();
|
||||||
|
if (controllerInjectionType instanceof final ControllerFieldInjectionTypes types) {
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
switch (types) {
|
||||||
|
case FACTORY ->
|
||||||
|
sb.append(" fieldMap.put(\"").append(id).append("\", ").append(variable).append(");\n");
|
||||||
|
case ASSIGN -> sb.append(" controller.").append(id).append(" = ").append(variable).append(";\n");
|
||||||
|
case SETTERS -> {
|
||||||
|
final var setMethod = getSetMethod(id);
|
||||||
|
sb.append(" controller.").append(setMethod).append("(").append(variable).append(");\n");
|
||||||
|
}
|
||||||
|
case REFLECTION ->
|
||||||
|
sb.append(" injectField(\"").append(id).append("\", ").append(variable).append(");\n");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Unknown controller injection type : " + controllerInjectionType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injects an event handler controller method
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to inject
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void injectEventHandlerControllerMethod(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
injectControllerMethod(progress, getEventHandlerMethodInjection(progress, property, parentVariable));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injects a callback controller method
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to inject
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @param argumentClazz The argument class
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void injectCallbackControllerMethod(final GenerationProgress progress, final ParsedProperty property, final String parentVariable, final String argumentClazz) throws GenerationException {
|
||||||
|
injectControllerMethod(progress, getCallbackMethodInjection(progress, property, parentVariable, argumentClazz));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Injects a controller method
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param methodInjection The method injection
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static void injectControllerMethod(final GenerationProgress progress, final String methodInjection) throws GenerationException {
|
||||||
|
final var injection = getControllerInjection(progress);
|
||||||
|
if (injection.fieldInjectionType() instanceof final ControllerFieldInjectionTypes fieldTypes) {
|
||||||
|
switch (fieldTypes) {
|
||||||
|
case FACTORY -> progress.controllerFactoryPostAction().add(methodInjection);
|
||||||
|
case ASSIGN, SETTERS, REFLECTION -> progress.stringBuilder().append(methodInjection);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw getUnknownInjectionException(injection.fieldInjectionType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the method injection for event handler
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @return The method injection
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static String getEventHandlerMethodInjection(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(property.name());
|
||||||
|
final var injection = getControllerInjection(progress);
|
||||||
|
final var controllerMethod = property.value().replace("#", "");
|
||||||
|
if (injection.methodInjectionType() instanceof final ControllerMethodsInjectionType methodTypes) {
|
||||||
|
return switch (methodTypes) {
|
||||||
|
case REFERENCE -> {
|
||||||
|
final var hasArgument = progress.request().controllerInfo().handlerHasArgument(controllerMethod);
|
||||||
|
if (hasArgument) {
|
||||||
|
yield " " + parentVariable + "." + setMethod + "(controller::" + controllerMethod + ");\n";
|
||||||
|
} else {
|
||||||
|
yield " " + parentVariable + "." + setMethod + "(e -> controller." + controllerMethod + "());\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case REFLECTION ->
|
||||||
|
" " + parentVariable + "." + setMethod + "(e -> callEventHandlerMethod(\"" + controllerMethod + "\", e));\n";
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
throw getUnknownInjectionException(injection.methodInjectionType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the method injection for callback
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @param argumentClazz The argument class
|
||||||
|
* @return The method injection
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static String getCallbackMethodInjection(final GenerationProgress progress, final ParsedProperty property, final String parentVariable, final String argumentClazz) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(property.name());
|
||||||
|
final var injection = getControllerInjection(progress);
|
||||||
|
final var controllerMethod = property.value().replace("#", "");
|
||||||
|
if (injection.methodInjectionType() instanceof final ControllerMethodsInjectionType methodTypes) {
|
||||||
|
return switch (methodTypes) {
|
||||||
|
case REFERENCE ->
|
||||||
|
" " + parentVariable + "." + setMethod + "(controller::" + controllerMethod + ");\n";
|
||||||
|
case REFLECTION ->
|
||||||
|
" " + parentVariable + "." + setMethod + "(e -> callCallbackMethod(\"" + controllerMethod + "\", e, " + argumentClazz + "));\n";
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
throw getUnknownInjectionException(injection.methodInjectionType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static GenerationException getUnknownInjectionException(final InjectionType type) {
|
||||||
|
return new GenerationException("Unknown injection type : " + type);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerFieldInjectionTypes;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to set fields
|
||||||
|
*/
|
||||||
|
final class FieldSetter {
|
||||||
|
|
||||||
|
private FieldSetter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets an event handler field
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to inject
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @throws GenerationException if an error occurs@
|
||||||
|
*/
|
||||||
|
static void setEventHandler(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
setField(progress, property, parentVariable, "javafx.event.EventHandler");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a field
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to inject
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @param fieldType The field type
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void setField(final GenerationProgress progress, final ParsedProperty property, final String parentVariable, final String fieldType) throws GenerationException {
|
||||||
|
final var injection = getControllerInjection(progress);
|
||||||
|
if (injection.fieldInjectionType() instanceof final ControllerFieldInjectionTypes fieldTypes) {
|
||||||
|
switch (fieldTypes) {
|
||||||
|
case ASSIGN -> setAssign(progress, property, parentVariable);
|
||||||
|
case FACTORY -> setFactory(progress, property, parentVariable);
|
||||||
|
case SETTERS -> setSetter(progress, property, parentVariable);
|
||||||
|
case REFLECTION -> setReflection(progress, property, parentVariable, fieldType);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Unknown injection type : " + injection.fieldInjectionType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setAssign(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) {
|
||||||
|
final var methodName = getSetMethod(property);
|
||||||
|
final var value = property.value().replace("$", "");
|
||||||
|
progress.stringBuilder().append(" ").append(parentVariable).append(".").append(methodName).append("(").append(value).append(");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setFactory(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) {
|
||||||
|
progress.controllerFactoryPostAction().add(getSetString(property, parentVariable));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setSetter(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) {
|
||||||
|
progress.stringBuilder().append(getSetString(property, parentVariable));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSetString(final ParsedProperty property, final String parentVariable) {
|
||||||
|
final var methodName = getSetMethod(property);
|
||||||
|
final var value = property.value().replace("$", "");
|
||||||
|
final var split = value.split("\\.");
|
||||||
|
final var getterName = getGetMethod(split[1]);
|
||||||
|
return " " + parentVariable + "." + methodName + "(" + split[0] + "." + getterName + ");\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setReflection(final GenerationProgress progress, final ParsedProperty property, final String parentVariable, final String fieldType) {
|
||||||
|
final var methodName = getSetMethod(property);
|
||||||
|
final var value = property.value().replace("$", "");
|
||||||
|
final var split = value.split("\\.");
|
||||||
|
final var fieldName = split[1];
|
||||||
|
progress.stringBuilder().append("""
|
||||||
|
try {
|
||||||
|
final var field = controller.getClass().getDeclaredField("%s");
|
||||||
|
field.setAccessible(true);
|
||||||
|
final var value = (%s) field.get(controller);
|
||||||
|
%s.%s(value);
|
||||||
|
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
""".formatted(fieldName, fieldType, parentVariable, methodName));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,138 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import javafx.scene.text.FontPosture;
|
||||||
|
import javafx.scene.text.FontWeight;
|
||||||
|
|
||||||
|
import java.net.MalformedURLException;
|
||||||
|
import java.net.URI;
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format fonts
|
||||||
|
*/
|
||||||
|
final class FontFormatter {
|
||||||
|
|
||||||
|
private FontFormatter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void formatFont(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (parsedObject.children().isEmpty() && parsedObject.properties().isEmpty()) {
|
||||||
|
final var value = parseFontValue(parsedObject);
|
||||||
|
final var url = value.url();
|
||||||
|
final var fw = value.fontWeight();
|
||||||
|
final var fp = value.fontPosture();
|
||||||
|
final var size = value.size();
|
||||||
|
final var name = value.name();
|
||||||
|
if (url != null) {
|
||||||
|
formatURL(progress, url, size, variableName);
|
||||||
|
} else if (fw == null && fp == null) {
|
||||||
|
formatNoStyle(progress, name, size, variableName);
|
||||||
|
} else {
|
||||||
|
formatStyle(progress, fw, fp, size, name, variableName);
|
||||||
|
}
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Font cannot have children or properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatURL(final GenerationProgress progress, final URL url, final double size, final String variableName) {
|
||||||
|
final var urlVariableName = URLBuilder.formatURL(progress, url.toString());
|
||||||
|
progress.stringBuilder().append("""
|
||||||
|
Font %1$s;
|
||||||
|
try (final var in = %2$s.openStream()) {
|
||||||
|
%1$s = Font.loadFont(in, %3$s);
|
||||||
|
} catch (final IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
""".formatted(variableName, urlVariableName, size));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatNoStyle(final GenerationProgress progress, final String name, final double size, final String variableName) {
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = new javafx.scene.text.Font(\"").append(name).append("\", ").append(size).append(");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatStyle(final GenerationProgress progress, final FontWeight fw, final FontPosture fp, final double size, final String name, final String variableName) {
|
||||||
|
final var finalFW = fw == null ? FontWeight.NORMAL : fw;
|
||||||
|
final var finalFP = fp == null ? FontPosture.REGULAR : fp;
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = new javafx.scene.text.Font(\"").append(name)
|
||||||
|
.append("\", javafx.scene.text.FontWeight.").append(finalFW.name()).append(", javafx.scene.text.FontPosture.")
|
||||||
|
.append(finalFP.name()).append(", ").append(size).append(");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static FontValue parseFontValue(final ParsedObject parsedObject) throws GenerationException {
|
||||||
|
URL url = null;
|
||||||
|
String name = null;
|
||||||
|
double size = 12;
|
||||||
|
FontWeight fw = null;
|
||||||
|
FontPosture fp = null;
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
for (final var property : sortedAttributes) {
|
||||||
|
switch (property.name()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "name" -> {
|
||||||
|
try {
|
||||||
|
url = new URI(property.value()).toURL();
|
||||||
|
} catch (final MalformedURLException | URISyntaxException | IllegalArgumentException ignored) {
|
||||||
|
name = property.value();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "size" -> size = Double.parseDouble(property.value());
|
||||||
|
case "style" -> {
|
||||||
|
final var style = getFontStyle(property);
|
||||||
|
if (style.fontWeight() != null) {
|
||||||
|
fw = style.fontWeight();
|
||||||
|
}
|
||||||
|
if (style.fontPosture() != null) {
|
||||||
|
fp = style.fontPosture();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
case "url" -> url = getURL(property);
|
||||||
|
default -> throw new GenerationException("Unknown font attribute : " + property.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new FontValue(url, name, size, fw, fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static URL getURL(final ParsedProperty property) throws GenerationException {
|
||||||
|
try {
|
||||||
|
return new URI(property.value()).toURL();
|
||||||
|
} catch (final MalformedURLException | URISyntaxException e) {
|
||||||
|
throw new GenerationException("Couldn't parse url : " + property.value(), e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static FontStyle getFontStyle(final ParsedProperty property) {
|
||||||
|
final var split = property.value().split(" ");
|
||||||
|
FontWeight fw = null;
|
||||||
|
FontPosture fp = null;
|
||||||
|
for (final var s : split) {
|
||||||
|
final var fontWeight = FontWeight.findByName(s);
|
||||||
|
final var fontPosture = FontPosture.findByName(s);
|
||||||
|
if (fontWeight != null) {
|
||||||
|
fw = fontWeight;
|
||||||
|
} else if (fontPosture != null) {
|
||||||
|
fp = fontPosture;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new FontStyle(fw, fp);
|
||||||
|
}
|
||||||
|
|
||||||
|
private record FontValue(URL url, String name, double size, FontWeight fontWeight,
|
||||||
|
FontPosture fontPosture) {
|
||||||
|
}
|
||||||
|
|
||||||
|
private record FontStyle(FontWeight fontWeight, FontPosture fontPosture) {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+124
@@ -0,0 +1,124 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.ControllerInjection;
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ControllerInjector.injectControllerField;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Various helper methods for {@link GeneratorImpl}
|
||||||
|
*/
|
||||||
|
public final class GenerationHelper {
|
||||||
|
|
||||||
|
static final String FX_ID = "fx:id";
|
||||||
|
static final String FX_VALUE = "fx:value";
|
||||||
|
static final String VALUE = "value";
|
||||||
|
static final String START_VAR = " final var ";
|
||||||
|
|
||||||
|
private GenerationHelper() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the variable prefix for the given object
|
||||||
|
*
|
||||||
|
* @param object The object
|
||||||
|
* @return The variable prefix
|
||||||
|
*/
|
||||||
|
public static String getVariablePrefix(final ParsedObject object) {
|
||||||
|
final var className = object.className();
|
||||||
|
return className.substring(className.lastIndexOf('.') + 1).toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the controller injection object from the generation request
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @return The controller injection
|
||||||
|
* @throws GenerationException If the controller is not found
|
||||||
|
*/
|
||||||
|
public static ControllerInjection getControllerInjection(final GenerationProgress progress) throws GenerationException {
|
||||||
|
final var request = progress.request();
|
||||||
|
final var property = request.rootObject().attributes().get("fx:controller");
|
||||||
|
if (property == null) {
|
||||||
|
throw new GenerationException("Root object must have a controller property");
|
||||||
|
} else {
|
||||||
|
final var id = property.value();
|
||||||
|
return request.parameters().controllerInjections().get(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the getter method name for the given property
|
||||||
|
*
|
||||||
|
* @param property The property
|
||||||
|
* @return The getter method name
|
||||||
|
*/
|
||||||
|
static String getGetMethod(final ParsedProperty property) {
|
||||||
|
return getGetMethod(property.name());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the getter method name for the given property name
|
||||||
|
*
|
||||||
|
* @param propertyName The property name
|
||||||
|
* @return The getter method name
|
||||||
|
*/
|
||||||
|
static String getGetMethod(final String propertyName) {
|
||||||
|
return "get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the setter method name for the given property
|
||||||
|
*
|
||||||
|
* @param property The property
|
||||||
|
* @return The setter method name
|
||||||
|
*/
|
||||||
|
static String getSetMethod(final ParsedProperty property) {
|
||||||
|
return getSetMethod(property.name());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the setter method name for the given property name
|
||||||
|
*
|
||||||
|
* @param propertyName The property name
|
||||||
|
* @return The setter method name
|
||||||
|
*/
|
||||||
|
static String getSetMethod(final String propertyName) {
|
||||||
|
return "set" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles the fx:id attribute of an object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @param variableName The variable name
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void handleId(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
final var id = parsedObject.attributes().get(FX_ID);
|
||||||
|
if (id != null) {
|
||||||
|
progress.idToVariableName().put(id.value(), variableName);
|
||||||
|
progress.idToObject().put(id.value(), parsedObject);
|
||||||
|
//TODO Don't inject if variable doesn't exist
|
||||||
|
injectControllerField(progress, id.value(), variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the sorted attributes of the given object
|
||||||
|
*
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @return The sorted attributes
|
||||||
|
*/
|
||||||
|
static List<ParsedProperty> getSortedAttributes(final ParsedObject parsedObject) {
|
||||||
|
return parsedObject.attributes().entrySet().stream().sorted(Map.Entry.comparingByKey()).map(Map.Entry::getValue).toList();
|
||||||
|
}
|
||||||
|
}
|
||||||
+70
@@ -0,0 +1,70 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationRequest;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used by {@link GeneratorImpl} to track the generation progress
|
||||||
|
*
|
||||||
|
* @param request The generation request
|
||||||
|
* @param idToVariableName The id to variable name mapping
|
||||||
|
* @param idToObject The id to parsed object mapping
|
||||||
|
* @param variableNameCounters The variable name counters for variable name generation
|
||||||
|
* @param controllerFactoryPostAction The controller factory post action for factory injection
|
||||||
|
* @param stringBuilder The string builder
|
||||||
|
*/
|
||||||
|
public record GenerationProgress(GenerationRequest request, Map<String, String> idToVariableName,
|
||||||
|
Map<String, ParsedObject> idToObject,
|
||||||
|
Map<String, AtomicInteger> variableNameCounters,
|
||||||
|
SequencedCollection<String> controllerFactoryPostAction,
|
||||||
|
StringBuilder stringBuilder) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new GenerationProgress
|
||||||
|
*
|
||||||
|
* @param request The generation request
|
||||||
|
* @param idToVariableName The id to variable name mapping
|
||||||
|
* @param idToObject The id to parsed object mapping
|
||||||
|
* @param variableNameCounters The variable name counters
|
||||||
|
* @param controllerFactoryPostAction The controller factory post action
|
||||||
|
* @param stringBuilder The string builder
|
||||||
|
* @throws NullPointerException if any parameter is null
|
||||||
|
*/
|
||||||
|
public GenerationProgress {
|
||||||
|
Objects.requireNonNull(request);
|
||||||
|
Objects.requireNonNull(idToVariableName);
|
||||||
|
Objects.requireNonNull(idToObject);
|
||||||
|
Objects.requireNonNull(variableNameCounters);
|
||||||
|
Objects.requireNonNull(controllerFactoryPostAction);
|
||||||
|
Objects.requireNonNull(stringBuilder);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new GenerationProgress
|
||||||
|
*
|
||||||
|
* @param request The generation request
|
||||||
|
* @throws NullPointerException if request is null
|
||||||
|
*/
|
||||||
|
public GenerationProgress(final GenerationRequest request) {
|
||||||
|
this(request, new HashMap<>(), new HashMap<>(), new HashMap<>(), new ArrayList<>(), new StringBuilder());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the next available variable name for the given prefix
|
||||||
|
*
|
||||||
|
* @param prefix The variable name prefix
|
||||||
|
* @return The next available variable name
|
||||||
|
*/
|
||||||
|
public String getNextVariableName(final String prefix) {
|
||||||
|
final var counter = variableNameCounters.computeIfAbsent(prefix, k -> new AtomicInteger(0));
|
||||||
|
return prefix + counter.getAndIncrement();
|
||||||
|
}
|
||||||
|
}
|
||||||
+106
@@ -0,0 +1,106 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerFieldInjectionTypes;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerMethodsInjectionType;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.getControllerInjection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provides the helper methods for the generated code
|
||||||
|
*/
|
||||||
|
public final class HelperMethodsProvider {
|
||||||
|
|
||||||
|
private HelperMethodsProvider() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets helper methods string for the given generation progress
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @return The helper methods
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
public static String getHelperMethods(final GenerationProgress progress) throws GenerationException {
|
||||||
|
final var injection = getControllerInjection(progress);
|
||||||
|
final var methodInjectionType = injection.methodInjectionType();
|
||||||
|
final var sb = new StringBuilder();
|
||||||
|
if (methodInjectionType == ControllerMethodsInjectionType.REFLECTION) {
|
||||||
|
sb.append("""
|
||||||
|
private <T extends javafx.event.Event> void callEventHandlerMethod(final String methodName, final T event) {
|
||||||
|
try {
|
||||||
|
final java.lang.reflect.Method method;
|
||||||
|
final var methods = java.util.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 && javafx.event.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 | java.lang.reflect.InvocationTargetException ex) {
|
||||||
|
throw new RuntimeException("Error using reflection on " + methodName, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private <T, U> U callCallbackMethod(final String methodName, final T value, final Class<T> clazz) {
|
||||||
|
try {
|
||||||
|
final java.lang.reflect.Method method;
|
||||||
|
final var methods = java.util.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 && clazz.isAssignableFrom(m.getParameterTypes()[0])).toList();
|
||||||
|
if (eventMethods.size() == 1) {
|
||||||
|
method = eventMethods.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);
|
||||||
|
return (U) method.invoke(controller, value);
|
||||||
|
} catch (final IllegalAccessException | java.lang.reflect.InvocationTargetException ex) {
|
||||||
|
throw new RuntimeException("Error using reflection on " + methodName, ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
""");
|
||||||
|
}
|
||||||
|
if (injection.fieldInjectionType() == ControllerFieldInjectionTypes.REFLECTION) {
|
||||||
|
sb.append("""
|
||||||
|
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 sb.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.URLBuilder.formatURL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format Images
|
||||||
|
*/
|
||||||
|
final class ImageBuilder {
|
||||||
|
|
||||||
|
private ImageBuilder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void formatImage(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (parsedObject.children().isEmpty() && parsedObject.properties().isEmpty()) {
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
String url = null;
|
||||||
|
var requestedWidth = 0.0;
|
||||||
|
var requestedHeight = 0.0;
|
||||||
|
var preserveRatio = false;
|
||||||
|
var smooth = false;
|
||||||
|
var backgroundLoading = false;
|
||||||
|
for (final var property : sortedAttributes) {
|
||||||
|
switch (property.name()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "url" -> url = formatURL(progress, property.value());
|
||||||
|
case "requestedWidth" -> requestedWidth = Double.parseDouble(property.value());
|
||||||
|
case "requestedHeight" -> requestedHeight = Double.parseDouble(property.value());
|
||||||
|
case "preserveRatio" -> preserveRatio = Boolean.parseBoolean(property.value());
|
||||||
|
case "smooth" -> smooth = Boolean.parseBoolean(property.value());
|
||||||
|
case "backgroundLoading" -> backgroundLoading = Boolean.parseBoolean(property.value());
|
||||||
|
default -> throw new GenerationException("Unknown image attribute : " + property.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var urlString = progress.getNextVariableName("urlStr");
|
||||||
|
progress.stringBuilder().append(START_VAR).append(urlString).append(" = ").append(url).append(".toString();\n");
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = new javafx.scene.image.Image(").append(urlString)
|
||||||
|
.append(", ").append(requestedWidth).append(", ").append(requestedHeight).append(", ")
|
||||||
|
.append(preserveRatio).append(", ").append(smooth).append(", ").append(backgroundLoading).append(");\n");
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Image cannot have children or properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+511
@@ -0,0 +1,511 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.*;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.impl.ParsedPropertyImpl;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ConstructorHelper.getListConstructorArgs;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ConstructorHelper.getMatchingConstructorArgs;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ControllerInjector.injectControllerField;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.FontFormatter.formatFont;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ImageBuilder.formatImage;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.PropertyFormatter.formatProperty;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ReflectionHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.SceneBuilder.formatScene;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.TriangleMeshBuilder.formatTriangleMesh;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.URLBuilder.formatURL;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.WebViewBuilder.formatWebView;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format properties
|
||||||
|
*/
|
||||||
|
public final class ObjectFormatter {
|
||||||
|
|
||||||
|
private static final String NEW_ASSIGN = " = new ";
|
||||||
|
|
||||||
|
private static final Set<String> BUILDER_CLASSES = Set.of(
|
||||||
|
"javafx.scene.Scene",
|
||||||
|
"javafx.scene.text.Font",
|
||||||
|
"javafx.scene.image.Image",
|
||||||
|
"java.net.URL",
|
||||||
|
"javafx.scene.shape.TriangleMesh",
|
||||||
|
"javafx.scene.web.WebView"
|
||||||
|
);
|
||||||
|
|
||||||
|
private static final Set<String> SIMPLE_CLASSES = Set.of(
|
||||||
|
"java.lang.String",
|
||||||
|
"java.lang.Integer",
|
||||||
|
"java.lang.Byte",
|
||||||
|
"java.lang.Short",
|
||||||
|
"java.lang.Long",
|
||||||
|
"java.lang.Float",
|
||||||
|
"java.lang.Double"
|
||||||
|
);
|
||||||
|
|
||||||
|
private ObjectFormatter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats an object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object to format
|
||||||
|
* @param variableName The variable name for the object
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
public static void format(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
switch (parsedObject) {
|
||||||
|
case final ParsedConstant constant -> formatConstant(progress, constant, variableName);
|
||||||
|
case final ParsedCopy copy -> formatCopy(progress, copy, variableName);
|
||||||
|
case final ParsedDefine define -> formatDefine(progress, define, variableName);
|
||||||
|
case final ParsedFactory factory -> formatFactory(progress, factory, variableName);
|
||||||
|
case final ParsedInclude include -> formatInclude(progress, include, variableName);
|
||||||
|
case final ParsedReference reference -> formatReference(progress, reference, variableName);
|
||||||
|
case final ParsedValue value -> formatValue(progress, value, variableName);
|
||||||
|
case final ParsedText text -> formatText(progress, text, variableName);
|
||||||
|
default -> formatObject(progress, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a simple text
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param text The parsed text
|
||||||
|
* @param variableName The variable name
|
||||||
|
*/
|
||||||
|
private static void formatText(final GenerationProgress progress, final ParsedText text, final String variableName) {
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = \"").append(text.text()).append("\";\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a basic object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object to format
|
||||||
|
* @param variableName The variable name for the object
|
||||||
|
*/
|
||||||
|
private static void formatObject(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (BUILDER_CLASSES.contains(parsedObject.className())) {
|
||||||
|
formatBuilderObject(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
formatNotBuilder(progress, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a builder object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @param variableName The variable name
|
||||||
|
*/
|
||||||
|
private static void formatBuilderObject(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
final var className = parsedObject.className();
|
||||||
|
switch (className) {
|
||||||
|
case "javafx.scene.Scene" -> formatScene(progress, parsedObject, variableName);
|
||||||
|
case "javafx.scene.text.Font" -> formatFont(progress, parsedObject, variableName);
|
||||||
|
case "javafx.scene.image.Image" -> formatImage(progress, parsedObject, variableName);
|
||||||
|
case "java.net.URL" -> formatURL(progress, parsedObject, variableName);
|
||||||
|
case "javafx.scene.shape.TriangleMesh" -> formatTriangleMesh(progress, parsedObject, variableName);
|
||||||
|
case "javafx.scene.web.WebView" -> formatWebView(progress, parsedObject, variableName);
|
||||||
|
default -> throw new IllegalArgumentException("Unknown builder class : " + className);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatNotBuilder(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (isSimpleClass(parsedObject)) {
|
||||||
|
formatSimpleClass(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
formatComplexClass(progress, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatSimpleClass(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (!parsedObject.properties().isEmpty()) {
|
||||||
|
throw new GenerationException("Simple class cannot have properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
if (parsedObject.attributes().keySet().stream().anyMatch(k -> !k.equals(FX_ID) && !k.equals(VALUE) && !k.equals(FX_VALUE))) {
|
||||||
|
throw new GenerationException("Invalid attributes for simple class : " + parsedObject);
|
||||||
|
}
|
||||||
|
final var value = getSimpleValue(progress, parsedObject);
|
||||||
|
final var valueStr = ValueFormatter.toString(value, ReflectionHelper.getClass(parsedObject.className()));
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(valueStr).append(";\n");
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSimpleValue(final GenerationProgress progress, final ParsedObject parsedObject) throws GenerationException {
|
||||||
|
final var definedChildren = parsedObject.children().stream().filter(ParsedDefine.class::isInstance).toList();
|
||||||
|
for (final var definedChild : definedChildren) {
|
||||||
|
formatObject(progress, definedChild, progress.getNextVariableName("define"));
|
||||||
|
}
|
||||||
|
final var notDefinedChildren = parsedObject.children().stream().filter(c -> !(c instanceof ParsedDefine)).toList();
|
||||||
|
if (parsedObject.attributes().containsKey(FX_VALUE)) {
|
||||||
|
return getSimpleFXValue(parsedObject, notDefinedChildren);
|
||||||
|
} else if (parsedObject.attributes().containsKey(VALUE)) {
|
||||||
|
return getSimpleValue(parsedObject, notDefinedChildren);
|
||||||
|
} else {
|
||||||
|
return getSimpleChild(parsedObject, notDefinedChildren);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSimpleFXValue(final ParsedObject parsedObject, final Collection<ParsedObject> notDefinedChildren) throws GenerationException {
|
||||||
|
if (notDefinedChildren.isEmpty() && !parsedObject.attributes().containsKey(VALUE)) {
|
||||||
|
return parsedObject.attributes().get(FX_VALUE).value();
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Malformed simple class : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSimpleValue(final ParsedObject parsedObject, final Collection<ParsedObject> notDefinedChildren) throws GenerationException {
|
||||||
|
if (notDefinedChildren.isEmpty()) {
|
||||||
|
return parsedObject.attributes().get(VALUE).value();
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Malformed simple class : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getSimpleChild(final ParsedObject parsedObject, final SequencedCollection<ParsedObject> notDefinedChildren) throws GenerationException {
|
||||||
|
if (notDefinedChildren.size() == 1) {
|
||||||
|
final var child = notDefinedChildren.getFirst();
|
||||||
|
if (child instanceof final ParsedText text) {
|
||||||
|
return text.text();
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Invalid value for : " + parsedObject);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Value not found for : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isSimpleClass(final ParsedObject object) throws GenerationException {
|
||||||
|
final var className = object.className();
|
||||||
|
if (SIMPLE_CLASSES.contains(className)) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
final var clazz = ReflectionHelper.getClass(className);
|
||||||
|
return clazz.isEnum();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatComplexClass(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
final var clazz = ReflectionHelper.getClass(parsedObject.className());
|
||||||
|
final var children = parsedObject.children();
|
||||||
|
final var definedChildren = children.stream().filter(ParsedDefine.class::isInstance).toList();
|
||||||
|
final var notDefinedChildren = children.stream().filter(c -> !(c instanceof ParsedDefine)).toList();
|
||||||
|
final var constructors = clazz.getConstructors();
|
||||||
|
final var allPropertyNames = new HashSet<>(parsedObject.attributes().keySet());
|
||||||
|
allPropertyNames.addAll(parsedObject.properties().keySet().stream().map(ParsedProperty::name).collect(Collectors.toSet()));
|
||||||
|
if (!definedChildren.isEmpty()) {
|
||||||
|
for (final var definedChild : definedChildren) {
|
||||||
|
format(progress, definedChild, progress.getNextVariableName("define"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!notDefinedChildren.isEmpty()) {
|
||||||
|
final var defaultProperty = getDefaultProperty(parsedObject.className());
|
||||||
|
if (defaultProperty != null) {
|
||||||
|
allPropertyNames.add(defaultProperty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var constructorArgs = getMatchingConstructorArgs(constructors, allPropertyNames);
|
||||||
|
if (constructorArgs == null) {
|
||||||
|
formatNoConstructor(progress, parsedObject, variableName, allPropertyNames);
|
||||||
|
} else {
|
||||||
|
formatConstructor(progress, parsedObject, variableName, constructorArgs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatNoConstructor(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName, final Collection<String> allPropertyNames) throws GenerationException {
|
||||||
|
final var clazz = ReflectionHelper.getClass(parsedObject.className());
|
||||||
|
if (allPropertyNames.size() == 1 && allPropertyNames.iterator().next().equals("fx:constant")) {
|
||||||
|
final var property = parsedObject.attributes().get("fx:constant");
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(clazz.getCanonicalName()).append(".").append(property.value()).append(";\n");
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Cannot find constructor for " + clazz.getCanonicalName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatConstructor(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName, final ConstructorArgs constructorArgs) throws GenerationException {
|
||||||
|
final var args = getListConstructorArgs(constructorArgs, parsedObject);
|
||||||
|
final var genericTypes = getGenericTypes(progress, parsedObject);
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(NEW_ASSIGN).append(parsedObject.className())
|
||||||
|
.append(genericTypes).append("(").append(String.join(", ", args)).append(");\n");
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
for (final var value : sortedAttributes) {
|
||||||
|
if (!constructorArgs.namedArgs().containsKey(value.name())) {
|
||||||
|
formatProperty(progress, value, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var sortedProperties = parsedObject.properties().entrySet().stream().sorted(Comparator.comparing(e -> e.getKey().name())).toList();
|
||||||
|
for (final var e : sortedProperties) {
|
||||||
|
if (!constructorArgs.namedArgs().containsKey(e.getKey().name())) {
|
||||||
|
final var p = e.getKey();
|
||||||
|
final var o = e.getValue();
|
||||||
|
formatChild(progress, parsedObject, p, o, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var notDefinedChildren = parsedObject.children().stream().filter(c -> !(c instanceof ParsedDefine)).toList();
|
||||||
|
if (!notDefinedChildren.isEmpty()) {
|
||||||
|
final var defaultProperty = getDefaultProperty(parsedObject.className());
|
||||||
|
if (!constructorArgs.namedArgs().containsKey(defaultProperty)) {
|
||||||
|
final var property = new ParsedPropertyImpl(defaultProperty, null, null);
|
||||||
|
formatChild(progress, parsedObject, property, notDefinedChildren, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats an include object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param include The include object
|
||||||
|
* @param subNodeName The sub node name
|
||||||
|
*/
|
||||||
|
private static void formatInclude(final GenerationProgress progress, final ParsedInclude include, final String subNodeName) throws GenerationException {
|
||||||
|
final var subViewVariable = progress.getNextVariableName("view");
|
||||||
|
final var source = include.source();
|
||||||
|
final var resources = include.resources();
|
||||||
|
final var request = progress.request();
|
||||||
|
final var subControllerClass = request.parameters().sourceToControllerName().get(source);
|
||||||
|
final var subClassName = request.parameters().sourceToGeneratedClassName().get(source);
|
||||||
|
if (subClassName == null) {
|
||||||
|
throw new GenerationException("Unknown include source : " + source);
|
||||||
|
}
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
if (resources == null) {
|
||||||
|
sb.append(START_VAR).append(subViewVariable).append(NEW_ASSIGN).append(subClassName).append("(controllersMap, resourceBundlesMap);\n");
|
||||||
|
} else {
|
||||||
|
final var subResourceBundlesMapVariable = progress.getNextVariableName("map");
|
||||||
|
final var subBundleVariable = progress.getNextVariableName("bundle");
|
||||||
|
sb.append(START_VAR).append(subResourceBundlesMapVariable).append(" = new HashMap<>(resourceBundlesMap);\n");
|
||||||
|
sb.append(START_VAR).append(subBundleVariable).append(" = java.util.ResourceBundle.getBundle(\"").append(resources).append("\");\n");
|
||||||
|
sb.append(" ").append(subResourceBundlesMapVariable).append(".put(").append(subControllerClass).append(", ").append(subBundleVariable).append(");\n");
|
||||||
|
sb.append(START_VAR).append(subViewVariable).append(NEW_ASSIGN).append(subClassName).append("(controllersMap, ").append(subResourceBundlesMapVariable).append(");\n");
|
||||||
|
}
|
||||||
|
sb.append(" final javafx.scene.Parent ").append(subNodeName).append(" = ").append(subViewVariable).append(".load();\n");
|
||||||
|
injectSubController(progress, include, subViewVariable);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectSubController(final GenerationProgress progress, final ParsedInclude include, final String subViewVariable) throws GenerationException {
|
||||||
|
final var id = include.controllerId();
|
||||||
|
if (id != null) {
|
||||||
|
final var subControllerVariable = progress.getNextVariableName("controller");
|
||||||
|
progress.stringBuilder().append(START_VAR).append(subControllerVariable).append(" = ").append(subViewVariable).append(".controller();\n");
|
||||||
|
progress.idToVariableName().put(id, subControllerVariable);
|
||||||
|
progress.idToObject().put(id, include);
|
||||||
|
//TODO Don't inject if variable doesn't exist
|
||||||
|
injectControllerField(progress, id, subControllerVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a fx:define
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param define The parsed define
|
||||||
|
* @param variableName The variable name
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static void formatDefine(final GenerationProgress progress, final ParsedDefine define, final String variableName) throws GenerationException {
|
||||||
|
formatObject(progress, define.object(), variableName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a fx:reference
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param reference The parsed reference
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static void formatReference(final GenerationProgress progress, final ParsedReference reference, final String variableName) throws GenerationException {
|
||||||
|
final var id = reference.source();
|
||||||
|
final var variable = progress.idToVariableName().get(id);
|
||||||
|
if (variable == null) {
|
||||||
|
throw new GenerationException("Unknown id : " + id);
|
||||||
|
}
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(variable).append(";\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a fx:copy
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param copy The parsed copy
|
||||||
|
* @param variableName The variable name
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static void formatCopy(final GenerationProgress progress, final ParsedCopy copy, final String variableName) throws GenerationException {
|
||||||
|
final var id = copy.source();
|
||||||
|
final var variable = progress.idToVariableName().get(id);
|
||||||
|
final var object = progress.idToObject().get(id);
|
||||||
|
if (variable == null || object == null) {
|
||||||
|
throw new GenerationException("Unknown id : " + id);
|
||||||
|
}
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(NEW_ASSIGN).append(object.className()).append("(").append(variable).append(");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a constant object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param constant The constant
|
||||||
|
* @param variableName The variable name
|
||||||
|
*/
|
||||||
|
private static void formatConstant(final GenerationProgress progress, final ParsedConstant constant, final String variableName) {
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(constant.className()).append(".").append(constant.constant()).append(";\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a value object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param value The value
|
||||||
|
* @param variableName The variable name
|
||||||
|
*/
|
||||||
|
private static void formatValue(final GenerationProgress progress, final ParsedValue value, final String variableName) {
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(value.className()).append(".valueOf(\"").append(value.value()).append("\");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a factory object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param factory The factory
|
||||||
|
* @param variableName The variable name
|
||||||
|
*/
|
||||||
|
private static void formatFactory(final GenerationProgress progress, final ParsedFactory factory, final String variableName) throws GenerationException {
|
||||||
|
final var variables = new ArrayList<String>();
|
||||||
|
for (final var argument : factory.arguments()) {
|
||||||
|
final var argumentVariable = progress.getNextVariableName("arg");
|
||||||
|
variables.add(argumentVariable);
|
||||||
|
format(progress, argument, argumentVariable);
|
||||||
|
}
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = ").append(factory.className())
|
||||||
|
.append(".").append(factory.factory()).append("(").append(String.join(", ", variables)).append(");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats the children objects of a property
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parent The parent object
|
||||||
|
* @param property The parent property
|
||||||
|
* @param objects The child objects
|
||||||
|
* @param parentVariable The parent object variable
|
||||||
|
*/
|
||||||
|
private static void formatChild(final GenerationProgress progress, final ParsedObject parent, final ParsedProperty property,
|
||||||
|
final Iterable<? extends ParsedObject> objects, final String parentVariable) throws GenerationException {
|
||||||
|
final var propertyName = property.name();
|
||||||
|
final var variables = new ArrayList<String>();
|
||||||
|
for (final var object : objects) {
|
||||||
|
final var vn = progress.getNextVariableName(getVariablePrefix(object));
|
||||||
|
format(progress, object, vn);
|
||||||
|
if (!(object instanceof ParsedDefine)) {
|
||||||
|
variables.add(vn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (variables.size() > 1) {
|
||||||
|
formatMultipleChildren(progress, variables, propertyName, parent, parentVariable);
|
||||||
|
} else if (variables.size() == 1) {
|
||||||
|
final var vn = variables.getFirst();
|
||||||
|
formatSingleChild(progress, vn, property, parent, parentVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats children objects given that they are more than one
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param variables The children variables
|
||||||
|
* @param propertyName The property name
|
||||||
|
* @param parent The parent object
|
||||||
|
* @param parentVariable The parent object variable
|
||||||
|
*/
|
||||||
|
private static void formatMultipleChildren(final GenerationProgress progress, final Iterable<String> variables, final String propertyName, final ParsedObject parent,
|
||||||
|
final String parentVariable) throws GenerationException {
|
||||||
|
final var getMethod = getGetMethod(propertyName);
|
||||||
|
if (hasMethod(ReflectionHelper.getClass(parent.className()), getMethod)) {
|
||||||
|
progress.stringBuilder().append(" ").append(parentVariable).append(".").append(getMethod).append("().addAll(java.util.List.of(").append(String.join(", ", variables)).append("));\n");
|
||||||
|
} else {
|
||||||
|
throw getCannotSetException(propertyName, parent.className());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a single child object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param variableName The child's variable name
|
||||||
|
* @param property The parent property
|
||||||
|
* @param parent The parent object
|
||||||
|
* @param parentVariable The parent object variable
|
||||||
|
*/
|
||||||
|
private static void formatSingleChild(final GenerationProgress progress, final String variableName, final ParsedProperty property, final ParsedObject parent,
|
||||||
|
final String parentVariable) throws GenerationException {
|
||||||
|
if (property.sourceType() == null) {
|
||||||
|
formatSingleChildInstance(progress, variableName, property, parent, parentVariable);
|
||||||
|
} else {
|
||||||
|
formatSingleChildStatic(progress, variableName, property, parentVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a single child object using an instance method on the parent object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param variableName The child's variable name
|
||||||
|
* @param property The parent property
|
||||||
|
* @param parent The parent object
|
||||||
|
* @param parentVariable The parent object variable
|
||||||
|
*/
|
||||||
|
private static void formatSingleChildInstance(final GenerationProgress progress, final String variableName,
|
||||||
|
final ParsedProperty property, final ParsedObject parent,
|
||||||
|
final String parentVariable) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(property);
|
||||||
|
final var getMethod = getGetMethod(property);
|
||||||
|
final var parentClass = ReflectionHelper.getClass(parent.className());
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
if (hasMethod(parentClass, setMethod)) {
|
||||||
|
sb.append(" ").append(parentVariable).append(".").append(setMethod).append("(").append(variableName).append(");\n");
|
||||||
|
} else if (hasMethod(parentClass, getMethod)) {
|
||||||
|
//Probably a list method that has only one element
|
||||||
|
sb.append(" ").append(parentVariable).append(".").append(getMethod).append("().addAll(java.util.List.of(").append(variableName).append("));\n");
|
||||||
|
} else {
|
||||||
|
throw getCannotSetException(property.name(), parent.className());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a child object using a static method
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param variableName The child's variable name
|
||||||
|
* @param property The parent property
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
*/
|
||||||
|
private static void formatSingleChildStatic(final GenerationProgress progress, final String variableName,
|
||||||
|
final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(property);
|
||||||
|
if (hasStaticMethod(ReflectionHelper.getClass(property.sourceType()), setMethod)) {
|
||||||
|
progress.stringBuilder().append(" ").append(property.sourceType()).append(".").append(setMethod)
|
||||||
|
.append("(").append(parentVariable).append(", ").append(variableName).append(");\n");
|
||||||
|
} else {
|
||||||
|
throw getCannotSetException(property.name(), property.sourceType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static GenerationException getCannotSetException(final String propertyName, final String className) {
|
||||||
|
return new GenerationException("Cannot set " + propertyName + " on " + className);
|
||||||
|
}
|
||||||
|
}
|
||||||
+10
-2
@@ -1,4 +1,4 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
import static java.util.Objects.requireNonNull;
|
import static java.util.Objects.requireNonNull;
|
||||||
|
|
||||||
@@ -11,7 +11,15 @@ import static java.util.Objects.requireNonNull;
|
|||||||
*/
|
*/
|
||||||
record Parameter(String name, Class<?> type, String defaultValue) {
|
record Parameter(String name, Class<?> type, String defaultValue) {
|
||||||
|
|
||||||
Parameter {
|
/**
|
||||||
|
* Instantiates a new Parameter
|
||||||
|
*
|
||||||
|
* @param name The parameter name
|
||||||
|
* @param type The parameter type
|
||||||
|
* @param defaultValue The parameter default value
|
||||||
|
* @throws NullPointerException if any parameter is null
|
||||||
|
*/
|
||||||
|
public Parameter {
|
||||||
requireNonNull(name);
|
requireNonNull(name);
|
||||||
requireNonNull(type);
|
requireNonNull(type);
|
||||||
requireNonNull(defaultValue);
|
requireNonNull(defaultValue);
|
||||||
+127
@@ -0,0 +1,127 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ControllerFieldInjectionTypes;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ResourceBundleInjectionTypes;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import javafx.event.EventHandler;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ControllerInjector.injectEventHandlerControllerMethod;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.FieldSetter.setEventHandler;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ReflectionHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ValueFormatter.getArg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format properties
|
||||||
|
*/
|
||||||
|
final class PropertyFormatter {
|
||||||
|
private PropertyFormatter() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a property
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to format
|
||||||
|
* @param parent The property's parent object
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void formatProperty(final GenerationProgress progress, final ParsedProperty property, final ParsedObject parent, final String parentVariable) throws GenerationException {
|
||||||
|
final var propertyName = property.name();
|
||||||
|
if (propertyName.equals(FX_ID)) {
|
||||||
|
handleId(progress, parent, parentVariable);
|
||||||
|
} else if (propertyName.equals("fx:controller")) {
|
||||||
|
checkDuplicateController(progress, parent);
|
||||||
|
} else if (Objects.equals(property.sourceType(), EventHandler.class.getName())) {
|
||||||
|
handleEventHandler(progress, property, parentVariable);
|
||||||
|
} else if (property.sourceType() != null) {
|
||||||
|
handleStaticProperty(progress, property, parentVariable, propertyName);
|
||||||
|
} else {
|
||||||
|
handleProperty(progress, property, parent, parentVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void checkDuplicateController(final GenerationProgress progress, final ParsedObject parent) throws GenerationException {
|
||||||
|
if (parent != progress.request().rootObject()) {
|
||||||
|
throw new GenerationException("Invalid nested controller");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void handleEventHandler(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
if (property.value().startsWith("#")) {
|
||||||
|
injectEventHandlerControllerMethod(progress, property, parentVariable);
|
||||||
|
} else {
|
||||||
|
setEventHandler(progress, property, parentVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void handleStaticProperty(final GenerationProgress progress, final ParsedProperty property, final String parentVariable, final String propertyName) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(propertyName);
|
||||||
|
final var propertySourceTypeClass = ReflectionHelper.getClass(property.sourceType());
|
||||||
|
if (hasStaticMethod(propertySourceTypeClass, setMethod)) {
|
||||||
|
final var method = getStaticMethod(propertySourceTypeClass, setMethod);
|
||||||
|
final var parameterType = method.getParameterTypes()[1];
|
||||||
|
final var arg = getArg(progress, property.value(), parameterType);
|
||||||
|
setLaterIfNeeded(progress, property, parameterType, " " + property.sourceType() + "." + setMethod + "(" + parentVariable + ", " + arg + ");\n");
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Cannot set " + propertyName + " on " + property.sourceType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void handleProperty(final GenerationProgress progress, final ParsedProperty property, final ParsedObject parent, final String parentVariable) throws GenerationException {
|
||||||
|
final var propertyName = property.name();
|
||||||
|
final var setMethod = getSetMethod(propertyName);
|
||||||
|
final var getMethod = getGetMethod(propertyName);
|
||||||
|
final var parentClass = ReflectionHelper.getClass(parent.className());
|
||||||
|
if (hasMethod(parentClass, setMethod)) {
|
||||||
|
handleSetProperty(progress, property, parentClass, parentVariable);
|
||||||
|
} else if (hasMethod(parentClass, getMethod)) {
|
||||||
|
handleGetProperty(progress, property, parentClass, parentVariable);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Cannot set " + propertyName + " on " + parent.className());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void handleSetProperty(final GenerationProgress progress, final ParsedProperty property, final Class<?> parentClass, final String parentVariable) throws GenerationException {
|
||||||
|
final var setMethod = getSetMethod(property.name());
|
||||||
|
final var method = getMethod(parentClass, setMethod);
|
||||||
|
final var parameterType = method.getParameterTypes()[0];
|
||||||
|
final var arg = getArg(progress, property.value(), parameterType);
|
||||||
|
setLaterIfNeeded(progress, property, parameterType, " " + parentVariable + "." + setMethod + "(" + arg + ");\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void handleGetProperty(final GenerationProgress progress, final ParsedProperty property, final Class<?> parentClass, final String parentVariable) throws GenerationException {
|
||||||
|
final var getMethod = getGetMethod(property.name());
|
||||||
|
final var method = getMethod(parentClass, getMethod);
|
||||||
|
final var returnType = method.getReturnType();
|
||||||
|
if (hasMethod(returnType, "addAll")) {
|
||||||
|
final var arg = getArg(progress, property.value(), String.class);
|
||||||
|
setLaterIfNeeded(progress, property, String.class, " " + parentVariable + "." + getMethod + "().addAll(java.util.List.of(" + arg + "));\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Saves the text to set after constructor creation if factory injection is used
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property
|
||||||
|
* @param type The type
|
||||||
|
* @param arg The argument
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static void setLaterIfNeeded(final GenerationProgress progress, final ParsedProperty property, final Class<?> type, final String arg) throws GenerationException {
|
||||||
|
if (type == String.class && property.value().startsWith("%") && progress.request().parameters().resourceBundleInjection().injectionType() == ResourceBundleInjectionTypes.GETTER
|
||||||
|
&& getControllerInjection(progress).fieldInjectionType() == ControllerFieldInjectionTypes.FACTORY) {
|
||||||
|
progress.controllerFactoryPostAction().add(arg);
|
||||||
|
} else {
|
||||||
|
progress.stringBuilder().append(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+97
-1
@@ -1,5 +1,8 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import javafx.beans.DefaultProperty;
|
||||||
import javafx.beans.NamedArg;
|
import javafx.beans.NamedArg;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
|
|
||||||
@@ -12,12 +15,15 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.FX_ID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper methods for reflection
|
* Helper methods for reflection
|
||||||
*/
|
*/
|
||||||
final class ReflectionHelper {
|
final class ReflectionHelper {
|
||||||
private static final Map<Class<?>, Boolean> HAS_VALUE_OF = new ConcurrentHashMap<>();
|
private static final Map<Class<?>, Boolean> HAS_VALUE_OF = new ConcurrentHashMap<>();
|
||||||
private static final Map<Class<?>, Boolean> IS_GENERIC = new ConcurrentHashMap<>();
|
private static final Map<Class<?>, Boolean> IS_GENERIC = new ConcurrentHashMap<>();
|
||||||
|
private static final Map<String, String> DEFAULT_PROPERTY = new ConcurrentHashMap<>();
|
||||||
private static final Map<Class<?>, Map<String, Method>> METHODS = new ConcurrentHashMap<>();
|
private static final Map<Class<?>, Map<String, Method>> METHODS = new ConcurrentHashMap<>();
|
||||||
private static final Map<Class<?>, Map<String, Method>> STATIC_METHODS = new ConcurrentHashMap<>();
|
private static final Map<Class<?>, Map<String, Method>> STATIC_METHODS = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
@@ -199,6 +205,69 @@ final class ReflectionHelper {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the default property for the given class
|
||||||
|
*
|
||||||
|
* @param className The class name
|
||||||
|
* @return The default property
|
||||||
|
* @throws GenerationException If the class is not found or no default property is found
|
||||||
|
*/
|
||||||
|
static String getDefaultProperty(final String className) throws GenerationException {
|
||||||
|
if (DEFAULT_PROPERTY.containsKey(className)) {
|
||||||
|
return DEFAULT_PROPERTY.get(className);
|
||||||
|
} else {
|
||||||
|
final var defaultProperty = computeDefaultProperty(className);
|
||||||
|
if (defaultProperty != null) {
|
||||||
|
DEFAULT_PROPERTY.put(className, defaultProperty);
|
||||||
|
}
|
||||||
|
return defaultProperty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the wrapper class for the given class
|
||||||
|
*
|
||||||
|
* @param clazz The class
|
||||||
|
* @return The wrapper class (e.g. int.class -> Integer.class) or the original class if it is not a primitive
|
||||||
|
*/
|
||||||
|
static String getWrapperClass(final Class<?> clazz) {
|
||||||
|
final var name = clazz.getName();
|
||||||
|
if (name.contains(".") || Character.isUpperCase(name.charAt(0))) {
|
||||||
|
return name;
|
||||||
|
} else {
|
||||||
|
return name.substring(0, 1).toUpperCase() + name.substring(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the class for the given class name
|
||||||
|
*
|
||||||
|
* @param className The class name
|
||||||
|
* @return The class
|
||||||
|
* @throws GenerationException If the class is not found
|
||||||
|
*/
|
||||||
|
public static Class<?> getClass(final String className) throws GenerationException {
|
||||||
|
try {
|
||||||
|
return Class.forName(className, false, Thread.currentThread().getContextClassLoader());
|
||||||
|
} catch (final ClassNotFoundException e) {
|
||||||
|
throw new GenerationException("Cannot find class " + className + " ; Is a dependency missing for the plugin?", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String computeDefaultProperty(final String className) throws GenerationException {
|
||||||
|
try {
|
||||||
|
final var clazz = Class.forName(className, false, Thread.currentThread().getContextClassLoader());
|
||||||
|
final var annotation = clazz.getAnnotation(DefaultProperty.class);
|
||||||
|
if (annotation == null) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
return annotation.value();
|
||||||
|
}
|
||||||
|
} catch (final ClassNotFoundException e) {
|
||||||
|
throw new GenerationException("Class " + className + " not found ; Either specify the property explicitly or put the class in a dependency", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the default value for the given class
|
* Computes the default value for the given class
|
||||||
*
|
*
|
||||||
@@ -217,4 +286,31 @@ final class ReflectionHelper {
|
|||||||
return "null";
|
return "null";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the generic types for the given object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @return The generic types
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static String getGenericTypes(final GenerationProgress progress, final ParsedObject parsedObject) throws GenerationException {
|
||||||
|
final var clazz = getClass(parsedObject.className());
|
||||||
|
if (isGeneric(clazz)) {
|
||||||
|
final var idProperty = parsedObject.attributes().get(FX_ID);
|
||||||
|
if (idProperty == null) {
|
||||||
|
return "<>";
|
||||||
|
} else {
|
||||||
|
final var id = idProperty.value();
|
||||||
|
final var genericTypes = progress.request().controllerInfo().propertyGenericTypes(id);
|
||||||
|
if (genericTypes == null) { //Raw
|
||||||
|
return "";
|
||||||
|
} else {
|
||||||
|
return "<" + String.join(", ", genericTypes) + ">";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ObjectFormatter.format;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.URLBuilder.formatURL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format Scenes
|
||||||
|
*/
|
||||||
|
final class SceneBuilder {
|
||||||
|
|
||||||
|
private SceneBuilder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void formatScene(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
final var root = findRoot(parsedObject);
|
||||||
|
final var rootVariableName = progress.getNextVariableName("root");
|
||||||
|
format(progress, root, rootVariableName);
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
double width = -1;
|
||||||
|
double height = -1;
|
||||||
|
var paint = Color.WHITE.toString();
|
||||||
|
final var stylesheets = new ArrayList<String>();
|
||||||
|
for (final var property : sortedAttributes) {
|
||||||
|
switch (property.name()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "width" -> width = Double.parseDouble(property.value());
|
||||||
|
case "height" -> height = Double.parseDouble(property.value());
|
||||||
|
case "fill" -> paint = property.value();
|
||||||
|
case "stylesheets" -> stylesheets.add(property.value());
|
||||||
|
default -> throw new GenerationException("Unknown font attribute : " + property.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
sb.append(START_VAR).append(variableName).append(" = new javafx.scene.Scene(").append(rootVariableName).append(", ")
|
||||||
|
.append(width).append(", ").append(height).append(", javafx.scene.paint.Color.valueOf(\"").append(paint).append("\"));\n");
|
||||||
|
addStylesheets(progress, variableName, stylesheets);
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ParsedObject findRoot(final ParsedObject parsedObject) throws GenerationException {
|
||||||
|
final var rootProperty = parsedObject.properties().entrySet().stream().filter(e -> e.getKey().name().equals("root"))
|
||||||
|
.filter(e -> e.getValue().size() == 1)
|
||||||
|
.map(e -> e.getValue().getFirst()).findFirst().orElse(null);
|
||||||
|
if (rootProperty != null) {
|
||||||
|
return rootProperty;
|
||||||
|
} else if (parsedObject.children().size() == 1) {
|
||||||
|
return parsedObject.children().getFirst();
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Scene must have a root");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void addStylesheets(final GenerationProgress progress, final String variableName, final Collection<String> stylesheets) {
|
||||||
|
if (!stylesheets.isEmpty()) {
|
||||||
|
final var urlVariables = formatURL(progress, stylesheets);
|
||||||
|
final var tmpVariable = progress.getNextVariableName("stylesheets");
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
sb.append("""
|
||||||
|
final var %1$s = %2$s.getStylesheets();
|
||||||
|
%1$s.addAll(java.util.List.of(%3$s));
|
||||||
|
""".formatted(tmpVariable, variableName, String.join(", ", urlVariables)));
|
||||||
|
stylesheets.forEach(s -> sb.append(" ").append(variableName).append(".getStyleSheets().add(\"").append(s).append("\");\n"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+136
@@ -0,0 +1,136 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import javafx.scene.shape.VertexFormat;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.function.Function;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format TriangleMeshes
|
||||||
|
*/
|
||||||
|
final class TriangleMeshBuilder {
|
||||||
|
|
||||||
|
private TriangleMeshBuilder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static void formatTriangleMesh(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (parsedObject.children().isEmpty() && parsedObject.properties().isEmpty()) {
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
final var points = new ArrayList<Float>();
|
||||||
|
final var texCoords = new ArrayList<Float>();
|
||||||
|
final var normals = new ArrayList<Float>();
|
||||||
|
final var faces = new ArrayList<Integer>();
|
||||||
|
final var faceSmoothingGroups = new ArrayList<Integer>();
|
||||||
|
VertexFormat vertexFormat = null;
|
||||||
|
for (final var property : sortedAttributes) {
|
||||||
|
switch (property.name().toLowerCase()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "points" -> {
|
||||||
|
points.clear();
|
||||||
|
points.addAll(parseList(property.value(), Float::parseFloat));
|
||||||
|
}
|
||||||
|
case "texcoords" -> {
|
||||||
|
texCoords.clear();
|
||||||
|
texCoords.addAll(parseList(property.value(), Float::parseFloat));
|
||||||
|
}
|
||||||
|
case "normals" -> {
|
||||||
|
normals.clear();
|
||||||
|
normals.addAll(parseList(property.value(), Float::parseFloat));
|
||||||
|
}
|
||||||
|
case "faces" -> {
|
||||||
|
faces.clear();
|
||||||
|
faces.addAll(parseList(property.value(), Integer::parseInt));
|
||||||
|
}
|
||||||
|
case "facesmoothinggroups" -> {
|
||||||
|
faceSmoothingGroups.clear();
|
||||||
|
faceSmoothingGroups.addAll(parseList(property.value(), Integer::parseInt));
|
||||||
|
}
|
||||||
|
case "vertexformat" -> vertexFormat = parseVertexFormat(property);
|
||||||
|
default -> throw new GenerationException("Unknown TriangleMesh attribute : " + property.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
sb.append(START_VAR).append(variableName).append(" = new javafx.scene.shape.TriangleMesh();\n");
|
||||||
|
setPoints(progress, variableName, points);
|
||||||
|
setTexCoords(progress, variableName, texCoords);
|
||||||
|
setNormals(progress, variableName, normals);
|
||||||
|
setFaces(progress, variableName, faces);
|
||||||
|
setFaceSmoothingGroups(progress, variableName, faceSmoothingGroups);
|
||||||
|
setVertexFormat(progress, variableName, vertexFormat);
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Image cannot have children or properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static VertexFormat parseVertexFormat(final ParsedProperty property) throws GenerationException {
|
||||||
|
if (property.value().equalsIgnoreCase("point_texcoord")) {
|
||||||
|
return VertexFormat.POINT_TEXCOORD;
|
||||||
|
} else if (property.value().equalsIgnoreCase("point_normal_texcoord")) {
|
||||||
|
return VertexFormat.POINT_NORMAL_TEXCOORD;
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Unknown vertex format : " + property.value());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setPoints(final GenerationProgress progress, final String variableName, final Collection<Float> points) {
|
||||||
|
if (!points.isEmpty()) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".getPoints().setAll(new float[]{").append(formatList(points)).append("});\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setTexCoords(final GenerationProgress progress, final String variableName, final Collection<Float> texCoords) {
|
||||||
|
if (!texCoords.isEmpty()) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".getTexCoords().setAll(new float[]{").append(formatList(texCoords)).append("});\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setNormals(final GenerationProgress progress, final String variableName, final Collection<Float> normals) {
|
||||||
|
if (!normals.isEmpty()) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".getNormals().setAll(new float[]{").append(formatList(normals)).append("});\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setFaces(final GenerationProgress progress, final String variableName, final Collection<Integer> faces) {
|
||||||
|
if (!faces.isEmpty()) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".getFaces().setAll(new int[]{").append(formatList(faces)).append("});\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setFaceSmoothingGroups(final GenerationProgress progress, final String variableName, final Collection<Integer> faceSmoothingGroups) {
|
||||||
|
if (!faceSmoothingGroups.isEmpty()) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".getFaceSmoothingGroups().setAll(new int[]{").append(formatList(faceSmoothingGroups)).append("});\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void setVertexFormat(final GenerationProgress progress, final String variableName, final VertexFormat vertexFormat) {
|
||||||
|
if (vertexFormat != null) {
|
||||||
|
progress.stringBuilder().append(" ").append(variableName).append(".setVertexFormat(javafx.scene.shape.VertexFormat.").append(vertexFormat).append(");\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T> String formatList(final Collection<T> list) {
|
||||||
|
return list.stream().map(String::valueOf).collect(Collectors.joining(", "));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T> List<T> parseList(final CharSequence value, final Function<? super String, ? extends T> parser) {
|
||||||
|
final var splitPattern = Pattern.compile("[\\s+,]");
|
||||||
|
final var split = splitPattern.split(value);
|
||||||
|
return Arrays.stream(split).map(parser).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,62 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format URLs
|
||||||
|
*/
|
||||||
|
final class URLBuilder {
|
||||||
|
|
||||||
|
private URLBuilder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
static List<String> formatURL(final GenerationProgress progress, final Collection<String> stylesheets) {
|
||||||
|
return stylesheets.stream().map(s -> formatURL(progress, s)).toList();
|
||||||
|
}
|
||||||
|
|
||||||
|
static String formatURL(final GenerationProgress progress, final String url) {
|
||||||
|
final var variableName = progress.getNextVariableName("url");
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
if (url.startsWith("@")) {
|
||||||
|
sb.append(START_VAR).append(variableName).append(" = getClass().getResource(\"").append(url.substring(1)).append("\");\n");
|
||||||
|
} else {
|
||||||
|
sb.append("""
|
||||||
|
final java.net.URL %1$s;
|
||||||
|
try {
|
||||||
|
%1$s = new java.net.URI("%2$s").toURL();
|
||||||
|
} catch (final java.net.MalformedURLException | java.net.URISyntaxException e) {
|
||||||
|
throw new RuntimeException("Couldn't parse url : %2$s", e);
|
||||||
|
}
|
||||||
|
""".formatted(variableName, url));
|
||||||
|
}
|
||||||
|
return variableName;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void formatURL(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (parsedObject.children().isEmpty() && parsedObject.properties().isEmpty()) {
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
String value = null;
|
||||||
|
for (final var property : sortedAttributes) {
|
||||||
|
switch (property.name()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "value" -> value = property.value();
|
||||||
|
default -> throw new GenerationException("Unknown URL attribute : " + property.name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
progress.stringBuilder().append(START_VAR).append(variableName).append(" = getClass().getResource(\"").append(value).append("\");\n");
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("URL cannot have children or properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.ResourceBundleInjectionTypes;
|
||||||
|
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ReflectionHelper.getWrapperClass;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ReflectionHelper.hasValueOf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format values
|
||||||
|
*/
|
||||||
|
final class ValueFormatter {
|
||||||
|
|
||||||
|
private static final Pattern INT_PATTERN = Pattern.compile("\\d+");
|
||||||
|
private static final Pattern DECIMAL_PATTERN = Pattern.compile("\\d+(?:\\.\\d+)?");
|
||||||
|
private static final Pattern START_BACKSLASH_PATTERN = Pattern.compile("^\\\\");
|
||||||
|
|
||||||
|
private ValueFormatter() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats an argument to a method
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param value The value
|
||||||
|
* @param parameterType The parameter type
|
||||||
|
* @return The formatted value
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static String getArg(final GenerationProgress progress, final String value, final Class<?> parameterType) throws GenerationException {
|
||||||
|
if (parameterType == String.class && value.startsWith("%")) {
|
||||||
|
return getBundleValue(progress, value.substring(1));
|
||||||
|
} else if (value.startsWith("@")) {
|
||||||
|
final var subpath = value.substring(1);
|
||||||
|
return getResourceValue(subpath);
|
||||||
|
} else if (value.startsWith("${")) {
|
||||||
|
throw new UnsupportedOperationException("Not implemented yet");
|
||||||
|
} else if (value.startsWith("$")) {
|
||||||
|
final var variable = progress.idToVariableName().get(value.substring(1));
|
||||||
|
if (variable == null) {
|
||||||
|
throw new GenerationException("Unknown variable : " + value.substring(1));
|
||||||
|
}
|
||||||
|
return variable;
|
||||||
|
} else {
|
||||||
|
return toString(value, parameterType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getResourceValue(final String subpath) {
|
||||||
|
return "getClass().getResource(\"" + subpath + "\").toString()";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the resource bundle value for the given value
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param value The value
|
||||||
|
* @return The resource bundle value
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
private static String getBundleValue(final GenerationProgress progress, final String value) throws GenerationException {
|
||||||
|
final var resourceBundleInjectionType = progress.request().parameters().resourceBundleInjection().injectionType();
|
||||||
|
if (resourceBundleInjectionType instanceof final ResourceBundleInjectionTypes types) {
|
||||||
|
return switch (types) {
|
||||||
|
case CONSTRUCTOR, GET_BUNDLE -> "bundle.getString(\"" + value + "\")";
|
||||||
|
case GETTER -> "controller.resources().getString(\"" + value + "\")";
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("Unknown resource bundle injection type : " + resourceBundleInjectionType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes the string value to use in the generated code
|
||||||
|
*
|
||||||
|
* @param value The value
|
||||||
|
* @param clazz The value class
|
||||||
|
* @return The computed string value
|
||||||
|
*/
|
||||||
|
static String toString(final String value, final Class<?> clazz) {
|
||||||
|
if (clazz == String.class) {
|
||||||
|
return "\"" + START_BACKSLASH_PATTERN.matcher(value).replaceAll("").replace("\"", "\\\"") + "\"";
|
||||||
|
} else if (clazz == char.class || clazz == Character.class) {
|
||||||
|
return "'" + value + "'";
|
||||||
|
} else if (clazz == boolean.class || clazz == Boolean.class) {
|
||||||
|
return value;
|
||||||
|
} else if (clazz == byte.class || clazz == Byte.class || clazz == short.class || clazz == Short.class ||
|
||||||
|
clazz == int.class || clazz == Integer.class || clazz == long.class || clazz == Long.class) {
|
||||||
|
if (INT_PATTERN.matcher(value).matches()) {
|
||||||
|
return value;
|
||||||
|
} else {
|
||||||
|
return getValueOf(getWrapperClass(clazz), value);
|
||||||
|
}
|
||||||
|
} else if (clazz == float.class || clazz == Float.class || clazz == double.class || clazz == Double.class) {
|
||||||
|
if (DECIMAL_PATTERN.matcher(value).matches()) {
|
||||||
|
return value;
|
||||||
|
} else {
|
||||||
|
return getValueOf(getWrapperClass(clazz), value);
|
||||||
|
}
|
||||||
|
} else if (hasValueOf(clazz)) {
|
||||||
|
if (clazz.isEnum()) {
|
||||||
|
return clazz.getCanonicalName() + "." + value;
|
||||||
|
} else {
|
||||||
|
return getValueOf(clazz.getCanonicalName(), value);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static String getValueOf(final String clazz, final String value) {
|
||||||
|
return clazz + ".valueOf(\"" + value + "\")";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.GeneratorImpl;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ControllerInjector.injectCallbackControllerMethod;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.ControllerInjector.injectEventHandlerControllerMethod;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.FieldSetter.setEventHandler;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.FieldSetter.setField;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.GenerationHelper.*;
|
||||||
|
import static com.github.gtache.fxml.compiler.impl.internal.PropertyFormatter.formatProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Helper methods for {@link GeneratorImpl} to format WebViews
|
||||||
|
*/
|
||||||
|
final class WebViewBuilder {
|
||||||
|
|
||||||
|
private WebViewBuilder() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Formats a WebView object
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param parsedObject The parsed object
|
||||||
|
* @param variableName The variable name
|
||||||
|
* @throws GenerationException if an error occurs
|
||||||
|
*/
|
||||||
|
static void formatWebView(final GenerationProgress progress, final ParsedObject parsedObject, final String variableName) throws GenerationException {
|
||||||
|
if (parsedObject.children().isEmpty() && parsedObject.properties().isEmpty()) {
|
||||||
|
final var sortedAttributes = getSortedAttributes(parsedObject);
|
||||||
|
final var sb = progress.stringBuilder();
|
||||||
|
sb.append(START_VAR).append(variableName).append(" = new javafx.scene.web.WebView();\n");
|
||||||
|
final var engineVariable = progress.getNextVariableName("engine");
|
||||||
|
sb.append(START_VAR).append(engineVariable).append(" = ").append(variableName).append(".getEngine();\n");
|
||||||
|
for (final var value : sortedAttributes) {
|
||||||
|
formatAttribute(progress, value, parsedObject, variableName, engineVariable);
|
||||||
|
}
|
||||||
|
handleId(progress, parsedObject, variableName);
|
||||||
|
} else {
|
||||||
|
throw new GenerationException("WebView cannot have children or properties : " + parsedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void formatAttribute(final GenerationProgress progress, final ParsedProperty value, final ParsedObject parsedObject,
|
||||||
|
final String variableName, final String engineVariable) throws GenerationException {
|
||||||
|
switch (value.name()) {
|
||||||
|
case FX_ID -> {
|
||||||
|
//Do nothing
|
||||||
|
}
|
||||||
|
case "confirmHandler" -> injectConfirmHandler(progress, value, engineVariable);
|
||||||
|
case "createPopupHandler" -> injectCreatePopupHandler(progress, value, engineVariable);
|
||||||
|
case "onAlert", "onResized", "onStatusChanged", "onVisibilityChanged" ->
|
||||||
|
injectEventHandler(progress, value, engineVariable);
|
||||||
|
case "promptHandler" -> injectPromptHandler(progress, value, engineVariable);
|
||||||
|
case "location" -> injectLocation(progress, value, engineVariable);
|
||||||
|
default -> formatProperty(progress, value, parsedObject, variableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectConfirmHandler(final GenerationProgress progress, final ParsedProperty value, final String engineVariable) throws GenerationException {
|
||||||
|
if (value.value().startsWith("#")) {
|
||||||
|
injectCallbackControllerMethod(progress, value, engineVariable, "String.class");
|
||||||
|
} else {
|
||||||
|
setCallback(progress, value, engineVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectCreatePopupHandler(final GenerationProgress progress, final ParsedProperty value, final String engineVariable) throws GenerationException {
|
||||||
|
if (value.value().startsWith("#")) {
|
||||||
|
injectCallbackControllerMethod(progress, value, engineVariable, "javafx.scene.web.PopupFeatures.class");
|
||||||
|
} else {
|
||||||
|
setCallback(progress, value, engineVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectEventHandler(final GenerationProgress progress, final ParsedProperty value, final String engineVariable) throws GenerationException {
|
||||||
|
if (value.value().startsWith("#")) {
|
||||||
|
injectEventHandlerControllerMethod(progress, value, engineVariable);
|
||||||
|
} else {
|
||||||
|
setEventHandler(progress, value, engineVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectPromptHandler(final GenerationProgress progress, final ParsedProperty value, final String engineVariable) throws GenerationException {
|
||||||
|
if (value.value().startsWith("#")) {
|
||||||
|
injectCallbackControllerMethod(progress, value, engineVariable, "javafx.scene.web.PromptData.class");
|
||||||
|
} else {
|
||||||
|
setCallback(progress, value, engineVariable);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void injectLocation(final GenerationProgress progress, final ParsedProperty value, final String engineVariable) {
|
||||||
|
progress.stringBuilder().append(" ").append(engineVariable).append(".load(\"").append(value.value()).append("\");\n");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets a callback field
|
||||||
|
*
|
||||||
|
* @param progress The generation progress
|
||||||
|
* @param property The property to inject
|
||||||
|
* @param parentVariable The parent variable
|
||||||
|
*/
|
||||||
|
private static void setCallback(final GenerationProgress progress, final ParsedProperty property, final String parentVariable) throws GenerationException {
|
||||||
|
setField(progress, property, parentVariable, "javafx.util.Callback");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedCopy;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedCopy}
|
||||||
|
*
|
||||||
|
* @param attributes The reference properties
|
||||||
|
*/
|
||||||
|
public record ParsedCopyImpl(Map<String, ParsedProperty> attributes) implements ParsedCopy {
|
||||||
|
|
||||||
|
public ParsedCopyImpl {
|
||||||
|
attributes = Map.copyOf(attributes);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedDefine;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedObject}
|
||||||
|
*
|
||||||
|
* @param className The object class
|
||||||
|
* @param attributes The object properties
|
||||||
|
* @param properties The object children (complex properties)
|
||||||
|
*/
|
||||||
|
public record ParsedDefineImpl(ParsedObject object) implements ParsedDefine {
|
||||||
|
|
||||||
|
public ParsedDefineImpl {
|
||||||
|
Objects.requireNonNull(object);
|
||||||
|
}
|
||||||
|
}
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedFactory;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedFactory}
|
||||||
|
*
|
||||||
|
* @param className The factory class
|
||||||
|
* @param attributes The factory properties
|
||||||
|
* @param arguments The factory arguments
|
||||||
|
*/
|
||||||
|
public record ParsedFactoryImpl(String className, Map<String, ParsedProperty> attributes,
|
||||||
|
SequencedCollection<ParsedObject> arguments,
|
||||||
|
SequencedCollection<ParsedObject> children) implements ParsedFactory {
|
||||||
|
|
||||||
|
public ParsedFactoryImpl {
|
||||||
|
Objects.requireNonNull(className);
|
||||||
|
attributes = Map.copyOf(attributes);
|
||||||
|
arguments = List.copyOf(arguments);
|
||||||
|
children = List.copyOf(children);
|
||||||
|
}
|
||||||
|
}
|
||||||
+4
-66
@@ -3,10 +3,9 @@ package com.github.gtache.fxml.compiler.parsing.impl;
|
|||||||
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
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.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.SequencedCollection;
|
import java.util.SequencedCollection;
|
||||||
@@ -20,74 +19,13 @@ import java.util.SequencedMap;
|
|||||||
* @param properties The object children (complex properties)
|
* @param properties The object children (complex properties)
|
||||||
*/
|
*/
|
||||||
public record ParsedObjectImpl(String className, Map<String, ParsedProperty> attributes,
|
public record ParsedObjectImpl(String className, Map<String, ParsedProperty> attributes,
|
||||||
SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties) implements ParsedObject {
|
SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties,
|
||||||
|
SequencedCollection<ParsedObject> children) implements ParsedObject {
|
||||||
|
|
||||||
public ParsedObjectImpl {
|
public ParsedObjectImpl {
|
||||||
Objects.requireNonNull(className);
|
Objects.requireNonNull(className);
|
||||||
attributes = Map.copyOf(attributes);
|
attributes = Map.copyOf(attributes);
|
||||||
properties = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(properties));
|
properties = Collections.unmodifiableSequencedMap(new LinkedHashMap<>(properties));
|
||||||
}
|
children = List.copyOf(children);
|
||||||
|
|
||||||
/**
|
|
||||||
* Builder for {@link ParsedObjectImpl}
|
|
||||||
*/
|
|
||||||
public static class Builder {
|
|
||||||
|
|
||||||
private String className;
|
|
||||||
private final Map<String, ParsedProperty> attributes;
|
|
||||||
private final SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new builder
|
|
||||||
*/
|
|
||||||
public Builder() {
|
|
||||||
this.attributes = new HashMap<>();
|
|
||||||
this.properties = new LinkedHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the object class
|
|
||||||
*
|
|
||||||
* @param className The object class
|
|
||||||
* @return The builder
|
|
||||||
*/
|
|
||||||
public Builder className(final String className) {
|
|
||||||
this.className = className;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds an attribute
|
|
||||||
*
|
|
||||||
* @param attribute The attribute
|
|
||||||
* @return The builder
|
|
||||||
*/
|
|
||||||
public Builder addAttribute(final ParsedProperty attribute) {
|
|
||||||
attributes.put(attribute.name(), attribute);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a property
|
|
||||||
*
|
|
||||||
* @param property The property
|
|
||||||
* @param child The property element
|
|
||||||
* @return The builder
|
|
||||||
*/
|
|
||||||
public Builder addProperty(final ParsedProperty property, final ParsedObject child) {
|
|
||||||
final var sequence = properties.computeIfAbsent(property, k -> new ArrayList<>());
|
|
||||||
sequence.add(child);
|
|
||||||
properties.put(property, sequence);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the object
|
|
||||||
*
|
|
||||||
* @return The object
|
|
||||||
*/
|
|
||||||
public ParsedObjectImpl build() {
|
|
||||||
return new ParsedObjectImpl(className, attributes, properties);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -10,6 +10,7 @@ import java.util.Objects;
|
|||||||
* @param name The property name
|
* @param name The property name
|
||||||
* @param sourceType The property source type
|
* @param sourceType The property source type
|
||||||
* @param value The property value
|
* @param value The property value
|
||||||
|
* @param defines The property defines
|
||||||
*/
|
*/
|
||||||
public record ParsedPropertyImpl(String name, String sourceType, String value) implements ParsedProperty {
|
public record ParsedPropertyImpl(String name, String sourceType, String value) implements ParsedProperty {
|
||||||
|
|
||||||
|
|||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedReference;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedReference}
|
||||||
|
*
|
||||||
|
* @param attributes The reference properties
|
||||||
|
*/
|
||||||
|
public record ParsedReferenceImpl(Map<String, ParsedProperty> attributes) implements ParsedReference {
|
||||||
|
|
||||||
|
public ParsedReferenceImpl {
|
||||||
|
attributes = Map.copyOf(attributes);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedText;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedText}
|
||||||
|
*
|
||||||
|
* @param text The text
|
||||||
|
*/
|
||||||
|
public record ParsedTextImpl(String text) implements ParsedText {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Instantiates a new parsed text
|
||||||
|
*
|
||||||
|
* @param text The text
|
||||||
|
* @throws NullPointerException if the text is null
|
||||||
|
*/
|
||||||
|
public ParsedTextImpl {
|
||||||
|
Objects.requireNonNull(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedValue;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of {@link ParsedValue}
|
||||||
|
*
|
||||||
|
* @param className The value class
|
||||||
|
* @param attributes The value properties
|
||||||
|
*/
|
||||||
|
public record ParsedValueImpl(String className, Map<String, ParsedProperty> attributes) implements ParsedValue {
|
||||||
|
|
||||||
|
public ParsedValueImpl {
|
||||||
|
Objects.requireNonNull(className);
|
||||||
|
attributes = Map.copyOf(attributes);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,10 +13,14 @@ class TestClassesFinder {
|
|||||||
void testGetClassesCurrent() throws IOException {
|
void testGetClassesCurrent() throws IOException {
|
||||||
final var expected = Set.of(
|
final var expected = Set.of(
|
||||||
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedConstantImpl",
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedConstantImpl",
|
||||||
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedCopyImpl",
|
||||||
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedFactoryImpl",
|
||||||
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedIncludeImpl",
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedIncludeImpl",
|
||||||
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedObjectImpl",
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedObjectImpl",
|
||||||
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedObjectImplBuilder",
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedPropertyImpl",
|
||||||
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedPropertyImpl");
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedReferenceImpl",
|
||||||
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedTextImpl",
|
||||||
|
"com.github.gtache.fxml.compiler.parsing.impl.TestParsedValueImpl");
|
||||||
final var actual = ClassesFinder.getClasses("com.github.gtache.fxml.compiler.parsing.impl");
|
final var actual = ClassesFinder.getClasses("com.github.gtache.fxml.compiler.parsing.impl");
|
||||||
assertEquals(expected, actual);
|
assertEquals(expected, actual);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,121 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationRequest;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.internal.GenerationProgress;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
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.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestGenerationProgress {
|
||||||
|
|
||||||
|
private final GenerationRequest request;
|
||||||
|
private final Map<String, String> idToVariableName;
|
||||||
|
private final Map<String, ParsedObject> idToObject;
|
||||||
|
private final Map<String, AtomicInteger> variableNameCounters;
|
||||||
|
private final SequencedCollection<String> controllerFactoryPostAction;
|
||||||
|
private final StringBuilder sb;
|
||||||
|
private final GenerationProgress progress;
|
||||||
|
|
||||||
|
TestGenerationProgress(@Mock final GenerationRequest request, @Mock final ParsedObject object) {
|
||||||
|
this.request = Objects.requireNonNull(request);
|
||||||
|
this.idToVariableName = new HashMap<>();
|
||||||
|
idToVariableName.put("var1", "var2");
|
||||||
|
this.idToObject = new HashMap<>();
|
||||||
|
idToObject.put("var1", object);
|
||||||
|
this.variableNameCounters = new HashMap<>();
|
||||||
|
variableNameCounters.put("var", new AtomicInteger(0));
|
||||||
|
this.controllerFactoryPostAction = new ArrayList<>();
|
||||||
|
controllerFactoryPostAction.add("bla");
|
||||||
|
this.sb = new StringBuilder("test");
|
||||||
|
this.progress = new GenerationProgress(request, idToVariableName, idToObject, variableNameCounters, controllerFactoryPostAction, sb);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetters() {
|
||||||
|
assertEquals(request, progress.request());
|
||||||
|
assertEquals(idToVariableName, progress.idToVariableName());
|
||||||
|
assertEquals(variableNameCounters, progress.variableNameCounters());
|
||||||
|
assertEquals(controllerFactoryPostAction, progress.controllerFactoryPostAction());
|
||||||
|
assertEquals(sb, progress.stringBuilder());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testConstructorDoesntCopy() {
|
||||||
|
idToVariableName.clear();
|
||||||
|
assertEquals(idToVariableName, progress.idToVariableName());
|
||||||
|
|
||||||
|
idToObject.clear();
|
||||||
|
assertEquals(idToObject, progress.idToObject());
|
||||||
|
|
||||||
|
variableNameCounters.clear();
|
||||||
|
assertEquals(variableNameCounters, progress.variableNameCounters());
|
||||||
|
|
||||||
|
controllerFactoryPostAction.clear();
|
||||||
|
assertEquals(controllerFactoryPostAction, progress.controllerFactoryPostAction());
|
||||||
|
|
||||||
|
sb.setLength(0);
|
||||||
|
assertEquals(sb, progress.stringBuilder());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCanModify() {
|
||||||
|
progress.idToVariableName().put("var3", "var4");
|
||||||
|
assertEquals(idToVariableName, progress.idToVariableName());
|
||||||
|
|
||||||
|
progress.idToObject().put("var3", mock(ParsedObject.class));
|
||||||
|
assertEquals(idToObject, progress.idToObject());
|
||||||
|
|
||||||
|
progress.variableNameCounters().put("var5", new AtomicInteger(0));
|
||||||
|
assertEquals(variableNameCounters, progress.variableNameCounters());
|
||||||
|
|
||||||
|
progress.controllerFactoryPostAction().add("bla2");
|
||||||
|
assertEquals(controllerFactoryPostAction, progress.controllerFactoryPostAction());
|
||||||
|
|
||||||
|
progress.stringBuilder().append("test2");
|
||||||
|
assertEquals(sb, progress.stringBuilder());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testOtherConstructor() {
|
||||||
|
final var progress2 = new GenerationProgress(request);
|
||||||
|
assertEquals(request, progress2.request());
|
||||||
|
assertEquals(Map.of(), progress2.idToVariableName());
|
||||||
|
assertEquals(Map.of(), progress2.variableNameCounters());
|
||||||
|
assertEquals(List.of(), progress2.controllerFactoryPostAction());
|
||||||
|
assertEquals("", progress2.stringBuilder().toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetNextVariableName() {
|
||||||
|
assertEquals("var0", progress.getNextVariableName("var"));
|
||||||
|
assertEquals("var1", progress.getNextVariableName("var"));
|
||||||
|
assertEquals("var2", progress.getNextVariableName("var"));
|
||||||
|
assertEquals("bla0", progress.getNextVariableName("bla"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(null, idToVariableName, idToObject, variableNameCounters, controllerFactoryPostAction, sb));
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(request, null, idToObject, variableNameCounters, controllerFactoryPostAction, sb));
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(request, idToVariableName, null, variableNameCounters, controllerFactoryPostAction, sb));
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(request, idToVariableName, idToObject, null, controllerFactoryPostAction, sb));
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(request, idToVariableName, idToObject, variableNameCounters, null, sb));
|
||||||
|
assertThrows(NullPointerException.class, () -> new GenerationProgress(request, idToVariableName, idToObject, variableNameCounters, controllerFactoryPostAction, null));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.junit.jupiter.api.extension.ExtendWith;
|
import org.junit.jupiter.api.extension.ExtendWith;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
+18
-1
@@ -1,5 +1,7 @@
|
|||||||
package com.github.gtache.fxml.compiler.impl;
|
package com.github.gtache.fxml.compiler.impl.internal;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.GenerationException;
|
||||||
|
import com.github.gtache.fxml.compiler.impl.WholeConstructorArgs;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.ComboBox;
|
import javafx.scene.control.ComboBox;
|
||||||
@@ -110,4 +112,19 @@ class TestReflectionHelper {
|
|||||||
final var constructor = Arrays.stream(WholeConstructorArgs.class.getConstructors()).filter(c -> c.getParameterCount() == 3).findFirst().orElseThrow();
|
final var constructor = Arrays.stream(WholeConstructorArgs.class.getConstructors()).filter(c -> c.getParameterCount() == 3).findFirst().orElseThrow();
|
||||||
assertThrows(IllegalStateException.class, () -> ReflectionHelper.getConstructorArgs(constructor));
|
assertThrows(IllegalStateException.class, () -> ReflectionHelper.getConstructorArgs(constructor));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetDefaultPropertyClassNotFound() {
|
||||||
|
assertThrows(GenerationException.class, () -> ReflectionHelper.getDefaultProperty("bla.bla"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetDefaultPropertyNoDefaultProperty() throws GenerationException {
|
||||||
|
assertNull(ReflectionHelper.getDefaultProperty("java.lang.String"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetDefaultProperty() throws GenerationException {
|
||||||
|
assertEquals("items", ReflectionHelper.getDefaultProperty("javafx.scene.control.ListView"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+52
@@ -0,0 +1,52 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedCopy;
|
||||||
|
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 TestParsedCopyImpl {
|
||||||
|
|
||||||
|
private final SequencedMap<String, ParsedProperty> properties;
|
||||||
|
private final ParsedCopy copy;
|
||||||
|
|
||||||
|
TestParsedCopyImpl(@Mock final ParsedProperty property) {
|
||||||
|
this.properties = new LinkedHashMap<>();
|
||||||
|
this.properties.put("name", property);
|
||||||
|
this.copy = new ParsedCopyImpl(properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetters() {
|
||||||
|
assertEquals(properties, copy.attributes());
|
||||||
|
assertEquals(ParsedCopy.class.getName(), copy.className());
|
||||||
|
assertEquals(new LinkedHashMap<>(), copy.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyMap() {
|
||||||
|
final var originalProperties = copy.attributes();
|
||||||
|
properties.clear();
|
||||||
|
assertEquals(originalProperties, copy.attributes());
|
||||||
|
assertNotEquals(properties, copy.attributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testUnmodifiable() {
|
||||||
|
final var objectProperties = copy.attributes();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new TestParsedCopyImpl(null));
|
||||||
|
}
|
||||||
|
}
|
||||||
+90
@@ -0,0 +1,90 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedDefine;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedFactory;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
||||||
|
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.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.SequencedCollection;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
@ExtendWith(MockitoExtension.class)
|
||||||
|
class TestParsedFactoryImpl {
|
||||||
|
|
||||||
|
private final String className;
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final SequencedCollection<ParsedObject> arguments;
|
||||||
|
private final SequencedCollection<ParsedObject> children;
|
||||||
|
private final ParsedFactory factory;
|
||||||
|
|
||||||
|
TestParsedFactoryImpl(@Mock final ParsedObject object1, @Mock final ParsedObject object2, @Mock final ParsedDefine define) {
|
||||||
|
this.className = "test";
|
||||||
|
this.attributes = new HashMap<>(Map.of("fx:factory", new ParsedPropertyImpl("fx:factory", String.class.getName(), "value")));
|
||||||
|
this.arguments = new ArrayList<>(List.of(object1, object2));
|
||||||
|
this.children = new ArrayList<>(List.of(define));
|
||||||
|
this.factory = new ParsedFactoryImpl(className, attributes, arguments, children);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetters() {
|
||||||
|
assertEquals(className, factory.className());
|
||||||
|
assertEquals(attributes, factory.attributes());
|
||||||
|
assertEquals(attributes.get("fx:factory").value(), factory.factory());
|
||||||
|
assertEquals(arguments, factory.arguments());
|
||||||
|
assertEquals(children, factory.children());
|
||||||
|
assertEquals(Map.of(), factory.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyMap() {
|
||||||
|
final var originalAttributes = factory.attributes();
|
||||||
|
attributes.clear();
|
||||||
|
assertEquals(originalAttributes, factory.attributes());
|
||||||
|
assertNotEquals(attributes, factory.attributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyArguments() {
|
||||||
|
final var originalArguments = factory.arguments();
|
||||||
|
arguments.clear();
|
||||||
|
assertEquals(originalArguments, factory.arguments());
|
||||||
|
assertNotEquals(arguments, factory.arguments());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyDefines() {
|
||||||
|
final var originalDefines = factory.children();
|
||||||
|
children.clear();
|
||||||
|
assertEquals(originalDefines, factory.children());
|
||||||
|
assertNotEquals(children, factory.children());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testUnmodifiable() {
|
||||||
|
final var objectProperties = factory.attributes();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
||||||
|
|
||||||
|
final var objectArguments = factory.arguments();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectArguments::clear);
|
||||||
|
|
||||||
|
final var objectDefines = factory.children();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectDefines::clear);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedFactoryImpl(null, attributes, arguments, children));
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedFactoryImpl(className, null, arguments, children));
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedFactoryImpl(className, attributes, null, children));
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedFactoryImpl(className, attributes, arguments, null));
|
||||||
|
}
|
||||||
|
}
|
||||||
+30
-19
@@ -1,5 +1,6 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.impl;
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedDefine;
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
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 org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
@@ -7,6 +8,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
|
|||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
import org.mockito.junit.jupiter.MockitoExtension;
|
import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.SequencedCollection;
|
import java.util.SequencedCollection;
|
||||||
@@ -19,48 +21,57 @@ import static org.junit.jupiter.api.Assertions.assertThrows;
|
|||||||
class TestParsedObjectImpl {
|
class TestParsedObjectImpl {
|
||||||
|
|
||||||
private final String clazz;
|
private final String clazz;
|
||||||
private final SequencedMap<String, ParsedProperty> properties;
|
private final SequencedMap<String, ParsedProperty> attributes;
|
||||||
private final SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> children;
|
private final SequencedMap<ParsedProperty, SequencedCollection<ParsedObject>> properties;
|
||||||
|
private final SequencedCollection<ParsedObject> objects;
|
||||||
private final ParsedObject parsedObject;
|
private final ParsedObject parsedObject;
|
||||||
|
|
||||||
TestParsedObjectImpl(@Mock final ParsedProperty property, @Mock final ParsedObject object) {
|
TestParsedObjectImpl(@Mock final ParsedProperty property, @Mock final ParsedObject object, @Mock final ParsedDefine define) {
|
||||||
this.clazz = Object.class.getName();
|
this.clazz = Object.class.getName();
|
||||||
|
this.attributes = new LinkedHashMap<>();
|
||||||
|
this.attributes.put("name", property);
|
||||||
this.properties = new LinkedHashMap<>();
|
this.properties = new LinkedHashMap<>();
|
||||||
this.properties.put("name", property);
|
this.properties.put(property, List.of(object));
|
||||||
this.children = new LinkedHashMap<>();
|
this.objects = new ArrayList<>(List.of(define));
|
||||||
this.children.put(property, List.of(object));
|
this.parsedObject = new ParsedObjectImpl(clazz, attributes, properties, objects);
|
||||||
this.parsedObject = new ParsedObjectImpl(clazz, properties, children);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testGetters() {
|
void testGetters() {
|
||||||
assertEquals(clazz, parsedObject.className());
|
assertEquals(clazz, parsedObject.className());
|
||||||
assertEquals(properties, parsedObject.attributes());
|
assertEquals(attributes, parsedObject.attributes());
|
||||||
assertEquals(children, parsedObject.properties());
|
assertEquals(properties, parsedObject.properties());
|
||||||
|
assertEquals(objects, parsedObject.children());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testCopyMap() {
|
void testCopyMap() {
|
||||||
final var originalProperties = parsedObject.attributes();
|
final var originalAttributes = parsedObject.attributes();
|
||||||
final var originalChildren = parsedObject.properties();
|
final var originalProperties = parsedObject.properties();
|
||||||
|
final var originalChildren = parsedObject.children();
|
||||||
|
attributes.clear();
|
||||||
properties.clear();
|
properties.clear();
|
||||||
children.clear();
|
objects.clear();
|
||||||
assertEquals(originalProperties, parsedObject.attributes());
|
assertEquals(originalAttributes, parsedObject.attributes());
|
||||||
assertEquals(originalChildren, parsedObject.properties());
|
assertEquals(originalProperties, parsedObject.properties());
|
||||||
|
assertEquals(originalChildren, parsedObject.children());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testUnmodifiable() {
|
void testUnmodifiable() {
|
||||||
final var objectProperties = parsedObject.attributes();
|
final var objectAttributes = parsedObject.attributes();
|
||||||
final var objectChildren = parsedObject.properties();
|
final var objectProperties = parsedObject.properties();
|
||||||
|
final var objectChildren = parsedObject.children();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectAttributes::clear);
|
||||||
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
||||||
assertThrows(UnsupportedOperationException.class, objectChildren::clear);
|
assertThrows(UnsupportedOperationException.class, objectChildren::clear);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void testIllegal() {
|
void testIllegal() {
|
||||||
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(null, properties, children));
|
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(null, attributes, properties, objects));
|
||||||
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(clazz, null, children));
|
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(clazz, null, properties, objects));
|
||||||
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(clazz, properties, null));
|
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(clazz, attributes, null, objects));
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedObjectImpl(clazz, attributes, properties, null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-108
@@ -1,108 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.impl;
|
|
||||||
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
|
||||||
import org.junit.jupiter.api.BeforeEach;
|
|
||||||
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.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
||||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
|
||||||
class TestParsedObjectImplBuilder {
|
|
||||||
|
|
||||||
private final String clazz1;
|
|
||||||
private final String clazz2;
|
|
||||||
private final ParsedProperty property1;
|
|
||||||
private final ParsedProperty property2;
|
|
||||||
private final ParsedObject object1;
|
|
||||||
private final ParsedObject object2;
|
|
||||||
private final ParsedObjectImpl.Builder builder;
|
|
||||||
|
|
||||||
TestParsedObjectImplBuilder(@Mock final ParsedProperty property1, @Mock final ParsedProperty property2,
|
|
||||||
@Mock final ParsedObject object1, @Mock final ParsedObject object2) {
|
|
||||||
this.clazz1 = Object.class.getName();
|
|
||||||
this.clazz2 = String.class.getName();
|
|
||||||
this.property1 = Objects.requireNonNull(property1);
|
|
||||||
this.property2 = Objects.requireNonNull(property2);
|
|
||||||
this.object1 = Objects.requireNonNull(object1);
|
|
||||||
this.object2 = Objects.requireNonNull(object2);
|
|
||||||
this.builder = new ParsedObjectImpl.Builder();
|
|
||||||
}
|
|
||||||
|
|
||||||
@BeforeEach
|
|
||||||
void beforeEach() {
|
|
||||||
when(property1.name()).thenReturn("property1");
|
|
||||||
when(property2.name()).thenReturn("property2");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testBuildNullClass() {
|
|
||||||
assertThrows(NullPointerException.class, builder::build);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testClassName() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(clazz1, built.className());
|
|
||||||
assertEquals(Map.of(), built.attributes());
|
|
||||||
assertEquals(Map.of(), built.properties());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testOverwriteClassName() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
builder.className(clazz2);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(clazz2, built.className());
|
|
||||||
assertEquals(Map.of(), built.attributes());
|
|
||||||
assertEquals(Map.of(), built.properties());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testAddAttribute() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
builder.addAttribute(property1);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(Map.of(property1.name(), property1), built.attributes());
|
|
||||||
assertEquals(Map.of(), built.properties());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testAddMultipleAttributes() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
builder.addAttribute(property1);
|
|
||||||
builder.addAttribute(property2);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(Map.of(property1.name(), property1, property2.name(), property2), built.attributes());
|
|
||||||
assertEquals(Map.of(), built.properties());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testAddProperty() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
builder.addProperty(property1, object1);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(Map.of(), built.attributes());
|
|
||||||
assertEquals(Map.of(property1, List.of(object1)), built.properties());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testAddMultipleProperties() {
|
|
||||||
builder.className(clazz1);
|
|
||||||
builder.addProperty(property1, object1);
|
|
||||||
builder.addProperty(property2, object2);
|
|
||||||
final var built = builder.build();
|
|
||||||
assertEquals(Map.of(), built.attributes());
|
|
||||||
assertEquals(Map.of(property1, List.of(object1), property2, List.of(object2)), built.properties());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+52
@@ -0,0 +1,52 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedReference;
|
||||||
|
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 TestParsedReferenceImpl {
|
||||||
|
|
||||||
|
private final SequencedMap<String, ParsedProperty> properties;
|
||||||
|
private final ParsedReference reference;
|
||||||
|
|
||||||
|
TestParsedReferenceImpl(@Mock final ParsedProperty property) {
|
||||||
|
this.properties = new LinkedHashMap<>();
|
||||||
|
this.properties.put("name", property);
|
||||||
|
this.reference = new ParsedReferenceImpl(properties);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetters() {
|
||||||
|
assertEquals(properties, reference.attributes());
|
||||||
|
assertEquals(ParsedReference.class.getName(), reference.className());
|
||||||
|
assertEquals(new LinkedHashMap<>(), reference.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyMap() {
|
||||||
|
final var originalProperties = reference.attributes();
|
||||||
|
properties.clear();
|
||||||
|
assertEquals(originalProperties, reference.attributes());
|
||||||
|
assertNotEquals(properties, reference.attributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testUnmodifiable() {
|
||||||
|
final var objectProperties = reference.attributes();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedReferenceImpl(null));
|
||||||
|
}
|
||||||
|
}
|
||||||
+28
@@ -0,0 +1,28 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedText;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||||
|
|
||||||
|
class TestParsedTextImpl {
|
||||||
|
|
||||||
|
private final String text;
|
||||||
|
private final ParsedText parsedText;
|
||||||
|
|
||||||
|
TestParsedTextImpl() {
|
||||||
|
this.text = "text";
|
||||||
|
this.parsedText = new ParsedTextImpl(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testText() {
|
||||||
|
assertEquals(text, parsedText.text());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedTextImpl(null));
|
||||||
|
}
|
||||||
|
}
|
||||||
+51
@@ -0,0 +1,51 @@
|
|||||||
|
package com.github.gtache.fxml.compiler.parsing.impl;
|
||||||
|
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
||||||
|
import com.github.gtache.fxml.compiler.parsing.ParsedValue;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class TestParsedValueImpl {
|
||||||
|
|
||||||
|
private final String className;
|
||||||
|
private final Map<String, ParsedProperty> attributes;
|
||||||
|
private final ParsedValue value;
|
||||||
|
|
||||||
|
TestParsedValueImpl() {
|
||||||
|
this.className = "test";
|
||||||
|
this.attributes = new HashMap<>(Map.of("fx:value", new ParsedPropertyImpl("fx:value", String.class.getName(), "value")));
|
||||||
|
this.value = new ParsedValueImpl(className, attributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testGetters() {
|
||||||
|
assertEquals(className, value.className());
|
||||||
|
assertEquals(attributes, value.attributes());
|
||||||
|
assertEquals(attributes.get("fx:value").value(), value.value());
|
||||||
|
assertEquals(Map.of(), value.properties());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testCopyMap() {
|
||||||
|
final var originalAttributes = value.attributes();
|
||||||
|
attributes.clear();
|
||||||
|
assertEquals(originalAttributes, value.attributes());
|
||||||
|
assertNotEquals(attributes, value.attributes());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testUnmodifiable() {
|
||||||
|
final var objectProperties = value.attributes();
|
||||||
|
assertThrows(UnsupportedOperationException.class, objectProperties::clear);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void testIllegal() {
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedValueImpl(null, attributes));
|
||||||
|
assertThrows(NullPointerException.class, () -> new ParsedValueImpl(className, null));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>com.github.gtache</groupId>
|
|
||||||
<artifactId>fxml-compiler</artifactId>
|
|
||||||
<version>1.0-SNAPSHOT</version>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<artifactId>fxml-compiler-loader</artifactId>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.gtache</groupId>
|
|
||||||
<artifactId>fxml-compiler-core</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.openjfx</groupId>
|
|
||||||
<artifactId>javafx-fxml</artifactId>
|
|
||||||
<version>${javafx.version}</version>
|
|
||||||
</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>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-surefire-plugin</artifactId>
|
|
||||||
<configuration>
|
|
||||||
<useModulePath>false</useModulePath>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
||||||
-306
@@ -1,306 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.FXMLParser;
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParseException;
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedObject;
|
|
||||||
import com.github.gtache.fxml.compiler.parsing.ParsedProperty;
|
|
||||||
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.collections.ObservableList;
|
|
||||||
import javafx.event.EventHandler;
|
|
||||||
import javafx.fxml.FXMLLoader;
|
|
||||||
import javafx.fxml.LoadListener;
|
|
||||||
import org.apache.logging.log4j.LogManager;
|
|
||||||
import org.apache.logging.log4j.Logger;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.UncheckedIOException;
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.nio.file.Files;
|
|
||||||
import java.nio.file.Path;
|
|
||||||
import java.util.ArrayDeque;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Deque;
|
|
||||||
import java.util.LinkedHashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.SequencedMap;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* {@link LoadListener} implementation parsing the FXML file to {@link ParsedObject}
|
|
||||||
*/
|
|
||||||
public class LoadListenerParser implements LoadListener, FXMLParser {
|
|
||||||
|
|
||||||
private static final Logger logger = LogManager.getLogger(LoadListenerParser.class);
|
|
||||||
|
|
||||||
private final Deque<ParsedObjectImpl.Builder> stack;
|
|
||||||
private final Deque<ParsedProperty> propertyStack;
|
|
||||||
private final Deque<List<ParsedObject>> currentObjectStack;
|
|
||||||
private final SequencedMap<String, ParsedProperty> currentIncludeProperties;
|
|
||||||
private ParsedObjectImpl.Builder current;
|
|
||||||
private ParsedProperty currentProperty;
|
|
||||||
private List<ParsedObject> currentObjects;
|
|
||||||
private Object previousEnd;
|
|
||||||
private boolean isInclude;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instantiates the listener
|
|
||||||
*/
|
|
||||||
public LoadListenerParser() {
|
|
||||||
this.stack = new ArrayDeque<>();
|
|
||||||
this.propertyStack = new ArrayDeque<>();
|
|
||||||
this.currentObjectStack = new ArrayDeque<>();
|
|
||||||
this.currentObjects = new ArrayList<>();
|
|
||||||
this.currentIncludeProperties = new LinkedHashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The parsed root
|
|
||||||
*/
|
|
||||||
ParsedObject root() {
|
|
||||||
if (currentObjects != null && currentObjects.size() == 1) {
|
|
||||||
return currentObjects.getFirst();
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Expected 1 root object, found " + currentObjects);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readImportProcessingInstruction(final String target) {
|
|
||||||
logger.debug("Import processing instruction : {}", target);
|
|
||||||
previousEnd = null;
|
|
||||||
//Do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readLanguageProcessingInstruction(final String language) {
|
|
||||||
logger.debug("Language processing instruction : {}", language);
|
|
||||||
previousEnd = null;
|
|
||||||
//Do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readComment(final String comment) {
|
|
||||||
logger.debug("Comment : {}", comment);
|
|
||||||
//Do nothing
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginInstanceDeclarationElement(final Class<?> type) {
|
|
||||||
logger.debug("Instance declaration : {}", type);
|
|
||||||
previousEnd = null;
|
|
||||||
if (current != null) {
|
|
||||||
stack.push(current);
|
|
||||||
}
|
|
||||||
current = new ParsedObjectImpl.Builder();
|
|
||||||
current.className(type.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginUnknownTypeElement(final String name) {
|
|
||||||
logger.debug("Unknown type : {}", name);
|
|
||||||
throw new IllegalArgumentException("Unknown type : " + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginIncludeElement() {
|
|
||||||
logger.debug("Include");
|
|
||||||
previousEnd = null;
|
|
||||||
if (isInclude) {
|
|
||||||
throw new IllegalStateException("Nested include");
|
|
||||||
} else if (!currentIncludeProperties.isEmpty()) {
|
|
||||||
throw new IllegalStateException("Include properties not empty");
|
|
||||||
}
|
|
||||||
isInclude = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginReferenceElement() {
|
|
||||||
logger.debug("Reference");
|
|
||||||
throw new UnsupportedOperationException("Reference not supported yet");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginCopyElement() {
|
|
||||||
logger.debug("Copy");
|
|
||||||
throw new UnsupportedOperationException("Copy not supported yet");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginRootElement() {
|
|
||||||
logger.debug("Root element");
|
|
||||||
throw new UnsupportedOperationException("Root element not supported yet");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginPropertyElement(final String name, final Class<?> sourceType) {
|
|
||||||
logger.debug("Property ({}): {}", sourceType, name);
|
|
||||||
previousEnd = null;
|
|
||||||
if (isInclude) {
|
|
||||||
throw new IllegalStateException("Reading complex property for include");
|
|
||||||
} else {
|
|
||||||
if (currentProperty != null) {
|
|
||||||
propertyStack.push(currentProperty);
|
|
||||||
}
|
|
||||||
currentProperty = new ParsedPropertyImpl(name, sourceType == null ? null : sourceType.getName(), null);
|
|
||||||
currentObjectStack.push(currentObjects);
|
|
||||||
currentObjects = new ArrayList<>();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginUnknownStaticPropertyElement(final String name) {
|
|
||||||
logger.debug("Unknown static property : {}", name);
|
|
||||||
throw new IllegalArgumentException("Unknown static property : " + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginScriptElement() {
|
|
||||||
logger.debug("Script");
|
|
||||||
throw new UnsupportedOperationException("Script not supported yet");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void beginDefineElement() {
|
|
||||||
logger.debug("Define");
|
|
||||||
throw new UnsupportedOperationException("Define not supported yet");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readInternalAttribute(final String name, final String value) {
|
|
||||||
logger.debug("Internal attribute : {} = {}", name, value);
|
|
||||||
previousEnd = null;
|
|
||||||
final var property = new ParsedPropertyImpl(name, null, value);
|
|
||||||
if (isInclude) {
|
|
||||||
currentIncludeProperties.put(name, property);
|
|
||||||
} else if (current == null) {
|
|
||||||
throw new IllegalStateException("Current object is null (trying to add attribute " + name + " = " + value + ")");
|
|
||||||
} else {
|
|
||||||
current.addAttribute(property);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readPropertyAttribute(final String name, final Class<?> sourceType, final String value) {
|
|
||||||
logger.debug("Property ({}): {} = {}", sourceType, name, value);
|
|
||||||
if (isInclude) {
|
|
||||||
throw new IllegalStateException("Reading complex property for include");
|
|
||||||
} else if (current == null) {
|
|
||||||
throw new IllegalStateException("Current object is null (trying to add property " + name + "/" + sourceType + " = " + value + ")");
|
|
||||||
} else {
|
|
||||||
previousEnd = null;
|
|
||||||
current.addAttribute(new ParsedPropertyImpl(name, sourceType == null ? null : sourceType.getName(), value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readUnknownStaticPropertyAttribute(final String name, final String value) {
|
|
||||||
logger.debug("Unknown static property attribute : {} = {}", name, value);
|
|
||||||
throw new IllegalArgumentException("Unknown static property : " + name);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void readEventHandlerAttribute(final String name, final String value) {
|
|
||||||
logger.debug("Event handler attribute : {} = {}", name, 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.addAttribute(new ParsedPropertyImpl(name, EventHandler.class.getName(), value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void endElement(final Object value) {
|
|
||||||
logger.debug("End element : {}", value);
|
|
||||||
if (isInclude) {
|
|
||||||
endInclude();
|
|
||||||
} else if (previousEnd == value || value instanceof ObservableList<?>) {
|
|
||||||
endProperty(value);
|
|
||||||
} else if (current != null) {
|
|
||||||
endObject(value);
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Unexpected end element (current is null) : " + value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void endInclude() {
|
|
||||||
currentObjects.add(new ParsedIncludeImpl(currentIncludeProperties));
|
|
||||||
currentIncludeProperties.clear();
|
|
||||||
isInclude = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void endProperty(final Object value) {
|
|
||||||
//End of property
|
|
||||||
if (currentProperty == null) {
|
|
||||||
throw new IllegalStateException("Unexpected end element (property is null) : " + value);
|
|
||||||
} else {
|
|
||||||
currentObjects.forEach(go -> current.addProperty(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;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ParsedObject parse(final String content) throws ParseException {
|
|
||||||
Path path = null;
|
|
||||||
try {
|
|
||||||
path = Files.createTempFile("temp", ".fxml");
|
|
||||||
Files.writeString(path, content);
|
|
||||||
return parse(path);
|
|
||||||
} catch (final IOException e) {
|
|
||||||
throw new ParseException("Error creating temp file", e);
|
|
||||||
} finally {
|
|
||||||
if (path != null) {
|
|
||||||
try {
|
|
||||||
Files.deleteIfExists(path);
|
|
||||||
} catch (final IOException ignored) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void reset() {
|
|
||||||
current = null;
|
|
||||||
stack.clear();
|
|
||||||
propertyStack.clear();
|
|
||||||
currentObjects.clear();
|
|
||||||
currentObjectStack.clear();
|
|
||||||
currentIncludeProperties.clear();
|
|
||||||
currentProperty = null;
|
|
||||||
isInclude = false;
|
|
||||||
previousEnd = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ParsedObject parse(final Path path) throws ParseException {
|
|
||||||
reset();
|
|
||||||
try {
|
|
||||||
final var url = path.toUri().toURL();
|
|
||||||
logger.info("Parsing {}", url);
|
|
||||||
return CompletableFuture.supplyAsync(() -> {
|
|
||||||
try {
|
|
||||||
final var loader = new FXMLLoader(url);
|
|
||||||
loader.setLoadListener(this);
|
|
||||||
loader.load();
|
|
||||||
return root();
|
|
||||||
} catch (final IOException e) {
|
|
||||||
throw new UncheckedIOException(e);
|
|
||||||
}
|
|
||||||
}, Platform::runLater).join();
|
|
||||||
} catch (final MalformedURLException | RuntimeException e) {
|
|
||||||
throw new ParseException("Error parsing " + path, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
/**
|
|
||||||
* FXML LoadListener module for FXML compiler
|
|
||||||
*/
|
|
||||||
module com.github.gtache.fxml.compiler.loader {
|
|
||||||
requires transitive com.github.gtache.fxml.compiler.core;
|
|
||||||
requires transitive javafx.fxml;
|
|
||||||
requires org.apache.logging.log4j;
|
|
||||||
|
|
||||||
exports com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
}
|
|
||||||
-489
@@ -1,489 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
import javafx.fxml.FXML;
|
|
||||||
import javafx.scene.control.*;
|
|
||||||
import javafx.scene.image.ImageView;
|
|
||||||
import javafx.scene.layout.GridPane;
|
|
||||||
import javafx.scene.media.MediaView;
|
|
||||||
import javafx.scene.paint.Color;
|
|
||||||
import javafx.scene.web.HTMLEditor;
|
|
||||||
import javafx.scene.web.WebView;
|
|
||||||
|
|
||||||
public class ControlsController {
|
|
||||||
@FXML
|
|
||||||
GridPane gridPane;
|
|
||||||
@FXML
|
|
||||||
Button button;
|
|
||||||
@FXML
|
|
||||||
CheckBox checkBox;
|
|
||||||
@FXML
|
|
||||||
ChoiceBox<String> choiceBox;
|
|
||||||
@FXML
|
|
||||||
ColorPicker colorPicker;
|
|
||||||
@FXML
|
|
||||||
ComboBox comboBox;
|
|
||||||
@FXML
|
|
||||||
DatePicker datePicker;
|
|
||||||
@FXML
|
|
||||||
HTMLEditor htmlEditor;
|
|
||||||
@FXML
|
|
||||||
Hyperlink hyperlink;
|
|
||||||
@FXML
|
|
||||||
ImageView imageView;
|
|
||||||
@FXML
|
|
||||||
Label label;
|
|
||||||
@FXML
|
|
||||||
ListView<Label> listView;
|
|
||||||
@FXML
|
|
||||||
MediaView mediaView;
|
|
||||||
@FXML
|
|
||||||
MenuBar menuBar;
|
|
||||||
@FXML
|
|
||||||
MenuButton menuButton;
|
|
||||||
@FXML
|
|
||||||
Pagination pagination;
|
|
||||||
@FXML
|
|
||||||
PasswordField passwordField;
|
|
||||||
@FXML
|
|
||||||
ProgressBar progressBar;
|
|
||||||
@FXML
|
|
||||||
ProgressIndicator progressIndicator;
|
|
||||||
@FXML
|
|
||||||
RadioButton radioButton;
|
|
||||||
@FXML
|
|
||||||
ScrollBar scrollBarH;
|
|
||||||
@FXML
|
|
||||||
ScrollBar scrollBarV;
|
|
||||||
@FXML
|
|
||||||
Separator separatorH;
|
|
||||||
@FXML
|
|
||||||
Separator separatorV;
|
|
||||||
@FXML
|
|
||||||
Slider sliderH;
|
|
||||||
@FXML
|
|
||||||
Slider sliderV;
|
|
||||||
@FXML
|
|
||||||
Spinner<Double> spinner;
|
|
||||||
@FXML
|
|
||||||
SplitMenuButton splitMenuButton;
|
|
||||||
@FXML
|
|
||||||
TableView<TextArea> tableView;
|
|
||||||
@FXML
|
|
||||||
TextArea textArea;
|
|
||||||
@FXML
|
|
||||||
TextField textField;
|
|
||||||
@FXML
|
|
||||||
TreeTableView<TreeItem<String>> treeTableView;
|
|
||||||
@FXML
|
|
||||||
TreeView<String> treeView;
|
|
||||||
@FXML
|
|
||||||
TreeTableColumn<TreeItem<String>, String> treeTableColumn1;
|
|
||||||
@FXML
|
|
||||||
TreeTableColumn<TreeItem<String>, Integer> treeTableColumn2;
|
|
||||||
@FXML
|
|
||||||
TableColumn<TextArea, Float> tableColumn1;
|
|
||||||
@FXML
|
|
||||||
TableColumn<TextArea, String> tableColumn2;
|
|
||||||
@FXML
|
|
||||||
WebView webView;
|
|
||||||
@FXML
|
|
||||||
MenuItem item1;
|
|
||||||
@FXML
|
|
||||||
MenuItem item2;
|
|
||||||
@FXML
|
|
||||||
Menu menu1;
|
|
||||||
@FXML
|
|
||||||
MenuItem menuItem1;
|
|
||||||
@FXML
|
|
||||||
Color color;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void inputMethodTextChanged(final javafx.scene.input.InputMethodEvent inputMethodEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void keyPressed() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void keyReleased(final javafx.scene.input.KeyEvent keyEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void keyTyped(final javafx.scene.input.KeyEvent keyEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragDetected(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragDone(final javafx.scene.input.DragEvent dragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragDropped(final javafx.scene.input.DragEvent dragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragEntered(final javafx.scene.input.DragEvent dragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragExited(final javafx.scene.input.DragEvent dragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void dragOver(final javafx.scene.input.DragEvent dragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseDragEntered(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseDragExited(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseDragOver(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseDragReleased(final javafx.scene.input.MouseDragEvent mouseDragEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void contextMenuRequested(final javafx.scene.input.ContextMenuEvent contextMenuEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseClicked() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseDragged(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseEntered(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseExited(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseMoved(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mousePressed(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void mouseReleased(final javafx.scene.input.MouseEvent mouseEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onScroll(final javafx.scene.input.ScrollEvent scrollEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onScrollFinished(final javafx.scene.input.ScrollEvent scrollEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onScrollStarted(final javafx.scene.input.ScrollEvent scrollEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onZoom(final javafx.scene.input.ZoomEvent zoomEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onZoomFinished(final javafx.scene.input.ZoomEvent zoomEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onZoomStarted(final javafx.scene.input.ZoomEvent zoomEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onAction(final javafx.event.ActionEvent actionEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onRotate(final javafx.scene.input.RotateEvent rotateEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onRotationFinished(final javafx.scene.input.RotateEvent rotateEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onRotationStarted(final javafx.scene.input.RotateEvent rotateEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onEditCancel(final TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onEditCommit(final TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onEditStart(final TreeTableColumn.CellEditEvent<TreeItem<String>, String> cellEditEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onSwipeDown(final javafx.scene.input.SwipeEvent swipeEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onSwipeLeft(final javafx.scene.input.SwipeEvent swipeEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onSwipeRight(final javafx.scene.input.SwipeEvent swipeEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onSwipeUp(final javafx.scene.input.SwipeEvent swipeEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onTouchMoved(final javafx.scene.input.TouchEvent touchEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onTouchPressed(final javafx.scene.input.TouchEvent touchEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onTouchReleased(final javafx.scene.input.TouchEvent touchEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void onTouchStationary(final javafx.scene.input.TouchEvent touchEvent) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void initialize() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGridPane(final GridPane gridPane) {
|
|
||||||
this.gridPane = gridPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setButton(final Button button) {
|
|
||||||
this.button = button;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setCheckBox(final CheckBox checkBox) {
|
|
||||||
this.checkBox = checkBox;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setChoiceBox(final ChoiceBox<String> choiceBox) {
|
|
||||||
this.choiceBox = choiceBox;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setColorPicker(final ColorPicker colorPicker) {
|
|
||||||
this.colorPicker = colorPicker;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setComboBox(final ComboBox comboBox) {
|
|
||||||
this.comboBox = comboBox;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDatePicker(final DatePicker datePicker) {
|
|
||||||
this.datePicker = datePicker;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHtmlEditor(final HTMLEditor htmlEditor) {
|
|
||||||
this.htmlEditor = htmlEditor;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHyperlink(final Hyperlink hyperlink) {
|
|
||||||
this.hyperlink = hyperlink;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setImageView(final ImageView imageView) {
|
|
||||||
this.imageView = imageView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setLabel(final Label label) {
|
|
||||||
this.label = label;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setListView(final ListView<Label> listView) {
|
|
||||||
this.listView = listView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMediaView(final MediaView mediaView) {
|
|
||||||
this.mediaView = mediaView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuBar(final MenuBar menuBar) {
|
|
||||||
this.menuBar = menuBar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuButton(final MenuButton menuButton) {
|
|
||||||
this.menuButton = menuButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPagination(final Pagination pagination) {
|
|
||||||
this.pagination = pagination;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPasswordField(final PasswordField passwordField) {
|
|
||||||
this.passwordField = passwordField;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProgressBar(final ProgressBar progressBar) {
|
|
||||||
this.progressBar = progressBar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProgressIndicator(final ProgressIndicator progressIndicator) {
|
|
||||||
this.progressIndicator = progressIndicator;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRadioButton(final RadioButton radioButton) {
|
|
||||||
this.radioButton = radioButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setScrollBarH(final ScrollBar scrollBarH) {
|
|
||||||
this.scrollBarH = scrollBarH;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setScrollBarV(final ScrollBar scrollBarV) {
|
|
||||||
this.scrollBarV = scrollBarV;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSeparatorH(final Separator separatorH) {
|
|
||||||
this.separatorH = separatorH;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSeparatorV(final Separator separatorV) {
|
|
||||||
this.separatorV = separatorV;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSliderH(final Slider sliderH) {
|
|
||||||
this.sliderH = sliderH;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSliderV(final Slider sliderV) {
|
|
||||||
this.sliderV = sliderV;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSpinner(final Spinner<Double> spinner) {
|
|
||||||
this.spinner = spinner;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSplitMenuButton(final SplitMenuButton splitMenuButton) {
|
|
||||||
this.splitMenuButton = splitMenuButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTableView(final TableView<TextArea> tableView) {
|
|
||||||
this.tableView = tableView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextArea(final TextArea textArea) {
|
|
||||||
this.textArea = textArea;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextField(final TextField textField) {
|
|
||||||
this.textField = textField;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTreeTableView(final TreeTableView<TreeItem<String>> treeTableView) {
|
|
||||||
this.treeTableView = treeTableView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTreeView(final TreeView<String> treeView) {
|
|
||||||
this.treeView = treeView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTreeTableColumn1(final TreeTableColumn<TreeItem<String>, String> treeTableColumn1) {
|
|
||||||
this.treeTableColumn1 = treeTableColumn1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTreeTableColumn2(final TreeTableColumn<TreeItem<String>, Integer> treeTableColumn2) {
|
|
||||||
this.treeTableColumn2 = treeTableColumn2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTableColumn1(final TableColumn<TextArea, Float> tableColumn1) {
|
|
||||||
this.tableColumn1 = tableColumn1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTableColumn2(final TableColumn<TextArea, String> tableColumn2) {
|
|
||||||
this.tableColumn2 = tableColumn2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWebView(final WebView webView) {
|
|
||||||
this.webView = webView;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItem1(final MenuItem item1) {
|
|
||||||
this.item1 = item1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setItem2(final MenuItem item2) {
|
|
||||||
this.item2 = item2;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenu1(final Menu menu1) {
|
|
||||||
this.menu1 = menu1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMenuItem1(final MenuItem menuItem1) {
|
|
||||||
this.menuItem1 = menuItem1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setColor(final Color color) {
|
|
||||||
this.color = color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-179
@@ -1,179 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
import javafx.event.ActionEvent;
|
|
||||||
import javafx.fxml.FXML;
|
|
||||||
import javafx.scene.Group;
|
|
||||||
import javafx.scene.control.*;
|
|
||||||
import javafx.scene.layout.AnchorPane;
|
|
||||||
import javafx.scene.layout.ColumnConstraints;
|
|
||||||
import javafx.scene.layout.FlowPane;
|
|
||||||
import javafx.scene.layout.GridPane;
|
|
||||||
import javafx.scene.layout.HBox;
|
|
||||||
import javafx.scene.layout.Pane;
|
|
||||||
import javafx.scene.layout.StackPane;
|
|
||||||
import javafx.scene.layout.TilePane;
|
|
||||||
import javafx.scene.layout.VBox;
|
|
||||||
import javafx.scene.text.TextFlow;
|
|
||||||
|
|
||||||
public class IncludesController {
|
|
||||||
@FXML
|
|
||||||
StackPane stackPane;
|
|
||||||
@FXML
|
|
||||||
Slider volumeSlider;
|
|
||||||
@FXML
|
|
||||||
Label volumeValueLabel;
|
|
||||||
@FXML
|
|
||||||
Button playButton;
|
|
||||||
@FXML
|
|
||||||
Label playLabel;
|
|
||||||
@FXML
|
|
||||||
Slider playSlider;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
ControlsController controlsController;
|
|
||||||
@FXML
|
|
||||||
VBox vbox;
|
|
||||||
@FXML
|
|
||||||
ToolBar toolBar;
|
|
||||||
@FXML
|
|
||||||
TitledPane titledPane;
|
|
||||||
@FXML
|
|
||||||
TilePane tilePane;
|
|
||||||
@FXML
|
|
||||||
TextFlow textFlow;
|
|
||||||
@FXML
|
|
||||||
TabPane tabPane;
|
|
||||||
@FXML
|
|
||||||
Tab tab;
|
|
||||||
@FXML
|
|
||||||
SplitPane splitPane;
|
|
||||||
@FXML
|
|
||||||
ScrollPane scrollPane;
|
|
||||||
@FXML
|
|
||||||
Pane pane;
|
|
||||||
@FXML
|
|
||||||
HBox hbox;
|
|
||||||
@FXML
|
|
||||||
Group group;
|
|
||||||
@FXML
|
|
||||||
GridPane gridPane;
|
|
||||||
@FXML
|
|
||||||
ColumnConstraints columnConstraints;
|
|
||||||
@FXML
|
|
||||||
FlowPane flowPane;
|
|
||||||
@FXML
|
|
||||||
DialogPane dialogPane;
|
|
||||||
@FXML
|
|
||||||
ButtonBar buttonBar;
|
|
||||||
@FXML
|
|
||||||
AnchorPane anchorPane;
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void initialize() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@FXML
|
|
||||||
void playPressed(final ActionEvent actionEvent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStackPane(final StackPane stackPane) {
|
|
||||||
this.stackPane = stackPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVolumeSlider(final Slider volumeSlider) {
|
|
||||||
this.volumeSlider = volumeSlider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVolumeValueLabel(final Label volumeValueLabel) {
|
|
||||||
this.volumeValueLabel = volumeValueLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPlayButton(final Button playButton) {
|
|
||||||
this.playButton = playButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPlayLabel(final Label playLabel) {
|
|
||||||
this.playLabel = playLabel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPlaySlider(final Slider playSlider) {
|
|
||||||
this.playSlider = playSlider;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIncludeController(final ControlsController controlsController) {
|
|
||||||
this.controlsController = controlsController;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVbox(final VBox vbox) {
|
|
||||||
this.vbox = vbox;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setToolBar(final ToolBar toolBar) {
|
|
||||||
this.toolBar = toolBar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTitledPane(final TitledPane titledPane) {
|
|
||||||
this.titledPane = titledPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTilePane(final TilePane tilePane) {
|
|
||||||
this.tilePane = tilePane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextFlow(final TextFlow textFlow) {
|
|
||||||
this.textFlow = textFlow;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTabPane(final TabPane tabPane) {
|
|
||||||
this.tabPane = tabPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTab(final Tab tab) {
|
|
||||||
this.tab = tab;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSplitPane(final SplitPane splitPane) {
|
|
||||||
this.splitPane = splitPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setScrollPane(final ScrollPane scrollPane) {
|
|
||||||
this.scrollPane = scrollPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPane(final Pane pane) {
|
|
||||||
this.pane = pane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHbox(final HBox hbox) {
|
|
||||||
this.hbox = hbox;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGroup(final Group group) {
|
|
||||||
this.group = group;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setGridPane(final GridPane gridPane) {
|
|
||||||
this.gridPane = gridPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setColumnConstraints(final ColumnConstraints columnConstraints) {
|
|
||||||
this.columnConstraints = columnConstraints;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setFlowPane(final FlowPane flowPane) {
|
|
||||||
this.flowPane = flowPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDialogPane(final DialogPane dialogPane) {
|
|
||||||
this.dialogPane = dialogPane;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setButtonBar(final ButtonBar buttonBar) {
|
|
||||||
this.buttonBar = buttonBar;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAnchorPane(final AnchorPane anchorPane) {
|
|
||||||
this.anchorPane = anchorPane;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-17
@@ -1,17 +0,0 @@
|
|||||||
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() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-167
@@ -1,167 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
import com.github.gtache.fxml.compiler.GenerationException;
|
|
||||||
import com.github.gtache.fxml.compiler.GenerationRequest;
|
|
||||||
import com.github.gtache.fxml.compiler.Generator;
|
|
||||||
import com.github.gtache.fxml.compiler.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 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")
|
|
||||||
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/parsing/listener/" + path)) {
|
|
||||||
final var expected = new String(in.readAllBytes(), StandardCharsets.UTF_8);
|
|
||||||
final var actual = generator.generate(request);
|
|
||||||
assertEquals(expected, actual);
|
|
||||||
} catch (final IOException | GenerationException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(final String[] args) {
|
|
||||||
Platform.startup(() -> {
|
|
||||||
|
|
||||||
});
|
|
||||||
//Generates the test cases
|
|
||||||
try {
|
|
||||||
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);
|
|
||||||
try {
|
|
||||||
final var content = generator.generate(request);
|
|
||||||
final var path = Paths.get(getPath(file, field, method, bundle));
|
|
||||||
Files.writeString(path, content);
|
|
||||||
} catch (final IOException | GenerationException 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.parsing.listener." + file + "Bundle";
|
|
||||||
final var viewPath = "/com/github/gtache/fxml/compiler/parsing/listener/" + file + "View.fxml";
|
|
||||||
final var listener = new LoadListenerParser();
|
|
||||||
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.parsing.listener.ControlsController", new ControllerInjectionImpl(field, method,
|
|
||||||
"com.github.gtache.fxml.compiler.parsing.listener.ControlsController"),
|
|
||||||
"com.github.gtache.fxml.compiler.parsing.listener.IncludesController", new ControllerInjectionImpl(field, method,
|
|
||||||
"com.github.gtache.fxml.compiler.parsing.listener.IncludesController")),
|
|
||||||
Map.of("controlsView.fxml", "com.github.gtache.fxml.compiler.parsing.listener.ControlsView"),
|
|
||||||
Map.of("controlsView.fxml", "com.github.gtache.fxml.compiler.parsing.listener.ControlsController"),
|
|
||||||
new ResourceBundleInjectionImpl(bundle, resourceBundlePath)
|
|
||||||
),
|
|
||||||
controllerInfo,
|
|
||||||
root,
|
|
||||||
"com.github.gtache.fxml.compiler.parsing.listener." + 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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-273
@@ -1,273 +0,0 @@
|
|||||||
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 TestLoadListenerParser {
|
|
||||||
|
|
||||||
private final LoadListenerParser listener;
|
|
||||||
|
|
||||||
TestLoadListenerParser() {
|
|
||||||
this.listener = new LoadListenerParser();
|
|
||||||
}
|
|
||||||
|
|
||||||
@BeforeAll
|
|
||||||
static void beforeAll() {
|
|
||||||
try {
|
|
||||||
Platform.startup(() -> {
|
|
||||||
|
|
||||||
});
|
|
||||||
} catch (final IllegalStateException ignored) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
void testRealCase() {
|
|
||||||
final var expected = new ParsedObjectImpl(BorderPane.class.getName(),
|
|
||||||
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.getName(),
|
|
||||||
newLinkedHashMap("alignment", new ParsedPropertyImpl("alignment", BorderPane.class.getName(), "CENTER")),
|
|
||||||
newLinkedHashMap(new ParsedPropertyImpl("children", null, null), List.of(
|
|
||||||
new ParsedObjectImpl(Slider.class.getName(),
|
|
||||||
newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "playSlider"), "hgrow", new ParsedPropertyImpl("hgrow", HBox.class.getName(), "ALWAYS")),
|
|
||||||
newLinkedHashMap(new ParsedPropertyImpl("padding", null, null),
|
|
||||||
List.of(new ParsedObjectImpl(Insets.class.getName(),
|
|
||||||
newLinkedHashMap("left", new ParsedPropertyImpl("left", null, "10.0")),
|
|
||||||
newLinkedHashMap())))),
|
|
||||||
new ParsedObjectImpl(Label.class.getName(),
|
|
||||||
newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "playLabel"), "text", new ParsedPropertyImpl("text", null, "Label"), "onMouseClicked", new ParsedPropertyImpl("onMouseClicked", EventHandler.class.getName(), "#mouseClicked")),
|
|
||||||
newLinkedHashMap(new ParsedPropertyImpl("padding", null, null),
|
|
||||||
List.of(new ParsedObjectImpl(Insets.class.getName(),
|
|
||||||
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.getName(), newLinkedHashMap("fx:id", new ParsedPropertyImpl("fx:id", null, "vbox")), newLinkedHashMap()))
|
|
||||||
));
|
|
||||||
final var actual = CompletableFuture.supplyAsync(() -> {
|
|
||||||
final var loader = new FXMLLoader(TestLoadListenerParser.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.getName(), 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(""));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
include.label=Label
|
|
||||||
-1
@@ -1 +0,0 @@
|
|||||||
media.volume.label=Volume
|
|
||||||
-189
@@ -1,189 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
|
|
||||||
<?import javafx.geometry.Insets?>
|
|
||||||
<?import javafx.geometry.Point3D?>
|
|
||||||
<?import javafx.scene.control.*?>
|
|
||||||
<?import javafx.scene.Cursor?>
|
|
||||||
<?import javafx.scene.effect.Bloom?>
|
|
||||||
<?import javafx.scene.image.ImageView?>
|
|
||||||
<?import javafx.scene.layout.*?>
|
|
||||||
<?import javafx.scene.media.MediaView?>
|
|
||||||
<?import javafx.scene.paint.Color?>
|
|
||||||
<?import javafx.scene.web.HTMLEditor?>
|
|
||||||
<?import javafx.scene.web.WebView?>
|
|
||||||
<GridPane fx:id="gridPane" onInputMethodTextChanged="#inputMethodTextChanged" onKeyPressed="#keyPressed"
|
|
||||||
onKeyReleased="#keyReleased"
|
|
||||||
onKeyTyped="#keyTyped" xmlns="http://javafx.com/javafx/22" xmlns:fx="http://javafx.com/fxml/1"
|
|
||||||
fx:controller="com.github.gtache.fxml.compiler.parsing.listener.ControlsController">
|
|
||||||
<rowConstraints>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
<RowConstraints/>
|
|
||||||
</rowConstraints>
|
|
||||||
<columnConstraints>
|
|
||||||
<ColumnConstraints/>
|
|
||||||
<ColumnConstraints/>
|
|
||||||
<ColumnConstraints minWidth="10.0" prefWidth="100.0"/>
|
|
||||||
</columnConstraints>
|
|
||||||
<children>
|
|
||||||
<Button fx:id="button" mnemonicParsing="false" text="Button"/>
|
|
||||||
<CheckBox fx:id="checkBox" indeterminate="true" mnemonicParsing="false" text="CheckBox"
|
|
||||||
GridPane.columnIndex="1"/>
|
|
||||||
<ChoiceBox fx:id="choiceBox" cacheShape="false" centerShape="false" disable="true" focusTraversable="false"
|
|
||||||
prefWidth="150.0"
|
|
||||||
scaleShape="false" visible="false" GridPane.rowIndex="1"/>
|
|
||||||
<ColorPicker fx:id="colorPicker" nodeOrientation="LEFT_TO_RIGHT" opacity="0.5" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="1">
|
|
||||||
<value>
|
|
||||||
<Color fx:id="color" red="0.7894737124443054" green="0.08771929889917374" blue="0.08771929889917374"/>
|
|
||||||
</value>
|
|
||||||
<opaqueInsets>
|
|
||||||
<Insets bottom="3.0" left="2.0" right="4.0" top="5.0"/>
|
|
||||||
</opaqueInsets>
|
|
||||||
</ColorPicker>
|
|
||||||
<ComboBox fx:id="comboBox" editable="true" prefWidth="150.0" promptText="Text" visibleRowCount="5"
|
|
||||||
GridPane.rowIndex="2">
|
|
||||||
<cursor>
|
|
||||||
<Cursor fx:constant="CLOSED_HAND"/>
|
|
||||||
</cursor>
|
|
||||||
<effect>
|
|
||||||
<Bloom/>
|
|
||||||
</effect>
|
|
||||||
</ComboBox>
|
|
||||||
<DatePicker fx:id="datePicker" showWeekNumbers="true" style="-fx-background-color: #ffffff;"
|
|
||||||
GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="2"/>
|
|
||||||
<HTMLEditor fx:id="htmlEditor"
|
|
||||||
htmlText="<html><head></head><body contenteditable="true"></body></html>"
|
|
||||||
prefHeight="200.0" prefWidth="506.0" styleClass="clazz" stylesheets="@style.css"
|
|
||||||
GridPane.rowIndex="3"/>
|
|
||||||
<Hyperlink fx:id="hyperlink" text="Hyperlink" GridPane.columnIndex="1" GridPane.rowIndex="3"/>
|
|
||||||
<ImageView fx:id="imageView" fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true"
|
|
||||||
GridPane.rowIndex="4"/>
|
|
||||||
<Label fx:id="label" accessibleHelp="TTTTT" accessibleText="TTT" blendMode="ADD" cache="true"
|
|
||||||
cacheHint="QUALITY"
|
|
||||||
depthTest="ENABLE" mnemonicParsing="true" mouseTransparent="true" text="%include.label"
|
|
||||||
GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="4"/>
|
|
||||||
<ListView fx:id="listView" fixedCellSize="20.0" nodeOrientation="RIGHT_TO_LEFT" orientation="HORIZONTAL"
|
|
||||||
prefHeight="200.0"
|
|
||||||
prefWidth="200.0" GridPane.rowIndex="5"/>
|
|
||||||
<MediaView fx:id="mediaView" fitHeight="200.0" fitWidth="200.0" GridPane.columnIndex="1" GridPane.columnSpan="2"
|
|
||||||
GridPane.rowIndex="5" GridPane.rowSpan="2"/>
|
|
||||||
<MenuBar fx:id="menuBar" GridPane.halignment="RIGHT" GridPane.hgrow="ALWAYS" GridPane.rowIndex="7"
|
|
||||||
GridPane.valignment="BASELINE" GridPane.vgrow="SOMETIMES">
|
|
||||||
<menus>
|
|
||||||
<Menu fx:id="menu1" mnemonicParsing="false" text="File">
|
|
||||||
<items>
|
|
||||||
<MenuItem fx:id="menuItem1" mnemonicParsing="false" text="Close"/>
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
<Menu mnemonicParsing="false" text="Edit">
|
|
||||||
<items>
|
|
||||||
<MenuItem mnemonicParsing="false" text="Delete"/>
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
<Menu mnemonicParsing="false" text="Help">
|
|
||||||
<items>
|
|
||||||
<MenuItem mnemonicParsing="false" text="About"/>
|
|
||||||
</items>
|
|
||||||
</Menu>
|
|
||||||
</menus>
|
|
||||||
</MenuBar>
|
|
||||||
<MenuButton fx:id="menuButton" mnemonicParsing="false" text="MenuButton" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="7">
|
|
||||||
<items>
|
|
||||||
<MenuItem mnemonicParsing="false" text="Action 1"/>
|
|
||||||
<MenuItem mnemonicParsing="false" text="Action 2"/>
|
|
||||||
</items>
|
|
||||||
<GridPane.margin>
|
|
||||||
<Insets bottom="3.0" left="2.0" right="4.0" top="5.0"/>
|
|
||||||
</GridPane.margin>
|
|
||||||
</MenuButton>
|
|
||||||
<Pagination fx:id="pagination" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="8">
|
|
||||||
<padding>
|
|
||||||
<Insets bottom="3.0" left="2.0" right="4.0" top="5.0"/>
|
|
||||||
</padding>
|
|
||||||
</Pagination>
|
|
||||||
<PasswordField fx:id="passwordField" maxHeight="Infinity" maxWidth="5.0" minHeight="-Infinity" minWidth="1.0"
|
|
||||||
prefColumnCount="7"
|
|
||||||
prefHeight="4.0" prefWidth="3.0" GridPane.columnIndex="1" GridPane.rowIndex="8"/>
|
|
||||||
<ProgressBar fx:id="progressBar" layoutX="10.0" layoutY="20.0" prefWidth="200.0" progress="0.0"
|
|
||||||
GridPane.rowIndex="9"/>
|
|
||||||
<ProgressIndicator fx:id="progressIndicator" progress="0.0" rotate="2.0" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="9">
|
|
||||||
<rotationAxis>
|
|
||||||
<Point3D x="4.0" y="5.0" z="6.0"/>
|
|
||||||
</rotationAxis>
|
|
||||||
</ProgressIndicator>
|
|
||||||
<RadioButton fx:id="radioButton" mnemonicParsing="false" scaleX="7.0" scaleY="2.0" scaleZ="3.0"
|
|
||||||
text="RadioButton" translateX="4.0"
|
|
||||||
translateY="5.0" translateZ="6.0" GridPane.rowIndex="10"/>
|
|
||||||
<ScrollBar fx:id="scrollBarH" GridPane.columnIndex="1" GridPane.rowIndex="10"/>
|
|
||||||
<ScrollBar fx:id="scrollBarV" orientation="VERTICAL" GridPane.rowIndex="11"/>
|
|
||||||
<Separator fx:id="separatorH" onDragDetected="#dragDetected" onDragDone="#dragDone" onDragDropped="#dragDropped"
|
|
||||||
onDragEntered="#dragEntered" onDragExited="#dragExited" onDragOver="#dragOver"
|
|
||||||
onMouseDragEntered="#mouseDragEntered" onMouseDragExited="#mouseDragExited"
|
|
||||||
onMouseDragOver="#mouseDragOver" onMouseDragReleased="#mouseDragReleased" prefWidth="200.0"
|
|
||||||
GridPane.columnIndex="1" GridPane.rowIndex="11"/>
|
|
||||||
<Separator fx:id="separatorV" orientation="VERTICAL" prefHeight="200.0" GridPane.rowIndex="12"/>
|
|
||||||
<Slider fx:id="sliderH" onContextMenuRequested="#contextMenuRequested" onMouseClicked="#mouseClicked"
|
|
||||||
onMouseDragged="#mouseDragged" onMouseEntered="#mouseEntered" onMouseExited="#mouseExited"
|
|
||||||
onMouseMoved="#mouseMoved" onMousePressed="#mousePressed" onMouseReleased="#mouseReleased"
|
|
||||||
onScroll="#onScroll" onScrollFinished="#onScrollFinished" onScrollStarted="#onScrollStarted"
|
|
||||||
GridPane.columnIndex="1" GridPane.rowIndex="12"/>
|
|
||||||
<Slider fx:id="sliderV" onZoom="#onZoom" onZoomFinished="#onZoomFinished" onZoomStarted="#onZoomStarted"
|
|
||||||
orientation="VERTICAL"
|
|
||||||
GridPane.rowIndex="13"/>
|
|
||||||
<Spinner fx:id="spinner" GridPane.columnIndex="1" GridPane.rowIndex="13"/>
|
|
||||||
<SplitMenuButton fx:id="splitMenuButton" mnemonicParsing="false" text="SplitMenuButton" GridPane.rowIndex="14">
|
|
||||||
<items>
|
|
||||||
<MenuItem fx:id="item1" mnemonicParsing="false" text="Action 1"/>
|
|
||||||
<MenuItem fx:id="item2" mnemonicParsing="false" text="Action 2"/>
|
|
||||||
</items>
|
|
||||||
</SplitMenuButton>
|
|
||||||
<TableView fx:id="tableView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="14">
|
|
||||||
<columns>
|
|
||||||
<TableColumn fx:id="tableColumn1" prefWidth="75.0" text="C1"/>
|
|
||||||
<TableColumn fx:id="tableColumn2" prefWidth="75.0" text="C2"/>
|
|
||||||
</columns>
|
|
||||||
</TableView>
|
|
||||||
<TextArea fx:id="textArea" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="15"/>
|
|
||||||
<TextField fx:id="textField" GridPane.columnIndex="1" GridPane.rowIndex="15"/>
|
|
||||||
<ToggleButton mnemonicParsing="false" onAction="#onAction" onRotate="#onRotate"
|
|
||||||
onRotationFinished="#onRotationFinished" onRotationStarted="#onRotationStarted"
|
|
||||||
text="ToggleButton" GridPane.rowIndex="16"/>
|
|
||||||
<TreeTableView fx:id="treeTableView" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="16">
|
|
||||||
<columns>
|
|
||||||
<TreeTableColumn fx:id="treeTableColumn1" onEditCancel="#onEditCancel" onEditCommit="#onEditCommit"
|
|
||||||
onEditStart="#onEditStart"
|
|
||||||
prefWidth="75.0" text="C1"/>
|
|
||||||
<TreeTableColumn fx:id="treeTableColumn2" prefWidth="75.0" sortType="DESCENDING" text="C2"/>
|
|
||||||
</columns>
|
|
||||||
</TreeTableView>
|
|
||||||
<TreeView fx:id="treeView" onSwipeDown="#onSwipeDown" onSwipeLeft="#onSwipeLeft" onSwipeRight="#onSwipeRight"
|
|
||||||
onSwipeUp="#onSwipeUp" prefHeight="200.0" prefWidth="200.0" GridPane.rowIndex="17"/>
|
|
||||||
<WebView fx:id="webView" onTouchMoved="#onTouchMoved" onTouchPressed="#onTouchPressed"
|
|
||||||
onTouchReleased="#onTouchReleased"
|
|
||||||
onTouchStationary="#onTouchStationary" prefHeight="200.0" prefWidth="200.0" GridPane.columnIndex="1"
|
|
||||||
GridPane.rowIndex="17"/>
|
|
||||||
</children>
|
|
||||||
</GridPane>
|
|
||||||
-430
@@ -1,430 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-430
@@ -1,430 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-429
@@ -1,429 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-474
@@ -1,474 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-474
@@ -1,474 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-473
@@ -1,473 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.button = object1;
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.checkBox = object2;
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.choiceBox = object3;
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.colorPicker = object4;
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.color = object6;
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.comboBox = object7;
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.datePicker = object10;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.htmlEditor = object11;
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.hyperlink = object12;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.imageView = object13;
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.label = object14;
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.listView = object15;
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.mediaView = object16;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.menuBar = object17;
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.menu1 = object18;
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.menuItem1 = object19;
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.menuButton = object24;
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.pagination = object28;
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.passwordField = object30;
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.progressBar = object31;
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.progressIndicator = object32;
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.radioButton = object34;
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.scrollBarH = object35;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.scrollBarV = object36;
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.separatorH = object37;
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.separatorV = object38;
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.sliderH = object39;
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.sliderV = object40;
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.spinner = object41;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.splitMenuButton = object42;
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item1 = object43;
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.item2 = object44;
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.tableView = object45;
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.tableColumn1 = object46;
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.tableColumn2 = object47;
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.textArea = object48;
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.textField = object49;
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.treeTableView = object51;
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.treeTableColumn1 = object52;
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.treeTableColumn2 = object53;
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.treeView = object54;
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.webView = object55;
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-433
@@ -1,433 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllerFactory.create(fieldMap);
|
|
||||||
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
|
|
||||||
object0.setOnKeyPressed(e -> controller.keyPressed());
|
|
||||||
object0.setOnKeyReleased(controller::keyReleased);
|
|
||||||
object0.setOnKeyTyped(controller::keyTyped);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-433
@@ -1,433 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllerFactory.create(fieldMap);
|
|
||||||
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
|
|
||||||
object0.setOnKeyPressed(e -> controller.keyPressed());
|
|
||||||
object0.setOnKeyReleased(controller::keyReleased);
|
|
||||||
object0.setOnKeyTyped(controller::keyTyped);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-432
@@ -1,432 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T 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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllerFactory.create(fieldMap);
|
|
||||||
object0.setOnInputMethodTextChanged(controller::inputMethodTextChanged);
|
|
||||||
object0.setOnKeyPressed(e -> controller.keyPressed());
|
|
||||||
object0.setOnKeyReleased(controller::keyReleased);
|
|
||||||
object0.setOnKeyTyped(controller::keyTyped);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-477
@@ -1,477 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.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));
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-477
@@ -1,477 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.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));
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-476
@@ -1,476 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController> controllerFactory) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController> controllerFactory, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controllerFactory), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T 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.control.Button();
|
|
||||||
fieldMap.put("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
fieldMap.put("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
fieldMap.put("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
fieldMap.put("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
fieldMap.put("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
fieldMap.put("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
fieldMap.put("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
fieldMap.put("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
fieldMap.put("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
fieldMap.put("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
fieldMap.put("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
fieldMap.put("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
fieldMap.put("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
fieldMap.put("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
fieldMap.put("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
fieldMap.put("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
fieldMap.put("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
fieldMap.put("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
fieldMap.put("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
fieldMap.put("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
fieldMap.put("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
fieldMap.put("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
fieldMap.put("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
fieldMap.put("separatorH", object37);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
fieldMap.put("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
fieldMap.put("sliderH", object39);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
fieldMap.put("sliderV", object40);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
fieldMap.put("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
fieldMap.put("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
fieldMap.put("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
fieldMap.put("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
fieldMap.put("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
fieldMap.put("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
fieldMap.put("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
fieldMap.put("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
fieldMap.put("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
fieldMap.put("treeTableColumn1", object52);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
fieldMap.put("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
fieldMap.put("treeView", object54);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
fieldMap.put("webView", object55);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
final var controllerFactory = controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.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));
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-439
@@ -1,439 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-439
@@ -1,439 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-438
@@ -1,438 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-483
@@ -1,483 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-483
@@ -1,483 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-482
@@ -1,482 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
injectField("button", object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
injectField("checkBox", object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
injectField("choiceBox", object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
injectField("colorPicker", object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
injectField("color", object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
injectField("comboBox", object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
injectField("datePicker", object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
injectField("htmlEditor", object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
injectField("hyperlink", object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
injectField("imageView", object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
injectField("label", object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
injectField("listView", object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
injectField("mediaView", object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
injectField("menuBar", object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
injectField("menu1", object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("menuItem1", object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
injectField("menuButton", object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
injectField("pagination", object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
injectField("passwordField", object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
injectField("progressBar", object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
injectField("progressIndicator", object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
injectField("radioButton", object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
injectField("scrollBarH", object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
injectField("scrollBarV", object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
injectField("separatorH", object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
injectField("separatorV", object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
injectField("sliderH", object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
injectField("sliderV", object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
injectField("spinner", object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
injectField("splitMenuButton", object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item1", object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
injectField("item2", object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
injectField("tableView", object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
injectField("tableColumn1", object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
injectField("tableColumn2", object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
injectField("textArea", object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
injectField("textField", object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
injectField("treeTableView", object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
injectField("treeTableColumn1", object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
injectField("treeTableColumn2", object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
injectField("treeView", object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
injectField("webView", object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-430
@@ -1,430 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-430
@@ -1,430 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-429
@@ -1,429 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(controller::dragDetected);
|
|
||||||
object37.setOnDragDone(controller::dragDone);
|
|
||||||
object37.setOnDragDropped(controller::dragDropped);
|
|
||||||
object37.setOnDragEntered(controller::dragEntered);
|
|
||||||
object37.setOnDragExited(controller::dragExited);
|
|
||||||
object37.setOnDragOver(controller::dragOver);
|
|
||||||
object37.setOnMouseDragEntered(controller::mouseDragEntered);
|
|
||||||
object37.setOnMouseDragExited(controller::mouseDragExited);
|
|
||||||
object37.setOnMouseDragOver(controller::mouseDragOver);
|
|
||||||
object37.setOnMouseDragReleased(controller::mouseDragReleased);
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(controller::contextMenuRequested);
|
|
||||||
object39.setOnMouseClicked(e -> controller.mouseClicked());
|
|
||||||
object39.setOnMouseDragged(controller::mouseDragged);
|
|
||||||
object39.setOnMouseEntered(controller::mouseEntered);
|
|
||||||
object39.setOnMouseExited(controller::mouseExited);
|
|
||||||
object39.setOnMouseMoved(controller::mouseMoved);
|
|
||||||
object39.setOnMousePressed(controller::mousePressed);
|
|
||||||
object39.setOnMouseReleased(controller::mouseReleased);
|
|
||||||
object39.setOnScroll(controller::onScroll);
|
|
||||||
object39.setOnScrollFinished(controller::onScrollFinished);
|
|
||||||
object39.setOnScrollStarted(controller::onScrollStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(controller::onZoom);
|
|
||||||
object40.setOnZoomFinished(controller::onZoomFinished);
|
|
||||||
object40.setOnZoomStarted(controller::onZoomStarted);
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(controller::onAction);
|
|
||||||
object50.setOnRotate(controller::onRotate);
|
|
||||||
object50.setOnRotationFinished(controller::onRotationFinished);
|
|
||||||
object50.setOnRotationStarted(controller::onRotationStarted);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(controller::onEditCancel);
|
|
||||||
object52.setOnEditCommit(controller::onEditCommit);
|
|
||||||
object52.setOnEditStart(controller::onEditStart);
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(controller::onSwipeDown);
|
|
||||||
object54.setOnSwipeLeft(controller::onSwipeLeft);
|
|
||||||
object54.setOnSwipeRight(controller::onSwipeRight);
|
|
||||||
object54.setOnSwipeUp(controller::onSwipeUp);
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(controller::onTouchMoved);
|
|
||||||
object55.setOnTouchPressed(controller::onTouchPressed);
|
|
||||||
object55.setOnTouchReleased(controller::onTouchReleased);
|
|
||||||
object55.setOnTouchStationary(controller::onTouchStationary);
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, object75, object76);
|
|
||||||
controller.initialize();
|
|
||||||
loaded = true;
|
|
||||||
return object0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return The controller
|
|
||||||
*/
|
|
||||||
public com.github.gtache.fxml.compiler.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-474
@@ -1,474 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-474
@@ -1,474 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.ControlsBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(bundle.getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-473
@@ -1,473 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.ControlsController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.ControlsController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.ControlsController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.control.Button();
|
|
||||||
controller.setButton(object1);
|
|
||||||
object1.setMnemonicParsing(false);
|
|
||||||
object1.setText("Button");
|
|
||||||
final var object2 = new javafx.scene.control.CheckBox();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object2, 1);
|
|
||||||
controller.setCheckBox(object2);
|
|
||||||
object2.setIndeterminate(true);
|
|
||||||
object2.setMnemonicParsing(false);
|
|
||||||
object2.setText("CheckBox");
|
|
||||||
final var object3 = new javafx.scene.control.ChoiceBox<String>();
|
|
||||||
object3.setCacheShape(false);
|
|
||||||
object3.setCenterShape(false);
|
|
||||||
object3.setDisable(true);
|
|
||||||
object3.setFocusTraversable(false);
|
|
||||||
controller.setChoiceBox(object3);
|
|
||||||
object3.setPrefWidth(150.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object3, 1);
|
|
||||||
object3.setScaleShape(false);
|
|
||||||
object3.setVisible(false);
|
|
||||||
final var object4 = new javafx.scene.control.ColorPicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object4, 1);
|
|
||||||
controller.setColorPicker(object4);
|
|
||||||
object4.setNodeOrientation(javafx.geometry.NodeOrientation.LEFT_TO_RIGHT);
|
|
||||||
object4.setOpacity(0.5);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object4, 1);
|
|
||||||
final var object5 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object4.setOpaqueInsets(object5);
|
|
||||||
final var object6 = new javafx.scene.paint.Color(0.7894737124443054, 0.08771929889917374, 0.08771929889917374, 1);
|
|
||||||
controller.setColor(object6);
|
|
||||||
object4.setValue(object6);
|
|
||||||
final var object7 = new javafx.scene.control.ComboBox();
|
|
||||||
object7.setEditable(true);
|
|
||||||
controller.setComboBox(object7);
|
|
||||||
object7.setPrefWidth(150.0);
|
|
||||||
object7.setPromptText("Text");
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object7, 2);
|
|
||||||
object7.setVisibleRowCount(5);
|
|
||||||
final var object8 = javafx.scene.Cursor.CLOSED_HAND;
|
|
||||||
object7.setCursor(object8);
|
|
||||||
final var object9 = new javafx.scene.effect.Bloom();
|
|
||||||
object7.setEffect(object9);
|
|
||||||
final var object10 = new javafx.scene.control.DatePicker();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object10, 1);
|
|
||||||
controller.setDatePicker(object10);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object10, 2);
|
|
||||||
object10.setShowWeekNumbers(true);
|
|
||||||
object10.setStyle("-fx-background-color: #ffffff;");
|
|
||||||
final var object11 = new javafx.scene.web.HTMLEditor();
|
|
||||||
controller.setHtmlEditor(object11);
|
|
||||||
object11.setHtmlText("<html><head></head><body contenteditable=\"true\"></body></html>");
|
|
||||||
object11.setPrefHeight(200.0);
|
|
||||||
object11.setPrefWidth(506.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object11, 3);
|
|
||||||
object11.getStyleClass().addAll("clazz");
|
|
||||||
object11.getStylesheets().addAll("@style.css");
|
|
||||||
final var object12 = new javafx.scene.control.Hyperlink();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object12, 1);
|
|
||||||
controller.setHyperlink(object12);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object12, 3);
|
|
||||||
object12.setText("Hyperlink");
|
|
||||||
final var object13 = new javafx.scene.image.ImageView();
|
|
||||||
object13.setFitHeight(150.0);
|
|
||||||
object13.setFitWidth(200.0);
|
|
||||||
controller.setImageView(object13);
|
|
||||||
object13.setPickOnBounds(true);
|
|
||||||
object13.setPreserveRatio(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object13, 4);
|
|
||||||
final var object14 = new javafx.scene.control.Label();
|
|
||||||
object14.setAccessibleHelp("TTTTT");
|
|
||||||
object14.setAccessibleText("TTT");
|
|
||||||
object14.setBlendMode(javafx.scene.effect.BlendMode.ADD);
|
|
||||||
object14.setCache(true);
|
|
||||||
object14.setCacheHint(javafx.scene.CacheHint.QUALITY);
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object14, 1);
|
|
||||||
object14.setDepthTest(javafx.scene.DepthTest.ENABLE);
|
|
||||||
controller.setLabel(object14);
|
|
||||||
object14.setMnemonicParsing(true);
|
|
||||||
object14.setMouseTransparent(true);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object14, 4);
|
|
||||||
object14.setText(controller.resources().getString("include.label"));
|
|
||||||
final var object15 = new javafx.scene.control.ListView<javafx.scene.control.Label>();
|
|
||||||
object15.setFixedCellSize(20.0);
|
|
||||||
controller.setListView(object15);
|
|
||||||
object15.setNodeOrientation(javafx.geometry.NodeOrientation.RIGHT_TO_LEFT);
|
|
||||||
object15.setOrientation(javafx.geometry.Orientation.HORIZONTAL);
|
|
||||||
object15.setPrefHeight(200.0);
|
|
||||||
object15.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object15, 5);
|
|
||||||
final var object16 = new javafx.scene.media.MediaView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object16, 1);
|
|
||||||
javafx.scene.layout.GridPane.setColumnSpan(object16, 2);
|
|
||||||
object16.setFitHeight(200.0);
|
|
||||||
object16.setFitWidth(200.0);
|
|
||||||
controller.setMediaView(object16);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object16, 5);
|
|
||||||
javafx.scene.layout.GridPane.setRowSpan(object16, 2);
|
|
||||||
final var object17 = new javafx.scene.control.MenuBar();
|
|
||||||
controller.setMenuBar(object17);
|
|
||||||
javafx.scene.layout.GridPane.setHalignment(object17, javafx.geometry.HPos.RIGHT);
|
|
||||||
javafx.scene.layout.GridPane.setHgrow(object17, javafx.scene.layout.Priority.ALWAYS);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object17, 7);
|
|
||||||
javafx.scene.layout.GridPane.setValignment(object17, javafx.geometry.VPos.BASELINE);
|
|
||||||
javafx.scene.layout.GridPane.setVgrow(object17, javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
final var object18 = new javafx.scene.control.Menu();
|
|
||||||
controller.setMenu1(object18);
|
|
||||||
object18.setMnemonicParsing(false);
|
|
||||||
object18.setText("File");
|
|
||||||
final var object19 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setMenuItem1(object19);
|
|
||||||
object19.setMnemonicParsing(false);
|
|
||||||
object19.setText("Close");
|
|
||||||
object18.getItems().addAll(object19);
|
|
||||||
final var object20 = new javafx.scene.control.Menu();
|
|
||||||
object20.setMnemonicParsing(false);
|
|
||||||
object20.setText("Edit");
|
|
||||||
final var object21 = new javafx.scene.control.MenuItem();
|
|
||||||
object21.setMnemonicParsing(false);
|
|
||||||
object21.setText("Delete");
|
|
||||||
object20.getItems().addAll(object21);
|
|
||||||
final var object22 = new javafx.scene.control.Menu();
|
|
||||||
object22.setMnemonicParsing(false);
|
|
||||||
object22.setText("Help");
|
|
||||||
final var object23 = new javafx.scene.control.MenuItem();
|
|
||||||
object23.setMnemonicParsing(false);
|
|
||||||
object23.setText("About");
|
|
||||||
object22.getItems().addAll(object23);
|
|
||||||
object17.getMenus().addAll(object18, object20, object22);
|
|
||||||
final var object24 = new javafx.scene.control.MenuButton();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object24, 1);
|
|
||||||
controller.setMenuButton(object24);
|
|
||||||
object24.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object24, 7);
|
|
||||||
object24.setText("MenuButton");
|
|
||||||
final var object25 = new javafx.scene.control.MenuItem();
|
|
||||||
object25.setMnemonicParsing(false);
|
|
||||||
object25.setText("Action 1");
|
|
||||||
final var object26 = new javafx.scene.control.MenuItem();
|
|
||||||
object26.setMnemonicParsing(false);
|
|
||||||
object26.setText("Action 2");
|
|
||||||
object24.getItems().addAll(object25, object26);
|
|
||||||
final var object27 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
javafx.scene.layout.GridPane.setMargin(object24, object27);
|
|
||||||
final var object28 = new javafx.scene.control.Pagination();
|
|
||||||
controller.setPagination(object28);
|
|
||||||
object28.setPrefHeight(200.0);
|
|
||||||
object28.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object28, 8);
|
|
||||||
final var object29 = new javafx.geometry.Insets(5.0, 4.0, 3.0, 2.0);
|
|
||||||
object28.setPadding(object29);
|
|
||||||
final var object30 = new javafx.scene.control.PasswordField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object30, 1);
|
|
||||||
controller.setPasswordField(object30);
|
|
||||||
object30.setMaxHeight(Double.valueOf("Infinity"));
|
|
||||||
object30.setMaxWidth(5.0);
|
|
||||||
object30.setMinHeight(Double.valueOf("-Infinity"));
|
|
||||||
object30.setMinWidth(1.0);
|
|
||||||
object30.setPrefColumnCount(7);
|
|
||||||
object30.setPrefHeight(4.0);
|
|
||||||
object30.setPrefWidth(3.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object30, 8);
|
|
||||||
final var object31 = new javafx.scene.control.ProgressBar();
|
|
||||||
controller.setProgressBar(object31);
|
|
||||||
object31.setLayoutX(10.0);
|
|
||||||
object31.setLayoutY(20.0);
|
|
||||||
object31.setPrefWidth(200.0);
|
|
||||||
object31.setProgress(0.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object31, 9);
|
|
||||||
final var object32 = new javafx.scene.control.ProgressIndicator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object32, 1);
|
|
||||||
controller.setProgressIndicator(object32);
|
|
||||||
object32.setProgress(0.0);
|
|
||||||
object32.setRotate(2.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object32, 9);
|
|
||||||
final var object33 = new javafx.geometry.Point3D(4.0, 5.0, 6.0);
|
|
||||||
object32.setRotationAxis(object33);
|
|
||||||
final var object34 = new javafx.scene.control.RadioButton();
|
|
||||||
controller.setRadioButton(object34);
|
|
||||||
object34.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object34, 10);
|
|
||||||
object34.setScaleX(7.0);
|
|
||||||
object34.setScaleY(2.0);
|
|
||||||
object34.setScaleZ(3.0);
|
|
||||||
object34.setText("RadioButton");
|
|
||||||
object34.setTranslateX(4.0);
|
|
||||||
object34.setTranslateY(5.0);
|
|
||||||
object34.setTranslateZ(6.0);
|
|
||||||
final var object35 = new javafx.scene.control.ScrollBar();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object35, 1);
|
|
||||||
controller.setScrollBarH(object35);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object35, 10);
|
|
||||||
final var object36 = new javafx.scene.control.ScrollBar();
|
|
||||||
controller.setScrollBarV(object36);
|
|
||||||
object36.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object36, 11);
|
|
||||||
final var object37 = new javafx.scene.control.Separator();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object37, 1);
|
|
||||||
controller.setSeparatorH(object37);
|
|
||||||
object37.setOnDragDetected(e -> callMethod("dragDetected", e));
|
|
||||||
object37.setOnDragDone(e -> callMethod("dragDone", e));
|
|
||||||
object37.setOnDragDropped(e -> callMethod("dragDropped", e));
|
|
||||||
object37.setOnDragEntered(e -> callMethod("dragEntered", e));
|
|
||||||
object37.setOnDragExited(e -> callMethod("dragExited", e));
|
|
||||||
object37.setOnDragOver(e -> callMethod("dragOver", e));
|
|
||||||
object37.setOnMouseDragEntered(e -> callMethod("mouseDragEntered", e));
|
|
||||||
object37.setOnMouseDragExited(e -> callMethod("mouseDragExited", e));
|
|
||||||
object37.setOnMouseDragOver(e -> callMethod("mouseDragOver", e));
|
|
||||||
object37.setOnMouseDragReleased(e -> callMethod("mouseDragReleased", e));
|
|
||||||
object37.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object37, 11);
|
|
||||||
final var object38 = new javafx.scene.control.Separator();
|
|
||||||
controller.setSeparatorV(object38);
|
|
||||||
object38.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
object38.setPrefHeight(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object38, 12);
|
|
||||||
final var object39 = new javafx.scene.control.Slider();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object39, 1);
|
|
||||||
controller.setSliderH(object39);
|
|
||||||
object39.setOnContextMenuRequested(e -> callMethod("contextMenuRequested", e));
|
|
||||||
object39.setOnMouseClicked(e -> callMethod("mouseClicked", e));
|
|
||||||
object39.setOnMouseDragged(e -> callMethod("mouseDragged", e));
|
|
||||||
object39.setOnMouseEntered(e -> callMethod("mouseEntered", e));
|
|
||||||
object39.setOnMouseExited(e -> callMethod("mouseExited", e));
|
|
||||||
object39.setOnMouseMoved(e -> callMethod("mouseMoved", e));
|
|
||||||
object39.setOnMousePressed(e -> callMethod("mousePressed", e));
|
|
||||||
object39.setOnMouseReleased(e -> callMethod("mouseReleased", e));
|
|
||||||
object39.setOnScroll(e -> callMethod("onScroll", e));
|
|
||||||
object39.setOnScrollFinished(e -> callMethod("onScrollFinished", e));
|
|
||||||
object39.setOnScrollStarted(e -> callMethod("onScrollStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object39, 12);
|
|
||||||
final var object40 = new javafx.scene.control.Slider();
|
|
||||||
controller.setSliderV(object40);
|
|
||||||
object40.setOnZoom(e -> callMethod("onZoom", e));
|
|
||||||
object40.setOnZoomFinished(e -> callMethod("onZoomFinished", e));
|
|
||||||
object40.setOnZoomStarted(e -> callMethod("onZoomStarted", e));
|
|
||||||
object40.setOrientation(javafx.geometry.Orientation.VERTICAL);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object40, 13);
|
|
||||||
final var object41 = new javafx.scene.control.Spinner<Double>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object41, 1);
|
|
||||||
controller.setSpinner(object41);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object41, 13);
|
|
||||||
final var object42 = new javafx.scene.control.SplitMenuButton();
|
|
||||||
controller.setSplitMenuButton(object42);
|
|
||||||
object42.setMnemonicParsing(false);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object42, 14);
|
|
||||||
object42.setText("SplitMenuButton");
|
|
||||||
final var object43 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem1(object43);
|
|
||||||
object43.setMnemonicParsing(false);
|
|
||||||
object43.setText("Action 1");
|
|
||||||
final var object44 = new javafx.scene.control.MenuItem();
|
|
||||||
controller.setItem2(object44);
|
|
||||||
object44.setMnemonicParsing(false);
|
|
||||||
object44.setText("Action 2");
|
|
||||||
object42.getItems().addAll(object43, object44);
|
|
||||||
final var object45 = new javafx.scene.control.TableView<javafx.scene.control.TextArea>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object45, 1);
|
|
||||||
controller.setTableView(object45);
|
|
||||||
object45.setPrefHeight(200.0);
|
|
||||||
object45.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object45, 14);
|
|
||||||
final var object46 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, Float>();
|
|
||||||
controller.setTableColumn1(object46);
|
|
||||||
object46.setPrefWidth(75.0);
|
|
||||||
object46.setText("C1");
|
|
||||||
final var object47 = new javafx.scene.control.TableColumn<javafx.scene.control.TextArea, String>();
|
|
||||||
controller.setTableColumn2(object47);
|
|
||||||
object47.setPrefWidth(75.0);
|
|
||||||
object47.setText("C2");
|
|
||||||
object45.getColumns().addAll(object46, object47);
|
|
||||||
final var object48 = new javafx.scene.control.TextArea();
|
|
||||||
controller.setTextArea(object48);
|
|
||||||
object48.setPrefHeight(200.0);
|
|
||||||
object48.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object48, 15);
|
|
||||||
final var object49 = new javafx.scene.control.TextField();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object49, 1);
|
|
||||||
controller.setTextField(object49);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object49, 15);
|
|
||||||
final var object50 = new javafx.scene.control.ToggleButton();
|
|
||||||
object50.setMnemonicParsing(false);
|
|
||||||
object50.setOnAction(e -> callMethod("onAction", e));
|
|
||||||
object50.setOnRotate(e -> callMethod("onRotate", e));
|
|
||||||
object50.setOnRotationFinished(e -> callMethod("onRotationFinished", e));
|
|
||||||
object50.setOnRotationStarted(e -> callMethod("onRotationStarted", e));
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object50, 16);
|
|
||||||
object50.setText("ToggleButton");
|
|
||||||
final var object51 = new javafx.scene.control.TreeTableView<javafx.scene.control.TreeItem<String>>();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object51, 1);
|
|
||||||
controller.setTreeTableView(object51);
|
|
||||||
object51.setPrefHeight(200.0);
|
|
||||||
object51.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object51, 16);
|
|
||||||
final var object52 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, String>();
|
|
||||||
controller.setTreeTableColumn1(object52);
|
|
||||||
object52.setOnEditCancel(e -> callMethod("onEditCancel", e));
|
|
||||||
object52.setOnEditCommit(e -> callMethod("onEditCommit", e));
|
|
||||||
object52.setOnEditStart(e -> callMethod("onEditStart", e));
|
|
||||||
object52.setPrefWidth(75.0);
|
|
||||||
object52.setText("C1");
|
|
||||||
final var object53 = new javafx.scene.control.TreeTableColumn<javafx.scene.control.TreeItem<String>, Integer>();
|
|
||||||
controller.setTreeTableColumn2(object53);
|
|
||||||
object53.setPrefWidth(75.0);
|
|
||||||
object53.setSortType(javafx.scene.control.TreeTableColumn.SortType.DESCENDING);
|
|
||||||
object53.setText("C2");
|
|
||||||
object51.getColumns().addAll(object52, object53);
|
|
||||||
final var object54 = new javafx.scene.control.TreeView<String>();
|
|
||||||
controller.setTreeView(object54);
|
|
||||||
object54.setOnSwipeDown(e -> callMethod("onSwipeDown", e));
|
|
||||||
object54.setOnSwipeLeft(e -> callMethod("onSwipeLeft", e));
|
|
||||||
object54.setOnSwipeRight(e -> callMethod("onSwipeRight", e));
|
|
||||||
object54.setOnSwipeUp(e -> callMethod("onSwipeUp", e));
|
|
||||||
object54.setPrefHeight(200.0);
|
|
||||||
object54.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object54, 17);
|
|
||||||
final var object55 = new javafx.scene.web.WebView();
|
|
||||||
javafx.scene.layout.GridPane.setColumnIndex(object55, 1);
|
|
||||||
controller.setWebView(object55);
|
|
||||||
object55.setOnTouchMoved(e -> callMethod("onTouchMoved", e));
|
|
||||||
object55.setOnTouchPressed(e -> callMethod("onTouchPressed", e));
|
|
||||||
object55.setOnTouchReleased(e -> callMethod("onTouchReleased", e));
|
|
||||||
object55.setOnTouchStationary(e -> callMethod("onTouchStationary", e));
|
|
||||||
object55.setPrefHeight(200.0);
|
|
||||||
object55.setPrefWidth(200.0);
|
|
||||||
javafx.scene.layout.GridPane.setRowIndex(object55, 17);
|
|
||||||
object0.getChildren().addAll(object1, object2, object3, object4, object7, object10, object11, object12, object13, object14, object15, object16, object17, object24, object28, object30, object31, object32, object34, object35, object36, object37, object38, object39, object40, object41, object42, object45, object48, object49, object50, object51, object54, object55);
|
|
||||||
final var object56 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object57 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
final var object58 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
object58.setMinWidth(10.0);
|
|
||||||
object58.setPrefWidth(100.0);
|
|
||||||
object0.getColumnConstraints().addAll(object56, object57, object58);
|
|
||||||
final var object59 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object60 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object61 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object62 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object63 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object64 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object65 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object66 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object67 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object68 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object69 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object70 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object71 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object72 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object73 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object74 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object75 = new javafx.scene.layout.RowConstraints();
|
|
||||||
final var object76 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object0.getRowConstraints().addAll(object59, object60, object61, object62, object63, object64, object65, object66, object67, object68, object69, object70, object71, object72, object73, object74, 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.parsing.listener.ControlsController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-187
@@ -1,187 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-187
@@ -1,187 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.IncludesBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-186
@@ -1,186 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-231
@@ -1,231 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = resourceBundlesMap.get(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class);
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-231
@@ -1,231 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
final var bundle = ResourceBundle.getBundle("com.github.gtache.fxml.compiler.parsing.listener.IncludesBundle");
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-230
@@ -1,230 +0,0 @@
|
|||||||
package com.github.gtache.fxml.compiler.parsing.listener;
|
|
||||||
|
|
||||||
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.parsing.listener.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.parsing.listener.IncludesController controller) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.IncludesController controller, final ResourceBundle resourceBundle) {
|
|
||||||
this(Map.of(com.github.gtache.fxml.compiler.parsing.listener.IncludesController.class, controller), Map.of(com.github.gtache.fxml.compiler.parsing.listener.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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads the view. Can only be called once.
|
|
||||||
*
|
|
||||||
* @return The view parent
|
|
||||||
*/
|
|
||||||
public <T> T load() {
|
|
||||||
if (loaded) {
|
|
||||||
throw new IllegalStateException("Already loaded");
|
|
||||||
}
|
|
||||||
controller = (com.github.gtache.fxml.compiler.parsing.listener.IncludesController) controllersMap.get(com.github.gtache.fxml.compiler.parsing.listener.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.parsing.listener.ControlsBundle");
|
|
||||||
map0.put(com.github.gtache.fxml.compiler.parsing.listener.ControlsController, bundle0);
|
|
||||||
final var view0 = new com.github.gtache.fxml.compiler.parsing.listener.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.FlowPane();
|
|
||||||
controller.flowPane = object30;
|
|
||||||
final var object31 = new javafx.scene.control.DialogPane();
|
|
||||||
controller.dialogPane = object31;
|
|
||||||
final var object32 = new javafx.scene.control.ButtonBar();
|
|
||||||
controller.buttonBar = object32;
|
|
||||||
final var object33 = new javafx.scene.layout.AnchorPane();
|
|
||||||
controller.anchorPane = object33;
|
|
||||||
final var object34 = new javafx.scene.control.Label();
|
|
||||||
object34.setManaged(false);
|
|
||||||
object33.getChildren().addAll(object34);
|
|
||||||
object32.getButtons().addAll(object33);
|
|
||||||
object31.setContent(object32);
|
|
||||||
object30.getChildren().addAll(object31);
|
|
||||||
object29.getChildren().addAll(object30);
|
|
||||||
final var object35 = new javafx.scene.layout.ColumnConstraints();
|
|
||||||
controller.columnConstraints = object35;
|
|
||||||
object35.setHgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object35.setMinWidth(10.0);
|
|
||||||
object29.getColumnConstraints().addAll(object35);
|
|
||||||
final var object36 = new javafx.scene.layout.RowConstraints();
|
|
||||||
object36.setMinHeight(10.0);
|
|
||||||
object36.setVgrow(javafx.scene.layout.Priority.SOMETIMES);
|
|
||||||
object29.getRowConstraints().addAll(object36);
|
|
||||||
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.parsing.listener.IncludesController controller() {
|
|
||||||
if (loaded) {
|
|
||||||
return controller;
|
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Not loaded");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user