Exemplo n.º 1
0
 protected void FireOnMessage(INTFunction function, PrimesBigInteger value, string message)
 {
     if (Message != null)
     {
         Message(function, value, message);
     }
 }
Exemplo n.º 2
0
        private void AddFunction(INTFunction function)
        {
            DataColumn dc = new DataColumn(function.Description);

            m_ColumnsDict.Add(function, dc);
            //m_DataTable.Clear();
            m_DataTable.Columns.Add(dc);

            //irc.SecondParameterPresent = NeedsSecondParameter;
            irc.pnlSecondParameter.IsEnabled = NeedsSecondParameter;
            irc.lblInfoSecond.Text           = NeedsSecondParameter ? Primes.Resources.lang.Numbertheory.Numbertheory.secondparametermissing : "";
        }
Exemplo n.º 3
0
        private void RemoveFunction(INTFunction function)
        {
            if (m_ColumnsDict.ContainsKey(function))
            {
                //m_DataTable.Clear();
                m_DataTable.Columns.Remove(m_ColumnsDict[function]);
                m_ColumnsDict.Remove(function);

                //irc.SecondParameterPresent = NeedsSecondParameter;
                irc.pnlSecondParameter.IsEnabled = NeedsSecondParameter;
                irc.lblInfoSecond.Text           = NeedsSecondParameter ? Primes.Resources.lang.Numbertheory.Numbertheory.secondparametermissing : "";
            }
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
 void f1_Message(INTFunction function, PrimesBigInteger value, string message)
 {
     lock (locksetdata)
     {
         if (m_ColumnsDict.ContainsKey(function))
         {
             DataRow[] rows = m_DataTable.Select("n = '" + value.ToString() + "'");
             if (rows != null && rows.Length == 1)
             {
                 DataColumn dc  = m_ColumnsDict[function];
                 int        col = m_DataTable.Columns.IndexOf(dc);
                 int        row = m_DataTable.Rows.IndexOf(rows[0]);
                 SetData(col, row, message);
             }
         }
     }
 }