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 Summary
Nested 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.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class com.inductiveautomation.ignition.client.launch.LaunchableApp
frameIcon, frameTitle, glassPane
-
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
-
Fields inherited from interface com.inductiveautomation.ignition.client.model.LocaleListener
LOCAL_CHANGE_EVENT
-
-
Method Summary
All 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.LaunchableApp
getFrameIcon, getFrameTitle, getGlassPane, setFrameIcon, setFrameTitle, setGlassPane
-
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
-
-
-
-
Method Detail
-
startup
public 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
-
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.ClassicLoginActionaction 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:LaunchableAppMay be called to check whether or not the application thinks that it should be allowed to be closed or not.- Specified by:
canShutdownin classLaunchableApp
-
shutdown
public void shutdown()
Description copied from class:LaunchableAppMay be called when the enclosing frame/applet is externally closed down.- Specified by:
shutdownin classLaunchableApp
-
shutdownApp
protected void shutdownApp()
-
logout
public void logout()
-
getLayeredGlassPane
public LayeredGlassPane getLayeredGlassPane()
-
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:LaunchableAppThe desired initial size of any enclosing frame, if applicable- Specified by:
getInitialFrameSizein classLaunchableApp
-
isStartMaximized
public boolean isStartMaximized()
Description copied from class:LaunchableAppIf the enclosing container is a frame, should it start in maximized mode?- Specified by:
isStartMaximizedin classLaunchableApp
-
isStartCentered
public boolean isStartCentered()
Description copied from class:LaunchableAppIf the enclosing container is a frame, should it start in centered mode?- Specified by:
isStartCenteredin classLaunchableApp
-
getScreenIndex
public int getScreenIndex()
- Overrides:
getScreenIndexin classLaunchableApp
-
getClientContext
public ClientContextImpl getClientContext()
-
getLaunchContext
public LaunchContext getLaunchContext()
-
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()
-
localeChanged
public void localeChanged(java.util.Locale newLocale)
- Specified by:
localeChangedin interfaceLocaleListener
-
-