/// <summary> /// Raises the <see cref="E:BeforeTriStateCheck"/> event. /// </summary> /// <param name="args">The <see cref="ZetaLib.Windows.Controls.TriStateCheckBoxesTreeView.TreeViewCancelTriStateEventArgs"/> instance containing the event data.</param> protected virtual void OnBeforeTriStateCheck( TreeViewCancelTriStateEventArgs args) { if (BeforeTriStateCheck != null) { BeforeTriStateCheck(this, args); } }
/// <summary> /// Applies the given state to the given node. /// Raises events, too. /// </summary> /// <param name="node">The node.</param> /// <param name="action">The action.</param> /// <param name="stateImageIndex">Index of the state image.</param> /// <param name="raiseEvents">if set to <c>true</c> [raise events].</param> private void SetTriStateToNode( TreeNode node, TreeViewAction action, int stateImageIndex, bool raiseEvents) { bool canSet = true; if (raiseEvents) { TreeViewCancelEventArgs args = new TreeViewCancelEventArgs(node, false, action); OnBeforeCheck(args); TreeViewCancelTriStateEventArgs triArgs = new TreeViewCancelTriStateEventArgs( node, args.Cancel, action, node.StateImageIndex, stateImageIndex); OnBeforeTriStateCheck(triArgs); canSet = !triArgs.Cancel; } if (canSet) { // Actually set. // THIS IS THE ONLY PLACE to set. node.StateImageIndex = stateImageIndex; if (raiseEvents) { TreeViewEventArgs args = new TreeViewEventArgs(node, action); OnAfterCheck(args); TreeViewTriStateEventArgs triArgs = new TreeViewTriStateEventArgs( node, action, node.StateImageIndex); OnAfterTriStateCheck(triArgs); } } }
/// <summary> /// Raises the <see cref="E:BeforeTriStateCheck"/> event. /// </summary> /// <param name="args">The <see cref="ZetaLib.Windows.Controls.TriStateCheckBoxesTreeView.TreeViewCancelTriStateEventArgs"/> instance containing the event data.</param> protected virtual void OnBeforeTriStateCheck( TreeViewCancelTriStateEventArgs args ) { if ( BeforeTriStateCheck != null ) { BeforeTriStateCheck( this, args ); } }
/// <summary> /// Applies the given state to the given node. /// Raises events, too. /// </summary> /// <param name="node">The node.</param> /// <param name="action">The action.</param> /// <param name="stateImageIndex">Index of the state image.</param> /// <param name="raiseEvents">if set to <c>true</c> [raise events].</param> private void SetTriStateToNode( TreeNode node, TreeViewAction action, int stateImageIndex, bool raiseEvents ) { bool canSet = true; if ( raiseEvents ) { TreeViewCancelEventArgs args = new TreeViewCancelEventArgs( node, false, action ); OnBeforeCheck( args ); TreeViewCancelTriStateEventArgs triArgs = new TreeViewCancelTriStateEventArgs( node, args.Cancel, action, node.StateImageIndex, stateImageIndex ); OnBeforeTriStateCheck( triArgs ); canSet = !triArgs.Cancel; } if ( canSet ) { // Actually set. // THIS IS THE ONLY PLACE to set. node.StateImageIndex = stateImageIndex; if ( raiseEvents ) { TreeViewEventArgs args = new TreeViewEventArgs( node, action ); OnAfterCheck( args ); TreeViewTriStateEventArgs triArgs = new TreeViewTriStateEventArgs( node, action, node.StateImageIndex ); OnAfterTriStateCheck( triArgs ); } } }