Example #1
0
        /// <summary>
        /// Создает отдельный элемент графика
        /// </summary>
        /// <param name="opeartionStr"></param>
        public void MakeElement(string opeartionStr)
        {
            StringParser stringParser = new StringParser();

            string[] ar = stringParser.Parse(opeartionStr, Constants.WordsInOperationSeparator);

            try
            {
                string operationType    = ar[0];
                int    begin            = int.Parse(ar[1]);
                int    duration         = int.Parse(ar[2]);
                string trainNumber      = ar[3];
                string otherInformation = ar[4];
                // здесь будет храниться дополнительная информация об операции, а как с ней поступать решим потом

                _aCadWorker.CreateNewLayer(trainNumber, Constants.ElementLineWeight);
                _aCadWorker.MakeLayerCurrent(trainNumber);

                MakeElement(operationType, begin, _y, duration, trainNumber);
            }
            catch (IndexOutOfRangeException e)
            {
                _aCadWorker.MakeMessage("Проблемы в ElementMaker.MakeElement.");
            }

            _aCadWorker.MakeLayerCurrent(Constants.DefaultZeroLayerName);
        }
        /// <summary>
        /// Основная функция - создает таблицу для графика
        /// </summary>
        public void Generate()
        {
            // создаем и делаем текущем слой для таблицы
            _aCadWorker.CreateNewLayer(Constants.TableLayerName);
            _aCadWorker.MakeLayerCurrent(Constants.TableLayerName);

            // сетка графика для рисовния
            MakeGrid(_rowsNumber);
            // таблица вокруг графика
            MakeFrame(_rowsNumber);


            // делаем текущем дефолтный слой
            _aCadWorker.MakeLayerCurrent(Constants.DefaultZeroLayerName);
        }
        /// <summary>
        /// Создает элементы в строчке графика
        /// </summary>
        public void Generate()
        {
            StringParser stringParser = new StringParser();

            string trackName = stringParser.GetTrackName(_line); // получаем название строчки (пути)

            _aCadWorker.MakeLayerCurrent(Constants.TableLayerName);
            _aCadWorker.MakeMText(-Constants.LengthOfTrackName + 8, _y + Constants.HeightOfNumbers + 5, Constants.HeightOfNumbers, trackName);
            _aCadWorker.MakeLayerCurrent(Constants.DefaultZeroLayerName);

            List <string> operations   = stringParser.GetOperations(_line); // получаем элементы графика в строке
            ElementMaker  elementMaker = new ElementMaker(_aCadWorker, _y);

            // создаем каждый элемент
            foreach (string oper in operations)
            {
                elementMaker.MakeElement(oper);
            }
        }