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"> + +