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 class
com.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.UserAndChangeSet
ANY_USER
private java.beans.PropertyChangeListener
decompositionListener
Listener for project structure lock changes.private boolean
dirtyLocks
Flag to indicate that the browser is dirty (locked elements changed).private javax.swing.JComboBox<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet>
filteringComboBox
private javax.swing.DefaultComboBoxModel<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet>
filteringModel
private boolean
filterUpdateInProgress
static com.nomagic.magicdraw.ui.browser.BrowserComponentInfo
INFO
private com.nomagic.magicdraw.teamwork2.locks.LockedChildrenOwnerVisitor
lockedChildrenVisitor
private java.beans.PropertyChangeListener
manyCheckoutListener
private com.nomagic.magicdraw.teamwork2.ui.ProjectOptionsNode
projectOptionsNode
private com.nomagic.magicdraw.teamwork2.ui.ProjectStructureNode
projectStructureNode
private java.beans.PropertyChangeListener
singleCheckoutListener
private java.beans.PropertyChangeListener
styleListener
Listener for style lock changes.private com.nomagic.magicdraw.teamwork2.ui.SymbolStylesNode
symbolStyleNode
private TransactionCommitListener
transactionCommitListener
private com.nomagic.magicdraw.teamwork2.actions.UpdateLocksAction
updateLocksAction
-
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 void
activate()
Activates the tree.private void
addFilteringComponent()
Adds filtering component in panel for filtering locks in the tree.void
addTreeActionToPanel(javax.swing.JPanel panel, NMAction action)
protected void
configureContextActions(ActionsManager manager)
Configures context menu actions.protected void
configureToolbarActions(ActionsManager manager)
protected com.nomagic.magicdraw.ui.browser.CompositeElementFilter
createFilter()
void
dispose()
Removes all nodes recursively.private void
doFilter()
protected ActionsManager
getActions()
Returns shortcuts action manager for this browser.private com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet
getCurrentUserName()
com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet
getFilterValue()
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 servervoid
initTree()
Initializes the tree.private boolean
isEquals(com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet value, LockInfo lock)
private static boolean
projectContainsUserLocks(com.nomagic.uml2.ext.jmi.reflect.ElementRegistry project, ILockProjectService lockService, java.lang.String user)
private void
selectCurrentUserInComboBox()
private void
superUpdateBrowser(boolean updateOnlyDirty)
void
updateBrowser(boolean updateOnlyDirty)
Updates tree with the newest data and shows it.private void
updateFilterValues(boolean lazyUpdate)
Updates filter component values with the latest server values.private void
updateNodes(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:Tree
Updates 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
- - iftrue
updates only dirty expanded nodes, otherwise - updates all expanded tree nodes.
-
superUpdateBrowser
private void superUpdateBrowser(boolean updateOnlyDirty)
-
activate
public void activate()
Description copied from class:BrowserTabTree
Activates the tree. If tree was not initialized, initializes it.- Specified by:
activate
in 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:BrowserTabTree
Initializes 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:BrowserTabTree
Returns 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:BrowserTabTree
Configures 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:Tree
Removes all nodes recursively.
-
selectCurrentUserInComboBox
private void selectCurrentUserInComboBox()
-
getCurrentUserName
@CheckForNull private com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet getCurrentUserName()
-
-