/// <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); } }