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); } } }
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); }
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; }
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); }