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:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.Scrollable
- Direct Known Subclasses:
AbstractPerspectivePropsPanel,CategoryPanel,ClientGeneralPropsPanel,ClientLaunchPropsPanel,ClientLoginPropsPanel,ClientPermissionsPropsPanel,ClientPollingPropsPanel,ClientUIPropsPanel,DesignerGeneralPropsPanel,DesignerWindowEditPropsPanel,PermissionsPropsPanel,ProjectGlobalPropsPanel
public abstract class AbstractPropertyEditorPanel extends javax.swing.JPanel implements javax.swing.ScrollableBase class for all property editing pages. SeeDesignerContext.addPropertyEditor(Class)for a more detailed description. Subclasses must have either a nullary (no-arg) constructor, or one that takes aDesignerContext- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractPropertyEditorPanel.ComponentChangeListenerstatic classAbstractPropertyEditorPanel.State-
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 booleanchangedprotected AbstractPropertyEditorPanel.Statestate-
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 protectedAbstractPropertyEditorPanel()protectedAbstractPropertyEditorPanel(java.awt.LayoutManager layout)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddStateChangeListener(com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel.StateListener listener)abstract java.lang.Objectcommit()Create the object to be serialized and stored in the page's corresponding project resourcejava.lang.Objectdeserialize(DesignerContext context, byte[] data)Turn bytes stored in this panel's project resource into the correct object type for this panel.booleandryCommit()Test the input of the page for validity before commit.abstract java.lang.StringgetCategory()Returns a dot-separated category placement.protected AbstractPropertyEditorPanel.ComponentChangeListenergetListener()Returns a shared instanceof (for this panel) of a ComponentChangeListenerjava.awt.DimensiongetPreferredScrollableViewportSize()java.lang.StringgetResourceName()intgetResourceScope()The application scope for the ProjectResource that represents this property categoryabstract ResourceTypegetResourceType()The resource type key used to look up this page's project resourceintgetScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)booleangetScrollableTracksViewportHeight()booleangetScrollableTracksViewportWidth()intgetScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)AbstractPropertyEditorPanel.StategetState()abstract java.lang.StringgetTitleKey()Resource key for the banner on top of the editor panelabstract voidinitProps(java.lang.Object props)Initialize the page with the given properties.protected intintValueOf(javax.swing.JSpinner spinner)booleanisChanged()Have 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(javax.swing.AbstractButton... buttons)Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(javax.swing.JComboBox<?>... boxes)Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(javax.swing.JSlider... sliders)Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(javax.swing.JSpinner... spinners)Adds a listener to the component(s) that will set the changed boolean when the value changesprotected voidlistenTo(javax.swing.text.JTextComponent... fields)Adds a listener to the component(s) that will set the changed boolean when the value changesvoidnotifyClosed()Override and implement this to do any cleanup when the UI is no longer shown.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, java.lang.Object object)Turn the object this panel is editing into a byte[] to be stored in a ProjectResource.voidsetChanged(boolean b)voidsetState(AbstractPropertyEditorPanel.State state)-
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 Detail
-
changed
protected boolean changed
-
state
protected AbstractPropertyEditorPanel.State state
-
-
Method Detail
-
setChanged
public void setChanged(boolean b)
-
getListener
protected AbstractPropertyEditorPanel.ComponentChangeListener getListener()
Returns a shared instanceof (for this panel) of a ComponentChangeListener
-
listenTo
protected void listenTo(javax.swing.JComboBox<?>... boxes)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
listenTo
protected void listenTo(AbstractProfileOptionDropdown... boxes)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
listenTo
protected void listenTo(javax.swing.AbstractButton... buttons)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
listenTo
protected void listenTo(javax.swing.text.JTextComponent... fields)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
listenTo
protected void listenTo(javax.swing.JSpinner... spinners)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
listenTo
protected void listenTo(javax.swing.JSlider... sliders)
Adds a listener to the component(s) that will set the changed boolean when the value changes
-
getCategory
public abstract java.lang.String getCategory()
Returns a dot-separated category placement. Something like: "Client.Launching"
-
getTitleKey
public abstract java.lang.String getTitleKey()
Resource key for the banner on top of the editor panel
-
getResourceName
public java.lang.String getResourceName()
-
initProps
public abstract void initProps(java.lang.Object props)
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
public AbstractPropertyEditorPanel.State getState()
-
setState
public void setState(AbstractPropertyEditorPanel.State state)
-
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
public abstract java.lang.Object commit()
Create the object to be serialized and stored in the page's corresponding project resource
-
revert
public void revert(DesignerContext context)
Revert this panel's resource to its inherited state.
-
override
public void override(DesignerContext context)
Copy the target resource into the local project.
-
serialize
public byte[] serialize(DesignerContext context, java.lang.Object object) throws java.lang.Exception
Turn the object this panel is editing into a byte[] to be stored in a ProjectResource. Default implementation uses Ignition'sXMLSerializerwith gzip=true- Throws:
java.lang.Exception
-
deserialize
public java.lang.Object deserialize(DesignerContext context, byte[] data) throws java.lang.Exception
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:
java.lang.Exception
-
getResourceType
public abstract ResourceType 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
-
intValueOf
protected int intValueOf(javax.swing.JSpinner spinner)
-
getPreferredScrollableViewportSize
public java.awt.Dimension getPreferredScrollableViewportSize()
- Specified by:
getPreferredScrollableViewportSizein interfacejavax.swing.Scrollable
-
getScrollableUnitIncrement
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)- Specified by:
getScrollableUnitIncrementin interfacejavax.swing.Scrollable
-
getScrollableBlockIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)- Specified by:
getScrollableBlockIncrementin interfacejavax.swing.Scrollable
-
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
- Specified by:
getScrollableTracksViewportWidthin interfacejavax.swing.Scrollable
-
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
- Specified by:
getScrollableTracksViewportHeightin interfacejavax.swing.Scrollable
-
-