Class AbstractPropertyEditorPanel

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  AbstractPropertyEditorPanel.ComponentChangeListener  
      static class  AbstractPropertyEditorPanel.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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean changed  
      protected AbstractPropertyEditorPanel.State state  
      • 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
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addStateChangeListener​(com.inductiveautomation.ignition.designer.propertyeditor.AbstractPropertyEditorPanel.StateListener listener)  
      abstract java.lang.Object commit()
      Create the object to be serialized and stored in the page's corresponding project resource
      java.lang.Object deserialize​(DesignerContext context, byte[] data)
      Turn bytes stored in this panel's project resource into the correct object type for this panel.
      boolean dryCommit()
      Test the input of the page for validity before commit.
      abstract java.lang.String getCategory()
      Returns a dot-separated category placement.
      protected AbstractPropertyEditorPanel.ComponentChangeListener getListener()
      Returns a shared instanceof (for this panel) of a ComponentChangeListener
      java.awt.Dimension getPreferredScrollableViewportSize()  
      java.lang.String getResourceName()  
      int getResourceScope()
      The application scope for the ProjectResource that represents this property category
      abstract ResourceType getResourceType()
      The resource type key used to look up this page's project resource
      int getScrollableBlockIncrement​(java.awt.Rectangle visibleRect, int orientation, int direction)  
      boolean getScrollableTracksViewportHeight()  
      boolean getScrollableTracksViewportWidth()  
      int getScrollableUnitIncrement​(java.awt.Rectangle visibleRect, int orientation, int direction)  
      AbstractPropertyEditorPanel.State getState()  
      abstract java.lang.String getTitleKey()
      Resource key for the banner on top of the editor panel
      abstract void initProps​(java.lang.Object props)
      Initialize the page with the given properties.
      protected int intValueOf​(javax.swing.JSpinner spinner)  
      boolean isChanged()
      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 changes
      protected void listenTo​(javax.swing.AbstractButton... buttons)
      Adds a listener to the component(s) that will set the changed boolean when the value changes
      protected void listenTo​(javax.swing.JComboBox<?>... boxes)
      Adds a listener to the component(s) that will set the changed boolean when the value changes
      protected void listenTo​(javax.swing.JSlider... sliders)
      Adds a listener to the component(s) that will set the changed boolean when the value changes
      protected void listenTo​(javax.swing.JSpinner... spinners)
      Adds a listener to the component(s) that will set the changed boolean when the value changes
      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
      void notifyClosed()
      Override and implement this to do any cleanup when the UI is no longer shown.
      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, java.lang.Object object)
      Turn the object this panel is editing into a byte[] to be stored in a ProjectResource.
      void setChanged​(boolean b)  
      void setState​(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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractPropertyEditorPanel

        protected AbstractPropertyEditorPanel()
      • AbstractPropertyEditorPanel

        protected AbstractPropertyEditorPanel​(java.awt.LayoutManager layout)
    • Method Detail

      • setChanged

        public void setChanged​(boolean b)
      • 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?
      • 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's XMLSerializer with 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 calls ClientContext.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:
        getPreferredScrollableViewportSize in interface javax.swing.Scrollable
      • getScrollableUnitIncrement

        public int getScrollableUnitIncrement​(java.awt.Rectangle visibleRect,
                                              int orientation,
                                              int direction)
        Specified by:
        getScrollableUnitIncrement in interface javax.swing.Scrollable
      • getScrollableBlockIncrement

        public int getScrollableBlockIncrement​(java.awt.Rectangle visibleRect,
                                               int orientation,
                                               int direction)
        Specified by:
        getScrollableBlockIncrement in interface javax.swing.Scrollable
      • getScrollableTracksViewportWidth

        public boolean getScrollableTracksViewportWidth()
        Specified by:
        getScrollableTracksViewportWidth in interface javax.swing.Scrollable
      • getScrollableTracksViewportHeight

        public boolean getScrollableTracksViewportHeight()
        Specified by:
        getScrollableTracksViewportHeight in interface javax.swing.Scrollable