java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.inductiveautomation.ignition.designer.propertyeditor.config.api.CustomPropertyEditor<T>
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible
Direct Known Subclasses:
AbstractExpressionPropertyCustomEditor, AlarmPropertyCustomEditor, DatasetEditor, DocumentEditor, EventScriptEditor, OpcSelectorEditor, ParameterEditPanel, PermissionModelEditor, SecurityLevelPermissionModelEditor, TagQueryPropertyEditor, TagSelectorEditor

public abstract class CustomPropertyEditor<T extends PropertyConfigurationController> extends JPanel
This is the API base class for a custom complex property editor. Any ConfigurationProperty should return the name of a class that extends from this. For each operation, this class is given a PropertyConfigurationController, and a target property (in this way, the same editor can be used for multiple properties). The constructor may be either empty, or may take a DesignerContext.
See Also:
  • Constructor Details

    • CustomPropertyEditor

      public CustomPropertyEditor()
  • Method Details

    • getMenuTitleKey

      public String getMenuTitleKey()
      If not null, will return a key that will be used for the menu display- only relevant for accessory editors, since they don't dominate the editing experience and allow for binding.
    • getFrameTitleKey

      public String getFrameTitleKey()
      If not null, will return a key that will be used for the external frame used for editing
    • isSmallSize

      public boolean isSmallSize()
      If true, will open up in a small popup editor. Otherwise, will be opened in a separate frame.
    • isAccessoryEditor

      public boolean isAccessoryEditor()
      If true, means that the custom editor won't dominate the edit cell, and that the property can still be edited manually.
    • initialize

      public abstract void initialize(T controller, Property targetProperty)
      Initializes the component with the current value of the model.
    • getDisplayValue

      public abstract String getDisplayValue(T controller, Property targetProperty)
      Should return a string description of the current value in the model.
    • commit

      public abstract boolean commit(T controller, Property targetProperty) throws Exception
      Commits any edits/values and returns a boolean indicating whether changes were made.
      Throws:
      Exception
    • updateTagsPanelRoot

      public static void updateTagsPanelRoot(DesignerContext context, @Nullable DefaultTreeModel model, TagSelectionComponent panel)
      Call when using the TSTabbedPanel, and you want to add or remove a udt definition tab. The existing UDT tab will always be removed. If the passed model is not null, a new UDT tab will be added.