Class VisionDesktop
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLayeredPane
javax.swing.JDesktopPane
com.inductiveautomation.factorypmi.application.VisionDesktop
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
- Direct Known Subclasses:
FPMIApp
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JDesktopPane
JDesktopPane.AccessibleJDesktopPane
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
JLayeredPane.AccessibleJLayeredPane
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
FieldsModifier and TypeFieldDescriptionprotected FPMIWindow
protected final VisionClientContext
static final ThreadLocal<String>
static final String
protected String
protected final WindowCache
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
-
Constructor Summary
ConstructorsConstructorDescriptionVisionDesktop
(ClientContext clientContext) VisionDesktop
(ClientContext clientContext, String handle) -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
protected void
fireWindowEvent
(FPMIWindow window, int eventType) Returns a List<FHMIWindow> of all open windowsgetPath
(FPMIWindow window) int
Returns the index of the monitor the desktop is set to display on, or zero if the screen index falls outside of the available screensReturns the opened window with resource idid
.Returns the opened window of namename
.Returns all opened windows with the given resource id.getWindows
(String path) Returns all opened windows with the given name.protected abstract VisionClientContext
initContext
(ClientContext clientContext) boolean
boolean
void
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
Removes (permanently) the window of the specified name.openWindow
(ResourcePath path) openWindow
(String path) Opens, or brings to front, the window with namename
.openWindow
(String path, WindowInitializer initializer) openWindow
(String path, WindowInitializer initializer, boolean openAdditional) void
void
void
setAxisPrecedence
(DockingDesktopManager.AxisPrecedence axisPrecedence) void
setBackground
(Color bg) void
setBounds
(int x, int y, int w, int h) void
setInfiniteDesktop
(boolean infiniteDesktop) void
setMinSize
(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
(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
-
Field Details
-
PRIMARY_DESKTOP_HANDLE
- See Also:
-
CURRENT_DESKTOP
-
context
-
windowController
The window controller stores the serialized code for each window, and is in charge of deserializing the windows. -
activeWindow
-
selectedWindowTitle
-
-
Constructor Details
-
VisionDesktop
-
VisionDesktop
-
-
Method Details
-
initContext
-
getHandle
-
shutdown
protected void shutdown(boolean designer) -
notifyWindowDeleted
Removes (permanently) the window of the specified name. All code for the window is deleted. -
getAdapterContext
-
setWindowOpener
-
getWindowCache
-
openWindow
-
openWindow
Opens, or brings to front, the window with namename
.- Parameters:
path
- the path of the window to open/select- Returns:
- the window that was opened or selected.
-
openWindow
-
openWindow
public RootPaneContainer openWindow(String path, WindowInitializer initializer, boolean openAdditional) -
getWindow
Returns the opened window of namename
. If there is no open window with the given name, null is returned.- Parameters:
path
- The path of the window to find
-
getPath
-
getWindows
Returns all opened windows with the given name. Returns an empty array if there are none. -
getWindow
Returns the opened window with resource idid
. If there is no open window with the given id, null is returned. -
getWindows
Returns all opened windows with the given resource id. Returns an empty array if there are none. -
getOpenedWindows
Returns a List<FHMIWindow> of all open windows -
getMinSize
-
setMinSize
-
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. -
setAxisPrecedence
-
getAxisPrecedence
-
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) -
addImpl
- Overrides:
addImpl
in classJDesktopPane
-
remove
- Overrides:
remove
in classJDesktopPane
-
setBackground
- Overrides:
setBackground
in classJComponent
-
addDesktopListener
-
removeDesktopListener
-
fireWindowEvent
-
getSelectedWindowTitle
-
setSelectedWindowTitle
-
getScriptManager
-