Class AbstractTagEditingCategory
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.jidesoft.dialog.AbstractPage
-
- com.jidesoft.dialog.AbstractDialogPage
-
- com.inductiveautomation.ignition.designer.gui.AbstractListDialogPage
-
- com.inductiveautomation.ignition.designer.sqltags.editor.AbstractEditingCategory
-
- com.inductiveautomation.ignition.designer.sqltags.editor.AbstractTagEditingCategory
-
- All Implemented Interfaces:
com.jidesoft.dialog.Laziness
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
- Direct Known Subclasses:
AlarmCategory
,DerivedTagCategory
,ExpressionCategory
,GeneralCategory
,MetaCategory
,NumericCategory
,PermissionsCategory
,TagEventCategory
public abstract class AbstractTagEditingCategory extends AbstractEditingCategory
This class is the base for a "page" of properties for a tag. The general model for editing tags is to break up settings into these categories. Each category is then initialized with a read-only model when a tag is selected, and committed with a mutable object when the user performs some action. If an edit isn't valid, the commit can be canceled.The editing fields should all be subclasses of
AbstractTagPropEditor
. Since that class is a panel, complex components can still be built, but the base class provides support for change detection, error display, multi edit and more.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<AbstractTagPropEditor>
allFields
protected TagEditController
editTarget
-
Fields inherited from class com.jidesoft.dialog.AbstractDialogPage
_buttonEvent, _description, _icon, _pageEnabled, _parentPage, _title, DESCRIPTION_PROPERTY, ICON_PROPERTY, PROPERTY_PAGE_ENABLED, TITLE_PROPERTY
-
Fields inherited from class com.jidesoft.dialog.AbstractPage
_pageEvent, INVOKE_ON_ALL, INVOKE_ON_NONE, INVOKE_ON_PAINT, INVOKE_ON_REPAINT, INVOKE_ON_UPDATE, INVOKE_ON_VALIDATE
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractTagEditingCategory()
AbstractTagEditingCategory(java.lang.String titleKey, javax.swing.Icon icon)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
commit()
Loops through the fields in the category and calls commit(), after calling isModified() to check for changes.boolean
dryRunCommit()
Performs a dry run commit.protected TagEditController
getCurrentTarget()
protected boolean
hasTarget()
Returns whether there is currently an edit targetvoid
init(TagEditController tag)
Sets the selection to the given tag.boolean
isChanged()
protected boolean
isDataset(TagEditController tag)
abstract boolean
isRelevantFor(TagEditController tag)
Returns true if this category is relevant for the given tag.protected void
registerEditor(AbstractTagPropEditor editor)
-
Methods inherited from class com.inductiveautomation.ignition.designer.sqltags.editor.AbstractEditingCategory
clearError, createBanner, lazyInitialize, setError
-
Methods inherited from class com.inductiveautomation.ignition.designer.gui.AbstractListDialogPage
isGroup
-
Methods inherited from class com.jidesoft.dialog.AbstractDialogPage
addButtonListener, fireButtonEvent, fireButtonEvent, fireButtonEvent, focusDefaultFocusComponent, getButtonListeners, getDefaultFocusComponent, getDescription, getFullTitle, getIcon, getParentPage, getTitle, isPageEnabled, removeButtonListener, setDefaultFocusComponent, setDescription, setIcon, setPageEnabled, setParentPage, setTitle
-
Methods inherited from class com.jidesoft.dialog.AbstractPage
addPageListener, allowClosing, firePageEvent, firePageEvent, getInvokeCondition, getPageListeners, initialize, invalidate, paint, paintAll, paintComponents, removePageListener, repaint, repaint, repaint, repaint, reset, revalidate, setAllowClosing, setInvokeCondition, update
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
editTarget
protected TagEditController editTarget
-
allFields
protected java.util.List<AbstractTagPropEditor> allFields
-
-
Method Detail
-
registerEditor
protected void registerEditor(AbstractTagPropEditor editor)
-
getCurrentTarget
protected TagEditController getCurrentTarget()
-
hasTarget
protected boolean hasTarget()
Returns whether there is currently an edit target- Returns:
- false if
editTarget
is null
-
isDataset
protected boolean isDataset(TagEditController tag)
-
isRelevantFor
public abstract boolean isRelevantFor(TagEditController tag)
Returns true if this category is relevant for the given tag. If the category isn't relevant, it will not be initialized, and will be disabled in the UI.- Returns:
- true if this editing category applies to the tag
-
dryRunCommit
public boolean dryRunCommit()
Performs a dry run commit.- Returns:
- returning TRUE if the edits are valid, false if an error occurred.
-
isChanged
public boolean isChanged()
- Overrides:
isChanged
in classAbstractListDialogPage
-
commit
public int commit() throws java.lang.Exception
Loops through the fields in the category and calls commit(), after calling isModified() to check for changes. Returns the number of changes made.- Throws:
java.lang.Exception
-
init
public void init(TagEditController tag)
Sets the selection to the given tag.- Parameters:
tag
- the tag to select
-
-