/// <summary> /// Invokes the BeforeCheckedChange event. /// </summary> /// <param name="invokingModNode">The invoking ModNode that will be passed as sender.</param> /// <param name="newCheckedState">The new checked state that should be applied.</param> /// <returns>True if continue with the change.</returns> internal static BeforeCheckedChangeEventArgs InvokeBeforeCheckedChange(ConflictInfoNode invokingModNode, bool newCheckedState) { var args = new BeforeCheckedChangeEventArgs(invokingModNode, newCheckedState); if (BeforeCheckedChange != null) BeforeCheckedChange(invokingModNode, args); return args; }
/// <summary> /// Invokes the BeforeCheckedChange event. /// </summary> /// <param name="invokingModNode">The invoking ModNode that will be passed as sender.</param> /// <param name="newCheckedState">The new checked state that should be applied.</param> /// <returns>True if continue with the change.</returns> internal static BeforeCheckedChangeEventArgs InvokeBeforeCheckedChange(ModNode invokingModNode, bool newCheckedState) { var args = new BeforeCheckedChangeEventArgs(invokingModNode, newCheckedState); if (BeforeCheckedChange != null) { BeforeCheckedChange(invokingModNode, args); } return(args); }
private void BeforeCheckedChange(object sender, BeforeCheckedChangeEventArgs e) { e.Cancel = (e.Node.Parent as ConflictInfoNode == null); }
/// <summary> /// Callback of the ModSelectionTreeModel when a checked state of a ModNode is changing. /// </summary> /// <param name="sender">Invoker of the BeforeCheckedChange event.</param> /// <param name="args">The BeforeCheckedChangeEventArgs.</param> protected static void BeforeCheckedChange(object sender, BeforeCheckedChangeEventArgs args) { var argNode = args.Node as ModNode; if (argNode == null) return; if (!argNode.ZipExists) { if (!args.NewValue) args.Cancel = (DialogResult.Yes != MessageBox.Show(View.ParentForm, Messages.MSG_UNCHECK_NO_ZIPARCHIVE_WARNING, Messages.MSG_TITLE_ATTENTION, MessageBoxButtons.YesNo)); else { if (argNode.IsInstalled) return; MessageBox.Show(View.ParentForm, Messages.MSG_CHECK_NO_ZIPARCHIVE_WARNING, Messages.MSG_TITLE_ATTENTION); args.Cancel = true; } } else if (args.NewValue) { if (!argNode.HasDestination || argNode.HasChildesWithoutDestination) { string msg = string.Format(Messages.MSG_0_HAS_CHILDES_WITHOUT_DESTINATION_WARNING, argNode.Name); MessageBox.Show(View.ParentForm, msg, Messages.MSG_TITLE_ATTENTION); if (argNode.IsFile || (!argNode.IsFile && !argNode.HasDestinationForChilds)) args.NewValue = false; } } }