Example #1
0
 void TreeListChanged(IwTreeNodeCollectionParent node)
 {
     if (E_TreeListChanged != null)
     {
         E_TreeListChanged(node);
     }
 }
 void item_E_TreeListChanged(IwTreeNodeCollectionParent treeParent)
 {
     if (E_TreeListChanged != null)
     {
         E_TreeListChanged(treeParent);
     }
 }
Example #3
0
 void _children_E_TreeExpandChanged(IwTreeNodeCollectionParent treeParent)
 {
     if (E_TreeExpandChanged != null)
     {
         E_TreeExpandChanged(treeParent);
     }
 }
 void node_E_TreeExpandChanged(IwTreeNodeCollectionParent treeParent)
 {
     if (E_TreeExpandChanged != null)
     {
         E_TreeExpandChanged(treeParent);
     }
     (treeParent as wTreeNode).DrawBuffer();
 }
Example #5
0
 void _children_E_TreeListChanged(IwTreeNodeCollectionParent treeParent)
 {
     _needRefresh = true;
     if (E_TreeListChanged != null)
     {
         E_TreeListChanged(treeParent);
     }
 }
Example #6
0
        void _children_E_TreeExpandChanged(IwTreeNodeCollectionParent treeParent)
        {
            _needRefresh = true;
            wSelectionHandler.ReleaseTempSelection();

            if (E_TreeExpandChanged != null)
            {
                E_TreeExpandChanged(treeParent);
            }

            wDrawHandler.ReDrawTree(true);
        }
        /// <summary>
        /// 체크박스의 값을 toggle한다.
        /// </summary>
        /// <param name="parentNode"></param>
        /// <param name="itemIndex"></param>
        internal void SetCheckboxIfItemIsCheckbox(IwTreeNodeCollectionParent parentNode, int childStart, int childEnd, int itemIndex)
        {
            int min = childStart < childEnd ? childStart : childEnd;
            int max = childStart < childEnd ? childEnd : childStart;
            Dictionary <wTreeNodeItem, bool> itemValues = new Dictionary <wTreeNodeItem, bool>();

            for (int i = min; i <= max; i++)
            {
                if (i == childStart)
                {
                    continue;
                }
                wTreeNode child = parentNode.Children[i];

                if (child.Items[itemIndex] != null && child.Items[itemIndex].ItemType == wTreeNodeItemTypes.CheckBox)
                {
                    wTreeNodeItem item  = child.Items[itemIndex];
                    bool?         value = (bool?)item.Value;
                    if (value == true)
                    {
                        item.Value = false;
                    }
                    else if (value == false)
                    {
                        item.Value = true;
                    }
                    else
                    {
                        item.Value = true; //중간상태일 때는 true로 바꿈.
                    }
                    bool newValue = (bool)item.Value;
                    child.ControlChildChecks(itemIndex, newValue);
                    child.DrawBuffer();
                    itemValues.Add(item, newValue);//toggle이니까 무조건 바뀐다.
                }
            }
            parentNode.Children[0].ControlParentChecks(itemIndex);
            _ownerTree.wDrawHandler.ReDrawTree(false);
            if (itemValues.Count > 0)
            {
                if (E_CheckItemChanged != null)
                {
                    E_CheckItemsChanged(parentNode as wTreeNode, itemValues);
                }
            }
        }
        /// <summary>
        /// 특정 값으로 체크박스를 셋팅한다.
        /// </summary>
        /// <param name="node"></param>
        /// <param name="itemIndex"></param>
        /// <param name="checkBoxValue"></param>
        internal void SetCheckboxValueIfItemIsCheckbox(IwTreeNodeCollectionParent parentNode, int childStart, int childEnd, int itemIndex, bool checkBoxValue)
        {
            int min = childStart < childEnd ? childStart : childEnd;
            int max = childStart < childEnd ? childEnd : childStart;
            Dictionary <wTreeNodeItem, bool> itemValues = new Dictionary <wTreeNodeItem, bool>();

            for (int i = min; i <= max; i++)
            {
                wTreeNode child = parentNode.Children[i];


                if (child.Items[itemIndex] != null && child.Items[itemIndex].ItemType == wTreeNodeItemTypes.CheckBox)
                {
                    wTreeNodeItem item     = child.Items[itemIndex];
                    bool?         oldValue = (bool?)item.Value;
                    if (checkBoxValue != oldValue)
                    {
                        item.Value = checkBoxValue;
                        bool newValue = (bool)item.Value;
                        child.ControlChildChecks(itemIndex, newValue);
                        child.DrawBuffer();
                        if (oldValue != newValue)
                        {
                            itemValues.Add(item, newValue);                      //값이 바뀔 때만 추가한다.
                        }
                    }
                }
            }
            parentNode.Children[0].ControlParentChecks(itemIndex);
            _ownerTree.wDrawHandler.ReDrawTree(false);
            if (itemValues.Count > 0)
            {
                if (E_CheckItemChanged != null)
                {
                    E_CheckItemsChanged(parentNode as wTreeNode, itemValues);
                }
            }
        }
Example #9
0
        internal wTreeNode(wTree ownerTree, IwTreeNodeCollectionParent parent)
        {
            _parent = parent;
            if (parent == null)
            {
                _parent = null;
            }
            _ownerTree = ownerTree;
            _children  = new wTreeNodeCollection(_ownerTree, this);
            _children.E_TreeListChanged   += TreeListChanged;
            _children.E_TreeNodeChanged   += TreeNodeChanged;
            _children.E_TreeExpandChanged += _children_E_TreeExpandChanged;
            //_children.E_TreeNodeItemSelected += _items_E_ItemSelected;
            _items = new wTreeNodeItemCollection(_ownerTree, this);
            _items.E_ItemChanged     += _items_E_ItemChanged;
            _items.E_ItemListChanged += _items_E_ItemListChanged;
            //_items.E_ItemSelected += _items_E_ItemSelected;

            if (_plusWid == 0)
            {
                _plusWid = Properties.Resources.plus.Width;
            }
        }
 internal wTreeNodeCollection(wTree ownerTree, IwTreeNodeCollectionParent parent)
 {
     _parent    = parent;
     _ownerTree = ownerTree;
 }
Example #11
0
 internal wTreeNodeCollection(IwTreeNodeCollectionParent parent)
 {
     _parent = parent;
 }