All Implemented Interfaces:
LocaleListener, ImageObserver, MenuContainer, Serializable, Accessible

public class ClientPanel extends LaunchableApp implements LocaleListener
See Also:
  • Method Details

    • startup

      public void startup(ProjectInitializationParams params) throws 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:
      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.ClassicLoginAction action to it.

    • startupApp

      protected void startupApp(ProjectInitializationParams params) throws Exception
      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 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()
    • 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 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
    • getScreenIndex

      public int getScreenIndex()
      Overrides:
      getScreenIndex in class LaunchableApp
    • getClientContext

      public ClientContextImpl getClientContext()
    • getLaunchContext

      public LaunchContext getLaunchContext()
    • getPopupDesktop

      public 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(Locale newLocale)
      Specified by:
      localeChanged in interface LocaleListener