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
,ImageObserver
,MenuContainer
,Serializable
,Accessible
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Reflectively destroys the thread locals held onto by the Py class - used to avoid memory leakstatic class
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
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
Modifier and TypeMethodDescriptionboolean
May be called to check whether or not the application thinks that it should be allowed to be closed or not.void
If a project update is pending this will trigger the update processprotected void
protected void
The desired initial size of any enclosing frame, if applicablecom.inductiveautomation.factorypmi.application.runtime.RuntimeMenu
getMenu()
int
protected void
Installs a new instance of LoginPanel as the content pane.boolean
boolean
boolean
If the enclosing container is a frame, should it start in centered mode?boolean
If the enclosing container is a frame, should it start in maximized mode?void
localeChanged
(Locale newLocale) void
lockScreen
(boolean obscure) Called by fpmi.security.lockScreen()void
logout()
void
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
void
startup
(ProjectInitializationParams params) Main entrypoint, called fromClientLaunchHook.startup()
protected void
void
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 Details
-
startup
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:
Exception
-
installLoginPane
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
- Throws:
Exception
-
doPendingProjectUpdate
public void doPendingProjectUpdate()If a project update is pending this will trigger the update process -
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 classLaunchableApp
-
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 classLaunchableApp
-
shutdownApp
protected void shutdownApp() -
logout
public void logout() -
getLayeredGlassPane
-
lockScreen
public void lockScreen(boolean obscure) Called by fpmi.security.lockScreen() -
isScreenLocked
public boolean isScreenLocked() -
unlockScreen
public void unlockScreen() -
getInitialFrameSize
Description copied from class:LaunchableApp
The desired initial size of any enclosing frame, if applicable- Specified by:
getInitialFrameSize
in classLaunchableApp
-
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 classLaunchableApp
-
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 classLaunchableApp
-
getScreenIndex
public int getScreenIndex()- Overrides:
getScreenIndex
in classLaunchableApp
-
getClientContext
-
getLaunchContext
-
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
- Specified by:
localeChanged
in interfaceLocaleListener
-