private void SetCurrentTree(ImageSetTree currentTree)
        {
            if (_currentTree == currentTree)
            {
                return;
            }

            if (_currentTree != null)
            {
                _currentTree.TreeChanged      -= OnTreeChangedInternal;
                _currentTree.TreeUpdated      -= OnTreeUpdatedInternal;
                _currentTree.SelectionChanged -= OnTreeSelectionChangedInternal;
            }

            _currentTree = currentTree;

            if (_currentTree != null)
            {
                _currentTree.TreeChanged      += OnTreeChangedInternal;
                _currentTree.TreeUpdated      += OnTreeUpdatedInternal;
                _currentTree.SelectionChanged += OnTreeSelectionChangedInternal;

                OnTreeChangedInternal(null, null);
            }
        }
Exemple #2
0
        public ThumbnailComponent(IDesktopWindow desktopWindow)
        {
            _resourceResolver = new ApplicationThemeResourceResolver(this.GetType().Assembly);

            _desktopWindow    = desktopWindow;
            _dummyTree        = new ImageSetTree(new ObservableList <IImageSet>(), null);
            _currentTree      = _dummyTree;
            _thumbnailGallery = new ThumbnailGallery {
                NameAndDescriptionFormat = NameAndDescriptionFormat.VerboseNameNoDescription
            };
        }
        private void UpdateTree()
        {
            if (_activeViewer == null)
            {
                SetCurrentTree(_dummyTree);
            }
            else
            {
                if (!_viewerTrees.ContainsKey(_activeViewer))
                {
                    var    imageSets = _activeViewer.LogicalWorkspace.ImageSets;
                    string primaryStudyInstanceUid = GetPrimaryStudyInstanceUid(_activeViewer.StudyTree);
                    var    tree = new ImageSetTree(imageSets, primaryStudyInstanceUid, new ThumbnailTreeItemBinding(this, primaryStudyInstanceUid));
                    _viewerTrees.Add(_activeViewer, tree);
                }

                SetCurrentTree(_viewerTrees[_activeViewer]);
            }
        }
        public ThumbnailComponent(IDesktopWindow desktopWindow)
        {
            _resourceResolver = new ApplicationThemeResourceResolver(this.GetType().Assembly);

            _desktopWindow    = desktopWindow;
            _dummyTree        = new ImageSetTree(new ObservableList <IImageSet>(), null);
            _currentTree      = _dummyTree;
            _thumbnailGallery = new ThumbnailGallery {
                NameAndDescriptionFormat = NameAndDescriptionFormat.VerboseNameNoDescription
            };
            _galleryItems = new BindingList <IGalleryItem>();

            foreach (var galleryItem in _thumbnailGallery.GalleryItems)
            {
                _galleryItems.Add(galleryItem);
            }

            _thumbnailGallery.GalleryItems.ItemAdded    += GalleryItemAdded;
            _thumbnailGallery.GalleryItems.ItemRemoved  += GallerItemRemoved;
            _thumbnailGallery.GalleryItems.ItemChanging += GalleryItemChanging;
            _thumbnailGallery.GalleryItems.ItemChanged  += GalleryItemChanged;
        }