Class ClientPanel

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ClientPanel.DestroyEDTThreadLocals
      Reflectively destroys the thread locals held onto by the Py class - used to avoid memory leak
      static class  ClientPanel.ExitButton  
      • 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 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 Concrete Methods 
      Modifier and Type Method Description
      boolean canShutdown()
      May be called to check whether or not the application thinks that it should be allowed to be closed or not.
      protected void doScriptModuleUpdate()  
      protected void doUpdateProject()  
      ClientContextImpl getClientContext()  
      java.awt.Dimension getInitialFrameSize()
      The desired initial size of any enclosing frame, if applicable
      LaunchContext getLaunchContext()  
      LayeredGlassPane getLayeredGlassPane()  
      com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu getMenu()  
      javax.swing.JDesktopPane getPopupDesktop()  
      int getScreenIndex()  
      protected void installLoginPane​(ProjectInitializationParams params)
      Installs a new instance of LoginPanel as the content pane.
      boolean isMenuVisible()  
      boolean isScreenLocked()  
      boolean isStartCentered()
      If the enclosing container is a frame, should it start in centered mode?
      boolean isStartMaximized()
      If the enclosing container is a frame, should it start in maximized mode?
      void localeChanged​(java.util.Locale newLocale)  
      void lockScreen​(boolean obscure)
      Called by fpmi.security.lockScreen()
      void logout()  
      void rebuildMenu()  
      void setMenu​(com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu newMenu)  
      void shutdown()
      May be called when the enclosing frame/applet is externally closed down.
      protected void shutdownApp()  
      void startup​(ProjectInitializationParams params)
      Main entrypoint, called from ClientLaunchHook.startup()
      protected void startupApp​(ProjectInitializationParams params)  
      void unlockScreen()  
      • 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
    • Method Detail

      • installLoginPane

        protected void installLoginPane​(ProjectInitializationParams params)

        Installs a new instance of LoginPanel as the content pane. (see setContentPane(JComponent))

        The LoginPanel uses a pluggable "LoginScreenPainter", which is instantiated reflectively using the value of bundle string "fpmi.LoginPanel.class". This is for white-labeling.

        Note that the login panel's "Login" button doesn't have any logic there. This function adds the ClientPanel.ClassicLoginAction action to it.

      • startupApp

        protected void startupApp​(ProjectInitializationParams params)
                           throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doUpdateProject

        protected void doUpdateProject()
      • doScriptModuleUpdate

        protected void doScriptModuleUpdate()
      • canShutdown

        public boolean canShutdown()
        Description copied from class: LaunchableApp
        May be called to check whether or not the application thinks that it should be allowed to be closed or not.
        Specified by:
        canShutdown in class LaunchableApp
      • shutdown

        public void shutdown()
        Description copied from class: LaunchableApp
        May be called when the enclosing frame/applet is externally closed down.
        Specified by:
        shutdown in class LaunchableApp
      • shutdownApp

        protected void shutdownApp()
      • logout

        public void logout()
      • lockScreen

        public void lockScreen​(boolean obscure)
        Called by fpmi.security.lockScreen()
      • isScreenLocked

        public boolean isScreenLocked()
      • unlockScreen

        public void unlockScreen()
      • getInitialFrameSize

        public java.awt.Dimension getInitialFrameSize()
        Description copied from class: LaunchableApp
        The desired initial size of any enclosing frame, if applicable
        Specified by:
        getInitialFrameSize in class LaunchableApp
      • isStartMaximized

        public boolean isStartMaximized()
        Description copied from class: LaunchableApp
        If the enclosing container is a frame, should it start in maximized mode?
        Specified by:
        isStartMaximized in class LaunchableApp
      • isStartCentered

        public boolean isStartCentered()
        Description copied from class: LaunchableApp
        If the enclosing container is a frame, should it start in centered mode?
        Specified by:
        isStartCentered in class LaunchableApp
      • getPopupDesktop

        public javax.swing.JDesktopPane getPopupDesktop()
      • isMenuVisible

        public boolean isMenuVisible()
      • getMenu

        public com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu getMenu()
      • setMenu

        public void setMenu​(com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu newMenu)
      • rebuildMenu

        public void rebuildMenu()