void TreeListChanged(IwTreeNodeCollectionParent node) { if (E_TreeListChanged != null) { E_TreeListChanged(node); } }
void item_E_TreeListChanged(IwTreeNodeCollectionParent treeParent) { if (E_TreeListChanged != null) { E_TreeListChanged(treeParent); } }
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(); }
void _children_E_TreeListChanged(IwTreeNodeCollectionParent treeParent) { _needRefresh = true; if (E_TreeListChanged != null) { E_TreeListChanged(treeParent); } }
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); } } }
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; }
internal wTreeNodeCollection(IwTreeNodeCollectionParent parent) { _parent = parent; }