Ejemplo n.º 1
0
        /////////////////////////////////////Public методы/////////////////////////////////////
        public FormLSA(Algorithm algorithm, FormMain formMain)
        {
            InitializeComponent();

            //Получение информации из главной формы.
            this.formMain  = formMain;
            this.algorithm = algorithm;
            int nLine = algorithm.NumberOperator - 1;

            //Добавление столбцов матрицы.
            dataGridViewS1.Columns.Add("transition", "Формулы");
            dataGridViewS2.Columns.Add("transition", "Формулы");
            dataGridViewS3.Columns.Add("transition", "Формулы");
            dataGridViewS3_Minimized.Columns.Add("transition", "Формулы");

            dataGridViewS1.Columns[0].Width           = 2000;
            dataGridViewS2.Columns[0].Width           = 2000;
            dataGridViewS3.Columns[0].Width           = 2000;
            dataGridViewS3_Minimized.Columns[0].Width = 2000;

            //Добавление строк матрицы.
            dataGridViewS1.Rows.Add(nLine);
            dataGridViewS2.Rows.Add(nLine);
            dataGridViewS3.Rows.Add(nLine);
            dataGridViewS3_Minimized.Rows.Add(nLine);
            for (int i = 0; i < nLine; i++)
            {
                dataGridViewS1.Rows[i].HeaderCell.Value           = algorithm.getOperatorVertex(i).Name + " →";
                dataGridViewS2.Rows[i].HeaderCell.Value           = algorithm.getOperatorVertex(i).Name + " →";
                dataGridViewS3.Rows[i].HeaderCell.Value           = algorithm.getOperatorVertex(i).Name + " →";
                dataGridViewS3_Minimized.Rows[i].HeaderCell.Value = algorithm.getOperatorVertex(i).Name + " →";
            }

            dataGridViewS1.DefaultCellStyle.Font           = new Font("calibri", 14, FontStyle.Regular);
            dataGridViewS2.DefaultCellStyle.Font           = new Font("calibri", 14, FontStyle.Regular);
            dataGridViewS3.DefaultCellStyle.Font           = new Font("calibri", 14, FontStyle.Regular);
            dataGridViewS3_Minimized.DefaultCellStyle.Font = new Font("calibri", 14, FontStyle.Regular);
            textBoxLSA.Font = new Font("calibri", 14, FontStyle.Regular);


            dataGridViewS1.ReadOnly           = false;
            dataGridViewS2.ReadOnly           = true;
            dataGridViewS3.ReadOnly           = true;
            dataGridViewS3_Minimized.ReadOnly = true;
            textBoxLSA.ReadOnly = true;

            //Подстройка прогресс бара под задание.
            progressBar.Maximum = 4 * (algorithm.NumberOperator - 1);  //Из конечной вершины нет перехода.


            //Инициализация цветов.
            colorEmpty      = Color.White;
            colorCorrect    = Color.LightGreen;
            colorNotCorrect = Color.LightPink;

            checkingTheLogicScheme = new CheckingTheLogicScheme(algorithm);


            foreach (DataGridViewColumn column in dataGridViewS1.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            foreach (DataGridViewColumn column in dataGridViewS2.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            foreach (DataGridViewColumn column in dataGridViewS3.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            foreach (DataGridViewColumn column in dataGridViewS3_Minimized.Columns)
            {
                column.SortMode = DataGridViewColumnSortMode.NotSortable;
            }

            //Время.
            totalTick      = 0;                           //Общее время.
            dateOpenForm   = DateTime.Now;                //Время начала.
            timer          = new Timer();                 //Инициализация таймера.
            timer.Interval = 1000;                        //Интервал в миллисекундах.
            timer.Tick    += new EventHandler(tickTimer); //Добавление события подсчета времени.
            timer.Start();                                //Запуск таймера.
        }