Beispiel #1
0
        private InputRangeControl CreateInputControl(PolynomFactor factor)
        {
            InputRangeControl result = new InputRangeControl();

            result.InputRangeControlType = InputRangeControlType.Vertical;
            result.ShowCalcInput         = false;
            result.ShowButtons           = false;
            result.Width = (this.Width * 0.9) - 60;
            result.HorizontalAlignment = HorizontalAlignment.Left;
            result.Name = factor.Name;
            result.VerticalAlignment = VerticalAlignment.Top;
            result.Tag      = factor.Name;
            result.Title    = "";
            result.Execute += new ExecuteDelegate(InputRangeControl_Execute);

            InputValidator <PrimesBigInteger> validatorFreeFrom = new InputValidator <PrimesBigInteger>();

            validatorFreeFrom.DefaultValue = "0";
            validatorFreeFrom.Validator    = new BigIntegerValidator();
            result.AddInputValidator(InputRangeControl.FreeFrom, validatorFreeFrom);

            InputValidator <PrimesBigInteger> validatorFreeTo = new InputValidator <PrimesBigInteger>();

            validatorFreeTo.DefaultValue = "1";
            validatorFreeTo.Validator    = new BigIntegerValidator();
            result.AddInputValidator(InputRangeControl.FreeTo, validatorFreeTo);

            return(result);
        }
Beispiel #2
0
        private InputRangeControl CreateInputControl(RangePolynomFactor factor)
        {
            InputRangeControl result = new InputRangeControl();

            result.InputRangeControlType = InputRangeControlType.Vertical;
            result.ShowCalcInput         = false;
            result.ShowButtons           = false;
            result.Width = (this.Width * 0.9) - 60;
            result.HorizontalAlignment = HorizontalAlignment.Left;
            result.Name = factor.Name;
            result.VerticalAlignment = VerticalAlignment.Top;
            result.Tag = factor.Name;

            InputValidator <PrimesBigInteger> validatorFreeFrom = new InputValidator <PrimesBigInteger>();

            validatorFreeFrom.DefaultValue = "0";
            validatorFreeFrom.Validator    = new BigIntegerMinValueMaxValueValidator(null, PrimesBigInteger.ValueOf(-1000), PrimesBigInteger.ValueOf(1000));
            result.AddInputValidator(InputRangeControl.FreeFrom, validatorFreeFrom);

            InputValidator <PrimesBigInteger> validatorFreeTo = new InputValidator <PrimesBigInteger>();

            validatorFreeTo.DefaultValue = "0";
            validatorFreeTo.Validator    = new BigIntegerMinValueMaxValueValidator(null, PrimesBigInteger.ValueOf(-1000), PrimesBigInteger.ValueOf(1000));
            result.AddInputValidator(InputRangeControl.FreeTo, validatorFreeTo);

            return(result);
        }
Beispiel #3
0
        private void DoExecute()
        {
            bool doExecute = true;

            IList <KeyValuePair <string, Range> > parameters = new List <KeyValuePair <string, Range> >();

            foreach (Control element in pnlFactors.Children)
            {
                if (element.GetType() == typeof(InputRangeControl))
                {
                    InputRangeControl isc   = element as InputRangeControl;
                    PrimesBigInteger  _from = null;
                    PrimesBigInteger  _to   = null;

                    isc.GetValue(ref _from, ref _to);
                    if (_from != null && _to != null)
                    {
                        parameters.Add(new KeyValuePair <string, Range>(isc.Tag.ToString(), new Range(_from, _to)));
                    }
                    else
                    {
                        doExecute = false;
                    }
                }
            }

            if (Execute != null)
            {
                if (doExecute)
                {
                    try
                    {
                        if (m_PolynomRangeExecuterMode == PolynomRangeExecuterMode.Random)
                        {
                            ExecuteRandom(parameters);
                        }
                        else
                        {
                            ExecuteSystematic(parameters);
                        }
                    }
                    catch { }
                }
                else
                {
                    UnlockAll();
                }
            }
        }