Class 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • 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 javax.swing.JComponent

        listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
      • Fields inherited from class java.awt.Component

        accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
      • Fields inherited from interface java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
    • Constructor Summary

      Constructors 
      Constructor Description
      LockViewTree​(Browser browser)
      Constructor.
      LockViewTree​(Browser browser, com.nomagic.magicdraw.ui.browser.BrowserComponentInfo info)
      Constructor
    • 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.
    • 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 - if true 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.
      • 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()