Beispiel #1
0
 private void Strips_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.OldItems != null)
     {
         foreach (IMenuStrip menuStrip in (IEnumerable)e.OldItems)
         {
             Windows7MenuStrip windows7MenuStrip = menuStrip as Windows7MenuStrip;
             if (windows7MenuStrip != null)
             {
                 this.m_deletedStrips.Add(windows7MenuStrip);
             }
         }
     }
     if (e.NewItems == null)
     {
         return;
     }
     foreach (IMenuStrip menuStrip in (IEnumerable)e.NewItems)
     {
         Windows7MenuStrip windows7MenuStrip = menuStrip as Windows7MenuStrip;
         if (windows7MenuStrip != null)
         {
             this.m_deletedStrips.Remove(windows7MenuStrip);
         }
     }
 }
Beispiel #2
0
        protected override IMenuStrip CreateCustomStrip()
        {
            string     str1     = Guid.NewGuid().ToString();
            XmlElement element1 = this.StartMenuDocument.CreateElement("home", "ConstrainedCategory", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:home"));
            XmlElement element2 = this.StartMenuDocument.CreateElement("Value", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns"));
            XmlElement element3 = this.StartMenuDocument.CreateElement("home", "StartMenuCategory", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:home"));

            element1.AppendChild((XmlNode)element2);
            element2.AppendChild((XmlNode)element3);
            string str2 = string.Format("m{0}", (object)str1);

            element3.SetAttribute("StartMenuCategory", string.Format("global://{0}:MediaCenterStudioSMC", (object)str2));
            string       resourceName = string.Format("SM.MediaCenterStudio.{0}.xml", (object)str1);
            XmlAttribute attribute    = this.StartMenuDocument.CreateAttribute(string.Format("xmlns:{0}", (object)str2));

            attribute.Value = string.Format("res://ehres!{0}", (object)resourceName);
            this.StartMenuDocument.DocumentElement.Attributes.Append(attribute);
            XmlDocument doc = new XmlDocument();

            doc.LoadXml(string.Format(Advent.MediaCenter.Resources.Windows7MenuStripTemplate, (object)"Custom menu", (object)str1));
            Windows7MenuStrip windows7MenuStrip = new Windows7MenuStrip((StartMenuManager)this, doc, element1, element3, resourceName);

            windows7MenuStrip.BeginInit();
            windows7MenuStrip.StartMenuNamespace = str2;
            windows7MenuStrip.Priority           = 100;
            windows7MenuStrip.EndInit();
            return((IMenuStrip)windows7MenuStrip);
        }
Beispiel #3
0
        protected override XmlNode GetNodeForSave(BaseXmlMenuStrip strip)
        {
            Windows7MenuStrip windows7MenuStrip = strip as Windows7MenuStrip;

            if (windows7MenuStrip == null || windows7MenuStrip.IsEnabled)
            {
                return(base.GetNodeForSave(strip));
            }
            else
            {
                return((XmlNode)strip.StartMenuElement.OwnerDocument.CreateComment(strip.StartMenuElement.OuterXml));
            }
        }
 protected override IMenuStrip CreateMenuStrip(XmlNode node, IResourceLibrary ehres)
 {
     XmlElement startMenuTargetElement = node as XmlElement;
     bool flag = true;
     if (startMenuTargetElement == null)
     {
         XmlComment comment = node as XmlComment;
         if (comment != null)
         {
             startMenuTargetElement = MediaCenterUtil.UncommentElement(comment);
             flag = startMenuTargetElement == null;
         }
     }
     IMenuStrip menuStrip = (IMenuStrip)null;
     if (startMenuTargetElement != null)
     {
         XmlElement xmlElement = startMenuTargetElement;
         if (startMenuTargetElement.Name == "home:ConstrainedCategory" || startMenuTargetElement.Name == "constraints:ConstrainedItem")
             startMenuTargetElement = (XmlElement)startMenuTargetElement.FirstChild.FirstChild;
         if (startMenuTargetElement.Name == "home:NowPlayingStartMenuCategory")
             menuStrip = (IMenuStrip)new NowPlayingStrip((StartMenuManager)this, xmlElement);
         else if (!(startMenuTargetElement.Name == "home:MSOStartMenuCategory"))
         {
             string attribute1 = startMenuTargetElement.GetAttribute("StartMenuCategory");
             if (!string.IsNullOrEmpty(attribute1) && attribute1.StartsWith("global://"))
             {
                 int num = attribute1.IndexOf(':', "global://".Length);
                 if (num >= 0)
                 {
                     string str = attribute1.Substring("global://".Length, num - "global://".Length);
                     string attribute2 = this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:" + str);
                     if (!string.IsNullOrEmpty(attribute2))
                     {
                         string resourceName;
                         XmlReader xmlResource = MediaCenterUtil.GetXmlResource(this.Resources, attribute2, out resourceName);
                         if (xmlResource != null)
                         {
                             XmlDocument doc = new XmlDocument();
                             doc.Load(xmlResource);
                             Windows7MenuStrip windows7MenuStrip = new Windows7MenuStrip((StartMenuManager)this, doc, xmlElement, startMenuTargetElement, resourceName);
                             windows7MenuStrip.StartMenuNamespace = str;
                             windows7MenuStrip.IsEnabled = flag;
                             menuStrip = (IMenuStrip)windows7MenuStrip;
                         }
                         else
                             Trace.TraceWarning("Strip {0} points to null resource: {1}", (object)startMenuTargetElement.Name, (object)attribute2);
                     }
                     else
                         Trace.TraceWarning("Could not find namespace \"{0}\". Element: {1}", (object)str, (object)startMenuTargetElement.OuterXml);
                 }
                 else
                     Trace.TraceWarning("Invalid StartMenuCategory value \"{0}\". Element: {1}", (object)attribute1, (object)startMenuTargetElement.OuterXml);
             }
             else
                 Trace.TraceWarning("Unknown application element: {0}", new object[1]
     {
       (object) startMenuTargetElement.OuterXml
     });
         }
     }
     int result;
     if (menuStrip != null && int.TryParse(startMenuTargetElement.GetAttribute("Priority"), out result))
         menuStrip.Priority = result;
     return menuStrip;
 }
 protected override IMenuStrip CreateCustomStrip()
 {
     string str1 = Guid.NewGuid().ToString();
     XmlElement element1 = this.StartMenuDocument.CreateElement("home", "ConstrainedCategory", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:home"));
     XmlElement element2 = this.StartMenuDocument.CreateElement("Value", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns"));
     XmlElement element3 = this.StartMenuDocument.CreateElement("home", "StartMenuCategory", this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:home"));
     element1.AppendChild((XmlNode)element2);
     element2.AppendChild((XmlNode)element3);
     string str2 = string.Format("m{0}", (object)str1);
     element3.SetAttribute("StartMenuCategory", string.Format("global://{0}:MediaCenterStudioSMC", (object)str2));
     string resourceName = string.Format("SM.MediaCenterStudio.{0}.xml", (object)str1);
     XmlAttribute attribute = this.StartMenuDocument.CreateAttribute(string.Format("xmlns:{0}", (object)str2));
     attribute.Value = string.Format("res://ehres!{0}", (object)resourceName);
     this.StartMenuDocument.DocumentElement.Attributes.Append(attribute);
     XmlDocument doc = new XmlDocument();
     doc.LoadXml(string.Format(Advent.MediaCenter.Resources.Windows7MenuStripTemplate, (object)"Custom menu", (object)str1));
     Windows7MenuStrip windows7MenuStrip = new Windows7MenuStrip((StartMenuManager)this, doc, element1, element3, resourceName);
     windows7MenuStrip.BeginInit();
     windows7MenuStrip.StartMenuNamespace = str2;
     windows7MenuStrip.Priority = 100;
     windows7MenuStrip.EndInit();
     return (IMenuStrip)windows7MenuStrip;
 }
Beispiel #6
0
        protected override IMenuStrip CreateMenuStrip(XmlNode node, IResourceLibrary ehres)
        {
            XmlElement startMenuTargetElement = node as XmlElement;
            bool       flag = true;

            if (startMenuTargetElement == null)
            {
                XmlComment comment = node as XmlComment;
                if (comment != null)
                {
                    startMenuTargetElement = MediaCenterUtil.UncommentElement(comment);
                    flag = startMenuTargetElement == null;
                }
            }
            IMenuStrip menuStrip = (IMenuStrip)null;

            if (startMenuTargetElement != null)
            {
                XmlElement xmlElement = startMenuTargetElement;
                if (startMenuTargetElement.Name == "home:ConstrainedCategory" || startMenuTargetElement.Name == "constraints:ConstrainedItem")
                {
                    startMenuTargetElement = (XmlElement)startMenuTargetElement.FirstChild.FirstChild;
                }
                if (startMenuTargetElement.Name == "home:NowPlayingStartMenuCategory")
                {
                    menuStrip = (IMenuStrip) new NowPlayingStrip((StartMenuManager)this, xmlElement);
                }
                else if (!(startMenuTargetElement.Name == "home:MSOStartMenuCategory"))
                {
                    string attribute1 = startMenuTargetElement.GetAttribute("StartMenuCategory");
                    if (!string.IsNullOrEmpty(attribute1) && attribute1.StartsWith("global://"))
                    {
                        int num = attribute1.IndexOf(':', "global://".Length);
                        if (num >= 0)
                        {
                            string str        = attribute1.Substring("global://".Length, num - "global://".Length);
                            string attribute2 = this.StartMenuDocument.DocumentElement.GetAttribute("xmlns:" + str);
                            if (!string.IsNullOrEmpty(attribute2))
                            {
                                string    resourceName;
                                XmlReader xmlResource = MediaCenterUtil.GetXmlResource(this.Resources, attribute2, out resourceName);
                                if (xmlResource != null)
                                {
                                    XmlDocument doc = new XmlDocument();
                                    doc.Load(xmlResource);
                                    Windows7MenuStrip windows7MenuStrip = new Windows7MenuStrip((StartMenuManager)this, doc, xmlElement, startMenuTargetElement, resourceName);
                                    windows7MenuStrip.StartMenuNamespace = str;
                                    windows7MenuStrip.IsEnabled          = flag;
                                    menuStrip = (IMenuStrip)windows7MenuStrip;
                                }
                                else
                                {
                                    Trace.TraceWarning("Strip {0} points to null resource: {1}", (object)startMenuTargetElement.Name, (object)attribute2);
                                }
                            }
                            else
                            {
                                Trace.TraceWarning("Could not find namespace \"{0}\". Element: {1}", (object)str, (object)startMenuTargetElement.OuterXml);
                            }
                        }
                        else
                        {
                            Trace.TraceWarning("Invalid StartMenuCategory value \"{0}\". Element: {1}", (object)attribute1, (object)startMenuTargetElement.OuterXml);
                        }
                    }
                    else
                    {
                        Trace.TraceWarning("Unknown application element: {0}", new object[1]
                        {
                            (object)startMenuTargetElement.OuterXml
                        });
                    }
                }
            }
            int result;

            if (menuStrip != null && int.TryParse(startMenuTargetElement.GetAttribute("Priority"), out result))
            {
                menuStrip.Priority = result;
            }
            return(menuStrip);
        }