Exemplo n.º 1
0
        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");
        }
Exemplo n.º 2
0
        Literal CreateLiteral(SiteMapNodeItem item)
        {
            Literal h = new Literal();

            h.Text = item.SiteMapNode.Title;
            return(h);
        }
Exemplo n.º 3
0
// <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);
            }
        }
Exemplo n.º 4
0
        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");
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 protected override void InitializeItem(SiteMapNodeItem item)
 {
     base.InitializeItem(item);
     if ((item.ItemType == SiteMapNodeItemType.Current) && !string.IsNullOrEmpty(this.AdditionalNode))
     {
         this.AddLiteralAfterCurrentNode(item);
     }
 }
Exemplo n.º 7
0
        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");
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        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");
        }
Exemplo n.º 10
0
        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");
        }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
// </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);
            }
        }
Exemplo n.º 13
0
        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));
                }
            }
        }
Exemplo n.º 14
0
        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)
 {
 }
Exemplo n.º 16
0
 public SiteMapNodeItemEventArgs(SiteMapNodeItem item)
 {
     this.item = item;
 }
 // Constructors
 public SiteMapNodeItemEventArgs(SiteMapNodeItem item)
 {
 }
Exemplo n.º 18
0
		public SiteMapNodeItemEventArgs (SiteMapNodeItem item)
		{
			this.item = item; 
		}
Exemplo n.º 19
0
 public void InitilizeItems(SiteMapNodeItem I)
 {
     InitializeItem(I);
 }
Exemplo n.º 20
0
        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]);
                }
            }
        }
Exemplo n.º 21
0
        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;
            }
        }