.. _gantt_script: Gantt ''''' Описание классов для работы с :ref:`диаграммой Гантта `. TbtkGanttItem ............. .. pas:class:: TbtkGanttItem Визуальный :term:`Элемент диаграммы Гантта`. .. pas:attribute:: ID: Integer Идентификатор. Должен быть уникальным. :rtype: Integer .. pas:attribute:: StartDate: TDateTime Начало :term:`интервала <Интервал диаграммы Гантта>` :term:`элемента <Элемент диаграммы Гантта>`. :rtype: TDateTime .. pas:attribute:: StopDate: TDateTime Конец :term:`интервала <Интервал диаграммы Гантта>` :term:`элемента <Элемент диаграммы Гантта>`. :rtype: TDateTime .. pas:attribute:: Style: TbtkGanttItemStyle Стиль. :rtype: TbtkGanttItemStyle .. pas:attribute:: Color: TColor Цвет. :rtype: TColor .. pas:attribute:: FillStyle: TBrushStyle Шаблон заливки. Применяется к элементам стиля: :pas:class:`TbtkGanttItemStyle.gisSquare`, :pas:class:`TbtkGanttItemStyle.gisCircle`, :pas:class:`TbtkGanttItemStyle.gisRectangle`, :pas:class:`TbtkGanttItemStyle.gisDiamond`. Для заливки используется значение свойства цвета :pas:class:`TbtkGanttItem.Color`. Значение по умолчанию: :pas:class:`TBrushStyle.bsSolid`. :rtype: TBrushStyle .. pas:attribute:: Caption: String Отображаемое наименование. :rtype: String .. pas:attribute:: BorderStyle: TPenStyle Стиль пера границ. :rtype: TPenStyle .. pas:attribute:: BorderColor: TColor Цвет границ. :rtype: TColor .. pas:attribute:: CanMove: Boolean Возможность перемещения. :rtype: Boolean .. pas:attribute:: CanResize: Boolean Возможность изменения размера. :rtype: Boolean .. pas:attribute:: StartDateLimit: TDateTime Положение левой границы пунктирного контура. :rtype: TDateTime .. pas:attribute:: StopDateLimit: TDateTime Положение правой границы пунктирного контура. :rtype: TDateTime .. pas:attribute:: StartDateConstraint: TDateTime Минимальное положение левой границы (при изменении размера или перемещении). :rtype: TDateTime .. pas:attribute:: StopDateConstraint: TDateTime Максимальное положение правой границы (при изменении размера или перемещении). :rtype: TDateTime .. pas:attribute:: Selected: Boolean Выделенность. :rtype: Boolean .. pas:attribute:: Focused: Boolean Сфокусированность. :rtype: Boolean TbtkGanttItemStyle .................. .. pas:class:: TbtkGanttItemStyle Перечисление. Стиль отображения :term:`элемента диаграммы Гантта<Элемент диаграммы Гантта>`. .. pas:attribute:: gisSquare Прямоугольник с границами и заливкой заданного цвета. .. pas:attribute:: gisPipe Прямоугольник с заливкой заданного цвета с градиентом. .. pas:attribute:: gisLine Линия. .. pas:attribute:: gisLineWEnd Линия, ограниченная с обоих концов вертикальными линиями. .. pas:attribute:: gisSpan Диапазон (линия со стрелками на концах, направленными вниз). .. pas:attribute:: gisCircle Круг. Отображается на ``StartDate``. .. pas:attribute:: gisRectangle Квадрат. Отображается на ``StartDate``. .. pas:attribute:: gisDiamond Ромб. Отображается на ``StartDate``. TbtkGanttLink ............. .. pas:class:: TbtkGanttLink :term:`Связь <Связь диаграммы Гантта>` между :term:`элементами диаграммы Гантта <Элемент диаграммы Гантта>`. .. pas:attribute:: Direction: TbtkGanttLinkDirection Направление. Определяет, из каких частей связуемых элементов исходит стрелка (из начала или конца). :rtype: TbtkGanttLinkDirection .. pas:attribute:: SourceItemID: Variant Идентификатор элемента-источника. :rtype: Variant .. pas:attribute:: DestItemID: Variant Идентификатор элемента-приемника. :rtype: Variant TbtkGanttLinkDirection ....................... .. pas:class:: TbtkGanttLinkDirection Перечисление. Способ задания связи между элементами. Первая часть константы указывает, от какой части первого элемента исходит стрелка (из начала или из конца). Вторая часть константы указывает то же самое для второго элемента. .. pas:attribute:: asBeginBegin Соединение начала первого элемента с началом второго. .. pas:attribute:: asBeginEnd Соединение начала первого элемента с концом второго. .. pas:attribute:: asEndBegin Соединение конца первого элемента с началом второго. .. pas:attribute:: asEndEnd Соединение конца первого элемента с концом второго. TbtkVertLineDateDef ................... .. pas:class:: TbtkVertLineDateDef :term:`Вертикальная линия диаграммы Гантта`. .. pas:attribute:: Date: String Дата. :rtype: String .. pas:attribute:: Color: TColor Цвет. :rtype: TColor .. pas:attribute:: Width: Integer Толщина в пикселях. :rtype: Integer .. pas:attribute:: Style: TPenStyle Стиль пера. :rtype: TPenStyle TbtkGanttRegionDef .................. .. pas:class:: TbtkGanttRegionDef :term:`Регион диаграммы Гантта`. .. pas:attribute:: FromDate: String Дата начала. :rtype: String .. pas:attribute:: ToDate: String Дата конца. :rtype: String .. pas:attribute:: Color: TColor Цвет. :rtype: TColor .. pas:attribute:: Style: TBrushStyle Шаблон заливки. :rtype: TBrushStyle TbtkGantt ......... .. pas:class:: TbtkGantt Скриптовый класс для работы с фреймом диаграммы Гантта :class:`TbtkLookUpGanttTreeTabFrame `. .. pas:attribute:: DrawOnlyFocusedItemLinks: Boolean Настройка отображения связей между элементами. :rtype: Boolean :returns: True Отображаются только те связи, которые относятся к выделенным записям. False Отображаются все связи между элементами Интервалы ********* .. pas:class:: .. pas:method:: UpdateScale() .. deprecated:: AS 1.21 rc 9 .. note:: Метод устарел. Оставлен для совместимости с :term:`Global 1`. В :term:`AS` свойства будут применены по завершении прикладной операции, независимо от наличия или отсутствия вызова данного метода. Обновить диаграмму с учетом установленных :pas:attr:`StartDate` и :pas:attr:`StopDate`. Метод необходимо использовать после изменения значений данных свойств, чтобы они стали заметны визуально. .. code-block:: delphi :caption: Пример использования Selection.Gantt.StartDate := StrToDate('5.7.2006'); Selection.Gantt.StopDate := StrToDate('7.7.2006'); Selection.Gantt.UpdateScale; .. pas:attribute:: StartDate: TDateTime Дата начала :term:`отображаемого интервала диаграммы <Отображаемый интервал диаграммы Гантта>`. При установке даты меньше, чем :pas:attr:`MinStartDate`, :pas:attr:`MinStartDate` также уменьшается. :rtype: TDateTime .. seealso:: :pas:meth:`UpdateScale` .. pas:attribute:: StopDate: TDateTime Дата окончания :term:`отображаемого интервала диаграммы <Отображаемый интервал диаграммы Гантта>`. При установке даты больше, чем :pas:attr:`MaxStopDate`, :pas:attr:`MaxStopDate` также увеличивается. :rtype: TDateTime .. seealso:: :pas:meth:`UpdateScale` .. pas:attribute:: MinStartDate: TDateTime Дата начала :term:`фактического интервала диаграммы <Фактический интервал диаграммы Гантта>`. При установке даты больше, чем :pas:attr:`StartDate`, :pas:attr:`StartDate` также увеличивается. :rtype: TDateTime .. seealso:: :pas:meth:`UpdateScale` .. pas:attribute:: MaxStopDate: TDateTime Дата окончания :term:`фактического интервала диаграммы <Фактический интервал диаграммы Гантта>`. При установке даты меньше, чем :pas:attr:`StopDate`, :pas:attr:`StopDate` также уменьшается. :rtype: TDateTime .. seealso:: :pas:meth:`UpdateScale` .. pas:method:: CalcDateInterval() Подобрать :term:`отображаемый интервал <Отображаемый интервал диаграммы Гантта>` таким образом, чтобы все :term:`элементы <Элемент диаграммы Гантта>` отображались на экране. .. pas:method:: CalcDateIntervalByActiveScale() Подобрать :term:`отображаемый интервал <Отображаемый интервал диаграммы Гантта>` (масштаб) по активной шкале. Алгоритм применения масштаба к шкале: 1. Задать :pas:attr:`StopDate` (:pas:attr:`StartDate` не трогаем) 2. Если :pas:attr:`StopDate` упёрся в :pas:attr:`MaxStopDate`, двигаем :pas:attr:`StartDate` .. _gantt_script_vlines: Вертикальные линии ****************** .. pas:class:: .. pas:attribute:: VLines: TbtkVertLineDateDef Коллекция :term:`вертикальных линий <Вертикальная линия диаграммы Гантта>`. :rtype: TbtkVertLineDateDef .. pas:attribute:: VLinesCount: Integer Число :term:`вертикальных линий <Вертикальная линия диаграммы Гантта>`. :rtype: Integer .. pas:method:: AddVLine(Date: TDateTime; Color: Integer; Style: TPenStyle; Width: Integer): Integer Добавить :term:`вертикальную линию <Вертикальная линия диаграммы Гантта>`. Возвращает индекс добавленной линии в коллекции. :param TDateTime Date: временная метка; :param TColor Color: цвет; :param TPenStyle Style: стиль пера; :param Integer Width: толщина в пикселях. :rtype: Integer .. code-block:: delphi :caption: Пример использования Selection.ExecOpScript('#AfterOpen'); i := Selection.Gantt.AddVLine('11.04.2009', $0000FF, psDot, 1); .. pas:method:: FindVLineByDate(Date: TDateTime): integer Найти :term:`вертикальную линию <Вертикальная линия диаграммы Гантта>` по дате. Если линия найдена, возвращается её индекс в коллекции. Если не найдена, возвращается **-1**. :param TDateTime Date: дата для поиска. :rtype: Integer .. pas:method:: DeleteVLine(Index: Integer) Удалить :term:`вертикальную линию <Вертикальная линия диаграммы Гантта>` по индексу. :param Integer Index: индекс. .. code-block:: delphi :caption: Пример использования Index := Gantt.FindVLineByDate(StrToDateTime('11.04.2009')); Gantt.DeleteVLine(Index); .. pas:method:: ClearVLines() Очистить коллекцию :term:`вертикальных линий <Вертикальная линия диаграммы Гантта>`. .. _gantt_script_regions: Регионы ******* .. pas:class:: .. code-block:: delphi :caption: Пример работы с регионами i := Gantt.AddRegion('11.04.2009 00:30', '13.04.2009 12:38', $8C1EB2, bsBDiagonal); Gantt.DeleteRegion(i); i := Gantt.AddRegion('11.04.2009 00:30', '13.04.2009 19:38', $8CAE02, bsBDiagonal); Gantt.ClearRegions; i := Gantt.AddRegion('11.04.2009 00:30', '13.04.2009 19:38', $0000FF, bsBDiagonal); Gantt.Region[Gantt.RegionCount - 1].FromDate := '13.04.2009 00:30'; Gantt.Region[Gantt.RegionCount - 1].ToDate := '17.04.2009 09:30'; .. pas:attribute:: Region: TbtkGanttRegionDef Коллекция временных :term:`регионов <Регион диаграммы Гантта>`. :rtype: TbtkGanttRegionDef .. pas:attribute:: RegionCount: Integer Количество :term:`регионов <Регион диаграммы Гантта>` в коллекции. :rtype: Integer .. pas:method:: AddRegion(FromDate, ToDate: String; Color: Integer; Style: TBrushStyle): Integer Добавить :term:`регион <Регион диаграммы Гантта>` на график Гантта. Возвращает индекс региона в коллекции. :param String FromDate: дата начала; :param String ToDate: дата конца; :param TColor Color: цвет; :param TBrushStyle Style: шаблон заливки. :rtype: Integer .. pas:method:: DeleteRegion(Index: Integer) Удалить :term:`регион <Регион диаграммы Гантта>` из коллекции регионов по индексу. :param Integer Index: индекс региона в коллекции. .. pas:method:: ClearRegion() Очистить коллекцию :term:`регионов <Регион диаграммы Гантта>`. .. _gantt_script_selecteddate: Выделенная дата *************** .. pas:class:: Выделение даты осуществляется двойным щелчком. .. pas:attribute:: ShowSelectedDate: Boolean Отображение линии для выделенной даты. Значение по умолчанию: **False**. - **True** — отображать; - **False** — не отображать. :rtype: Boolean .. pas:attribute:: SelectedDatePenStyle: TPenStyle Стиль пера линии выделенной даты. Значение по умолчанию: **psDashDot**. :rtype: TPenStyle .. pas:attribute:: SelectedDateColor: TColor Цвет линии выделенной даты. Значение по умолчанию: **clLime** (зелёный). :rtype: TColor .. pas:attribute:: SelectedDateTime: TDateTime Выделенная дата. **Только для чтения**. :rtype: TDateTime .. _gantt_script_currentdate: Текущая дата ************ .. pas:class:: Текущая дата соответствует значению системного времени. .. pas:attribute:: ShowCurrentDate: Boolean Отображение линии для текущей даты. Значение по умолчанию: **False**. - **True** — отображать; - **False** — не отображать. :rtype: Boolean .. pas:attribute:: CurrentDatePenStyle: TPenStyle Стиль пера линии текущей даты. :rtype: TPenStyle .. pas:attribute:: CurrentDateColor: TColor Цвет линии текущей даты. :rtype: TColor Раскраска дней ************** .. pas:class:: .. _gantt_script_restdays: Выходные ++++++++ .. pas:class:: .. pas:attribute:: RestDays: Set of integer Множество порядковых номеров дней недели от 1 до 7, которые являются выходными. Значение по умолчанию: **[]**. :rtype: Set_of_integer .. code-block:: delphi :caption: Пример использования Selection.Gantt.RestDays := [6, 7]; // Выходные дни — суббота и воскресенье .. pas:attribute:: HighLightRestdays: Boolean Выделять выходные дни цветом. Значение по умолчанию: **True**. - **True** — выделять; - **False** — не выделять. :rtype: Boolean .. _gantt_script_workdays: Рабочие +++++++ Рабочие дни перекрывают выходные дни. .. pas:class:: .. pas:attribute:: WorkDays: Array Массив рабочих дней в виде конкретных дат. :rtype: Array .. code-block:: delphi :caption: Пример использования Selection.Gantt.WorkDays := [StrToDate('22.04.2009'), StrToDate('21.04.2009')]; .. _gantt_script_holidays: Праздничные +++++++++++ Праздничные дни перекрывают выходные и рабочие дни. .. pas:class:: .. pas:attribute:: HoliDays: Array Массив праздничных дней в виде конкретных дат. :rtype: Array .. code-block:: delphi :caption: Пример использования Selection.Gantt.HoliDays := [StrToDate('24.04.2009'), StrToDate('25.04.2009')]; .. pas:attribute:: HighLightHolidays: Boolean Выделять цветом праздничные дни. :rtype: Boolean Выделенные элементы ******************* .. pas:class:: .. pas:attribute:: SelectedItems: TbtkGanttItem Коллекция выделенных :term:`элементов диаграммы <Элемент диаграммы Гантта>`. Выделение нескольких элементов проиcходит с помощью левой кнопки мыши при зажатой клавише Ctrl. :rtype: TbtkGanttItem .. pas:attribute:: Count: Integer Количество выделенных :term:`элементов <Элемент диаграммы Гантта>` в коллекции :pas:attr:`SelectedItems`. :rtype: Integer .. pas:attribute:: FocusedItem: TbtkGanttItem Ссылка на последний сфокусированный :term:`элемент <Элемент диаграммы Гантта>`. Если элемента нет, возвращает **nil**. :rtype: TbtkGanttItem Временная шкала *************** .. pas:class:: .. pas:attribute:: ScalesSchema: string :term:`Схема шкал <Схема шкал диаграммы Гантта>`, используемая :term:`таймлайном <Таймлайн>`. Присвоение подразумевает, что из схемы будет также взято количество уровней и локаль. .. attention:: На данный момент чтение и запись свойства не биективны. - Запись: можно присвоить :ref:`YAML-документ `, состоящий из двух схем: :term:`схемы шкал <Схема шкал диаграммы Гантта>` и :term:`схемы форматов <Схема форматов единиц измерения времени>`. - Чтение: возвращается результирующая схема - :term:`схема шкал <Схема шкал диаграммы Гантта>`, размноженная с использованием :term:`схемы форматов <Схема форматов единиц измерения времени>`. .. pas:attribute:: Timeline: TbtkTimeline Объект для доступа к настройкам :term:`таймлайна <Таймлайн>`. :rtype: TbtkTimeline .. pas:method:: ScaleInfoToYaml(Info: TbtkScaleScriptObject): string Преобразовать :term:`схему шкал <Схема шкал диаграммы Гантта>` в текст в формате Yaml. :param TbtkScaleScriptObject Info: схема шкал. .. pas:method:: YamlToScaleInfo(Yaml: string): TbtkScaleScriptObject Преобразовать текст в формате Yaml в :term:`схему шкал <Схема шкал диаграммы Гантта>`. :param String Yaml: текст в формате Yaml, содержащий схему. .. seealso:: :pas:func:`FormatDateTimeEx` .. _gantt_script_dialogs: Вызов диалогов ************** .. pas:class:: .. pas:method:: SelectScaleSchema(out ScaleSchema: TbtkScaleScriptObject): boolean Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, :term:`единицы измерения времени <Единица измерения времени>`, интервалы и форматы каждого уровня из :term:`схемы форматов <Схема форматов единиц измерения времени>` таймлайна. :param TbtkScaleScriptObject ScaleSchema: out параметр, в который возвращается шкала :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример var scale: TbtkScaleScriptObject; begin res := Selection.Gantt.SelectScaleSchema(scale); if Res then Selection.Gantt.TimeLine.ActiveScale := scale; end; .. pas:method:: SelectScaleSchema(out ScaleSchema: string): boolean Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, :term:`единицы измерения времени <Единица измерения времени>`, интервалы и форматы каждого уровня из :term:`схемы форматов <Схема форматов единиц измерения времени>` таймлайна. :param string ScaleSchema: out параметр, в который возвращается шкала в формате YAML. :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример begin scale := ''; res := Selection.Gantt.SelectScaleSchema(scale); if Res then Selection.Gantt.TimeLine.ActiveScaleAsYaml := scale; end; .. pas:method:: SelectScaleSchema(out ScaleSchema: string; ScalesSchema: string): boolean Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, :term:`единицы измерения времени <Единица измерения времени>`, интервалы и форматы каждого уровня из схемы форматов, переданной на вход в качестве параметра **ScalesSchema**. :param string ScaleSchema: out параметр, в который возвращается шкала в формате YAML. :param string ScalesSchema: :term:`Схема шкал диаграммы Гантта` в формате YAML :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример uses Classes var schema: TStringList; begin scale := ''; schema := TStringList.Create; try schema.LoadFromFile({имя файла со схемой}); res := Selection.Gantt.SelectScaleSchema(scale, schema.Text); if Res then Selection.Gantt.TimeLine.ActiveScaleAsYAML := ; finally schema.free; end; end; .. pas:method:: SelectScaleSchema(out ScaleSchema: TbtkScaleScriptObject; ScalesSchema: string): boolean Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, :term:`единицы измерения времени <Единица измерения времени>`, интервалы и форматы каждого уровня из схемы форматов, переданной на вход в качестве параметра **ScalesSchema**. :param TbtkScaleScriptObject ScaleSchema: out параметр, в который возвращается шкала :param string ScalesSchema: :term:`Схема шкал диаграммы Гантта` в формате YAML :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример uses Classes var schema: TStringList; scale: TbtkScaleScriptObject; begin schema := TStringList.Create; try schema.LoadFromFile({имя файла со схемой}); res := Selection.Gantt.SelectScaleSchema(scale, schema.Text); if Res then Selection.Gantt.TimeLine.ActiveScale := scale; finally schema.free; end; end; .. pas:method:: SelectScaleZoom(out Zoom: TbtkTimeUnitInfoScriptObject): boolean Вывести диалог задания :term:`визуального интервала <Отображаемый интервал диаграммы Гантта>`. :param TbtkTimeUnitInfoScriptObject Zoom: out параметр, в который возвращается выбранный описатель единицы измерения времени. :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример var z: TbtkTimeunitInfoScriptObject; begin res := Selection.Gantt.SelectScaleZoom(z); if res then Selection.Gantt.TimeLine.SetZoom(z) end; .. pas:method:: SelectScaleZoom(out Zoom: TbtkTimeUnitInfoScriptObject; DialogElements: array of array of Variant): boolean Вывести диалог задания :term:`визуального интервала <Отображаемый интервал диаграммы Гантта>`. :param TbtkTimeUnitInfoScriptObject Zoom: out параметр, в который возвращается выбранный описатель единицы измерения времени. :param DialogElements: массив элементов диалога. Представлен в виде массива массивов по 3 элемента, в которых хранятся отображаемое имя элемента, :term:`Единица измерения времени` и временной интервал соответственно. :type DialogElements: array of array of Variant :rtype: Boolean :returns: True Если диалог завершился успешно (была нажата кнопка OK) False В случае отмены диалога .. code-block:: delphi :caption: Пример var zoom: TbtkTimeunitInfoScriptObject; begin dialogItems := [['1 day', tuDay, 1], ['1 week', tuWeek, 1], ['1 month', tuMonth, 1], ['1 halfYear', tuHalfYear, 1]]; res := Selection.Gantt.SelectScaleZoom(zoom, dialogItems); if res then Selection.Gantt.TimeLine.SetZoom(zoom) end; Отмена операций *************** .. pas:class:: .. pas:attribute:: AcceptChanges: Boolean Отменить выполняемое действие. Анализируется на выходе из операций :btk:event:`OnItemChanged`, :btk:event:`OnLinkCreate`. Если **False**, действие отменяется. Значение по умолчанию: **True**. Возможные значения: - **False** — отменить выполнение действия; - **True** — не отменять. :rtype: Boolean Отчёт FastReport **************** .. pas:class:: .. pas:method:: CreateReportEx(ReportName: String; ReportVersionDate: TDateTime; Action: TReportViewMode; ShowWizard: Boolean; OpSelectionName: String; StyleFlag: TFormCreationFlags; ParamNames: Array; ParamValues: Array) Создать отчет FastReport4 на основе шаблона "Diagram Report(\*.dgr)". :param String ReportName: системное имя отчёта. Отчет должен быть формата "Diagram Report(\*.dgr)". :param TDateTime ReportVersionDate: дата, по которой будет найдена актуальная версия отчёта (по умолчанию системная дата). :param TReportViewMode Action: действие после создания отчёта. :param Boolean ShowWizard: отображение мастера настройки отчётов (если указана главная выборка мастера). :param String OpSelectionName: системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта (по умолчанию подставляется выборка со стандартным набором команд — "Save as" и "Print"). :param TFormCreationFlags StyleFlag: модальность окна просмотра отчёта. Значение fcfMDI работает только для отчетов на основе FastReport 4й версии. :param Array ParamNames: массив имен параметров отчета. Обязательные параметры: - StartDate, StopDate — диапазон печати диаграммы Гантта, с StartDate по StopDate. Дополнительные параметры: - ReadOnlyPreview со значением 1 запрещает редактирование построенного отчета из режима предпросмотра. :param Array ParamValues: массив значений параметров отчета, соответствующих AParamNames. Timeline '''''''' TbtkTimeUnit ............ .. pas:class:: TbtkTimeUnit Перечисление. :term:`Единица измерения времени`. .. pas:attribute:: tuMilliSecond Миллисекунда. .. pas:attribute:: tuSecond Секунда. .. pas:attribute:: tuMinute Минута. .. pas:attribute:: tuHour Час. .. pas:attribute:: tuDay День. .. pas:attribute:: tuWeek Неделя. .. pas:attribute:: tuDecade Декада. .. pas:attribute:: tuMonth Месяц. .. pas:attribute:: tuQuarter Квартал. .. pas:attribute:: tuHalfYear Полугодие. .. pas:attribute:: tuYear Год. .. pas:attribute:: tuEra Эра. TbtkTimeUnitInfoScriptObject ............................ .. pas:class:: TbtkTimeUnitInfoScriptObject :term:`Описатель единицы измерения времени`. .. pas:attribute:: TimeUnit: TbtkTimeUnit :term:`Единица измерения времени`. .. pas:attribute:: Interval: Cardinal Интервал, с которым выводятся отметки. TbtkScaleLevel .............. .. pas:class:: TbtkScaleLevel Уровень шкалы. .. pas:attribute:: slBottom Нижняя. .. pas:attribute:: slMiddle Средняя. .. pas:attribute:: slTop Верхняя. TbtkScaleLevelCount ................... .. pas:class:: TbtkScaleLevelCount Перечисление. Набор видимых уровней шкалы. .. pas:attribute:: slcMiddle Средний. .. pas:attribute:: slcMiddleBottom Средний, нижний. .. pas:attribute:: slcMiddleBottomTop Средний, нижний, верхний. TbtkScaleLevelInfoScriptObject .............................. .. pas:class:: TbtkScaleLevelInfoScriptObject Информация об уровне шкалы. .. pas:attribute:: Level: TbtkScaleLevel Уровень шкалы. .. pas:attribute:: TimeUnit: TbtkTimeUnit :term:`Единица измерения времени`. .. pas:attribute:: Interval: Cardinal Интервал, с которым выводятся отметки. .. pas:attribute:: Format: string Формат подписей отметок шкалы. TbtkScaleScriptObject ...................... .. pas:class:: TbtkScaleScriptObject :term:`Шкала диаграммы Гантта` .. pas:attribute:: Levels[ALevel: TbtkScaleLevel]: TbtkScaleLevelInfoScriptObject Возвращает указанный уровень шкалы :param TbtkScaleLevel Level: Уровень шкалы :rtype: TbtkScaleLevelInfoScriptObject .. pas:method:: BeginUpdate Если текущая шкала получена из :term:`таймлайна <Таймлайн>`, метод запрещает применение настроек шкалы к :term:`таймлайну <Таймлайн>`. .. attention:: После выполнения изменений шкалы обязательно вызывайте метод :pas:meth:`EndUpdate`; .. code-block:: delphi :caption: Пример timeline := Selection.Gantt.TimeLine; timeline.ActiveScale.BeginUpdate; timeline.ActiveScale.Levels[slMiddle].TimeUnit := tuYear; timeline.ActiveScale.Levels[slMiddle].Format := 'yyyy "year"'; timeLine.ActiveScale.Levels[slMiddle].Interval := 5; timeline.ActiveScale.EndUpdate; .. pas:method:: EndUpdate Разрешает применение настроек шкалы к :term:`таймлайну <Таймлайн>`. Применяет к :term:`таймлайну <Таймлайн>` все изменеиня шкалы, сделанные с момента вызова :pas:meth:`BeginUpdate`. TbtkTimeline ............ .. pas:class:: TbtkTimeline :term:`Таймлайн` .. pas:attribute:: LevelsCount: TbtkScaleLevelCount Набор видимых уровней шкалы. :rtype: TbtkScaleLevelCount .. pas:attribute:: ActiveScale: TbtkScaleScriptObject Текущая :term:`Шкала диаграммы Гантта` :rtype: TbtkScaleScriptObject .. pas:attribute:: ActiveScaleAsYAML: string Текущая :term:`Шкала диаграммы Гантта` в :ref:`формате Yaml ` :rtype: string .. seealso:: Свойство дублирует поведение параметра :btk:frameprop:`Timeline.Scale`. .. pas:method:: SetZoom(Zoom: TbtkTimeUnitInfoScriptObject) Устанавливает отображаемый интервал диаграмы Гантта. :param TbtkTimeUnitInfoScriptObject Zoom: Временной интервал Логика установки отображаемого интервала такая же, как и у метода :pas:meth:`CalcDateIntervalByActiveScale`: 1. Задать :pas:attr:`StopDate` (:pas:attr:`StartDate` не трогаем) 2. Если :pas:attr:`StopDate` уперся в :pas:attr:`MaxStopDate`, двигаем :pas:attr:`StartDate` .. pas:method:: LevelsByCount(LevelsCount: TbtkScaleLevelCount): array of TbtkScaleLevel Возвращает массив уровней, которые соответствуют данному количеству уровней :param TbtkScaleLevelCount LevelsCount: Количество уровней :rtype: array of TbtkScaleLevel