예제 #1
0
 internal void OnNodeChanged(NodeEventArgsType e, object oParam)
 {
     if (this.NodeChanged != null)
     {
         this.NodeChanged(this, e, oParam);
     }
 }
예제 #2
0
        internal void OnNodeChanged(object sender, NodeEventArgsType e, object oParam)
        {
            object       obj2     = oParam;
            Node         r        = (Node)sender;
            NodeTemplate template = this.GetTemplate(r);

            switch (e)
            {
            case NodeEventArgsType.Selection:
                if (!((bool)oParam))
                {
                    this.SetSelected(null);
                    return;
                }
                this.SetSelected(r);
                return;

            case NodeEventArgsType.TemplateIndex:
            {
                int          offset    = 0;
                NodeTemplate template2 = this.GetTemplate(r, (int)oParam);
                offset -= template2.GetHeight(r);
                r.ResetCachedBounds(null);
                offset += template.GetHeight(r);
                this.OnChanged(base.List.IndexOf(r), new TreeResizeEventArgs(offset));
                return;
            }

            case NodeEventArgsType.BeforeExpand:
                this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.BeforeExpand, oParam));
                return;

            case NodeEventArgsType.AfterExpand:
                this.OnChanged(this, new TreeRefreshEventArgs(true));
                this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.AfterExpand, oParam));
                return;

            case NodeEventArgsType.BeforeCollapse:
                this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.BeforeCollapse, oParam));
                return;

            case NodeEventArgsType.AfterCollapse:
                this.OnChanged(this, new TreeRefreshEventArgs(true));
                this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.AfterCollapse, oParam));
                return;
            }
            if ((template != null) && template.AutoHeight)
            {
                int actualHeight = r.ActualHeight;
                r.ResetCachedBounds(null);
                int height = template.GetHeight(r);
                if (height != actualHeight)
                {
                    this.OnChanged(base.List.IndexOf(r), new TreeResizeEventArgs(height - actualHeight));
                    return;
                }
            }
            this.OnChanged(base.List.IndexOf(sender), new TreeChangedEventArgs(TreeEventArgsType.NodeChange, obj2));
        }
예제 #3
0
        internal void OnNodeChanged(object sender, NodeEventArgsType e, object oParam)
        {
            object obj2 = oParam;
            Node r = (Node) sender;
            NodeTemplate template = this.GetTemplate(r);
            switch (e)
            {
                case NodeEventArgsType.Selection:
                    if (!((bool) oParam))
                    {
                        this.SetSelected(null);
                        return;
                    }
                    this.SetSelected(r);
                    return;

                case NodeEventArgsType.TemplateIndex:
                {
                    int offset = 0;
                    NodeTemplate template2 = this.GetTemplate(r, (int) oParam);
                    offset -= template2.GetHeight(r);
                    r.ResetCachedBounds(null);
                    offset += template.GetHeight(r);
                    this.OnChanged(base.List.IndexOf(r), new TreeResizeEventArgs(offset));
                    return;
                }
                case NodeEventArgsType.BeforeExpand:
                    this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.BeforeExpand, oParam));
                    return;

                case NodeEventArgsType.AfterExpand:
                    this.OnChanged(this, new TreeRefreshEventArgs(true));
                    this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.AfterExpand, oParam));
                    return;

                case NodeEventArgsType.BeforeCollapse:
                    this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.BeforeCollapse, oParam));
                    return;

                case NodeEventArgsType.AfterCollapse:
                    this.OnChanged(this, new TreeRefreshEventArgs(true));
                    this.OnChanged(this, new TreeChangedEventArgs(TreeEventArgsType.AfterCollapse, oParam));
                    return;
            }
            if ((template != null) && template.AutoHeight)
            {
                int actualHeight = r.ActualHeight;
                r.ResetCachedBounds(null);
                int height = template.GetHeight(r);
                if (height != actualHeight)
                {
                    this.OnChanged(base.List.IndexOf(r), new TreeResizeEventArgs(height - actualHeight));
                    return;
                }
            }
            this.OnChanged(base.List.IndexOf(sender), new TreeChangedEventArgs(TreeEventArgsType.NodeChange, obj2));
        }
예제 #4
0
파일: Node.cs 프로젝트: north0808/haina
 internal void OnNodeChanged(NodeEventArgsType e, object oParam)
 {
     if (this.NodeChanged != null)
     {
         this.NodeChanged(this, e, oParam);
     }
 }