Class TabbedResourceWorkspace
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTabbedPane
-
- com.jidesoft.swing.JideTabbedPane
-
- com.inductiveautomation.ignition.designer.tabbedworkspace.TabbedResourceWorkspace
-
- All Implemented Interfaces:
ResourceWorkspace,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.SwingConstants
- Direct Known Subclasses:
NamedQueryWorkspace,ReportingResourceWorkspace,ViewWorkspace
public abstract class TabbedResourceWorkspace extends com.jidesoft.swing.JideTabbedPane implements ResourceWorkspace
This is a resource workspace that allows multiple resources to be open at once using a tabbed interface. This workspace also automatically interfaces with the nav tree.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.jidesoft.swing.JideTabbedPane
com.jidesoft.swing.JideTabbedPane.ColorProvider, com.jidesoft.swing.JideTabbedPane.GradientColorProvider, com.jidesoft.swing.JideTabbedPane.IgnoreableSingleSelectionModel, com.jidesoft.swing.JideTabbedPane.NoFocusButton, com.jidesoft.swing.JideTabbedPane.PageLastFocusTracker, com.jidesoft.swing.JideTabbedPane.TabListCellRenderer
-
Nested classes/interfaces inherited from class javax.swing.JTabbedPane
javax.swing.JTabbedPane.AccessibleJTabbedPane, javax.swing.JTabbedPane.ModelListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description protected DesignerContextcontextprotected ResourceDescriptordescriptorprotected java.util.Map<ResourcePath,ResourceEditor>editorsprotected java.util.List<TabbedWorkspaceListener>listenersprotected AbstractNavTreeNoderootNode-
Fields inherited from class com.jidesoft.swing.JideTabbedPane
_focusChangeListener, _tabEditingAllowed, _tabEditValidator, BOLDACTIVETAB_PROPERTY, BOX_STYLE_PROPERTY, BUTTON_CLOSE, BUTTON_EAST, BUTTON_LIST, BUTTON_NORTH, BUTTON_SOUTH, BUTTON_WEST, COLOR_THEME_DEFAULT, COLOR_THEME_OFFICE2003, COLOR_THEME_VSNET, COLOR_THEME_WIN2K, COLOR_THEME_WINXP, GRIPPER_PROPERTY, HIDE_IF_ONE_TAB_PROPERTY, ONENOTE_COLOR_PROVIDER, PROPERTY_COLOR_THEME, PROPERTY_CONTENT_BORDER_INSETS, PROPERTY_DRAG_OVER_DISABLED, PROPERTY_SELECTED_INDEX, PROPERTY_SHOW_CLOSE_BUTTON_ON_MOUSE_OVER, PROPERTY_TAB_AREA_INSETS, PROPERTY_TAB_COLOR_PROVIDER, PROPERTY_TAB_INSETS, PROPERTY_TAB_LEADING_COMPONENT, PROPERTY_TAB_RESIZE_MODE, PROPERTY_TAB_SHAPE, PROPERTY_TAB_TRAILING_COMPONENT, RESIZE_MODE_COMPRESSED, RESIZE_MODE_DEFAULT, RESIZE_MODE_FIT, RESIZE_MODE_FIXED, RESIZE_MODE_NONE, SCROLL_TAB_ON_WHEEL_PROPERTY, SHAPE_BOX, SHAPE_DEFAULT, SHAPE_ECLIPSE, SHAPE_ECLIPSE3X, SHAPE_EXCEL, SHAPE_FLAT, SHAPE_OFFICE2003, SHAPE_ROUNDED_FLAT, SHAPE_ROUNDED_VSNET, SHAPE_VSNET, SHAPE_WINDOWS, SHAPE_WINDOWS_SELECTED, SHOW_CLOSE_BUTTON_ON_TAB_PROPERTY, SHOW_CLOSE_BUTTON_PROPERTY, SHOW_ICONS_PROPERTY, SHOW_TAB_AREA_PROPERTY, SHOW_TAB_BUTTONS_PROPERTY, SHOW_TAB_CONTENT_PROPERTY, SHRINK_TAB_PROPERTY, TAB_CLOSABLE_PROPERTY, USE_DEFAULT_SHOW_CLOSE_BUTTON_ON_TAB_PROPERTY, USE_DEFAULT_SHOW_ICONS_PROPERTY
-
Fields inherited from class javax.swing.JTabbedPane
changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTabbedResourceWorkspace(DesignerContext context, ResourceDescriptor resourceDescriptor)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaddNewResourceActions(ResourceFolderNode folder, javax.swing.JPopupMenu menu)This is where you add the menu items to create new nodes.voidaddTabbedWorkspaceListener(TabbedWorkspaceListener listener)voidclose(ResourcePath path)Close the editor for the given resource, committing any changes.voidclose(ResourcePath path, boolean commit)Close the editor associated with the path.voidcommit(ResourcePath path)voidcommitAll()Will commit all open resources to the designer's project.protected AbstractNavTreeNodecreateRootNavTreeNode()protected java.util.Optional<javax.swing.JComponent>createWorkspaceHomeTab()voiddispose()Called when the workspace should be completely disposed.java.util.Optional<ResourceEditor>findEditor(ResourcePath path)DesignerContextgetContext()ResourceDescriptorgetDescriptor()EditActionHandlergetEditActionHandler()The handler that responds to common edit actions, like cut, copy, paste, and deletejava.util.Collection<ResourceEditor>getEditors()java.util.Collection<ResourceWorkspaceFrame>getFrames()Returns a collection ofResourceWorkspaceFrames that will be associated with this workspace.MenuBarMergegetMenu()Returns a menu merge for the menu options that should be present when this workspace is active.protected MutableNavTreeNodegetNavTreeNodeParent()Get the MutableNavTreeNode that this workspace's node should be installed in.AbstractNavTreeNodegetRootNode()ResourceEditorgetSelectedEditor()protected javax.swing.JPopupMenugetTabPopupMenu(ResourceEditor resourceEditor)Extend to add custom right click actions to individual tabsjava.util.List<com.jidesoft.action.CommandBar>getToolbars()Returns the toolbars that will be added when this workspace is active.javax.swing.JComponentgetWorkspace()The component that makes up the workspace itself.booleanisOpen(ResourcePath path)protected abstract ResourceEditornewResourceEditor(ResourcePath path)This is where you create a newResourceEditorfor displaying and editing your resource.voidonActivation()Called when the resource workspace will become the active workspace and will be displayed.voidonDeactivation()Called when the resource workspace will be swapped out for a different workspace.voidopen(ResourcePath path)protected voidregisterNavTreeNode()voidremoveTabbedWorkspaceListener(TabbedWorkspaceListener listener)voidresetFrames(com.jidesoft.docking.DockingManager dockingManager, com.jidesoft.action.DockableBarManager barManager)Programmatically set the options on the frames and bars that represent the workspace's "defaults"protected voidsetupWorkspaceHomeTab()-
Methods inherited from class com.jidesoft.swing.JideTabbedPane
add, addNotify, addTabEditingListener, calculateTabListPopupPosition, cancelTabEditing, clearVisComp, createFocusChangeListener, createNoFocusButton, createTabList, createTabListPopup, editTabAt, fireStateChanged, fireTabEditing, getCloseAction, getColorTheme, getContentBorderInsets, getDefaultColorTheme, getDefaultTabResizeMode, getDefaultTabStyle, getDisplayTitleAt, getEditingTabIndex, getIconForTab, getLastFocusedComponent, getPageLastFocusTrackers, getResourceString, getSelectedTabFont, getStringConverter, getTabAlignment, getTabAreaInsets, getTabAtLocation, getTabColorProvider, getTabEditingListeners, getTabEditingValidator, getTabHeight, getTabInsets, getTabLeadingComponent, getTabListCellRenderer, getTabResizeMode, getTabShape, getTabTrailingComponent, getUI, getUIClassID, hasFocusComponent, hideTabListPopup, insertTab, isAutoFocusOnTabHideClose, isAutoRequestFocus, isBoldActiveTab, isCloseTabOnMouseMiddleButton, isDragOverDisabled, isHideOneTab, isHideTrailingWhileNoButtons, isLayoutTrailingComponentBeforeButtons, isRightClickSelect, isScrollSelectedTabOnWheel, isShowCloseButton, isShowCloseButtonOnMouseOver, isShowCloseButtonOnSelectedTab, isShowCloseButtonOnTab, isShowGripper, isShowIconsOnTab, isShowTabArea, isShowTabButtons, isShowTabContent, isSuppressSetSelectedIndex, isSuppressStateChangedEvents, isTabClosableAt, isTabEditing, isTabEditingAllowed, isTabListPopupVisible, isTabShown, isUseDefaultShowCloseButtonOnTab, isUseDefaultShowIconsOnTab, moveSelectedTabTo, popupSelectedIndex, processMouseSelection, removeAll, removeNotify, removeTabAt, removeTabEditingListener, repaintContentBorder, repaintTabAreaAndContentBorder, requestFocusForVisibleComponent, resetDefaultCloseAction, scrollSelectedTabToVisible, setAutoFocusOnTabHideClose, setAutoRequestFocus, setBoldActiveTab, setCloseAction, setCloseTabOnMouseMiddleButton, setColorTheme, setComponentAt, setContentBorderInsets, setDragOverDisabled, setHideOneTab, setHideTrailingWhileNoButtons, setLayoutTrailingComponentBeforeButtons, setRightClickSelect, setScrollSelectedTabOnWheel, setSelectedIndex, setSelectedTabFont, setShowCloseButton, setShowCloseButtonOnMouseOver, setShowCloseButtonOnSelectedTab, setShowCloseButtonOnTab, setShowGripper, setShowIconsOnTab, setShowTabArea, setShowTabButtons, setShowTabContent, setStringConverter, setSuppressSetSelectedIndex, setSuppressStateChangedEvents, setTabAlignment, setTabAreaInsets, setTabClosableAt, setTabColorProvider, setTabEditingAllowed, setTabEditingValidator, setTabInsets, setTabLeadingComponent, setTabListCellRenderer, setTabResizeMode, setTabShape, setTabTrailingComponent, setUI, setUseDefaultShowCloseButtonOnTab, setUseDefaultShowIconsOnTab, showTabListPopup, stopTabEditing, updateUI
-
Methods inherited from class javax.swing.JTabbedPane
add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, isEnabledAt, paramString, remove, remove, removeChangeListener, setBackgroundAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, 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, 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, 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
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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.designer.model.ResourceWorkspace
getKey
-
-
-
-
Field Detail
-
context
protected final DesignerContext context
-
descriptor
protected final ResourceDescriptor descriptor
-
editors
protected final java.util.Map<ResourcePath,ResourceEditor> editors
-
listeners
protected final java.util.List<TabbedWorkspaceListener> listeners
-
rootNode
protected AbstractNavTreeNode rootNode
-
-
Constructor Detail
-
TabbedResourceWorkspace
protected TabbedResourceWorkspace(@Nonnull DesignerContext context, @Nonnull ResourceDescriptor resourceDescriptor)
-
-
Method Detail
-
setupWorkspaceHomeTab
protected void setupWorkspaceHomeTab()
-
createWorkspaceHomeTab
protected java.util.Optional<javax.swing.JComponent> createWorkspaceHomeTab()
-
addTabbedWorkspaceListener
public void addTabbedWorkspaceListener(TabbedWorkspaceListener listener)
-
removeTabbedWorkspaceListener
public void removeTabbedWorkspaceListener(TabbedWorkspaceListener listener)
-
registerNavTreeNode
protected void registerNavTreeNode()
-
getNavTreeNodeParent
protected MutableNavTreeNode getNavTreeNodeParent()
Get the MutableNavTreeNode that this workspace's node should be installed in.
-
getRootNode
public AbstractNavTreeNode getRootNode()
-
createRootNavTreeNode
protected AbstractNavTreeNode createRootNavTreeNode()
-
getContext
public DesignerContext getContext()
-
getDescriptor
public ResourceDescriptor getDescriptor()
-
findEditor
public java.util.Optional<ResourceEditor> findEditor(ResourcePath path)
-
isOpen
public boolean isOpen(ResourcePath path)
-
open
public void open(ResourcePath path)
-
close
public void close(ResourcePath path)
Close the editor for the given resource, committing any changes.
-
close
public void close(ResourcePath path, boolean commit)
Close the editor associated with the path. If no editor is open, does nothing.- Parameters:
path- Path of resource to close.commit- If true, the editor will be committed first, if not, the editor will be closed without committing.
-
commit
public void commit(ResourcePath path)
-
getSelectedEditor
@Nullable public ResourceEditor getSelectedEditor()
-
getEditors
public java.util.Collection<ResourceEditor> getEditors()
-
commitAll
public void commitAll()
Will commit all open resources to the designer's project. Useful to call from yourDesignerModuleHook.notifyProjectSaveStart(SaveContext)method
-
newResourceEditor
protected abstract ResourceEditor newResourceEditor(ResourcePath path)
This is where you create a newResourceEditorfor displaying and editing your resource.- Parameters:
path- the id of the resource an editor is being created for
-
addNewResourceActions
public abstract void addNewResourceActions(ResourceFolderNode folder, javax.swing.JPopupMenu menu)
This is where you add the menu items to create new nodes.- See Also:
NewResourceAction
-
getEditActionHandler
public EditActionHandler getEditActionHandler()
Description copied from interface:ResourceWorkspaceThe handler that responds to common edit actions, like cut, copy, paste, and delete- Specified by:
getEditActionHandlerin interfaceResourceWorkspace
-
getWorkspace
public javax.swing.JComponent getWorkspace()
Description copied from interface:ResourceWorkspaceThe component that makes up the workspace itself. Must not be null- Specified by:
getWorkspacein interfaceResourceWorkspace
-
getMenu
public MenuBarMerge getMenu()
Description copied from interface:ResourceWorkspaceReturns a menu merge for the menu options that should be present when this workspace is active. May be null.- Specified by:
getMenuin interfaceResourceWorkspace
-
getToolbars
public java.util.List<com.jidesoft.action.CommandBar> getToolbars()
Description copied from interface:ResourceWorkspaceReturns the toolbars that will be added when this workspace is active. May be null or empty.- Specified by:
getToolbarsin interfaceResourceWorkspace
-
getFrames
public java.util.Collection<ResourceWorkspaceFrame> getFrames()
Description copied from interface:ResourceWorkspaceReturns a collection ofResourceWorkspaceFrames that will be associated with this workspace. May be null or empty.- Specified by:
getFramesin interfaceResourceWorkspace
-
getTabPopupMenu
@Nullable protected javax.swing.JPopupMenu getTabPopupMenu(@Nullable ResourceEditor resourceEditor)Extend to add custom right click actions to individual tabs- Parameters:
resourceEditor- the resource editor in the tab under the cursor
-
resetFrames
public void resetFrames(com.jidesoft.docking.DockingManager dockingManager, com.jidesoft.action.DockableBarManager barManager)Description copied from interface:ResourceWorkspaceProgrammatically set the options on the frames and bars that represent the workspace's "defaults"- Specified by:
resetFramesin interfaceResourceWorkspace
-
onActivation
public void onActivation()
Description copied from interface:ResourceWorkspaceCalled when the resource workspace will become the active workspace and will be displayed.- Specified by:
onActivationin interfaceResourceWorkspace
-
onDeactivation
public void onDeactivation()
Description copied from interface:ResourceWorkspaceCalled when the resource workspace will be swapped out for a different workspace.- Specified by:
onDeactivationin interfaceResourceWorkspace
-
dispose
public void dispose()
Description copied from interface:ResourceWorkspaceCalled when the workspace should be completely disposed.- Specified by:
disposein interfaceResourceWorkspace
-
-