Esempio n. 1
0
        public object GetExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = CreateExtender(ExtenderCATID, ExtenderName, ExtendeeObject, ExtenderSite, Cookie);

            if (extender != null)
            {
                try
                {
                    if (_extenderSite != null && _cookie != 0)
                    {
                        _extenderSite.NotifyDelete(_cookie);
                    }
                }
                catch (Exception ex)
                {
                    if (ex.IsCritical())
                    {
                        throw;
                    }
                }

                _extender     = extender;
                _extenderSite = ExtenderSite;
                _cookie       = Cookie;
            }

            return(extender);
        }
        protected object CreateExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = null;

            ExtendVersion extendVersion = GetExtendVersion(ExtenderCATID, ExtenderName, ExtendeeObject);
            if (extendVersion != ExtendVersion.None)
            {
                IVsBrowseObject browseObject = ExtendeeObject as IVsBrowseObject;
                if (browseObject == null)
                    return null;

                IVsHierarchy hierarchy;
                uint itemId;
                if (ErrorHandler.Failed(browseObject.GetProjectItem(out hierarchy, out itemId)))
                    return null;

                IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage;
                if (buildPropertyStorage == null)
                    return null;

                if (extendVersion == ExtendVersion.Antlr3)
                    extender = new GrammarFileObjectExtenderProperties(buildPropertyStorage, itemId);
                else
                    extender = new GrammarFileObjectExtenderPropertiesV4(buildPropertyStorage, itemId);
            }

            return extender;
        }
        public object GetExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = CreateExtender(ExtenderCATID, ExtenderName, ExtendeeObject, ExtenderSite, Cookie);
            if (extender != null)
            {
                try
                {
                    if (_extenderSite != null && _cookie != 0)
                    {
                        _extenderSite.NotifyDelete(_cookie);
                    }
                }
                catch (Exception ex)
                {
                    if (ex.IsCritical())
                        throw;
                }

                _extender = extender;
                _extenderSite = ExtenderSite;
                _cookie = Cookie;
            }

            return extender;
        }
Esempio n. 4
0
 /// <summary>
 /// Default ctor
 /// </summary>
 public ResourceExtender(Dot42Package pkg, EnvDTE.IExtenderSite extenderSite, int siteCookie, object extendedObject)
 {
     pkg.Log("Extender created");
     this.pkg = pkg;
     this.extenderSite = extenderSite;
     this.siteCookie = siteCookie;
     this.extendedObject = extendedObject;
     fileNameDescr = TypeDescriptor.GetProperties(extendedObject)["FileName"];
 }
Esempio n. 5
0
 /// <summary>
 /// Default ctor
 /// </summary>
 public ResourceExtender(Dot42Package pkg, EnvDTE.IExtenderSite extenderSite, int siteCookie, object extendedObject)
 {
     pkg.Log("Extender created");
     this.pkg            = pkg;
     this.extenderSite   = extenderSite;
     this.siteCookie     = siteCookie;
     this.extendedObject = extendedObject;
     fileNameDescr       = TypeDescriptor.GetProperties(extendedObject)["FileName"];
 }
Esempio n. 6
0
        public AssemblyReferenceExtender(EnvDTE.IExtenderSite extenderSite, int cookie, VSLangProj.Reference reference, IVsBuildPropertyStorage storage, uint itemId)
        {
            _extenderSite = extenderSite;
            _cookie       = cookie;
            _storage      = storage;
            _itemid       = itemId;

            Reference = reference;
        }
        object EnvDTE80.IInternalExtenderProvider.GetExtender(string extenderCATID, string extenderName, object extendeeObject, EnvDTE.IExtenderSite extenderSite, int cookie)
        {
            EnvDTE80.IInternalExtenderProvider outerHierarchy = HierarchyNode.GetOuterHierarchy(this.Node) as EnvDTE80.IInternalExtenderProvider;

            if (outerHierarchy != null)
            {
                return(outerHierarchy.GetExtender(extenderCATID, extenderName, extendeeObject, extenderSite, cookie));
            }

            return(null);
        }
        object EnvDTE80.IInternalExtenderProvider.GetExtender(string extenderCATID, string extenderName, object extendeeObject, EnvDTE.IExtenderSite extenderSite, int cookie)
        {
            IVsHierarchy outerHierarchy = HierarchyNode.GetOuterHierarchy(this.ProjectMgr);

            if (outerHierarchy is EnvDTE80.IInternalExtenderProvider)
            {
                return(((EnvDTE80.IInternalExtenderProvider)outerHierarchy).GetExtender(extenderCATID, extenderName, extendeeObject, extenderSite, cookie));
            }
            return(null);
        }
Esempio n. 9
0
        object EnvDTE80.IInternalExtenderProvider.GetExtender(string extenderCATID, string extenderName, object extendeeObject, EnvDTE.IExtenderSite extenderSite, int cookie)
        {
            ThreadHelper.ThrowIfNotOnUIThread();
            IVsHierarchy outerHierarchy = HierarchyNode.GetOuterHierarchy(this.Node);

            if (outerHierarchy is EnvDTE80.IInternalExtenderProvider)
            {
                return(((EnvDTE80.IInternalExtenderProvider)outerHierarchy).GetExtender(extenderCATID, extenderName, extendeeObject, extenderSite, cookie));
            }
            return(null);
        }
Esempio n. 10
0
 public NodejsUwpPropertyExtender(EnvDTE.IExtenderSite extenderSite, int cookie)
 {
     this.extenderSite = extenderSite;
     this.cookie       = cookie;
 }
Esempio n. 11
0
        protected object CreateExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, IExtenderSite ExtenderSite, int Cookie)
        {
            object extender = null;

            ExtendVersion extendVersion = GetExtendVersion(ExtenderCATID, ExtenderName, ExtendeeObject);

            if (extendVersion != ExtendVersion.None)
            {
                IVsBrowseObject browseObject = ExtendeeObject as IVsBrowseObject;
                if (browseObject == null)
                {
                    return(null);
                }

                IVsHierarchy hierarchy;
                uint         itemId;
                if (ErrorHandler.Failed(browseObject.GetProjectItem(out hierarchy, out itemId)))
                {
                    return(null);
                }

                IVsBuildPropertyStorage buildPropertyStorage = hierarchy as IVsBuildPropertyStorage;
                if (buildPropertyStorage == null)
                {
                    return(null);
                }

                if (extendVersion == ExtendVersion.Antlr3)
                {
                    extender = new GrammarFileObjectExtenderProperties(buildPropertyStorage, itemId);
                }
                else
                {
                    extender = new GrammarFileObjectExtenderPropertiesV4(buildPropertyStorage, itemId);
                }
            }

            return(extender);
        }
Esempio n. 12
0
        object EnvDTE80.IInternalExtenderProvider.GetExtender(string extenderCATID, string extenderName, object extendeeObject, EnvDTE.IExtenderSite extenderSite, int cookie)
        {
            EnvDTE80.IInternalExtenderProvider outerHierarchy = Node.GetOuterInterface <EnvDTE80.IInternalExtenderProvider>();

            if (outerHierarchy != null)
            {
                var res = outerHierarchy.GetExtender(extenderCATID, extenderName, extendeeObject, extenderSite, cookie);
                if (extenderName == "WebApplication" && res is ICustomTypeDescriptor)
                {
                    // we want to filter out the launch debug server option
                    return(new WebAppExtenderFilter((ICustomTypeDescriptor)res));
                }
                return(res);
            }

            return(null);
        }
Esempio n. 13
0
 public object GetExtender(string ExtenderCATID, string ExtenderName, object ExtendeeObject, EnvDTE.IExtenderSite ExtenderSite, int Cookie)
 {
     if (CanExtend(ExtenderCATID, ExtenderName, ExtendeeObject))
     {
         return(new NodejsUwpPropertyExtender(ExtenderSite, Cookie));
     }
     return(null);
 }
 public ProjectReferenceExtender(EnvDTE.IExtenderSite extenderSite, int cookie, VSLangProj.Reference reference, IVsBuildPropertyStorage storage, uint itemId)
     : base(extenderSite, cookie, reference, storage, itemId)
 {
 }
 public NodejsUwpPropertyExtender(EnvDTE.IExtenderSite extenderSite, int cookie)
 {
     this.extenderSite = extenderSite;
     this.cookie = cookie;
 }