Ejemplo n.º 1
0
        public virtual void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || _hierarchies.ContainsKey(hierarchy))
            {
                return;
            }

            var commonProject = hierarchy.GetProject()?.GetCommonProject();

            if (commonProject == null)
            {
                return;
            }

            RegisterLibrary();
            HierarchyListener listener = new HierarchyListener(hierarchy, this);
            var node = _hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
                );

            _library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(false);
            RegisterForRDTEvents();
        }
Ejemplo n.º 2
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || this._hierarchies.ContainsKey(hierarchy))
            {
                return;
            }

            RegisterLibrary();
            var commonProject = hierarchy.GetProject().GetCommonProject();
            var listener = new HierarchyListener(hierarchy, this);
            var node = this._hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
            );
            this._library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(true);
            RegisterForRDTEvents();
        }
Ejemplo n.º 3
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || hierarchies.ContainsKey(hierarchy))
            {
                return;
            }
            if (0 == objectManagerCookie)
            {
                IVsObjectManager2 objManager = provider.GetService(typeof(SVsObjectManager)) as IVsObjectManager2;
                if (null == objManager)
                {
                    return;
                }
                Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(
                    objManager.RegisterSimpleLibrary(library, out objectManagerCookie));
            }
            HierarchyListener listener = new HierarchyListener(hierarchy);

            listener.OnAddItem    += new EventHandler <HierarchyEventArgs>(OnNewFile);
            listener.OnDeleteItem += new EventHandler <HierarchyEventArgs>(OnDeleteFile);
            listener.StartListening(true);
            hierarchies.Add(hierarchy, listener);
            RegisterForRDTEvents();
        }
Ejemplo n.º 4
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if (hierarchy == null || _hierarchies.ContainsKey(hierarchy))
                return;

            if (_objectManagerCookie == 0)
            {
                IVsObjectManager2 objManager =
                    _provider.GetService(typeof (SVsObjectManager)) as IVsObjectManager2;

                if (null == objManager)
                    return;

                ErrorHandler.ThrowOnFailure(
                    objManager.RegisterSimpleLibrary(_library, out _objectManagerCookie));
            }

            HierarchyListener listener = new HierarchyListener(hierarchy);

            listener.ItemAdded   += OnFileChanged;
            listener.ItemDeleted += OnDeleteFile;

            listener.StartListening(true);

            _hierarchies.Add(hierarchy, listener);
            RegisterForRDTEvents();
        }
Ejemplo n.º 5
0
        public void RegisterHierarchy(IVsHierarchy hierarchy)
        {
            if ((null == hierarchy) || _hierarchies.ContainsKey(hierarchy)) {
                return;
            }

            RegisterLibrary();
            var commonProject = hierarchy.GetProject().GetCommonProject();
            HierarchyListener listener = new HierarchyListener(hierarchy, this);
            var node = _hierarchies[hierarchy] = new HierarchyInfo(
                listener,
                new ProjectLibraryNode(commonProject)
            );
            _library.AddNode(node.ProjectLibraryNode);
            listener.StartListening(true);
            RegisterForRDTEvents();
        }