in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java [1748:1978]
private PropertyEditor makeOrResetPropertyEditor(
Class<? extends Editor> editorClass, ValuePropertyMetadata propMeta, PropertyEditor propertyEditor) {
PropertyEditor createdPropertyEditor = propertyEditor;
if (createdPropertyEditor != null) {
createdPropertyEditor.setUpdateFromModel(true);
}
Set<Class<?>> selectedClasses = getSelectedClasses();
if (editorClass == I18nStringEditor.class) {
if (createdPropertyEditor != null) {
((I18nStringEditor) createdPropertyEditor).reset(propMeta, selectedClasses, isMultiLinesSupported(selectedClasses, propMeta));
} else {
createdPropertyEditor = new I18nStringEditor(propMeta, selectedClasses, isMultiLinesSupported(selectedClasses, propMeta));
}
} else if (editorClass == StringEditor.class) {
if (createdPropertyEditor != null) {
((StringEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new StringEditor(propMeta, selectedClasses);
}
} else if (editorClass == DoubleEditor.class) {
assert propMeta instanceof DoublePropertyMetadata;
DoublePropertyMetadata doublePropMeta = (DoublePropertyMetadata) propMeta;
if (createdPropertyEditor != null) {
((DoubleEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getConstants(doublePropMeta));
} else {
createdPropertyEditor = new DoubleEditor(propMeta, selectedClasses, getConstants(doublePropMeta));
}
} else if (editorClass == IntegerEditor.class) {
assert propMeta instanceof IntegerPropertyMetadata;
IntegerPropertyMetadata integerPropMeta = (IntegerPropertyMetadata) propMeta;
if (createdPropertyEditor != null) {
((IntegerEditor) createdPropertyEditor).reset(propMeta, selectedClasses,
getConstants(integerPropMeta), getMin(integerPropMeta), getMax(integerPropMeta));
} else {
createdPropertyEditor = new IntegerEditor(propMeta, selectedClasses,
getConstants(integerPropMeta), getMin(integerPropMeta), getMax(integerPropMeta));
}
} else if (editorClass == BooleanEditor.class) {
if (createdPropertyEditor != null) {
((BooleanEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new BooleanEditor(propMeta, selectedClasses);
}
} else if (editorClass == EnumEditor.class) {
if (createdPropertyEditor != null) {
((EnumEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new EnumEditor(propMeta, selectedClasses);
}
} else if (editorClass == InsetsEditor.class) {
if (createdPropertyEditor != null) {
((InsetsEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new InsetsEditor(propMeta, selectedClasses);
}
} else if (editorClass == BoundedDoubleEditor.class) {
assert propMeta instanceof DoublePropertyMetadata;
DoublePropertyMetadata doublePropMeta = (DoublePropertyMetadata) propMeta;
if (createdPropertyEditor != null) {
((BoundedDoubleEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getSelectedInstances(), getConstants(doublePropMeta));
} else {
createdPropertyEditor = new BoundedDoubleEditor(propMeta, selectedClasses, getSelectedInstances(), getConstants(doublePropMeta));
}
} else if (editorClass == RotateEditor.class) {
if (createdPropertyEditor != null) {
((RotateEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new RotateEditor(propMeta, selectedClasses);
}
} else if (editorClass == StyleEditor.class) {
if (createdPropertyEditor != null) {
((StyleEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getEditorController());
} else {
createdPropertyEditor = new StyleEditor(propMeta, selectedClasses, getEditorController());
}
} else if (editorClass == StyleClassEditor.class) {
if (createdPropertyEditor != null) {
((StyleClassEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getSelectedInstances(), getEditorController());
} else {
createdPropertyEditor = new StyleClassEditor(propMeta, selectedClasses, getSelectedInstances(), getEditorController());
}
} else if (editorClass == StylesheetEditor.class) {
if (createdPropertyEditor != null) {
((StylesheetEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getEditorController().getFxmlLocation());
} else {
createdPropertyEditor = new StylesheetEditor(propMeta, selectedClasses, getEditorController().getFxmlLocation());
}
} else if (editorClass == StringListEditor.class) {
if (createdPropertyEditor != null) {
((StringListEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new StringListEditor(propMeta, selectedClasses);
}
} else if (editorClass == FxIdEditor.class) {
String controllerClass = getControllerClass();
if (createdPropertyEditor != null) {
((FxIdEditor) createdPropertyEditor).reset(getSuggestedFxIds(controllerClass), getEditorController());
} else {
createdPropertyEditor = new FxIdEditor(getSuggestedFxIds(controllerClass), getEditorController());
}
} else if (editorClass == CursorEditor.class) {
if (createdPropertyEditor != null) {
((CursorEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new CursorEditor(propMeta, selectedClasses);
}
} else if (editorClass == EventHandlerEditor.class) {
if (createdPropertyEditor != null) {
((EventHandlerEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getSuggestedEventHandlers(getControllerClass()));
} else {
createdPropertyEditor = new EventHandlerEditor(propMeta, selectedClasses, getSuggestedEventHandlers(getControllerClass()));
}
} else if (editorClass == FunctionalInterfaceEditor.class) {
if (createdPropertyEditor != null) {
// "getSuggestedEventHandlers" (a method that already existed in SB code) isn't working right. It simply
// returns all the methods in the Controller class regardless of if they are good candidates for
// EventHandlers. We use if because at least this way we'll present all the methods available as
// auto-suggestions.
((FunctionalInterfaceEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getSuggestedEventHandlers(getControllerClass()));
} else {
createdPropertyEditor = new FunctionalInterfaceEditor(propMeta, selectedClasses, getSuggestedEventHandlers(getControllerClass()));
}
} else if (editorClass == EffectPopupEditor.class) {
if (createdPropertyEditor != null) {
((EffectPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new EffectPopupEditor(propMeta, selectedClasses, getEditorController());
}
} else if (editorClass == FontPopupEditor.class) {
if (createdPropertyEditor != null) {
((FontPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getEditorController());
} else {
createdPropertyEditor = new FontPopupEditor(propMeta, selectedClasses, getEditorController());
}
} else if (editorClass == PaintPopupEditor.class) {
if (createdPropertyEditor != null) {
((PaintPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new PaintPopupEditor(propMeta, selectedClasses, getEditorController());
}
} else if (editorClass == ImageEditor.class) {
if (createdPropertyEditor != null) {
((ImageEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getEditorController().getFxmlLocation());
} else {
createdPropertyEditor = new ImageEditor(propMeta, selectedClasses, getEditorController().getFxmlLocation());
}
} else if (editorClass == BoundsPopupEditor.class) {
if (createdPropertyEditor != null) {
((BoundsPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new BoundsPopupEditor(propMeta, selectedClasses);
}
} else if (editorClass == Point3DEditor.class) {
if (createdPropertyEditor != null) {
((Point3DEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new Point3DEditor(propMeta, selectedClasses);
}
} else if (editorClass == DividerPositionsEditor.class) {
if (createdPropertyEditor != null) {
((DividerPositionsEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new DividerPositionsEditor(propMeta, selectedClasses);
}
} else if (editorClass == TextAlignmentEditor.class) {
if (createdPropertyEditor != null) {
((TextAlignmentEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new TextAlignmentEditor(propMeta, selectedClasses);
}
} else if (editorClass == KeyCombinationPopupEditor.class) {
if (createdPropertyEditor != null) {
((KeyCombinationPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getEditorController());
} else {
createdPropertyEditor = new KeyCombinationPopupEditor(propMeta, selectedClasses, getEditorController());
}
} else if (editorClass == ColumnResizePolicyEditor.class) {
if (createdPropertyEditor != null) {
((ColumnResizePolicyEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new ColumnResizePolicyEditor(propMeta, selectedClasses);
}
} else if (editorClass == Rectangle2DPopupEditor.class) {
if (createdPropertyEditor != null) {
((Rectangle2DPopupEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new Rectangle2DPopupEditor(propMeta, selectedClasses);
}
} else if (editorClass == ToggleGroupEditor.class) {
if (createdPropertyEditor != null) {
((ToggleGroupEditor) createdPropertyEditor).reset(propMeta, selectedClasses, getSuggestedToggleGroups());
} else {
createdPropertyEditor = new ToggleGroupEditor(propMeta, selectedClasses, getSuggestedToggleGroups());
}
} else if (editorClass == ButtonTypeEditor.class) {
if (createdPropertyEditor != null) {
((ButtonTypeEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new ButtonTypeEditor(propMeta, selectedClasses);
}
} else if (editorClass == DurationEditor.class) {
if (createdPropertyEditor != null) {
((DurationEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new DurationEditor(propMeta, selectedClasses);
}
}
else if(editorClass == IncludeFxmlEditor.class) {
createdPropertyEditor = createOrResetIncludeFxmlEditor(createdPropertyEditor, selectedClasses, propMeta);
}
else if(editorClass == CharsetEditor.class) {
createdPropertyEditor = createOrResetCharsetEditor(createdPropertyEditor, selectedClasses, propMeta);
} else if (editorClass == ColorPopupEditor.class) {
if (createdPropertyEditor != null) {
createdPropertyEditor.reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new ColorPopupEditor(propMeta, selectedClasses, getEditorController());
}
}
else {
if (createdPropertyEditor != null) {
((GenericEditor) createdPropertyEditor).reset(propMeta, selectedClasses);
} else {
createdPropertyEditor = new GenericEditor(propMeta, selectedClasses);
}
}
if(createdPropertyEditor != null)
createdPropertyEditor.setUpdateFromModel(false);
return createdPropertyEditor;
}