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
private class
com.nomagic.magicdraw.teamwork2.ui.LockViewTree.UserAndChangeSetJComboBox
-
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 static 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 com.nomagic.magicdraw.teamwork2.ui.LockViewTree.UserAndChangeSetJComboBox
filteringComboBox
private javax.swing.DefaultComboBoxModel<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet>
filteringModel
private boolean
filterUpdateInProgress
private boolean
filterValuesDirty
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 private void
addFilteringComponent()
Adds filtering component in panel for filtering locks in the tree.private void
addListeners(Project project)
void
addTreeActionToPanel(javax.swing.JPanel panel, NMAction action)
void
browserUpdateDelayed(boolean updateOnlyDirty)
Called if browser lazy and update vas delayedprotected 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<com.nomagic.magicdraw.teamwork2.ui.UserAndRepresentation>
getLockOwners(Project project)
Returns collection of users (login names and representations) 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 void
nodeStructureChanged(javax.swing.tree.TreeNode node)
private static boolean
projectContainsUserLocks(ElementRegistry project, ILockProjectService lockService, java.lang.String user)
private void
removeListeners(Project project)
protected void
resetTabTree()
private void
selectCurrentUserInComboBox()
void
specificActivate()
void
specificUpdateBrowser(boolean updateOnlyDirty)
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
activate, activate, addDragListener, addDropListener, addLockUnlockActionsCategory, applyFilterToModel, createContextMenuActionManager, createToolbar, disposeAll, doBeforeOpenNode, findTreePathFor, getBrowser, getBrowserTreeGroup, getContent, getEditActionExecutorsProvider, getInfo, getProject, isNeedsInit, renameNodeByElement, setBrowserTreeGroup, setNeedsInit, setShowElementLockInfo, 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, isUpdateIfShowing, maybeInvokeChainedCH, maybeInvokeChainedHandler, maybeInvokeChainedHandler, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, openNode, removeAction, reset, setBrowserForActions, setIgnoreLock, setSelectedNodes, setUpdateIfShowing, 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
-
INFO
public static final com.nomagic.magicdraw.ui.browser.BrowserComponentInfo INFO
-
filterUpdateInProgress
private boolean filterUpdateInProgress
-
filteringComboBox
private com.nomagic.magicdraw.teamwork2.ui.LockViewTree.UserAndChangeSetJComboBox filteringComboBox
-
filteringModel
private javax.swing.DefaultComboBoxModel<com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet> filteringModel
-
ANY_USER
private static 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
-
filterValuesDirty
private boolean filterValuesDirty
-
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
-
specificUpdateBrowser
public void specificUpdateBrowser(boolean updateOnlyDirty)
-
browserUpdateDelayed
public void browserUpdateDelayed(boolean updateOnlyDirty)
Description copied from class:Tree
Called if browser lazy and update vas delayed- Parameters:
updateOnlyDirty
- iftrue
updates only dirty expanded nodes, otherwise - updates all expanded tree nodes
-
specificActivate
public void specificActivate()
-
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<com.nomagic.magicdraw.teamwork2.ui.UserAndRepresentation> getLockOwners(Project project)
Returns collection of users (login names and representations) which has locked elements (not cached) in the server- Parameters:
project
- project- Returns:
- list of user names with representations which locked elements in the server.
-
projectContainsUserLocks
private static boolean projectContainsUserLocks(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.
-
nodeStructureChanged
private void nodeStructureChanged(javax.swing.tree.TreeNode node)
-
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.
-
addListeners
private void addListeners(Project project)
-
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.
-
resetTabTree
protected void resetTabTree()
-
removeListeners
private void removeListeners(Project project)
-
selectCurrentUserInComboBox
private void selectCurrentUserInComboBox()
-
getCurrentUserName
@CheckForNull private com.nomagic.magicdraw.teamwork2.ui.UserAndChangeSet getCurrentUserName()
-
-