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 classcom.nomagic.magicdraw.ui.browser.BrowserTabTree.BrowserTabActionExecutorsProviderprivate static classcom.nomagic.magicdraw.ui.browser.BrowserTabTree.BrowserTabTreeSearchableprivate classcom.nomagic.magicdraw.ui.browser.BrowserTabTree.StatusLineUpdater(package private) classcom.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeEventListenerListener for documentation editing for selected node.(package private) classcom.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeFocusListenerThis 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 BrowserbrowserReference to the browser.private java.lang.StringbrowserTreeGroupprivate com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvidereditActionExecutorsProviderprivate com.nomagic.magicdraw.ui.browser.BrowserComponentInfoinfoprivate booleanneedsInitIf this flag is true, tree must be initialized on activation.private javax.swing.JComponenttoolbarprivate ActionsManagertoolbarManagerprivate com.nomagic.magicdraw.ui.browser.BrowserTabTree.TreeEventListenertreeListener-
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 voidactivate()Activates the tree.voidactivate(boolean activateNotShowing)Activates the tree.voidaddDragListener()voidaddDropListener()protected voidaddLockUnlockActionsCategory(ActionsManager actionsManager, java.util.List<Element> elements)protected voidapplyFilterToModel()private static voidconfigureActionsForMultipleNodes(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 voidconfigureContextActions(ActionsManager manager)Configures context menu actions.protected abstract voidconfigureToolbarActions(ActionsManager manager)ActionsManagercreateContextMenuActionManager(java.awt.event.MouseEvent e)protected com.nomagic.magicdraw.ui.browser.CompositeElementFiltercreateFilter()protected voidcreateToolbar(ActionsManager manager)voiddisposeAll()voiddoBeforeOpenNode()javax.swing.tree.TreePathfindTreePathFor(BaseElement data)protected ActionsManagergetActions()Returns shortcuts action manager for this browser.BrowsergetBrowser()Returns reference to a browser.java.lang.StringgetBrowserTreeGroup()WindowComponentContentgetContent()Returns a contents of this window component.com.nomagic.magicdraw.ui.actions.EditActionExecutorsProvidergetEditActionExecutorsProvider()com.nomagic.magicdraw.ui.browser.BrowserComponentInfogetInfo()Returns an information about this window component.ProjectgetProject()voidinitTree()Initializes the tree.private voidinternalSortNodes()booleanisNeedsInit()booleanrenameNodeByElement(Element element)Searches for the node representing element and invokes rename for the nodeprotected voidresetTabTree()voidsetBrowserTreeGroup(java.lang.String browserTreeGroup)voidsetNeedsInit(boolean needsInit)Sets needs init flag.voidsetShowElementLockInfo(boolean showElementLockInfo)private static voidsetShowElementLockInfo(com.nomagic.magicdraw.ui.browser.TreeNodeCreator nodeCreator, boolean showElementLockInfo)voidshowPopupMenu(java.awt.event.MouseEvent e)Shows context menu.voidsortNodes()Sorts all nodes in this tree.protected voidspecificActivate()private voidupdateSelectedElements(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:
activatein 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:
showPopupMenuin 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:WindowComponentReturns an information about this window component.- Specified by:
getInfoin interfaceWindowComponent- Returns:
- window component information.
-
getContent
public WindowComponentContent getContent()
Description copied from interface:WindowComponentReturns a contents of this window component.- Specified by:
getContentin 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:
getProjectin 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:
getEditActionExecutorsProviderin interfacecom.nomagic.magicdraw.ui.EditActionExecutorsOwner
-
-