Package com.nomagic.magicdraw.ui.browser
Class BrowserTabTree
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.nomagic.ui.ExtendedPanel
-
- com.nomagic.magicdraw.ui.browser.AbstractTree
-
- com.nomagic.magicdraw.ui.browser.Tree
-
- com.nomagic.magicdraw.ui.browser.BrowserTabTree
-
- All Implemented Interfaces:
com.nomagic.awt.PopupOwner
,com.nomagic.magicdraw.ui.Activatable
,WindowComponent
,com.nomagic.magicdraw.ui.EditActionExecutorsOwner
,com.nomagic.magicdraw.ui.Updatable
,Cachable
,java.awt.dnd.Autoscroll
,java.awt.event.FocusListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
- Direct Known Subclasses:
com.nomagic.magicdraw.ui.browser.AbstractBrowserRootTabTree
,DiagramsTree
,ExtensionsTree
,LockViewTree
,SearchResultsTree
@OpenApi public abstract class BrowserTabTree extends Tree implements WindowComponent, com.nomagic.magicdraw.ui.Activatable, com.nomagic.magicdraw.ui.EditActionExecutorsOwner
The base class for all trees added into Browser top tab.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
com.nomagic.magicdraw.ui.browser.BrowserTabTree.BrowserTabActionExecutorsProvider
private static class
com.nomagic.magicdraw.ui.browser.BrowserTabTree.BrowserTabTreeSearchable
private class
com.nomagic.magicdraw.ui.browser.BrowserTabTree.StatusLineUpdater
(package private) class
com.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeEventListener
Listener for documentation editing for selected node.(package private) class
com.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeFocusListener
This focus listener initializes documentation of selected tree node on focusGained event.-
Nested classes/interfaces inherited from class com.nomagic.magicdraw.ui.browser.Tree
com.nomagic.magicdraw.ui.browser.Tree.TreeSelectionParticipant
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description private Browser
browser
Reference to the browser.private java.lang.String
browserTreeGroup
private com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvider
editActionExecutorsProvider
private com.nomagic.magicdraw.ui.browser.BrowserComponentInfo
info
private boolean
needsInit
If this flag is true, tree must be initialized on activation.private javax.swing.JComponent
toolbar
private ActionsManager
toolbarManager
private com.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeEventListener
treeListener
-
Fields inherited from class com.nomagic.magicdraw.ui.browser.Tree
LOADING_DUMMY_NODE_DISTINCTION
-
Fields inherited from class com.nomagic.magicdraw.ui.browser.AbstractTree
MAX_AUTO_EXPAND_DEPTH
-
Fields inherited from class com.nomagic.ui.ExtendedPanel
DEFAULT_FOCUSABLE
-
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
-
-
Constructor Summary
Constructors Constructor Description BrowserTabTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info, java.lang.String browserTreeGroup)
Constructs new tree.BrowserTabTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info, java.lang.String browserTreeGroup, com.nomagic.magicdraw.ui.browser.ChildrenOwner childrenOwner)
Constructs new tree.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
activate()
Activates the tree.void
activate(boolean activateNotShowing)
Activates the tree.void
addDragListener()
void
addDropListener()
protected void
addLockUnlockActionsCategory(ActionsManager actionsManager, java.util.List<Element> elements)
protected void
applyFilterToModel()
private static void
configureActionsForMultipleNodes(ActionsManager actionsManager, Node[] nodes)
when there are big number of nodes of same type, only single call to configureMultiple is required to configure actions for all such nodes, since all nodes are being passed in as parameter.protected abstract void
configureContextActions(ActionsManager manager)
Configures context menu actions.protected abstract void
configureToolbarActions(ActionsManager manager)
ActionsManager
createContextMenuActionManager(java.awt.event.MouseEvent e)
protected com.nomagic.magicdraw.ui.browser.CompositeElementFilter
createFilter()
protected void
createToolbar(ActionsManager manager)
void
disposeAll()
void
doBeforeOpenNode()
javax.swing.tree.TreePath
findTreePathFor(BaseElement data)
protected ActionsManager
getActions()
Returns shortcuts action manager for this browser.Browser
getBrowser()
Returns reference to a browser.java.lang.String
getBrowserTreeGroup()
WindowComponentContent
getContent()
Returns a contents of this window component.com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvider
getEditActionExecutorsProvider()
com.nomagic.magicdraw.ui.browser.BrowserComponentInfo
getInfo()
Returns an information about this window component.Project
getProject()
void
initTree()
Initializes the tree.private void
internalSortNodes()
boolean
isNeedsInit()
boolean
renameNodeByElement(Element element)
Searches for the node representing element and invokes rename for the nodeprotected void
resetTabTree()
void
setBrowserTreeGroup(java.lang.String browserTreeGroup)
void
setNeedsInit(boolean needsInit)
Sets needs init flag.void
setShowElementLockInfo(boolean showElementLockInfo)
private static void
setShowElementLockInfo(com.nomagic.magicdraw.ui.browser.TreeNodeCreator nodeCreator, boolean showElementLockInfo)
void
showPopupMenu(java.awt.event.MouseEvent e)
Shows context menu.void
sortNodes()
Sorts all nodes in this tree.protected void
specificActivate()
private void
updateSelectedElements(Node[] nodes)
-
Methods inherited from class com.nomagic.magicdraw.ui.browser.Tree
addTreeSelectionParticipant, autoscroll, browserUpdateDelayed, canDelete, collectSelectedNodes, createNodeCreator, decorateTree, delete, delete, dispose, disposeNodes, doubleClick, doubleClickAction, editAction, editPath, getAutoscrollInsets, getDefaultFocusable, getNode, getRootNode, getSelectedNode, getSelectedNodes, getTreeModel, getTreeRoot, init, init, initAsync, initAsync, isShowOwner, isUpdateIfShowing, maybeInvokeChainedCH, maybeInvokeChainedHandler, maybeInvokeChainedHandler, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, removeAction, reset, setBrowserForActions, setIgnoreLock, setSelectedNodes, setUpdateIfShowing, specificUpdateBrowser, toNodes, toNodes, toTreePaths, update, updateBrowser, updateBrowser, updateBrowser, updateBrowserAsync, updateOnlyDirtyNodes, updateUI, waitForPreviousEventsOnOpeningNode
-
Methods inherited from class com.nomagic.magicdraw.ui.browser.AbstractTree
close, getCookies, getScrollPane, getTree, isAutoExpandMode, open, openPath, openPath, openPath, setAutoExpandMode, setTree
-
Methods inherited from class com.nomagic.ui.ExtendedPanel
addActionListenerFor, addEnterOKListener, addFocusListenerFor, addKeyListenerFor, cancel, clear, enableComponent, focusGained, focusLost, getEditingState, getErrorString, getParentWindow, initialize, isDataValid, ok, removeFocusListenerFor, removeKeyListenerFor, setEditingState, setEnabled, setEnabledAll, updateByStateRecursively, updatePanelByEditingState, updatePanelByEditingState
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI
-
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, 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, removeNotify, 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
add, add, add, add, add, 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, remove, remove, removeAll, 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
-
-
-
-
Field Detail
-
needsInit
private boolean needsInit
If this flag is true, tree must be initialized on activation.
-
browser
private final Browser browser
Reference to the browser.
-
toolbar
private javax.swing.JComponent toolbar
-
info
private final com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info
-
browserTreeGroup
private java.lang.String browserTreeGroup
-
toolbarManager
@CheckForNull private ActionsManager toolbarManager
-
treeListener
private final com.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeEventListener treeListener
-
editActionExecutorsProvider
private com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvider editActionExecutorsProvider
-
-
Constructor Detail
-
BrowserTabTree
public BrowserTabTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info, java.lang.String browserTreeGroup)
Constructs new tree.- Parameters:
browser
- browserinfo
- component infobrowserTreeGroup
- group name
-
BrowserTabTree
public BrowserTabTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info, java.lang.String browserTreeGroup, com.nomagic.magicdraw.ui.browser.ChildrenOwner childrenOwner)
Constructs new tree.- Parameters:
browser
- browserinfo
- component infochildrenOwner
- children ownerbrowserTreeGroup
- group name
-
-
Method Detail
-
setShowElementLockInfo
public void setShowElementLockInfo(boolean showElementLockInfo)
-
setShowElementLockInfo
private static void setShowElementLockInfo(com.nomagic.magicdraw.ui.browser.TreeNodeCreator nodeCreator, boolean showElementLockInfo)
-
disposeAll
public void disposeAll()
-
configureToolbarActions
protected abstract void configureToolbarActions(ActionsManager manager)
-
initTree
public void initTree()
Initializes the tree. Root nodes will be created here.
-
applyFilterToModel
protected void applyFilterToModel()
-
createFilter
@CheckForNull protected com.nomagic.magicdraw.ui.browser.CompositeElementFilter createFilter()
-
getActions
protected ActionsManager getActions()
Returns shortcuts action manager for this browser.- Returns:
- ActionsManager with actions to register in this browser as KeyListeners
-
activate
public final void activate()
Activates the tree. If tree was not initialized, initializes it.- Specified by:
activate
in interfacecom.nomagic.magicdraw.ui.Activatable
-
activate
public final void activate(boolean activateNotShowing)
Activates the tree. If tree was not initialized, initializes it.- Parameters:
activateNotShowing
- indicates if tree should be activate if it is not showing
-
specificActivate
protected void specificActivate()
-
doBeforeOpenNode
public final void doBeforeOpenNode()
-
addDropListener
public void addDropListener()
-
addDragListener
public void addDragListener()
-
updateSelectedElements
private void updateSelectedElements(Node[] nodes)
-
getBrowser
public Browser getBrowser()
Returns reference to a browser.- Returns:
- a browser.
-
setNeedsInit
public void setNeedsInit(boolean needsInit)
Sets needs init flag.- Parameters:
needsInit
- if this flag is true, tree will be initialized on activation.
-
resetTabTree
protected void resetTabTree()
-
isNeedsInit
public boolean isNeedsInit()
-
sortNodes
public void sortNodes()
Sorts all nodes in this tree.
-
internalSortNodes
private void internalSortNodes()
-
showPopupMenu
public void showPopupMenu(java.awt.event.MouseEvent e)
Shows context menu.- Specified by:
showPopupMenu
in interfacecom.nomagic.awt.PopupOwner
- Parameters:
e
- the source mouse event. May be null.
-
createContextMenuActionManager
public ActionsManager createContextMenuActionManager(java.awt.event.MouseEvent e)
-
addLockUnlockActionsCategory
protected void addLockUnlockActionsCategory(ActionsManager actionsManager, java.util.List<Element> elements)
-
configureActionsForMultipleNodes
private static void configureActionsForMultipleNodes(ActionsManager actionsManager, Node[] nodes)
when there are big number of nodes of same type, only single call to configureMultiple is required to configure actions for all such nodes, since all nodes are being passed in as parameter. Repeatedly calling configureMultiple for each node causes performance issues for large selections
-
configureContextActions
protected abstract void configureContextActions(ActionsManager manager)
Configures context menu actions.- Parameters:
manager
- a manager with context menu actions to configure.
-
createToolbar
protected void createToolbar(ActionsManager manager)
-
getInfo
public com.nomagic.magicdraw.ui.browser.BrowserComponentInfo getInfo()
Description copied from interface:WindowComponent
Returns an information about this window component.- Specified by:
getInfo
in interfaceWindowComponent
- Returns:
- window component information.
-
getContent
public WindowComponentContent getContent()
Description copied from interface:WindowComponent
Returns a contents of this window component.- Specified by:
getContent
in interfaceWindowComponent
- Returns:
- window component contents.
-
setBrowserTreeGroup
public void setBrowserTreeGroup(java.lang.String browserTreeGroup)
-
getBrowserTreeGroup
public java.lang.String getBrowserTreeGroup()
-
findTreePathFor
@CheckForNull public javax.swing.tree.TreePath findTreePathFor(BaseElement data)
-
getProject
public Project getProject()
- Specified by:
getProject
in interfacecom.nomagic.magicdraw.ui.Activatable
-
renameNodeByElement
public boolean renameNodeByElement(Element element)
Searches for the node representing element and invokes rename for the node- Returns:
- true if the node is found else false
-
getEditActionExecutorsProvider
public com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvider getEditActionExecutorsProvider()
- Specified by:
getEditActionExecutorsProvider
in interfacecom.nomagic.magicdraw.ui.EditActionExecutorsOwner
-
-