public BreadcrumbBarNodeClickedEventArgs(BreadcrumbBarNode node)
     : base()
 {
     this.Node = node;
 }
Exemplo n.º 2
0
        private void SetNodesFromPath(string path)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new MethodInvoker(delegate
                {
                     SetNodesFromPath(path);
                }));
                return;
            }

            IDisplayableNode[] dispnodes = PathConverter.ToNodes(path);
            if (dispnodes != null && dispnodes.Length > 0)
            {
                this.Nodes.Clear();
                foreach (IDisplayableNode dispnode in dispnodes)
                {
                    BreadcrumbBarNode newnode = new BreadcrumbBarNode(dispnode.DisplayName, delegate(object sender, EventArgs e)
                    {
                        try
                        {
                            BreadcrumbBarNode item = sender as BreadcrumbBarNode;
                            if (item != null)
                            {
                                OnNodeClicked(new BreadcrumbBarNodeClickedEventArgs(item));
                            }
                        }
                        catch (System.Exception ex)
                        {
							Logger.LogError(ex);
						}
                    }, dispnode.Tag);

                    if (newnode != null)
                    {
                        newnode.DropDownMenuOpening += new CancelEventHandler(BreadcrumbBarNode_DropDownMenuOpening);
                        this.Nodes.Add(newnode);
                    }
                }
                this.Root.ClearHiddenNodes();
                OnResize(EventArgs.Empty);
                this.Invalidate();
            }
        }
Exemplo n.º 3
0
 public void PushNode(BreadcrumbBarNode node)
 {
     _hidennodes.Push(node);
 }
Exemplo n.º 4
0
 internal int CalculateNodeWidth(BreadcrumbBarNode node)
 {
     using (Graphics g = node.CreateGraphics())
     {
         return (int)g.MeasureString(
             node.Text,
             node.Font,
             new SizeF(
                 Owner.Width, Owner.Height),
                 node.GetStringFormat()).Width +
                 (node.HasChildNodes ? node.DropDownBounds.Width : 0) +
                 (node is BreadcrumbBarRootNode ?
                     (node as BreadcrumbBarRootNode).ImageBounds.Width +
                     (node as BreadcrumbBarRootNode).ImageBounds.X + 2 :
                     8
                 );
     }
 }