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); }
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); }
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(); } } }