Ejemplo n.º 1
0
        /// <summary>
        /// Обновление экрана отрисовки
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public void UpdatePicter(object sender, EventArgs e)
        {
            mtx.WaitOne();

            Graphica.Clear();

            //Начертить границы очередей
            int count = algorithm.CountQueuering();

            Graphica.PaintLineQueues(count);

            //начертить начальную очередь
            if (StartPackage.NOTNULL())
            {
                Graphica.PaintStartQueue(StartPackage.GetAllPackages());
            }

            //Начертить содержимое очередей
            List <Queuering> list = algorithm.GetQueueringPackages();

            if (numAlgorithm > 6 && !timerGenPack.IsEnabled)
            {
                //Вывод всех результирующих очередей на экран
                Graphica.PaintQueues(packageResultTests);
                timerAlg.Stop();
            }
            else if (list != null)
            {
                Graphica.PaintQueues(list);
            }


            //Начертить содержимое результирующей очереди
            if (resultPackage.NOTNULL())
            {
                Graphica.PaintResultQueue(resultPackage.GetAllPackages());
            }

            mtx.ReleaseMutex();
        }