Пример #1
0
        /// <summary>
        /// Создает отдельный элемент графика
        /// </summary>
        /// <param name="operationType"></param>
        /// <param name="beginX"></param>
        /// <param name="beginY"></param>
        /// <param name="duration"></param>
        /// /// <param name="trainNumber"></param>
        private void MakeElement(string operationType, int beginX, int beginY, int duration, string trainNumber)
        {
            switch (operationType)
            {
            case Constants.Waiting:
            {
                MakeWaiting(beginX, beginY, duration);
                break;
            }

            case Constants.Moving:
            {
                MakeMoving(beginX, beginY, duration, trainNumber);
                break;
            }

            case Constants.TO:
            {
                MakeTO(beginX, beginY, duration);
                break;
            }

            case Constants.BrakeTesting:
            {
                MakeBrakeTesting(beginX, beginY, duration);
                break;
            }

            case Constants.Coupling:
            {
                MakeCoupling(beginX, beginY, duration);
                break;
            }

            case Constants.UnCoupling:
            {
                MakeUnCoupling(beginX, beginY, duration);
                break;
            }

            case Constants.Loading:
            {
                MakeLoading(beginX, beginY, duration);
                break;
            }

            case Constants.UnLoading:
            {
                MakeUnLoading(beginX, beginY, duration);
                break;
            }
            }

            _aCadWorker.MakeBox(duration, 10, beginX, beginY); // выводит коробочку, если не знает, что нарисовать
        }
        /// <summary>
        /// Делает сетку графика
        /// </summary>
        /// <param name="numberOfRows"></param>
        private void MakeGrid(int numberOfRows)
        {
            _aCadWorker.MakeBox(Constants.MinutesInDay, _rowsNumber * Constants.HeightOfRow, Constants.TableFatLineWeight);
            // высота линий сетки
            int heightOfLine = numberOfRows * Constants.HeightOfRow;

            // часовые линии
            for (int i = 60; i < 1440; i = i + 60)
            {
                _aCadWorker.MakePolyline(i, 0, i, heightOfLine, Constants.TableFatLineWeight);
            }
            // получасовые линии
            _aCadWorker.LoadLineType(Constants.DashSpaceLineType); // загружаем тип для получасовых линий
            for (int i = 30; i < 1440; i = i + 60)
            {
                _aCadWorker.MakePolyline(i, 0, i, heightOfLine, Constants.DashSpaceLineType, 0.5);
                ///////////////////// теперь измени масштаб линии и дальше
            }
            // разделители строк
            for (int i = Constants.HeightOfRow; i < heightOfLine; i = i + Constants.HeightOfRow)
            {
                _aCadWorker.MakePolyline(0, i, Constants.MinutesInDay, i);
            }
        }