mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 21:55:01 +07:00
javafx: exclude from attributes included static/default attributes
This commit is contained in:
+6
@@ -295,6 +295,12 @@ public class JavaFXHighlightingTest extends AbstractJavaFXTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testIncludedForm() throws Exception {
|
||||
myFixture.addFileToProject("sample.fxml", "<?import javafx.scene.layout.GridPane?>\n" +
|
||||
"<fx:root type=\"javafx.scene.layout.GridPane\" xmlns:fx=\"http://javafx.com/fxml\"/>\n");
|
||||
myFixture.testHighlighting(true, false, false, getTestName(false) + ".fxml");
|
||||
}
|
||||
|
||||
public void testInjectedControllerFields() throws Exception {
|
||||
myFixture.addFileToProject("sample.fxml", "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
|
||||
"<?import javafx.scene.control.*?>\n" +
|
||||
|
||||
+6
@@ -179,6 +179,12 @@ public class JavaFxCompletionTest extends LightFixtureCompletionTestCase {
|
||||
doTest("layoutY");
|
||||
}
|
||||
|
||||
public void testIncludedRootRootAttributes() throws Exception {
|
||||
myFixture.addFileToProject("sample.fxml", "?import javafx.scene.layout.GridPane?>\n" +
|
||||
"<fx:root type=\"javafx.scene.layout.GridPane\" xmlns:fx=\"http://javafx.com/fxml\" />");
|
||||
doTest("blendMode");
|
||||
}
|
||||
|
||||
public void testAllowPropertyTypeClass() throws Exception {
|
||||
doTest("ColumnConstraints");
|
||||
}
|
||||
|
||||
+10
-6
@@ -220,12 +220,7 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
final String name = context.getName();
|
||||
if (Comparing.equal(name, getName()) && myPsiClass != null) {
|
||||
final List<XmlAttributeDescriptor> simpleAttrs = new ArrayList<XmlAttributeDescriptor>();
|
||||
collectProperties(simpleAttrs, new Function<PsiField, XmlAttributeDescriptor>() {
|
||||
@Override
|
||||
public XmlAttributeDescriptor fun(PsiField field) {
|
||||
return new JavaFxPropertyAttributeDescriptor(field.getName(), myPsiClass);
|
||||
}
|
||||
}, true);
|
||||
collectInstanceProperties(simpleAttrs);
|
||||
collectStaticAttributesDescriptors(context, simpleAttrs);
|
||||
for (String defaultProperty : FxmlConstants.FX_DEFAULT_PROPERTIES) {
|
||||
simpleAttrs.add(new JavaFxDefaultAttributeDescriptor(defaultProperty, myPsiClass));
|
||||
@@ -236,6 +231,15 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
return XmlAttributeDescriptor.EMPTY;
|
||||
}
|
||||
|
||||
protected void collectInstanceProperties(List<XmlAttributeDescriptor> simpleAttrs) {
|
||||
collectProperties(simpleAttrs, new Function<PsiField, XmlAttributeDescriptor>() {
|
||||
@Override
|
||||
public XmlAttributeDescriptor fun(PsiField field) {
|
||||
return new JavaFxPropertyAttributeDescriptor(field.getName(), myPsiClass);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
private <T> void collectProperties(final List<T> children, final Function<PsiField, T> factory, final boolean acceptPrimitive) {
|
||||
final List<PsiField> fieldList =
|
||||
CachedValuesManager.getManager(myPsiClass.getProject()).getCachedValue(myPsiClass, new CachedValueProvider<List<PsiField>>() {
|
||||
|
||||
+8
-2
@@ -119,8 +119,14 @@ public class JavaFxDefaultPropertyElementDescriptor implements XmlElementDescrip
|
||||
final XmlTag includedRoot = getIncludedRoot(context);
|
||||
if (includedRoot != null) {
|
||||
final XmlElementDescriptor includedRootDescriptor = includedRoot.getDescriptor();
|
||||
if (includedRootDescriptor != null) {
|
||||
Collections.addAll(descriptors, includedRootDescriptor.getAttributesDescriptors(includedRoot));
|
||||
if (includedRootDescriptor instanceof JavaFxClassBackedElementDescriptor) {
|
||||
((JavaFxClassBackedElementDescriptor)includedRootDescriptor).collectInstanceProperties(descriptors);
|
||||
}
|
||||
else if (includedRootDescriptor instanceof JavaFxDefaultPropertyElementDescriptor) {
|
||||
final JavaFxClassBackedElementDescriptor includedRootTagDescriptor = ((JavaFxDefaultPropertyElementDescriptor)includedRootDescriptor).getRootTagDescriptor(includedRoot);
|
||||
if (includedRootTagDescriptor != null) {
|
||||
includedRootTagDescriptor.collectInstanceProperties(descriptors);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<GridPane xmlns:fx="http://javafx.com/fxml">
|
||||
<fx:define>
|
||||
<fx:include source="sample.fxml" <caret>/>
|
||||
</fx:define>
|
||||
</GridPane>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<GridPane xmlns:fx="http://javafx.com/fxml">
|
||||
<fx:define>
|
||||
<fx:include source="sample.fxml" blendMode=""/>
|
||||
</fx:define>
|
||||
</GridPane>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<GridPane xmlns:fx="http://javafx.com/fxml">
|
||||
<fx:define>
|
||||
<fx:include source="sample.fxml"/>
|
||||
</fx:define>
|
||||
</GridPane>
|
||||
Reference in New Issue
Block a user