예제 #1
0
        public void Refresh()
        {
            if (Children.Changes.Length == 0)
            {
                return;
            }

            if (engine.ShowCheckBoxes)
            {
                var newState = Children.Changes[0].CheckState;
                foreach (var child in Children.Changes)
                {
                    if (newState != child.CheckState)
                    {
                        newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked;
                        break;
                    }
                }

                CheckState = newState;
            }

            if (this.parent != null)
            {
                parent.Refresh();
            }
        }
예제 #2
0
        private void ComputeCheckedState()
        {
            // Set CheckedState to checked, unchecked or partial depending on checked state of child nodes
            if (_childList != null &&
                _childList.Count > 0)
            {
                var childCount = _childList.Count;
                _checkState = _childList[0]._checkState;

                for (var childIndex = 1; childIndex < childCount; childIndex++)
                {
                    // If initial state is checked, any other child state is unchecked or partial,
                    // then this node state should be partial.
                    // If initial state is unchecked, any other child state is checked or partial,
                    // this node state will be partial.
                    if (_childList[childIndex]._checkState != _checkState)
                    {
                        _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked;
                        break;
                    }
                }
            }

            if (ChangeProposal != null)
            {
                ChangeProposal.Included = (_checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked) ||
                                          (_checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked);
            }
        }
예제 #3
0
        public void SetState(__PREVIEWCHANGESITEMCHECKSTATE newState)
        {
            if (engine.ShowCheckBoxes)
            {
                CheckState = newState;

                foreach (var child in Children.Changes)
                {
                    child.SetState(newState);
                }
            }
        }
 public AbstractChange(PreviewEngine engine)
 {
     this.engine = engine;
     if (engine.ShowCheckBoxes)
     {
         CheckState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
     }
     else
     {
         CheckState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_None;
     }
 }
예제 #5
0
        public void SetState(__PREVIEWCHANGESITEMCHECKSTATE newState)
        {
            if (engine.ShowCheckBoxes)
            {
                CheckState = newState;

                foreach (var child in Children.Changes)
                {
                    child.SetState(newState);
                }
            }
        }
예제 #6
0
 public AbstractChange(PreviewEngine engine)
 {
     this.engine = engine;
     if (engine.ShowCheckBoxes)
     {
         CheckState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
     }
     else
     {
         CheckState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_None;
     }
 }
예제 #7
0
        /// <summary>
        ///     Set the checked state of the current preview node and all of its child nodes
        /// </summary>
        /// <param name="checkState"></param>
        private void SetChecked(__PREVIEWCHANGESITEMCHECKSTATE checkState)
        {
            _checkState = checkState;

            if (ChangeProposal != null)
            {
                ChangeProposal.Included = (checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked);
            }

            // Recurse to children
            if (_childList != null &&
                _childList.Count > 0)
            {
                foreach (var child in _childList)
                {
                    child.SetChecked(checkState);
                }
            }
        }
예제 #8
0
 public PreviewChangesNode(
     string displayText,
     VSTREEDISPLAYDATA displayData,
     string tooltipText,
     List <PreviewChangesNode> childList,
     ChangeProposal changeProposal)
 {
     _displayText   = displayText;
     _displayData   = displayData;
     _tooltipText   = tooltipText;
     _childList     = childList;
     ChangeProposal = changeProposal;
     if (changeProposal != null &&
         changeProposal.Included)
     {
         _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
     }
     else
     {
         _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked;
     }
 }
 public PreviewChangesNode(
     string displayText,
     VSTREEDISPLAYDATA displayData,
     string tooltipText,
     List<PreviewChangesNode> childList,
     ChangeProposal changeProposal)
 {
     _displayText = displayText;
     _displayData = displayData;
     _tooltipText = tooltipText;
     _childList = childList;
     ChangeProposal = changeProposal;
     if (changeProposal != null
         && changeProposal.Included)
     {
         _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
     }
     else
     {
         _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked;
     }
 }
예제 #10
0
        public void Toggle()
        {
            if (engine.ShowCheckBoxes)
            {
                var newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
                if (CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked)
                {
                    newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked;
                }

                foreach (var child in Children.Changes)
                {
                    child.SetState(newState);
                }

                CheckState = newState;
                if (this.parent != null)
                {
                    parent.Refresh();
                }

                this.UpdatePreview();
            }
        }
예제 #11
0
        public void Toggle()
        {
            if (engine.ShowCheckBoxes)
            {
                __PREVIEWCHANGESITEMCHECKSTATE newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked;
                if (CheckState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked)
                {
                    newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Unchecked;
                }

                foreach (var child in Children.Changes)
                {
                    child.SetState(newState);
                }

                CheckState = newState;
                if (this.parent != null)
                {
                    parent.Refresh();
                }

                this.UpdatePreview();
            }
        }
예제 #12
0
        public void Refresh()
        {
            if (Children.Changes.Length == 0)
            {
                return;
            }

            if (engine.ShowCheckBoxes)
            {
                __PREVIEWCHANGESITEMCHECKSTATE newState = Children.Changes[0].CheckState;
                foreach (var child in Children.Changes)
                {
                    if (newState != child.CheckState)
                    {
                        newState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked;
                        break;
                    }
                }

                CheckState = newState;
            }

            if (this.parent != null)
            {
                parent.Refresh();
            }
        }
예제 #13
0
        private void ComputeCheckedState()
        {
            // Set CheckedState to checked, unchecked or partial depending on checked state of child nodes            
            if (_childList != null
                && _childList.Count > 0)
            {
                var childCount = _childList.Count;
                _checkState = _childList[0]._checkState;

                for (var childIndex = 1; childIndex < childCount; childIndex++)
                {
                    // If initial state is checked, any other child state is unchecked or partial, 
                    // then this node state should be partial.
                    // If initial state is unchecked, any other child state is checked or partial,
                    // this node state will be partial.
                    if (_childList[childIndex]._checkState != _checkState)
                    {
                        _checkState = __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked;
                        break;
                    }
                }
            }

            if (ChangeProposal != null)
            {
                ChangeProposal.Included = (_checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked)
                                          || (_checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_PartiallyChecked);
            }
        }
예제 #14
0
        /// <summary>
        ///     Set the checked state of the current preview node and all of its child nodes
        /// </summary>
        /// <param name="checkState"></param>
        private void SetChecked(__PREVIEWCHANGESITEMCHECKSTATE checkState)
        {
            _checkState = checkState;

            if (ChangeProposal != null)
            {
                ChangeProposal.Included = (checkState == __PREVIEWCHANGESITEMCHECKSTATE.PCCS_Checked);
            }

            // Recurse to children
            if (_childList != null
                && _childList.Count > 0)
            {
                foreach (var child in _childList)
                {
                    child.SetChecked(checkState);
                }
            }
        }