Class ClientPanel
- java.lang.Object
- 
- java.awt.Component
- 
- java.awt.Container
- 
- javax.swing.JComponent
- 
- javax.swing.JPanel
- 
- com.inductiveautomation.ignition.client.launch.LaunchableApp
- 
- com.inductiveautomation.factorypmi.application.runtime.ClientPanel
 
 
 
 
 
 
- 
- All Implemented Interfaces:
- LocaleListener,- java.awt.image.ImageObserver,- java.awt.MenuContainer,- java.io.Serializable,- javax.accessibility.Accessible
 
 public class ClientPanel extends LaunchableApp implements LocaleListener - See Also:
- Serialized Form
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static classClientPanel.DestroyEDTThreadLocalsReflectively destroys the thread locals held onto by the Py class - used to avoid memory leakstatic classClientPanel.ExitButton- 
Nested classes/interfaces inherited from class javax.swing.JPaneljavax.swing.JPanel.AccessibleJPanel
 - 
Nested classes/interfaces inherited from class javax.swing.JComponentjavax.swing.JComponent.AccessibleJComponent
 
- 
 - 
Field Summary- 
Fields inherited from class com.inductiveautomation.ignition.client.launch.LaunchableAppframeIcon, frameTitle, glassPane
 - 
Fields inherited from class javax.swing.JComponentlistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 - 
Fields inherited from class java.awt.ComponentaccessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 - 
Fields inherited from interface java.awt.image.ImageObserverABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 - 
Fields inherited from interface com.inductiveautomation.ignition.client.model.LocaleListenerLOCAL_CHANGE_EVENT
 
- 
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanShutdown()May be called to check whether or not the application thinks that it should be allowed to be closed or not.protected voiddoScriptModuleUpdate()protected voiddoUpdateProject()ClientContextImplgetClientContext()java.awt.DimensiongetInitialFrameSize()The desired initial size of any enclosing frame, if applicableLaunchContextgetLaunchContext()LayeredGlassPanegetLayeredGlassPane()com.inductiveautomation.factorypmi.application.runtime.RuntimeMenugetMenu()javax.swing.JDesktopPanegetPopupDesktop()intgetScreenIndex()protected voidinstallLoginPane(ProjectInitializationParams params)Installs a new instance of LoginPanel as the content pane.booleanisMenuVisible()booleanisScreenLocked()booleanisStartCentered()If the enclosing container is a frame, should it start in centered mode?booleanisStartMaximized()If the enclosing container is a frame, should it start in maximized mode?voidlocaleChanged(java.util.Locale newLocale)voidlockScreen(boolean obscure)Called by fpmi.security.lockScreen()voidlogout()voidrebuildMenu()voidsetMenu(com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu newMenu)voidshutdown()May be called when the enclosing frame/applet is externally closed down.protected voidshutdownApp()voidstartup(ProjectInitializationParams params)Main entrypoint, called fromClientLaunchHook.startup()protected voidstartupApp(ProjectInitializationParams params)voidunlockScreen()- 
Methods inherited from class com.inductiveautomation.ignition.client.launch.LaunchableAppgetFrameIcon, getFrameTitle, getGlassPane, setFrameIcon, setFrameTitle, setGlassPane
 - 
Methods inherited from class javax.swing.JPanelgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 - 
Methods inherited from class javax.swing.JComponentaddAncestorListener, 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.Containeradd, 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.Componentaction, 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
 
- 
 
- 
- 
- 
Method Detail- 
startuppublic void startup(ProjectInitializationParams params) throws java.lang.Exception Main entrypoint, called from ClientLaunchHook.startup()Adds notification listeners for project change and project deletion. If the gateway connection's session is already valid at this point, control goes to startupApp(ProjectInitializationParams)directly. Otherwise,installLoginPane(ProjectInitializationParams)is called.- Throws:
- java.lang.Exception
 
 - 
installLoginPaneprotected 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.ClassicLoginActionaction to it.
 - 
startupAppprotected void startupApp(ProjectInitializationParams params) throws java.lang.Exception - Throws:
- java.lang.Exception
 
 - 
doUpdateProjectprotected void doUpdateProject() 
 - 
doScriptModuleUpdateprotected void doScriptModuleUpdate() 
 - 
canShutdownpublic boolean canShutdown() Description copied from class:LaunchableAppMay be called to check whether or not the application thinks that it should be allowed to be closed or not.- Specified by:
- canShutdownin class- LaunchableApp
 
 - 
shutdownpublic void shutdown() Description copied from class:LaunchableAppMay be called when the enclosing frame/applet is externally closed down.- Specified by:
- shutdownin class- LaunchableApp
 
 - 
shutdownAppprotected void shutdownApp() 
 - 
logoutpublic void logout() 
 - 
getLayeredGlassPanepublic LayeredGlassPane getLayeredGlassPane() 
 - 
lockScreenpublic void lockScreen(boolean obscure) Called by fpmi.security.lockScreen()
 - 
isScreenLockedpublic boolean isScreenLocked() 
 - 
unlockScreenpublic void unlockScreen() 
 - 
getInitialFrameSizepublic java.awt.Dimension getInitialFrameSize() Description copied from class:LaunchableAppThe desired initial size of any enclosing frame, if applicable- Specified by:
- getInitialFrameSizein class- LaunchableApp
 
 - 
isStartMaximizedpublic boolean isStartMaximized() Description copied from class:LaunchableAppIf the enclosing container is a frame, should it start in maximized mode?- Specified by:
- isStartMaximizedin class- LaunchableApp
 
 - 
isStartCenteredpublic boolean isStartCentered() Description copied from class:LaunchableAppIf the enclosing container is a frame, should it start in centered mode?- Specified by:
- isStartCenteredin class- LaunchableApp
 
 - 
getScreenIndexpublic int getScreenIndex() - Overrides:
- getScreenIndexin class- LaunchableApp
 
 - 
getClientContextpublic ClientContextImpl getClientContext() 
 - 
getLaunchContextpublic LaunchContext getLaunchContext() 
 - 
getPopupDesktoppublic javax.swing.JDesktopPane getPopupDesktop() 
 - 
isMenuVisiblepublic boolean isMenuVisible() 
 - 
getMenupublic com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu getMenu() 
 - 
setMenupublic void setMenu(com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu newMenu) 
 - 
rebuildMenupublic void rebuildMenu() 
 - 
localeChangedpublic void localeChanged(java.util.Locale newLocale) - Specified by:
- localeChangedin interface- LocaleListener
 
 
- 
 
-