public class ClientPanel extends LaunchableApp implements LocaleListener
| Modifier and Type | Class and 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 |
javax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponentframeIcon, frameTitle, glassPanelistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Modifier and Type | Method and 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() |
static java.lang.String |
getProjectVersionSafe(LaunchContext context)
A safe wrapper around
LaunchContext.getProjectVersion() that is used because we may be launched from a
pre-7.2 bootstrap launcher on a retarget, and we don't want to explode. |
int |
getScreenIndex() |
protected void |
installLoginPane(ProjectInitializationParams params)
Installs a new instance of LoginPanel as the content pane.
|
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() |
static void |
restartSafe(LaunchParent launch,
java.util.List<GatewayAddress> addresses,
java.lang.String projectName,
java.lang.String projectVersion,
java.lang.String scope,
byte[] userObj)
A safe wrapper around
LaunchParent.restart(List, String, String, String, byte[]) that will fall back to
the pre-7.2 version if the 7.2 version doesn't exist. |
void |
setFrameTitle(java.lang.String title) |
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() |
getFrameIcon, getFrameTitle, getGlassPane, setFrameIcon, setGlassPanegetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCyclepublic static java.lang.String getProjectVersionSafe(LaunchContext context)
LaunchContext.getProjectVersion() that is used because we may be launched from a
pre-7.2 bootstrap launcher on a retarget, and we don't want to explode.public static void restartSafe(LaunchParent launch, java.util.List<GatewayAddress> addresses, java.lang.String projectName, java.lang.String projectVersion, java.lang.String scope, byte[] userObj)
LaunchParent.restart(List, String, String, String, byte[]) that will fall back to
the pre-7.2 version if the 7.2 version doesn't exist.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.
java.lang.Exceptionprotected 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
LoginAction action to it.
public void setFrameTitle(java.lang.String title)
setFrameTitle in class LaunchableAppprotected void startupApp(ProjectInitializationParams params) throws java.lang.Exception
java.lang.Exceptionprotected void doUpdateProject()
protected void doScriptModuleUpdate()
public boolean canShutdown()
LaunchableAppcanShutdown in class LaunchableApppublic void shutdown()
LaunchableAppshutdown in class LaunchableAppprotected void shutdownApp()
public void logout()
public LayeredGlassPane getLayeredGlassPane()
public void lockScreen(boolean obscure)
public boolean isScreenLocked()
public void unlockScreen()
public java.awt.Dimension getInitialFrameSize()
LaunchableAppgetInitialFrameSize in class LaunchableApppublic boolean isStartMaximized()
LaunchableAppisStartMaximized in class LaunchableApppublic boolean isStartCentered()
LaunchableAppisStartCentered in class LaunchableApppublic int getScreenIndex()
getScreenIndex in class LaunchableApppublic ClientContextImpl getClientContext()
public LaunchContext getLaunchContext()
public javax.swing.JDesktopPane getPopupDesktop()
public com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu getMenu()
public void setMenu(com.inductiveautomation.factorypmi.application.runtime.RuntimeMenu newMenu)
public void localeChanged(java.util.Locale newLocale)
localeChanged in interface LocaleListener