Class AbstractPropertyEditorPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
- Direct Known Subclasses:
AbstractPerspectivePropsPanel
,CategoryPanel
,ClientGeneralPropsPanel
,ClientLaunchPropsPanel
,ClientLoginPropsPanel
,ClientPermissionsPropsPanel
,ClientPollingPropsPanel
,ClientUIPropsPanel
,DesignerGeneralPropsPanel
,DesignerWindowEditPropsPanel
,PermissionsPropsPanel
,ProjectGlobalPropsPanel
Base class for all property editing pages. See
DesignerContext.addPropertyEditor(Class)
for a more detailed
description. Subclasses must have either a nullary (no-arg) constructor, or one that takes a DesignerContext
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected class
static enum
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsFields 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
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addStateChangeListener
(com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel.StateListener listener) abstract Object
commit()
Create the object to be serialized and stored in the page's corresponding project resourcedeserialize
(DesignerContext context, byte[] data) Turn bytes stored in this panel's project resource into the correct object type for this panel.boolean
Test the input of the page for validity before commit.abstract String
Returns a dot-separated category placement.Returns a shared instanceof (for this panel) of a ComponentChangeListenerint
The application scope for the ProjectResource that represents this property categoryabstract ResourceType
The resource type key used to look up this page's project resourceint
getScrollableBlockIncrement
(Rectangle visibleRect, int orientation, int direction) boolean
boolean
int
getScrollableUnitIncrement
(Rectangle visibleRect, int orientation, int direction) getState()
abstract String
Resource key for the banner on top of the editor panelUsed by a given property panel to indicate it "cares about" other resource types, and should be notified if they are changed (e.g.abstract void
Initialize the page with the given properties.protected int
intValueOf
(JSpinner spinner) boolean
Have any of the properties represented by this page changed?protected void
listenTo
(AbstractProfileOptionDropdown... boxes) Adds a listener to the component(s) that will set the changed boolean when the value changesprotected void
listenTo
(AbstractButton... buttons) Adds a listener to the component(s) that will set the changed boolean when the value changesprotected void
Adds a listener to the component(s) that will set the changed boolean when the value changesprotected void
Adds a listener to the component(s) that will set the changed boolean when the value changesprotected void
Adds a listener to the component(s) that will set the changed boolean when the value changesprotected void
listenTo
(JTextComponent... fields) Adds a listener to the component(s) that will set the changed boolean when the value changesvoid
Override and implement this to do any cleanup when the UI is no longer shown.void
Invoked when an upstream resource is committed, which tells this panel it may need to update.void
override
(DesignerContext context) Copy the target resource into the local project.void
revert
(DesignerContext context) Revert this panel's resource to its inherited state.byte[]
serialize
(DesignerContext context, Object object) Turn the object this panel is editing into a byte[] to be stored in a ProjectResource.void
setChanged
(boolean b) void
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, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, 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, update
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, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, 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, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, 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 Details
-
changed
protected boolean changed -
state
-
-
Constructor Details
-
AbstractPropertyEditorPanel
protected AbstractPropertyEditorPanel() -
AbstractPropertyEditorPanel
-
-
Method Details
-
setChanged
public void setChanged(boolean b) -
getListener
Returns a shared instanceof (for this panel) of a ComponentChangeListener -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
listenTo
Adds a listener to the component(s) that will set the changed boolean when the value changes -
getCategory
Returns a dot-separated category placement. Something like: "Client.Launching" -
getTitleKey
Resource key for the banner on top of the editor panel -
getResourceName
-
initProps
Initialize the page with the given properties.- Parameters:
props
- Deserialized object from this page's corresponding ProjectResource, or null if the resource didn't exist.
-
notifyClosed
public void notifyClosed()Override and implement this to do any cleanup when the UI is no longer shown. -
isChanged
public boolean isChanged()Have any of the properties represented by this page changed? -
getState
-
setState
-
addStateChangeListener
public void addStateChangeListener(com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel.StateListener listener) -
dryCommit
public boolean dryCommit()Test the input of the page for validity before commit.- Returns:
- true if the page will commit successfully, false otherwise
-
commit
Create the object to be serialized and stored in the page's corresponding project resource -
revert
Revert this panel's resource to its inherited state. -
override
Copy the target resource into the local project. -
serialize
Turn the object this panel is editing into a byte[] to be stored in a ProjectResource. Default implementation uses Ignition'sXMLSerializer
with gzip=true- Throws:
Exception
-
deserialize
Turn bytes stored in this panel's project resource into the correct object type for this panel. Default implementation simply callsClientContext.deserialize(byte[], Logger)
- Throws:
Exception
-
getResourceType
The resource type key used to look up this page's project resource -
getResourceScope
public int getResourceScope()The application scope for the ProjectResource that represents this property category -
getUpstreamResourceFilter
Used by a given property panel to indicate it "cares about" other resource types, and should be notified if they are changed (e.g. during an apply operation). -
notifyUpstreamResourceChanged
public void notifyUpstreamResourceChanged()Invoked when an upstream resource is committed, which tells this panel it may need to update. -
intValueOf
-
getPreferredScrollableViewportSize
- Specified by:
getPreferredScrollableViewportSize
in interfaceScrollable
-
getScrollableUnitIncrement
- Specified by:
getScrollableUnitIncrement
in interfaceScrollable
-
getScrollableBlockIncrement
- Specified by:
getScrollableBlockIncrement
in interfaceScrollable
-
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()- Specified by:
getScrollableTracksViewportWidth
in interfaceScrollable
-
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()- Specified by:
getScrollableTracksViewportHeight
in interfaceScrollable
-