// TODO: make it ValuesChanged private void FunctionValuesValuesChanged(object sender, NotifyCollectionChangedEventArgs args) { var e = (MultiDimensionalArrayChangedEventArgs)args; //update dependend arrays var array = (MultiDimensionalArray)sender; IVariable variable = array.Owner; ResizeDependendFunctionValues(variable, e.Action, args.Index, args.OldIndex); if (!FireEvents) // don't send up { return; } //raise event to the outside world if the store is consistent. if (FunctionValuesChanged != null) { var valuesChangedEventArgs = new FunctionValuesChangedEventArgs { Action = e.Action, Item = e.Item, Index = e.Index, OldIndex = -1, Stride = e.Stride, MultiDimensionalLength = e.MultiDimensionalLength, Function = variable }; FunctionValuesChanged(this, valuesChangedEventArgs); } }
// TODO: make it ValuesChanging private void FunctionValuesValuesChanging(object sender, NotifyCollectionChangedEventArgs args) { if (!FireEvents) // don't send up { return; } var e = (MultiDimensionalArrayChangedEventArgs)args; var array = (MultiDimensionalArray)sender; IVariable variable = array.Owner; if (FunctionValuesChanging != null) { var valuesChangedEventArgs = new FunctionValuesChangedEventArgs { Action = e.Action, Item = e.Item, Index = e.Index, OldIndex = -1, Stride = e.Stride, MultiDimensionalLength = e.MultiDimensionalLength, Function = variable }; FunctionValuesChanging(this, valuesChangedEventArgs); args.Item = valuesChangedEventArgs.Item; args.Index = valuesChangedEventArgs.Index; args.Cancel = valuesChangedEventArgs.Cancel; } }
private void Store_ValuesChanging(object sender, FunctionValuesChangedEventArgs e) { if (e.Function == this) { OnFunctionValuesChanging(e); } if (IsIndependent && e.Function != this) { return; // no bubbling } if (ValuesChanging != null) { ValuesChanging(e.Function, e); } }
private void ValuesChanged(object sender, FunctionValuesChangedEventArgs e) { base.RenderRequired = true; }
protected virtual void OnFunctionValuesChanged(FunctionValuesChangedEventArgs e) { }