Beispiel #1
0
        public void Toggle(Enumerations.CheckBoxState fromState)
        {
            switch (fromState)
            {
            case Enumerations.CheckBoxState.Unchecked:
            {
                this.State = Enumerations.CheckBoxState.Checked;
                break;
            }

            case Enumerations.CheckBoxState.Checked:
            case Enumerations.CheckBoxState.Indeterminate:
            default:
            {
                this.State = Enumerations.CheckBoxState.Unchecked;
                break;
            }
            }

            this.UpdateStateOfRelatedNodes();
        }
Beispiel #2
0
        private void UpdateParentNodeState(bool isStartingPoint)
        {
            ThreeStateTreeNode parent = this.Parent as ThreeStateTreeNode;

            if (parent != null)
            {
                Enumerations.CheckBoxState state = Enumerations.CheckBoxState.Unchecked;

                if (!isStartingPoint && (this.State == Enumerations.CheckBoxState.Indeterminate))
                {
                    state = Enumerations.CheckBoxState.Indeterminate;
                }
                else
                {
                    state = this.SiblingsState;
                }
                if (parent.State != state)
                {
                    parent.State   = state;
                    parent.Checked = (state != Enumerations.CheckBoxState.Unchecked);
                    parent.UpdateParentNodeState(false);
                }
            }
        }