private PrimesBigInteger GetPrimesCount()
        {
            PrimesBigInteger result = PrimesBigInteger.One;

            try
            {
                IValidator <PrimesBigInteger>       validator   = new BigIntegerMinValueValidator(tbN.Text, PrimesBigInteger.ValueOf(1));
                TextBoxValidator <PrimesBigInteger> tbValidator = new TextBoxValidator <PrimesBigInteger>(validator, tbN, "1");
                tbValidator.Validate(ref result);
            }
            catch (ControlValidationException cvex)
            {
                switch (cvex.ValidationResult)
                {
                case Primes.WpfControls.Validation.ValidationResult.WARNING:
                    Info(cvex.Message, cvex.Control as TextBox);
                    break;

                case Primes.WpfControls.Validation.ValidationResult.ERROR:
                    Error(cvex.Message, cvex.Control as TextBox);
                    break;
                }
            }

            return(result);
        }
Example #2
0
        public GraphControl()
        {
            try
            {
                InitializeComponent();

                cgraph.OnFunctionStart = FunctionStart;
                cgraph.OnFunctionStop  = FunctionStop;
                cgraph.ClearPaintArea();

                m_FunctionPix               = new FunctionPiX();
                m_FunctionPix.Executed     += new ObjectParameterDelegate(m_FunctionPix_Executed);
                m_FunctionLiN               = new FunctionLiN();
                m_FunctionLiN.Executed     += new ObjectParameterDelegate(m_FunctionLiN_Executed);
                m_FunctionPiGauss           = new FunctionPiGauss();
                m_FunctionPiGauss.Executed += new ObjectParameterDelegate(m_FunctionPiGauss_Executed);

                m_From = PrimesBigInteger.Zero;
                m_To   = PrimesBigInteger.Zero;

                ircCountPrimes.Execute += new Primes.WpfControls.Components.ExecuteDelegate(ircCountPrimes_Execute);
                ircCountPrimes.Cancel  += new VoidDelegate(ircCountPrimes_Cancel);
                this.OnStopPiX         += new VoidDelegate(GraphControl_OnStopPiX);

                ircCountPrimes.SetText(InputRangeControl.FreeFrom, "2");
                ircCountPrimes.SetText(InputRangeControl.FreeTo, "100");

                ircCountPrimes.SetText(InputRangeControl.CalcFromFactor, "1");
                ircCountPrimes.SetText(InputRangeControl.CalcFromBase, "2");
                ircCountPrimes.SetText(InputRangeControl.CalcFromExp, "1");
                ircCountPrimes.SetText(InputRangeControl.CalcFromSum, "0");

                ircCountPrimes.SetText(InputRangeControl.CalcToFactor, "1");
                ircCountPrimes.SetText(InputRangeControl.CalcToBase, "10");
                ircCountPrimes.SetText(InputRangeControl.CalcToExp, "2");
                ircCountPrimes.SetText(InputRangeControl.CalcToSum, "0");

                ircCountPrimes.AddValueValidator(InputRangeControl.From, new BigIntegerMinValueValidator(null, PrimesBigInteger.Two));
                ircCountPrimes.AddValueValidator(InputRangeControl.To, new BigIntegerMinValueMaxValueValidator(null, PrimesBigInteger.Ten, PrimesBigInteger.ValueOf(int.MaxValue)));

                IValidator <PrimesBigInteger> rangevalidator = new BigIntegerMinValueValidator(null, PrimesBigInteger.ValueOf(10));
                rangevalidator.Message             = Primes.Resources.lang.WpfControls.Distribution.Distribution.graph_validatorrangemessage;
                ircCountPrimes.RangeValueValidator = rangevalidator;

                ircCountPrimes.KeyDown += new ExecuteDelegate(ircCountPrimes_KeyDown);
                ircCountPrimes.SetButtonCancelButtonEnabled(false);
            }
            catch (Exception ex)
            {
                System.Diagnostics.EventLog.WriteEntry("Primes.GraphControl", ex.Message, System.Diagnostics.EventLogEntryType.Information);
                System.Diagnostics.EventLog.WriteEntry("Primes.GraphControl", ex.StackTrace, System.Diagnostics.EventLogEntryType.Information);
                if (ex.InnerException != null)
                {
                    System.Diagnostics.EventLog.WriteEntry("Primes.GraphControl", ex.InnerException.Message, System.Diagnostics.EventLogEntryType.Information);
                    System.Diagnostics.EventLog.WriteEntry("Primes.GraphControl", ex.InnerException.StackTrace, System.Diagnostics.EventLogEntryType.Information);
                }
            }
        }
Example #3
0
        public NumberlineControl()
        {
            InitializeComponent();

            m_Buttons     = new List <NumberButton>();
            markedNumbers = new List <NumberButton>();
            m_ButtonsDict = new Dictionary <PrimesBigInteger, NumberButton>();

            m_ButtonScale = 45.0;
            m_Start       = MIN;
            m_End         = m_Start.Add(PrimesBigInteger.ValueOf((long)m_ButtonScale - 1));

            iscTo.Execute       += new ExecuteSingleDelegate(iscTo_Execute);
            iscTo.KeyDown       += new ExecuteSingleDelegate(iscTo_Execute);
            iscFrom.Execute     += new ExecuteSingleDelegate(iscFrom_Execute);
            iscFrom.KeyDown     += new ExecuteSingleDelegate(iscFrom_Execute);
            iscFrom.OnInfoError += new MessageDelegate(iscFrom_OnInfoError);
            iscFrom.NoMargin     = true;
            iscTo.NoMargin       = true;

            iscFrom.SetBorderBrush(Brushes.Blue);
            iscTo.SetBorderBrush(Brushes.Violet);

            iscTo.OnInfoError           += new MessageDelegate(iscFrom_OnInfoError);
            iscTo.KeyDownNoValidation   += new MessageDelegate(iscTo_KeyDownNoValidation);
            iscFrom.KeyDownNoValidation += new MessageDelegate(iscTo_KeyDownNoValidation);
            IValidator <PrimesBigInteger>     validatefrom      = new BigIntegerMinValueValidator(null, MIN);
            InputValidator <PrimesBigInteger> inputvalidatefrom = new InputValidator <PrimesBigInteger>();

            inputvalidatefrom.DefaultValue = "2";
            inputvalidatefrom.Validator    = validatefrom;
            iscFrom.AddInputValidator(InputSingleControl.Free, inputvalidatefrom);
            SetInputValidator();

            this.FactorizationDone += new VoidDelegate(NumberlineControl_FactorizationDone);
            this.GoldbachDone      += new VoidDelegate(NumberlineControl_GoldbachDone);

            m_EulerPhi         = new EulerPhi(logEulerPhi, lblCalcEulerPhiInfo);
            m_EulerPhi.OnStop += new VoidDelegate(m_EulerPhi_OnStop);

            m_Tau         = new Tau(logTau, lblCalcTauInfo);
            m_Tau.OnStop += new VoidDelegate(m_Tau_OnStop);

            m_Rho         = new Rho(logRho, lblCalcRhoInfo);
            m_Rho.OnStop += new VoidDelegate(m_Rho_OnStop);

            m_DivSum         = new EulerPhiSum(logDivSum, lblCalcDividerSum);
            m_DivSum.OnStop += new VoidDelegate(m_DivSum_OnStop);
        }