Javafx: Made optional the dependency on properties module (IDEA-100213)

This commit is contained in:
Pavel Dolgov
2016-09-14 14:46:34 +03:00
parent 12d71ce0d4
commit e90880ab54
7 changed files with 41 additions and 12 deletions
@@ -2,7 +2,7 @@ package org.jetbrains.plugins.javaFX.fxml;
import com.intellij.openapi.application.PluginPathManager;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxResourcePropertyValueInspection;
import org.jetbrains.plugins.javaFX.resources.JavaFxResourcePropertyValueInspection;
/**
* @author Pavel.Dolgov
@@ -1,6 +1,6 @@
<idea-plugin>
<depends>com.intellij.modules.java</depends>
<depends>com.intellij.properties</depends>
<depends optional="true" config-file="resources-plugin.xml">com.intellij.properties</depends>
<extensions defaultExtensionNs="com.intellij">
<fileTypeFactory implementation="org.jetbrains.plugins.javaFX.fxml.JavaFxFileTypeFactory"/>
<fileEditorProvider implementation="org.jetbrains.plugins.javaFX.sceneBuilder.SceneBuilderEditorProvider"/>
@@ -30,8 +30,6 @@
enabledByDefault="true" level="WARNING" implementationClass="org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxColorRgbInspection"/>
<localInspection language="XML" shortName="JavaFxEventHandler" displayName="Event handler method signature problems" groupName="JavaFX"
enabledByDefault="true" level="WARNING" implementationClass="org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxEventHandlerInspection"/>
<localInspection language="XML" shortName="JavaFxResourcePropertyValue" displayName="The value from properties file is incompatible with the attribute type" groupName="JavaFX"
enabledByDefault="true" level="WARNING" implementationClass="org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxResourcePropertyValueInspection"/>
<applicationService serviceInterface="org.jetbrains.plugins.javaFX.JavaFxSettings" serviceImplementation="org.jetbrains.plugins.javaFX.JavaFxSettings"/>
<applicationConfigurable groupId="language" displayName="JavaFX" id="preferences.JavaFX" instance="org.jetbrains.plugins.javaFX.JavaFxSettingsConfigurable"/>
@@ -0,0 +1,8 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<psi.referenceContributor implementation="org.jetbrains.plugins.javaFX.resources.FxmlResourceReferencesContributor"/>
<localInspection language="XML" shortName="JavaFxResourcePropertyValue" displayName="The value from properties file is incompatible with the attribute type" groupName="JavaFX"
enabledByDefault="true" level="WARNING" implementationClass="org.jetbrains.plugins.javaFX.resources.JavaFxResourcePropertyValueInspection"/>
</extensions>
</idea-plugin>
@@ -114,12 +114,6 @@ public class FxmlReferencesContributor extends PsiReferenceContributor {
.and(attributeValueInFxml),
new JavaFxLocationReferenceProvider(false, "css"));
registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withValue(string().startsWith("%"))
.withParent(XmlPatterns.xmlAttribute().andNot(
XmlPatterns.xmlAttribute().withName(
FxmlConstants.FX_VALUE, FxmlConstants.FX_CONSTANT, FxmlConstants.FX_FACTORY)))
.and(attributeValueInFxml), new JavaFxResourcePropertyReferenceProvider());
registrar.registerReferenceProvider(PlatformPatterns.psiElement(XmlProcessingInstruction.class).inVirtualFile(virtualFile().withExtension(JavaFxFileTypeFactory.FXML_EXTENSION)),
new ImportReferenceProvider());
@@ -0,0 +1,29 @@
package org.jetbrains.plugins.javaFX.resources;
import com.intellij.patterns.XmlAttributeValuePattern;
import com.intellij.patterns.XmlPatterns;
import com.intellij.psi.PsiReferenceContributor;
import com.intellij.psi.PsiReferenceRegistrar;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.javaFX.fxml.FxmlConstants;
import org.jetbrains.plugins.javaFX.fxml.JavaFxFileTypeFactory;
import static com.intellij.patterns.PlatformPatterns.virtualFile;
import static com.intellij.patterns.StandardPatterns.string;
/**
* @author Pavel.Dolgov
*/
public class FxmlResourceReferencesContributor extends PsiReferenceContributor {
@Override
public void registerReferenceProviders(@NotNull PsiReferenceRegistrar registrar) {
final XmlAttributeValuePattern attributeValueInFxml = XmlPatterns.xmlAttributeValue().inVirtualFile(
virtualFile().withExtension(JavaFxFileTypeFactory.FXML_EXTENSION));
registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withValue(string().startsWith("%"))
.withParent(XmlPatterns.xmlAttribute().andNot(
XmlPatterns.xmlAttribute().withName(
FxmlConstants.FX_VALUE, FxmlConstants.FX_CONSTANT, FxmlConstants.FX_FACTORY)))
.and(attributeValueInFxml), new JavaFxResourcePropertyReferenceProvider());
}
}
@@ -1,4 +1,4 @@
package org.jetbrains.plugins.javaFX.fxml.refs;
package org.jetbrains.plugins.javaFX.resources;
import com.intellij.lang.properties.references.PropertyReference;
import com.intellij.openapi.util.TextRange;
@@ -1,4 +1,4 @@
package org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections;
package org.jetbrains.plugins.javaFX.resources;
import com.intellij.codeInspection.LocalInspectionToolSession;
import com.intellij.codeInspection.ProblemsHolder;