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
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 DesignerContext
context
protected ResourceDescriptor
descriptor
protected java.util.Map<ResourcePath,ResourceEditor>
editors
protected java.util.List<TabbedWorkspaceListener>
listeners
protected AbstractNavTreeNode
rootNode
-
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 protected
TabbedResourceWorkspace(DesignerContext context, ResourceDescriptor resourceDescriptor)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
addNewResourceActions(ResourceFolderNode folder, javax.swing.JPopupMenu menu)
This is where you add the menu items to create new nodes.void
addTabbedWorkspaceListener(TabbedWorkspaceListener listener)
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
commitAll()
Will commit all open resources to the designer's project.protected AbstractNavTreeNode
createRootNavTreeNode()
java.util.Optional<ResourceEditor>
findEditor(ResourcePath path)
DesignerContext
getContext()
ResourceDescriptor
getDescriptor()
EditActionHandler
getEditActionHandler()
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 ofResourceWorkspaceFrame
s that will be associated with this workspace.MenuBarMerge
getMenu()
Returns a menu merge for the menu options that should be present when this workspace is active.protected MutableNavTreeNode
getNavTreeNodeParent()
Get the MutableNavTreeNode that this workspace's node should be installed in.AbstractNavTreeNode
getRootNode()
ResourceEditor
getSelectedEditor()
protected javax.swing.JPopupMenu
getTabPopupMenu(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.JComponent
getWorkspace()
The component that makes up the workspace itself.boolean
isOpen(ResourcePath path)
protected abstract ResourceEditor
newResourceEditor(ResourcePath path)
This is where you create a newResourceEditor
for displaying and editing your resource.void
onActivation()
Called when the resource workspace will become the active workspace and will be displayed.void
onDeactivation()
Called when the resource workspace will be swapped out for a different workspace.void
open(ResourcePath path)
protected void
registerNavTreeNode()
void
removeTabbedWorkspaceListener(TabbedWorkspaceListener listener)
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"-
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
-
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 newResourceEditor
for 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:ResourceWorkspace
The handler that responds to common edit actions, like cut, copy, paste, and delete- Specified by:
getEditActionHandler
in interfaceResourceWorkspace
-
getWorkspace
public javax.swing.JComponent getWorkspace()
Description copied from interface:ResourceWorkspace
The component that makes up the workspace itself. Must not be null- Specified by:
getWorkspace
in interfaceResourceWorkspace
-
getMenu
public MenuBarMerge 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
public java.util.List<com.jidesoft.action.CommandBar> 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
public java.util.Collection<ResourceWorkspaceFrame> 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
@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: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
-
-