Ejemplo n.º 1
0
        // 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);
            }
        }
Ejemplo n.º 2
0
        // 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;
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
 private void ValuesChanged(object sender, FunctionValuesChangedEventArgs e)
 {
     base.RenderRequired = true;
 }
Ejemplo n.º 5
0
 protected virtual void OnFunctionValuesChanged(FunctionValuesChangedEventArgs e)
 {
 }