Class LockViewTree
- 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
-
- com.nomagic.magicdraw.teamwork2.ui.LockViewTree
-
- 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
@OpenApi public class LockViewTree extends BrowserTabTree
Locks Tab tree, for showing projects locks by containment. If element is locked - it will be visible in tree, as well as it's owners.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classcom.nomagic.magicdraw.teamwork2.ui.LockViewTree.LockUpdateAction-
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 com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSetANY_USERprivate java.beans.PropertyChangeListenerdecompositionListenerListener for project structure lock changes.private booleandirtyLocksFlag to indicate that the browser is dirty (locked elements changed).private javax.swing.JComboBox<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet>filteringComboBoxprivate javax.swing.DefaultComboBoxModel<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet>filteringModelprivate booleanfilterUpdateInProgressstatic com.nomagic.magicdraw.ui.browser.BrowserComponentInfoINFOprivate com.nomagic.magicdraw.teamwork2.locks.LockedChildrenOwnerVisitorlockedChildrenVisitorprivate java.beans.PropertyChangeListenermanyCheckoutListenerprivate com.nomagic.magicdraw.teamwork2.ui.ProjectOptionsNodeprojectOptionsNodeprivate com.nomagic.magicdraw.teamwork2.ui.ProjectStructureNodeprojectStructureNodeprivate java.beans.PropertyChangeListenersingleCheckoutListenerprivate java.beans.PropertyChangeListenerstyleListenerListener for style lock changes.private com.nomagic.magicdraw.teamwork2.ui.SymbolStylesNodesymbolStyleNodeprivate TransactionCommitListenertransactionCommitListenerprivate com.nomagic.magicdraw.teamwork2.actions.UpdateLocksActionupdateLocksAction-
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 LockViewTree(Browser browser)Constructor.LockViewTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivate()Activates the tree.private voidaddFilteringComponent()Adds filtering component in panel for filtering locks in the tree.voidaddTreeActionToPanel(javax.swing.JPanel panel, NMAction action)protected voidconfigureContextActions(ActionsManager manager)Configures context menu actions.protected voidconfigureToolbarActions(ActionsManager manager)protected com.nomagic.magicdraw.ui.browser.CompositeElementFiltercreateFilter()voiddispose()Removes all nodes recursively.private voiddoFilter()protected ActionsManagergetActions()Returns shortcuts action manager for this browser.private com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSetgetCurrentUserName()com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSetgetFilterValue()Returns value selected in a filtering combo box.java.util.Collection<java.lang.String>getLockOwners(Project project)Returns collection of users (login names) which has locked elements (not cached) in the servervoidinitTree()Initializes the tree.private booleanisEquals(com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet value, LockInfo lock)private static booleanprojectContainsUserLocks(com.nomagic.uml2.ext.jmi.reflect.ElementRegistry project, ILockProjectService lockService, java.lang.String user)private voidselectCurrentUserInComboBox()private voidsuperUpdateBrowser(boolean updateOnlyDirty)voidupdateBrowser(boolean updateOnlyDirty)Updates tree with the newest data and shows it.private voidupdateFilterValues(boolean lazyUpdate)Updates filter component values with the latest server values.private voidupdateNodes(com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet value)Updates nodes by given filter value.-
Methods inherited from class com.nomagic.magicdraw.ui.browser.BrowserTabTree
addDragListener, addDropListener, addLockUnlockActionsCategory, applyFilterToModel, createContextMenuActionManager, createToolbar, disposeAll, findTreePathFor, getBrowser, getBrowserTreeGroup, getContent, getEditActionExecutorsProvider, getInfo, getProject, isNeedsInit, renameNodeByElement, resetTabTree, setBrowserTreeGroup, setNeedsInit, showPopupMenu, sortNodes
-
Methods inherited from class com.nomagic.magicdraw.ui.browser.Tree
addTreeSelectionParticipant, autoscroll, canDelete, collectSelectedNodes, createNodeCreator, decorateTree, delete, delete, disposeNodes, doubleClick, doubleClickAction, editAction, editPath, getAutoscrollInsets, getDefaultFocusable, getNode, getRootNode, getSelectedNode, getSelectedNodes, getTreeModel, getTreeRoot, init, init, initAsync, initAsync, isShowOwner, maybeInvokeChainedCH, maybeInvokeChainedHandler, maybeInvokeChainedHandler, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, removeAction, reset, setBrowserForActions, setIgnoreLock, setSelectedNodes, toNodes, toNodes, toTreePaths, update, updateBrowser, updateBrowserAsync, updateOnlyDirtyNodes, updateUI
-
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
-
INFO
public static final com.nomagic.magicdraw.ui.browser.BrowserComponentInfo INFO
-
filterUpdateInProgress
private boolean filterUpdateInProgress
-
filteringComboBox
private javax.swing.JComboBox<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet> filteringComboBox
-
filteringModel
private javax.swing.DefaultComboBoxModel<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet> filteringModel
-
ANY_USER
private final com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet ANY_USER
-
dirtyLocks
private volatile boolean dirtyLocks
Flag to indicate that the browser is dirty (locked elements changed). Is used to check when activating the browser.
-
lockedChildrenVisitor
private final com.nomagic.magicdraw.teamwork2.locks.LockedChildrenOwnerVisitor lockedChildrenVisitor
-
projectStructureNode
private com.nomagic.magicdraw.teamwork2.ui.ProjectStructureNode projectStructureNode
-
projectOptionsNode
private com.nomagic.magicdraw.teamwork2.ui.ProjectOptionsNode projectOptionsNode
-
symbolStyleNode
private com.nomagic.magicdraw.teamwork2.ui.SymbolStylesNode symbolStyleNode
-
updateLocksAction
private com.nomagic.magicdraw.teamwork2.actions.UpdateLocksAction updateLocksAction
-
singleCheckoutListener
private final java.beans.PropertyChangeListener singleCheckoutListener
-
manyCheckoutListener
private final java.beans.PropertyChangeListener manyCheckoutListener
-
styleListener
private final java.beans.PropertyChangeListener styleListener
Listener for style lock changes.
-
decompositionListener
private final java.beans.PropertyChangeListener decompositionListener
Listener for project structure lock changes.
-
transactionCommitListener
private final TransactionCommitListener transactionCommitListener
-
-
Constructor Detail
-
LockViewTree
public LockViewTree(Browser browser)
Constructor.- Parameters:
browser- instance of Browser.
-
LockViewTree
public LockViewTree(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info)
Constructor- Parameters:
browser- instance of Browser.info- instance of BrowserComponentInfo
-
-
Method Detail
-
updateBrowser
public void updateBrowser(boolean updateOnlyDirty)
Description copied from class:TreeUpdates tree with the newest data and shows it. The current thread will be blocked until tree update is complete, but the event dispatcher is going to continue to process events.- Parameters:
updateOnlyDirty- - iftrueupdates only dirty expanded nodes, otherwise - updates all expanded tree nodes.
-
superUpdateBrowser
private void superUpdateBrowser(boolean updateOnlyDirty)
-
activate
public void activate()
Description copied from class:BrowserTabTreeActivates the tree. If tree was not initialized, initializes it.- Specified by:
activatein interfacecom.nomagic.magicdraw.ui.Activatable
-
updateFilterValues
private void updateFilterValues(boolean lazyUpdate)
Updates filter component values with the latest server values.- Parameters:
lazyUpdate- when this argument is true, the component updates values only if the selected value is not available in the server.
-
getLockOwners
public java.util.Collection<java.lang.String> getLockOwners(Project project)
Returns collection of users (login names) which has locked elements (not cached) in the server- Parameters:
project- project- Returns:
- list of user names which locked elements in the server.
-
projectContainsUserLocks
private static boolean projectContainsUserLocks(com.nomagic.uml2.ext.jmi.reflect.ElementRegistry project, ILockProjectService lockService, java.lang.String user)
-
getFilterValue
public com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet getFilterValue()
Returns value selected in a filtering combo box.- Returns:
- value selected in filtering component. If none is selected or there are no values, returns
UserLocksManager.ANY_USER
-
addFilteringComponent
private void addFilteringComponent()
Adds filtering component in panel for filtering locks in the tree.
-
addTreeActionToPanel
public void addTreeActionToPanel(javax.swing.JPanel panel, NMAction action)
-
doFilter
private void doFilter()
-
updateNodes
private void updateNodes(com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet value)
Updates nodes by given filter value.- Parameters:
value- filter value.
-
isEquals
private boolean isEquals(com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet value, LockInfo lock)
-
initTree
public void initTree()
Description copied from class:BrowserTabTreeInitializes the tree. Root nodes will be created here.
-
createFilter
@CheckForNull protected com.nomagic.magicdraw.ui.browser.CompositeElementFilter createFilter()
-
getActions
protected ActionsManager getActions()
Description copied from class:BrowserTabTreeReturns shortcuts action manager for this browser.- Returns:
- ActionsManager with actions to register in this browser as KeyListeners
-
configureContextActions
protected void configureContextActions(ActionsManager manager)
Description copied from class:BrowserTabTreeConfigures context menu actions.- Parameters:
manager- a manager with context menu actions to configure.
-
configureToolbarActions
protected void configureToolbarActions(ActionsManager manager)
-
dispose
public void dispose()
Description copied from class:TreeRemoves all nodes recursively.
-
selectCurrentUserInComboBox
private void selectCurrentUserInComboBox()
-
getCurrentUserName
@CheckForNull private com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet getCurrentUserName()
-
-