Exemplo n.º 1
0
        DocumentTabService(IDocumentTabUIContextLocatorProvider documentTabUIContextLocatorProvider, DocumentTreeView documentTreeView, ITabServiceProvider tabServiceProvider, IDocumentTabContentFactoryService documentTabContentFactoryService, IDocumentTabServiceSettings documentTabServiceSettings, IWpfFocusService wpfFocusService, IDecompilationCache decompilationCache, [ImportMany] IEnumerable <Lazy <IReferenceDocumentTabContentProvider, IReferenceDocumentTabContentProviderMetadata> > referenceDocumentTabContentProviders, [ImportMany] IEnumerable <Lazy <IDefaultDocumentTabContentProvider, IDefaultDocumentTabContentProviderMetadata> > defaultDocumentTabContentProviders, [ImportMany] IEnumerable <Lazy <IReferenceHandler, IReferenceHandlerMetadata> > referenceHandlers)
        {
            Settings = documentTabServiceSettings;
            this.documentTabUIContextLocatorProvider = documentTabUIContextLocatorProvider;
            this.documentTabContentFactoryService    = documentTabContentFactoryService;
            this.wpfFocusService    = wpfFocusService;
            this.decompilationCache = decompilationCache;
            this.referenceDocumentTabContentProviders = referenceDocumentTabContentProviders.OrderBy(a => a.Metadata.Order).ToArray();
            this.defaultDocumentTabContentProviders   = defaultDocumentTabContentProviders.OrderBy(a => a.Metadata.Order).ToArray();
            this.referenceHandlers = referenceHandlers.OrderBy(a => a.Metadata.Order).ToArray();
            var tvElem = documentTreeView.TreeView.UIObject;

            tvElem.IsVisibleChanged += TreeView_IsVisibleChanged;
            isTreeViewVisible        = tvElem.IsVisible;
            DocumentTreeView         = documentTreeView;
            DocumentTreeView.DocumentService.CollectionChanged += DocumentService_CollectionChanged;
            DocumentTreeView.SelectionChanged     += DocumentTreeView_SelectionChanged;
            DocumentTreeView.NodesTextChanged     += DocumentTreeView_NodesTextChanged;
            DocumentTreeView.NodeActivated        += DocumentTreeView_NodeActivated;
            DocumentTreeView.TreeView.NodeRemoved += TreeView_NodeRemoved;
            tabService      = tabServiceProvider.Create();
            TabGroupService = tabService.Create(new TabGroupServiceOptions(MenuConstants.GUIDOBJ_DOCUMENTS_TABCONTROL_GUID));
            TabGroupService.TabSelectionChanged      += TabGroupService_TabSelectionChanged;
            TabGroupService.TabGroupSelectionChanged += TabGroupService_TabGroupSelectionChanged;
        }