mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
javafx: path refs in url attributes (IDEA-100135)
This commit is contained in:
+3
@@ -64,6 +64,9 @@ public class FxmlReferencesContributor extends PsiReferenceContributor {
|
||||
registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withValue(string().startsWith("@")).and(attributeValueInFxml),
|
||||
new JavaFxLocationReferenceProvider());
|
||||
|
||||
registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().withParent(XmlPatterns.xmlAttribute().withName("url")).and(attributeValueInFxml),
|
||||
new JavaFxLocationReferenceProvider());
|
||||
|
||||
registrar.registerReferenceProvider(PlatformPatterns.psiElement(XmlTokenType.XML_TAG_CHARACTERS).inFile(inFxmlElementPattern()), new ImportReferenceProvider());
|
||||
|
||||
registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue().and(attributeValueInFxml),
|
||||
|
||||
+10
-2
@@ -32,8 +32,16 @@ class JavaFxLocationReferenceProvider extends PsiReferenceProvider {
|
||||
public PsiReference[] getReferencesByElement(@NotNull final PsiElement element,
|
||||
@NotNull ProcessingContext context) {
|
||||
final String value = ((XmlAttributeValue)element).getValue();
|
||||
final String relativePathToResource = value.substring(1);
|
||||
final FileReferenceSet set = new FileReferenceSet(relativePathToResource, element, 2, null, true);
|
||||
final FileReferenceSet set;
|
||||
if (value.startsWith("@")) {
|
||||
set = new FileReferenceSet(value.substring(1), element, 2, null, true);
|
||||
}
|
||||
else {
|
||||
set = new FileReferenceSet(value, element, 1, null, true);
|
||||
if (value.startsWith("/")) {
|
||||
set.addCustomization(FileReferenceSet.DEFAULT_PATH_EVALUATOR_OPTION, FileReferenceSet.ABSOLUTE_TOP_LEVEL);
|
||||
}
|
||||
}
|
||||
return set.getAllReferences();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,11 @@
|
||||
<Image url="@appIcon.png"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
<ImageView>
|
||||
<image>
|
||||
<Image url="appIcon.png"/>
|
||||
</image>
|
||||
</ImageView>
|
||||
<ImageView>
|
||||
<image>
|
||||
<Image url="@<error descr="Cannot resolve file 'unknownIcon.png'">unknownIcon.png</error>"/>
|
||||
|
||||
Reference in New Issue
Block a user