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 classstatic enumNested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotected -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStateChangeListener(com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel.StateListener listener) abstract Objectcommit()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.booleanTest the input of the page for validity before commit.abstract StringReturns a dot-separated category placement.Returns a shared instanceof (for this panel) of a ComponentChangeListenerintThe application scope for the ProjectResource that represents this property categoryabstract ResourceTypeThe resource type key used to look up this page's project resourceintgetScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction) booleanbooleanintgetScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) getState()abstract StringResource 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 voidInitialize the page with the given properties.protected intintValueOf(JSpinner spinner) booleanHave any of the properties represented by this page changed?protected voidlistenTo(AbstractProfileOptionDropdown... boxes) Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(AbstractButton... buttons) Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidAdds a listener to the component(s) that will set the changed boolean when the value changesprotected voidAdds a listener to the component(s) that will set the changed boolean when the value changesprotected voidAdds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(JTextComponent... fields) Adds a listener to the component(s) that will set the changed boolean when the value changesvoidOverride and implement this to do any cleanup when the UI is no longer shown.voidInvoked when an upstream resource is committed, which tells this panel it may need to update.voidoverride(DesignerContext context) Copy the target resource into the local project.voidrevert(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.voidsetChanged(boolean b) voidMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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'sXMLSerializerwith 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:
getPreferredScrollableViewportSizein interfaceScrollable
-
getScrollableUnitIncrement
- Specified by:
getScrollableUnitIncrementin interfaceScrollable
-
getScrollableBlockIncrement
- Specified by:
getScrollableBlockIncrementin interfaceScrollable
-
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()- Specified by:
getScrollableTracksViewportWidthin interfaceScrollable
-
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()- Specified by:
getScrollableTracksViewportHeightin interfaceScrollable
-