public static void InitializeItemCurrent(Page p) { PokerSiteMapPath smp = new PokerSiteMapPath(); SiteMapNodeItem I = new SiteMapNodeItem(1, SiteMapNodeItemType.Current); smp.CurrentNodeStyle.BackColor = Color.Red; smp.NodeStyle.BorderColor = Color.Red; smp.DoCreateControlHierarchy(); I.SiteMapNode = smp.Provider.CurrentNode; smp.InitilizeItems(I); Assert.AreEqual(1, I.Controls.Count, "InitializeItem#1"); Assert.AreEqual(typeof(Literal), I.Controls[0].GetType(), "InitializeItem#2"); Assert.AreEqual(Color.Red, I.BackColor, "InitializeItem#3"); Assert.AreEqual(Color.Red, I.BorderColor, "InitializeItem#4"); I.Controls.Clear(); smp.RenderCurrentNodeAsLink = true; smp.InitilizeItems(I); Assert.AreEqual(1, I.Controls.Count, "InitializeItem#5"); Assert.AreEqual(typeof(HyperLink), I.Controls[0].GetType(), "InitializeItem#6"); Assert.AreEqual(Color.Red, I.BackColor, "InitializeItem#7"); Assert.AreEqual(Color.Red, I.BorderColor, "InitializeItem#8"); }
Literal CreateLiteral(SiteMapNodeItem item) { Literal h = new Literal(); h.Text = item.SiteMapNode.Title; return(h); }
// <Snippet2> // Override the InitializeItem method to add a PathSeparator // and DropDownList to the current node. protected override void InitializeItem(SiteMapNodeItem item) { // The only node that must be handled is the CurrentNode. if (item.ItemType == SiteMapNodeItemType.Current) { HyperLink hLink = new HyperLink(); // No Theming for the HyperLink. hLink.EnableTheming = false; // Enable the link of the SiteMapPath is enabled. hLink.Enabled = this.Enabled; // Set the properties of the HyperLink to // match those of the corresponding SiteMapNode. hLink.NavigateUrl = item.SiteMapNode.Url; hLink.Text = item.SiteMapNode.Title; if (ShowToolTips) { hLink.ToolTip = item.SiteMapNode.Description; } // Apply styles or templates to the HyperLink here. // ... // ... // Add the item to the Controls collection. item.Controls.Add(hLink); AddDropDownListAfterCurrentNode(item); } else { base.InitializeItem(item); } }
public void Events(Page p) { PokerSiteMapPath smp = new PokerSiteMapPath(); ResetEvents(); smp.DataBinding += new EventHandler(DataBindingHandler); smp.ItemDataBound += new SiteMapNodeItemEventHandler(ItemDataBoundHandler); smp.ItemCreated += new SiteMapNodeItemEventHandler(ItemCreatedHandler); Assert.AreEqual(false, DataBinding, "BeforeDataBinding"); smp.DoOnDataBinding(new EventArgs()); Assert.AreEqual(true, DataBinding, "AfterDataBinding"); ResetEvents(); Assert.AreEqual(false, ItemDataBounding, "BeforeItemDataBound"); SiteMapNodeItem i = new SiteMapNodeItem(0, SiteMapNodeItemType.Root); smp.DoOnItemDataBound(new SiteMapNodeItemEventArgs(i)); Assert.AreEqual(true, ItemDataBounding, "AfterItemDataBound"); ResetEvents(); SiteMapNodeItemEventArgs MyArgs = new SiteMapNodeItemEventArgs(new SiteMapNodeItem(0, SiteMapNodeItemType.Parent)); Assert.AreEqual(false, ItemCreated, "BeforeItemCreated"); smp.DoOnItemCteated(MyArgs); Assert.AreEqual(true, ItemCreated, "AfterItemCreated"); }
protected override void InitializeItem(SiteMapNodeItem item) { if (item.SiteMapNode == null) { base.InitializeItem(item); return; } HyperLink hLink = new HyperLink(); hLink.EnableTheming = false; hLink.Enabled = this.Enabled; if (UrlTransform != null) { hLink.NavigateUrl = UrlTransform(item.SiteMapNode.Url); } else { hLink.NavigateUrl = item.SiteMapNode.Url; } hLink.Text = item.SiteMapNode.Title; if (ShowToolTips) { hLink.ToolTip = item.SiteMapNode.Description; } item.Controls.Add(hLink); }
protected override void InitializeItem(SiteMapNodeItem item) { base.InitializeItem(item); if ((item.ItemType == SiteMapNodeItemType.Current) && !string.IsNullOrEmpty(this.AdditionalNode)) { this.AddLiteralAfterCurrentNode(item); } }
public static void InitializeItemPathSeparator(Page p) { PokerSiteMapPath smp = new PokerSiteMapPath(); SiteMapNodeItem I = new SiteMapNodeItem(0, SiteMapNodeItemType.PathSeparator); smp.PathSeparatorStyle.BorderColor = Color.Red; smp.InitilizeItems(I); Assert.AreEqual(1, I.Controls.Count, "InitializeItem#1"); Assert.AreEqual(typeof(Literal), I.Controls[0].GetType(), "InitializeItem#2"); Assert.AreEqual(Color.Red, I.BorderColor, "InitializeItem#3"); }
HyperLink CreateHyperLink(SiteMapNodeItem item) { HyperLink h = new HyperLink(); h.Text = item.SiteMapNode.Title; h.NavigateUrl = item.SiteMapNode.Url; if (ShowToolTips) { h.ToolTip = item.SiteMapNode.Description; } return(h); }
public static void InitializeItemParent(Page p) { PokerSiteMapPath smp = new PokerSiteMapPath(); SiteMapNodeItem I = new SiteMapNodeItem(0, SiteMapNodeItemType.Parent); smp.NodeStyle.BorderColor = Color.Red; smp.DoCreateControlHierarchy(); I.SiteMapNode = smp.Provider.RootNode; smp.InitilizeItems(I); Assert.AreEqual(1, I.Controls.Count, "InitializeItem#1"); Assert.AreEqual(typeof(HyperLink), I.Controls[0].GetType(), "InitializeItem#2"); Assert.AreEqual(Color.Red, ((HyperLink)I.Controls[0]).ControlStyle.BorderColor, "InitializeItem#4"); }
public static void InitializeItemTemplates(Page p) { PokerSiteMapPath smp = new PokerSiteMapPath(); SiteMapNodeItem I = new SiteMapNodeItem(1, SiteMapNodeItemType.Current); smp.CurrentNodeTemplate = new CompiledTemplateBuilder(templatebuilder); smp.CurrentNodeStyle.BackColor = Color.Red; smp.DoCreateControlHierarchy(); I.SiteMapNode = smp.Provider.CurrentNode; smp.InitilizeItems(I); Assert.AreEqual(1, I.Controls.Count, "InitializeItem#1"); Assert.AreEqual(typeof(TextBox), I.Controls[0].GetType(), "InitializeItem#2"); Assert.AreEqual(Color.Red, I.BackColor, "InitializeItem#3"); }
private void AddLiteralAfterCurrentNode(SiteMapNodeItem item) { if (item.SiteMapNode.ChildNodes != null) { SiteMapNodeItem item2 = new SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator); SiteMapNodeItemEventArgs e = new SiteMapNodeItemEventArgs(item2); this.InitializeItem(item2); this.OnItemCreated(e); item.Controls.Add(item2); Literal child = new Literal { Mode = LiteralMode.PassThrough, Text = this.AdditionalNode }; item.Controls.Add(child); } }
// </Snippet2> // <Snippet3> private void AddDropDownListAfterCurrentNode(SiteMapNodeItem item) { SiteMapNodeCollection childNodes = item.SiteMapNode.ChildNodes; // Only do this work if there are child nodes. if (childNodes != null) { // Add another PathSeparator after the CurrentNode. SiteMapNodeItem finalSeparator = new SiteMapNodeItem(item.ItemIndex, SiteMapNodeItemType.PathSeparator); SiteMapNodeItemEventArgs eventArgs = new SiteMapNodeItemEventArgs(finalSeparator); InitializeItem(finalSeparator); // Call OnItemCreated every time a SiteMapNodeItem is // created and initialized. OnItemCreated(eventArgs); // The pathSeparator does not bind to any SiteMapNode, so // do not call DataBind on the SiteMapNodeItem. item.Controls.Add(finalSeparator); // Create a DropDownList and populate it with the children of the // CurrentNode. There are no styles or templates that are applied // to the DropDownList control. If OnSelectedIndexChanged is raised, // the event handler redirects to the page selected. // The CurrentNode has child nodes. DropDownList ddList = new DropDownList(); ddList.AutoPostBack = true; ddList.SelectedIndexChanged += new EventHandler(this.DropDownNavPathEventHandler); // Add a ListItem to the DropDownList for every node in the // SiteMapNodes collection. foreach (SiteMapNode node in childNodes) { ddList.Items.Add(new ListItem(node.Title, node.Url)); } item.Controls.Add(ddList); } }
public override void DataBind() { if (!this.Visible) { return; } base.DataBind(); /* the child controls get bound in * base.DataBind */ foreach (Control c in Controls) { if (c is SiteMapNodeItem) { SiteMapNodeItem it = (SiteMapNodeItem)c; OnItemDataBound(new SiteMapNodeItemEventArgs(it)); } } }
private SiteMapNodeItem CreateItemFromCmsPathNode(int itemIndex, SiteMapNodeItemType itemType, CmsPathNode pathNode) { SiteMapNodeItem item1 = new SiteMapNodeItem(itemIndex, itemType); int num1 = (this.PathDirection == PathDirection.CurrentToRoot) ? 0 : -1; SiteMapNodeItemEventArgs args1 = new SiteMapNodeItemEventArgs(item1); if (pathNode != null) { string nodeUrl = string.Empty; switch (pathNode.NodeType) { case CatalogNodeType.Category: nodeUrl = "Default.aspx?CategoryId=" + pathNode.NodeId; break; case CatalogNodeType.Product: nodeUrl = "../products/editproduct.aspx?ProductId=" + pathNode.NodeId; break; case CatalogNodeType.Webpage: nodeUrl = "../webpages/editwebpage.aspx?WebpageId=" + pathNode.NodeId; break; case CatalogNodeType.Link: nodeUrl = "viewlink.aspx?LinkId=" + pathNode.NodeId; break; } SiteMapNode mapNode = new SiteMapNode(new XmlSiteMapProvider(), pathNode.NodeId.ToString(), nodeUrl, pathNode.Title, pathNode.Description); item1.SiteMapNode = mapNode; } this.InitializeItem(item1); this.OnItemCreated(args1); this.Controls.AddAt(num1, item1); item1.DataBind(); this.OnItemDataBound(args1); item1.SiteMapNode = null; item1.EnableViewState = false; return(item1); }
// Constructors public SiteMapNodeItemEventArgs(SiteMapNodeItem item) { }
public SiteMapNodeItemEventArgs(SiteMapNodeItem item) { this.item = item; }
public SiteMapNodeItemEventArgs (SiteMapNodeItem item) { this.item = item; }
public void InitilizeItems(SiteMapNodeItem I) { InitializeItem(I); }
protected virtual void CreateControlHierarchy() { if (!this.Visible) { return; } ArrayList nodes = new ArrayList(); SiteMapNode node = Provider.CurrentNode; if ((node == null) && (overrideCurrentNode != null)) { node = overrideCurrentNode; } if (node == null) { return; } int levels = ParentLevelsDisplayed != -1 ? ParentLevelsDisplayed + 1 : int.MaxValue; while (node != null && levels > 0) { if (nodes.Count > 0) { SiteMapNodeItem sep = new SiteMapNodeItem(nodes.Count, SiteMapNodeItemType.PathSeparator); InitializeItem(sep); SiteMapNodeItemEventArgs sargs = new SiteMapNodeItemEventArgs(sep); OnItemCreated(sargs); nodes.Add(sep); } SiteMapNodeItemType nt; if (nodes.Count == 0) { nt = SiteMapNodeItemType.Current; } else if (node.ParentNode == null) { nt = SiteMapNodeItemType.Root; } else { nt = SiteMapNodeItemType.Parent; } SiteMapNodeItem it = new SiteMapNodeItem(nodes.Count, nt); it.SiteMapNode = node; InitializeItem(it); SiteMapNodeItemEventArgs args = new SiteMapNodeItemEventArgs(it); OnItemCreated(args); nodes.Add(it); node = node.ParentNode; levels--; } if (PathDirection == PathDirection.RootToCurrent) { for (int n = nodes.Count - 1; n >= 0; n--) { Controls.Add((Control)nodes[n]); } } else { for (int n = 0; n < nodes.Count; n++) { Controls.Add((Control)nodes[n]); } } }
protected virtual void InitializeItem(SiteMapNodeItem item) { switch (item.ItemType) { case SiteMapNodeItemType.Root: if (RootNodeTemplate != null) { item.ApplyStyle(NodeStyle); item.ApplyStyle(RootNodeStyle); RootNodeTemplate.InstantiateIn(item); } else if (NodeTemplate != null) { item.ApplyStyle(NodeStyle); item.ApplyStyle(RootNodeStyle); NodeTemplate.InstantiateIn(item); } else { WebControl c = CreateHyperLink(item); c.ApplyStyle(NodeStyle); c.ApplyStyle(RootNodeStyle); item.Controls.Add(c); } break; case SiteMapNodeItemType.Current: if (CurrentNodeTemplate != null) { item.ApplyStyle(NodeStyle); item.ApplyStyle(CurrentNodeStyle); CurrentNodeTemplate.InstantiateIn(item); } else if (NodeTemplate != null) { item.ApplyStyle(NodeStyle); item.ApplyStyle(CurrentNodeStyle); NodeTemplate.InstantiateIn(item); } else if (RenderCurrentNodeAsLink) { HyperLink c = CreateHyperLink(item); c.ApplyStyle(NodeStyle); c.ApplyStyle(CurrentNodeStyle); item.Controls.Add(c); } else { Literal c = CreateLiteral(item); item.ApplyStyle(NodeStyle); item.ApplyStyle(CurrentNodeStyle); item.Controls.Add(c); } break; case SiteMapNodeItemType.Parent: if (NodeTemplate != null) { item.ApplyStyle(NodeStyle); NodeTemplate.InstantiateIn(item); } else { WebControl c = CreateHyperLink(item); c.ApplyStyle(NodeStyle); item.Controls.Add(c); } break; case SiteMapNodeItemType.PathSeparator: if (PathSeparatorTemplate != null) { item.ApplyStyle(PathSeparatorStyle); PathSeparatorTemplate.InstantiateIn(item); } else { Literal h = new Literal(); h.Text = PathSeparator; item.ApplyStyle(PathSeparatorStyle); item.Controls.Add(h); } break; } }