mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
javafx: constant values checks (IDEA-108601)
This commit is contained in:
+4
@@ -311,6 +311,10 @@ public class JavaFXHighlightingTest extends AbstractJavaFXTestCase {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testConstantValue() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testCharsetInInclude() 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");
|
||||
|
||||
+11
-3
@@ -370,12 +370,20 @@ public class JavaFxClassBackedElementDescriptor implements XmlElementDescriptor,
|
||||
host.addMessage(((XmlAttributeImpl)attribute).getNameElement(), "fx:controller can only be applied to root element", ValidationHost.ErrorType.ERROR); //todo add delete/move to upper tag fix
|
||||
}
|
||||
}
|
||||
final String canCoerceError = JavaFxPsiUtil.isClassAcceptable(parentTag, myPsiClass);
|
||||
PsiClass aClass = myPsiClass;
|
||||
final XmlAttribute constAttr = context.getAttribute(FxmlConstants.FX_CONSTANT);
|
||||
if (constAttr != null) {
|
||||
final PsiField constField = aClass.findFieldByName(constAttr.getValue(), false);
|
||||
if (constField != null) {
|
||||
aClass = PsiUtil.resolveClassInType(constField.getType());
|
||||
}
|
||||
}
|
||||
final String canCoerceError = JavaFxPsiUtil.isClassAcceptable(parentTag, aClass);
|
||||
if (canCoerceError != null) {
|
||||
host.addMessage(context.getNavigationElement(), canCoerceError, ValidationHost.ErrorType.ERROR);
|
||||
}
|
||||
if (myPsiClass != null && myPsiClass.isValid()) {
|
||||
final String message = JavaFxPsiUtil.isAbleToInstantiate(myPsiClass);
|
||||
if (aClass != null && aClass.isValid()) {
|
||||
final String message = JavaFxPsiUtil.isAbleToInstantiate(aClass);
|
||||
if (message != null) {
|
||||
host.addMessage(context, message, ValidationHost.ErrorType.ERROR);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?import javafx.scene.layout.GridPane?>
|
||||
<?import javafx.scene.control.Control?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<GridPane xmlns:fx="http://javafx.com/fxml">
|
||||
<TextField promptText="User Name">
|
||||
<minHeight>
|
||||
<Control fx:constant="USE_PREF_SIZE" />
|
||||
</minHeight>
|
||||
</TextField>
|
||||
</GridPane>
|
||||
Reference in New Issue
Block a user