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:
Locatable
,ResourceWorkspace
,ImageObserver
,MenuContainer
,Serializable
,Accessible
,SwingConstants
- Direct Known Subclasses:
NamedQueryWorkspace
,ReportingResourceWorkspace
,ViewWorkspace
public abstract class TabbedResourceWorkspace
extends com.jidesoft.swing.JideTabbedPane
implements ResourceWorkspace, Locatable
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:
-
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
JTabbedPane.AccessibleJTabbedPane, JTabbedPane.ModelListener
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 final DesignerContext
protected final ResourceDescriptor
protected final Map<ResourcePath,
ResourceEditor> protected final List<TabbedWorkspaceListener>
protected AbstractNavTreeNode
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
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TabbedResourceWorkspace
(DesignerContext context, ResourceDescriptor resourceDescriptor) -
Method Summary
Modifier and TypeMethodDescriptionabstract void
addNewResourceActions
(ResourceFolderNode folder, JPopupMenu menu) This is where you add the menu items to create new nodes.void
void
close
(ResourcePath path) Close the editor for the given resource, committing any changes.void
close
(ResourcePath path, boolean commit) Close the editor associated with the path.void
commit
(ResourcePath path) void
Will commit all open resources to the designer's project.protected ResourceFilter
protected AbstractNavTreeNode
protected Optional<JComponent>
void
dispose()
Called when the workspace should be completely disposed.findEditor
(ResourcePath path) The handler that responds to common edit actions, like cut, copy, paste, and deleteReturns a collection ofResourceWorkspaceFrame
s that will be associated with this workspace.getMenu()
Returns a menu merge for the menu options that should be present when this workspace is active.protected MutableNavTreeNode
Get the MutableNavTreeNode that this workspace's node should be installed in.protected JPopupMenu
getTabPopupMenu
(ResourceEditor resourceEditor) Extend to add custom right click actions to individual tabsList<com.jidesoft.action.CommandBar>
Returns the toolbars that will be added when this workspace is active.The component that makes up the workspace itself.boolean
isOpen
(ResourcePath path) void
protected abstract ResourceEditor
This is where you create a newResourceEditor
for displaying and editing your resource.void
Called when the resource workspace will become the active workspace and will be displayed.void
Called when the resource workspace will be swapped out for a different workspace.void
open
(ResourcePath path) void
open
(ResourcePath path, Consumer<ResourceEditor> onNewResourceEditorConsumer) protected void
void
void
resetFrames
(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 void
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, 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 Details
-
context
-
descriptor
-
editors
-
listeners
-
rootNode
-
-
Constructor Details
-
TabbedResourceWorkspace
protected TabbedResourceWorkspace(@Nonnull DesignerContext context, @Nonnull ResourceDescriptor resourceDescriptor)
-
-
Method Details
-
createResourceFilter
-
setupWorkspaceHomeTab
protected void setupWorkspaceHomeTab() -
createWorkspaceHomeTab
-
addTabbedWorkspaceListener
-
removeTabbedWorkspaceListener
-
getRootNode
-
getContext
-
getDescriptor
-
findEditor
-
isOpen
-
open
-
open
- Parameters:
onNewResourceEditorConsumer
- If a new instance ofResourceEditor
can be created as part of calling this method, then that newResourceEditor
instance can be accessed via this parameter.
-
close
Close the editor for the given resource, committing any changes. -
close
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
-
getSelectedEditor
-
getEditors
-
commitAll
public void commitAll()Will commit all open resources to the designer's project. Useful to call from yourDesignerModuleHook.notifyProjectSaveStart(SaveContext)
method -
newResourceEditor
This is where you create a newResourceEditor
for displaying and editing your resource.- Parameters:
path
- the id of the resource an editor is being created for
-
addNewResourceActions
This is where you add the menu items to create new nodes.- See Also:
-
getEditActionHandler
Description copied from interface:ResourceWorkspace
The handler that responds to common edit actions, like cut, copy, paste, and delete- Specified by:
getEditActionHandler
in interfaceResourceWorkspace
-
getWorkspace
Description copied from interface:ResourceWorkspace
The component that makes up the workspace itself. Must not be null- Specified by:
getWorkspace
in interfaceResourceWorkspace
-
getMenu
Description copied from interface:ResourceWorkspace
Returns a menu merge for the menu options that should be present when this workspace is active. May be null.- Specified by:
getMenu
in interfaceResourceWorkspace
-
getToolbars
Description copied from interface:ResourceWorkspace
Returns the toolbars that will be added when this workspace is active. May be null or empty.- Specified by:
getToolbars
in interfaceResourceWorkspace
-
getFrames
Description copied from interface:ResourceWorkspace
Returns a collection ofResourceWorkspaceFrame
s that will be associated with this workspace. May be null or empty.- Specified by:
getFrames
in interfaceResourceWorkspace
-
getTabPopupMenu
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:ResourceWorkspace
Programmatically set the options on the frames and bars that represent the workspace's "defaults"- Specified by:
resetFrames
in interfaceResourceWorkspace
-
onActivation
public void onActivation()Description copied from interface:ResourceWorkspace
Called when the resource workspace will become the active workspace and will be displayed.- Specified by:
onActivation
in interfaceResourceWorkspace
-
onDeactivation
public void onDeactivation()Description copied from interface:ResourceWorkspace
Called when the resource workspace will be swapped out for a different workspace.- Specified by:
onDeactivation
in interfaceResourceWorkspace
-
locate
-
dispose
public void dispose()Description copied from interface:ResourceWorkspace
Called when the workspace should be completely disposed.- Specified by:
dispose
in interfaceResourceWorkspace
-