From deaf2c404da85f9105b6448d5ff3cadb7419e594 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Fri, 1 Feb 2013 19:42:09 +0400 Subject: [PATCH] javafx: fx:root (IDEA-100132) --- .../plugins/javaFX/fxml/FxmlConstants.java | 5 ++++ .../javaFX/fxml/JavaFXNSDescriptor.java | 5 +++- ...avaFxDefaultPropertyElementDescriptor.java | 2 +- .../fxml/refs/FxmlReferencesContributor.java | 6 +++++ ...avaFxControllerBasedReferenceProvider.java | 23 +++---------------- .../javaFX/testData/highlighting/rootTag.fxml | 7 ++++++ .../highlighting/rootTagWithoutType.fxml | 7 ++++++ .../highlighting/unresolvedRootTag.fxml | 9 ++++++++ .../javaFX/fxml/JavaFXHighlightingTest.java | 12 ++++++++++ 9 files changed, 54 insertions(+), 22 deletions(-) create mode 100644 plugins/javaFX/testData/highlighting/rootTag.fxml create mode 100644 plugins/javaFX/testData/highlighting/rootTagWithoutType.fxml create mode 100644 plugins/javaFX/testData/highlighting/unresolvedRootTag.fxml diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java index 0e9f05bfb3a0..6a7364b6b79e 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/FxmlConstants.java @@ -39,6 +39,8 @@ public class FxmlConstants { @NonNls public static final String FX_DEFINE = "fx:define"; @NonNls public static final String FX_SCRIPT = "fx:script"; @NonNls public static final String FX_INCLUDE = "fx:include"; + @NonNls public static final String FX_ROOT = "fx:root"; + @NonNls public static final String TYPE = "type"; public static final List FX_DEFAULT_PROPERTIES = Arrays.asList(FX_ID, FX_CONTROLLER, VALUE, FX_VALUE, FX_FACTORY, FX_CONSTANT); public static final List FX_DEFAULT_ELEMENTS = Arrays.asList(FX_INCLUDE, FX_REFERENCE, FX_COPY, FX_DEFINE, FX_SCRIPT); @@ -49,12 +51,15 @@ public class FxmlConstants { static { FX_ELEMENT_ATTRIBUTES.put(FX_INCLUDE, Arrays.asList(FX_ELEMENT_SOURCE, FX_ID)); FX_ELEMENT_ATTRIBUTES.put(FX_REFERENCE, Arrays.asList(FX_ELEMENT_SOURCE)); + FX_ELEMENT_ATTRIBUTES.put(FX_ROOT, Arrays.asList(TYPE)); } public static final Map> FX_REQUIRED_ELEMENT_ATTRIBUTES = new HashMap>(); + static { FX_REQUIRED_ELEMENT_ATTRIBUTES.put(FX_INCLUDE, Arrays.asList(FX_ELEMENT_SOURCE)); FX_REQUIRED_ELEMENT_ATTRIBUTES.put(FX_REFERENCE, Arrays.asList(FX_ELEMENT_SOURCE)); + FX_REQUIRED_ELEMENT_ATTRIBUTES.put(FX_ROOT, Arrays.asList(TYPE)); } } diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFXNSDescriptor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFXNSDescriptor.java index 231a3c96a7a9..ccc02fd95a11 100644 --- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFXNSDescriptor.java +++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/fxml/JavaFXNSDescriptor.java @@ -9,6 +9,7 @@ import com.intellij.xml.XmlNSDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.plugins.javaFX.fxml.descriptors.JavaFxClassBackedElementDescriptor; +import org.jetbrains.plugins.javaFX.fxml.descriptors.JavaFxDefaultPropertyElementDescriptor; /** * User: anna @@ -22,7 +23,9 @@ public class JavaFXNSDescriptor implements XmlNSDescriptor, Validator + + + + + \ No newline at end of file diff --git a/plugins/javaFX/testData/highlighting/rootTagWithoutType.fxml b/plugins/javaFX/testData/highlighting/rootTagWithoutType.fxml new file mode 100644 index 000000000000..c7fd34ee6fe6 --- /dev/null +++ b/plugins/javaFX/testData/highlighting/rootTagWithoutType.fxml @@ -0,0 +1,7 @@ + + + +<fx:root xmlns:fx="http://javafx.com/fxml"> + +