Class VisionDesktop

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
    Direct Known Subclasses:
    FPMIApp

    public abstract class VisionDesktop
    extends javax.swing.JDesktopPane
    This is the custom JDesktopPane that makes up the the top level of the Vision client that manages all of the open windows. The primary desktop is a subclass of this class, called FPMIApp. Through scripting, additional desktops in separate JFrames may be opened.
    See Also:
    FPMIApp, SecondaryDesktops, Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JDesktopPane

        javax.swing.JDesktopPane.AccessibleJDesktopPane
      • Nested classes/interfaces inherited from class javax.swing.JLayeredPane

        javax.swing.JLayeredPane.AccessibleJLayeredPane
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected FPMIWindow activeWindow  
      protected VisionClientContext context  
      static java.lang.ThreadLocal<java.lang.String> CURRENT_DESKTOP  
      static java.lang.String PRIMARY_DESKTOP_HANDLE  
      protected java.lang.String selectedWindowTitle  
      protected WindowCache windowController
      The window controller stores the serialized code for each window, and is in charge of deserializing the windows.
      • Fields inherited from class javax.swing.JDesktopPane

        LIVE_DRAG_MODE, OUTLINE_DRAG_MODE
      • Fields inherited from class javax.swing.JLayeredPane

        DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addDesktopListener​(DesktopListener l)  
      protected void addImpl​(java.awt.Component frame, java.lang.Object constraints, int layer)  
      protected void fireWindowEvent​(FPMIWindow window, int eventType)  
      VisionClientContext getAdapterContext()  
      DockingDesktopManager.AxisPrecedence getAxisPrecedence()  
      java.lang.String getHandle()  
      java.awt.Dimension getMinSize()  
      java.util.List<FPMIWindow> getOpenedWindows()
      Returns a List<FHMIWindow> of all open windows
      java.lang.String getPath​(FPMIWindow window)  
      int getScreenIndexSafe()
      Returns the index of the monitor the desktop is set to display on, or zero if the screen index falls outside of the available screens
      java.lang.String getSelectedWindowTitle()  
      FPMIWindow getWindow​(ResourcePath id)
      Returns the opened window with resource id id.
      FPMIWindow getWindow​(java.lang.String path)
      Returns the opened window of name name.
      WindowCache getWindowCache()  
      FPMIWindow[] getWindows​(ResourcePath id)
      Returns all opened windows with the given resource id.
      FPMIWindow[] getWindows​(java.lang.String path)
      Returns all opened windows with the given name.
      protected abstract VisionClientContext initContext​(ClientContext clientContext)  
      boolean isInfiniteDesktop()  
      boolean isRestrictFloatingFrames()  
      void layoutDocks()
      This function verifies the layout of the docked windows, by checking to see if they are in the correct position, and moving/resizing them if necessary.
      void notifyWindowDeleted​(ResourcePath id)
      Removes (permanently) the window of the specified name.
      javax.swing.RootPaneContainer openWindow​(ResourcePath path)  
      javax.swing.RootPaneContainer openWindow​(java.lang.String path)
      Opens, or brings to front, the window with name name.
      javax.swing.RootPaneContainer openWindow​(java.lang.String path, WindowInitializer initializer)  
      javax.swing.RootPaneContainer openWindow​(java.lang.String path, WindowInitializer initializer, boolean openAdditional)  
      void remove​(java.awt.Component c)  
      void removeDesktopListener​(DesktopListener l)  
      void setAxisPrecedence​(DockingDesktopManager.AxisPrecedence axisPrecedence)  
      void setBackground​(java.awt.Color bg)  
      void setBounds​(int x, int y, int w, int h)  
      void setInfiniteDesktop​(boolean infiniteDesktop)  
      void setMinSize​(java.awt.Dimension minSize)  
      void setRestrictFloatingFrames​(boolean restrictFloatingFrames)  
      void setScreenIndex​(int screenIndex)
      Sets the index of the monitor the desktop is set to display on.
      void setSelectedWindowTitle​(java.lang.String selectedWindowTitle)  
      void setWindowOpener​(WindowOpener windowOpener)  
      protected void shutdown​(boolean designer)  
      • Methods inherited from class javax.swing.JDesktopPane

        getAccessibleContext, getAllFrames, getAllFramesInLayer, getDesktopManager, getDragMode, getSelectedFrame, getUI, getUIClassID, paramString, remove, removeAll, selectFrame, setComponentZOrder, setDesktopManager, setDragMode, setSelectedFrame, setUI, updateUI
      • Methods inherited from class javax.swing.JLayeredPane

        getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, putLayer, setLayer, setLayer, setPosition
      • 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, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, 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, 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, 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, removeContainerListener, 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, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • PRIMARY_DESKTOP_HANDLE

        public static final java.lang.String PRIMARY_DESKTOP_HANDLE
        See Also:
        Constant Field Values
      • CURRENT_DESKTOP

        public static final java.lang.ThreadLocal<java.lang.String> CURRENT_DESKTOP
      • windowController

        protected final WindowCache windowController
        The window controller stores the serialized code for each window, and is in charge of deserializing the windows.
      • selectedWindowTitle

        protected java.lang.String selectedWindowTitle
    • Constructor Detail

      • VisionDesktop

        public VisionDesktop​(ClientContext clientContext)
      • VisionDesktop

        public VisionDesktop​(ClientContext clientContext,
                             java.lang.String handle)
    • Method Detail

      • getHandle

        public java.lang.String getHandle()
      • shutdown

        protected void shutdown​(boolean designer)
      • notifyWindowDeleted

        public void notifyWindowDeleted​(ResourcePath id)
        Removes (permanently) the window of the specified name. All code for the window is deleted.
      • setWindowOpener

        public void setWindowOpener​(WindowOpener windowOpener)
      • openWindow

        public javax.swing.RootPaneContainer openWindow​(ResourcePath path)
      • openWindow

        public javax.swing.RootPaneContainer openWindow​(java.lang.String path)
        Opens, or brings to front, the window with name name.
        Parameters:
        path - the path of the window to open/select
        Returns:
        the window that was opened or selected.
      • openWindow

        public javax.swing.RootPaneContainer openWindow​(java.lang.String path,
                                                        WindowInitializer initializer)
      • openWindow

        public javax.swing.RootPaneContainer openWindow​(java.lang.String path,
                                                        WindowInitializer initializer,
                                                        boolean openAdditional)
      • getWindow

        public FPMIWindow getWindow​(java.lang.String path)
        Returns the opened window of name name. If there is no open window with the given name, null is returned.
        Parameters:
        path - The path of the window to find
      • getPath

        public java.lang.String getPath​(FPMIWindow window)
      • getWindows

        public FPMIWindow[] getWindows​(java.lang.String path)
        Returns all opened windows with the given name. Returns an empty array if there are none.
      • getWindow

        public FPMIWindow getWindow​(ResourcePath id)
        Returns the opened window with resource id id. If there is no open window with the given id, null is returned.
      • getWindows

        public FPMIWindow[] getWindows​(ResourcePath id)
        Returns all opened windows with the given resource id. Returns an empty array if there are none.
      • getOpenedWindows

        public java.util.List<FPMIWindow> getOpenedWindows()
        Returns a List<FHMIWindow> of all open windows
      • getMinSize

        public java.awt.Dimension getMinSize()
      • setMinSize

        public void setMinSize​(java.awt.Dimension minSize)
      • getScreenIndexSafe

        public int getScreenIndexSafe()
        Returns the index of the monitor the desktop is set to display on, or zero if the screen index falls outside of the available screens
      • setScreenIndex

        public void setScreenIndex​(int screenIndex)
        Sets the index of the monitor the desktop is set to display on. Does not actually move the desktop to a display, nor does it check to ensure the index maps to an actual monitor. Used for record keeping.
      • setRestrictFloatingFrames

        public void setRestrictFloatingFrames​(boolean restrictFloatingFrames)
      • isRestrictFloatingFrames

        public boolean isRestrictFloatingFrames()
      • setInfiniteDesktop

        public void setInfiniteDesktop​(boolean infiniteDesktop)
      • isInfiniteDesktop

        public boolean isInfiniteDesktop()
      • layoutDocks

        public void layoutDocks()
        This function verifies the layout of the docked windows, by checking to see if they are in the correct position, and moving/resizing them if necessary.
      • setBounds

        public void setBounds​(int x,
                              int y,
                              int w,
                              int h)
        Overrides:
        setBounds in class java.awt.Component
      • addImpl

        protected void addImpl​(java.awt.Component frame,
                               java.lang.Object constraints,
                               int layer)
        Overrides:
        addImpl in class javax.swing.JDesktopPane
      • remove

        public void remove​(java.awt.Component c)
        Overrides:
        remove in class javax.swing.JDesktopPane
      • setBackground

        public void setBackground​(java.awt.Color bg)
        Overrides:
        setBackground in class javax.swing.JComponent
      • addDesktopListener

        public void addDesktopListener​(DesktopListener l)
      • removeDesktopListener

        public void removeDesktopListener​(DesktopListener l)
      • fireWindowEvent

        protected void fireWindowEvent​(FPMIWindow window,
                                       int eventType)
      • getSelectedWindowTitle

        public java.lang.String getSelectedWindowTitle()
      • setSelectedWindowTitle

        public void setSelectedWindowTitle​(java.lang.String selectedWindowTitle)