Gantt#
Описание классов для работы с диаграммой Гантта.
TbtkGanttItem#
- class TbtkGanttItem#
Визуальный Элемент диаграммы Гантта.
- ID Integer #
Идентификатор. Должен быть уникальным.
- Return type
Integer
- Style TbtkGanttItemStyle #
Стиль.
- Return type
- FillStyle TBrushStyle #
Шаблон заливки.
Применяется к элементам стиля:
TbtkGanttItemStyle.gisSquare
,TbtkGanttItemStyle.gisCircle
,TbtkGanttItemStyle.gisRectangle
,TbtkGanttItemStyle.gisDiamond
.Для заливки используется значение свойства цвета
TbtkGanttItem.Color
.Значение по умолчанию:
TBrushStyle.bsSolid
.- Return type
- Caption String #
Отображаемое наименование.
- Return type
String
- CanMove Boolean #
Возможность перемещения.
- Return type
Boolean
- CanResize Boolean #
Возможность изменения размера.
- Return type
Boolean
- StartDateLimit TDateTime #
Положение левой границы пунктирного контура.
- Return type
TDateTime
- StopDateLimit TDateTime #
Положение правой границы пунктирного контура.
- Return type
TDateTime
- StartDateConstraint TDateTime #
Минимальное положение левой границы (при изменении размера или перемещении).
- Return type
TDateTime
- StopDateConstraint TDateTime #
Максимальное положение правой границы (при изменении размера или перемещении).
- Return type
TDateTime
- Selected Boolean #
Выделенность.
- Return type
Boolean
- Focused Boolean #
Сфокусированность.
- Return type
Boolean
TbtkGanttItemStyle#
- class TbtkGanttItemStyle#
Перечисление. Стиль отображения элемента диаграммы Гантта.
- gisSquare#
Прямоугольник с границами и заливкой заданного цвета.
- gisPipe#
Прямоугольник с заливкой заданного цвета с градиентом.
- gisLine#
Линия.
- gisLineWEnd#
Линия, ограниченная с обоих концов вертикальными линиями.
- gisSpan#
Диапазон (линия со стрелками на концах, направленными вниз).
- gisCircle#
Круг. Отображается на
StartDate
.
- gisRectangle#
Квадрат. Отображается на
StartDate
.
- gisDiamond#
Ромб. Отображается на
StartDate
.
TbtkGanttLink#
- class TbtkGanttLink#
Связь между элементами диаграммы Гантта.
- Direction TbtkGanttLinkDirection #
Направление. Определяет, из каких частей связуемых элементов исходит стрелка (из начала или конца).
- Return type
- SourceItemID Variant #
Идентификатор элемента-источника.
- Return type
Variant
- DestItemID Variant #
Идентификатор элемента-приемника.
- Return type
Variant
TbtkGanttLinkDirection#
- class TbtkGanttLinkDirection#
Перечисление. Способ задания связи между элементами.
Первая часть константы указывает, от какой части первого элемента исходит стрелка (из начала или из конца).
Вторая часть константы указывает то же самое для второго элемента.
- asBeginBegin#
Соединение начала первого элемента с началом второго.
- asBeginEnd#
Соединение начала первого элемента с концом второго.
- asEndBegin#
Соединение конца первого элемента с началом второго.
- asEndEnd#
Соединение конца первого элемента с концом второго.
TbtkVertLineDateDef#
TbtkGanttRegionDef#
- class TbtkGanttRegionDef#
-
- FromDate String #
Дата начала.
- Return type
String
- ToDate String #
Дата конца.
- Return type
String
- Style TBrushStyle #
Шаблон заливки.
- Return type
TbtkGantt#
- class TbtkGantt#
Скриптовый класс для работы с фреймом диаграммы Гантта
TbtkLookUpGanttTreeTabFrame
.- DrawOnlyFocusedItemLinks Boolean #
Настройка отображения связей между элементами.
- Return type
Boolean
- Returns
- True
Отображаются только те связи, которые относятся к выделенным записям.
- False
Отображаются все связи между элементами
Интервалы#
- UpdateScale()#
Deprecated since version AS: 1.21 rc 9
Note
Метод устарел. Оставлен для совместимости с Global 1. В AS свойства будут применены по завершении прикладной операции, независимо от наличия или отсутствия вызова данного метода.
Обновить диаграмму с учетом установленных
StartDate
иStopDate
.Метод необходимо использовать после изменения значений данных свойств, чтобы они стали заметны визуально.
<pascal> Selection.Gantt.StartDate := StrToDate('5.7.2006'); Selection.Gantt.StopDate := StrToDate('7.7.2006'); Selection.Gantt.UpdateScale; </pascal>
- StartDate TDateTime #
Дата начала отображаемого интервала диаграммы.
При установке даты меньше, чем
MinStartDate
,MinStartDate
также уменьшается.- Return type
TDateTime
See also
- StopDate TDateTime #
Дата окончания отображаемого интервала диаграммы.
При установке даты больше, чем
MaxStopDate
,MaxStopDate
также увеличивается.- Return type
TDateTime
See also
- MinStartDate TDateTime #
Дата начала фактического интервала диаграммы.
При установке даты больше, чем
StartDate
,StartDate
также увеличивается.- Return type
TDateTime
See also
- MaxStopDate TDateTime #
Дата окончания фактического интервала диаграммы.
При установке даты меньше, чем
StopDate
,StopDate
также уменьшается.- Return type
TDateTime
See also
- CalcDateInterval()#
Подобрать отображаемый интервал таким образом, чтобы все элементы отображались на экране.
- CalcDateIntervalByActiveScale()#
Подобрать отображаемый интервал (масштаб) по активной шкале.
- Алгоритм применения масштаба к шкале:
Если
StopDate
упёрся вMaxStopDate
, двигаемStartDate
Вертикальные линии#
- VLines TbtkVertLineDateDef #
Коллекция вертикальных линий.
- Return type
- VLinesCount Integer #
Число вертикальных линий.
- Return type
Integer
- AddVLine(Date: TDateTime; Color: Integer; Style: TPenStyle; Width: Integer) Integer #
Добавить вертикальную линию.
Возвращает индекс добавленной линии в коллекции.
- Parameters
- Return type
Integer
<pascal> Selection.ExecOpScript('#AfterOpen'); i := Selection.Gantt.AddVLine('11.04.2009', $0000FF, psDot, 1); </pascal>
- FindVLineByDate(Date: TDateTime) integer #
Найти вертикальную линию по дате. Если линия найдена, возвращается её индекс в коллекции. Если не найдена, возвращается -1.
- Parameters
Date (
TDateTime
) – дата для поиска.- Return type
Integer
- DeleteVLine(Index: Integer)#
Удалить вертикальную линию по индексу.
- Parameters
Index (
Integer
) – индекс.
<pascal> Index := Gantt.FindVLineByDate(StrToDateTime('11.04.2009')); Gantt.DeleteVLine(Index); </pascal>
- ClearVLines()#
Очистить коллекцию вертикальных линий.
Регионы#
<pascal> 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'; </pascal>
- Region TbtkGanttRegionDef #
Коллекция временных регионов.
- Return type
- AddRegion(FromDate, ToDate: String; Color: Integer; Style: TBrushStyle) Integer #
Добавить регион на график Гантта.
Возвращает индекс региона в коллекции.
- Parameters
FromDate (
String
) – дата начала;ToDate (
String
) – дата конца;Color (
TColor
) – цвет;Style (
TBrushStyle
) – шаблон заливки.
- Return type
Integer
Выделенная дата#
Выделение даты осуществляется двойным щелчком.
- ShowSelectedDate Boolean #
Отображение линии для выделенной даты.
Значение по умолчанию: False.
True — отображать;
False — не отображать.
- Return type
Boolean
- SelectedDatePenStyle TPenStyle #
Стиль пера линии выделенной даты.
Значение по умолчанию: psDashDot.
- Return type
- SelectedDateColor TColor #
Цвет линии выделенной даты.
Значение по умолчанию: clLime (зелёный).
- Return type
- SelectedDateTime TDateTime #
Выделенная дата.
Только для чтения.
- Return type
TDateTime
Текущая дата#
Текущая дата соответствует значению системного времени.
- ShowCurrentDate Boolean #
Отображение линии для текущей даты.
Значение по умолчанию: False.
True — отображать;
False — не отображать.
- Return type
Boolean
Раскраска дней#
Выходные#
- RestDays Set of integer #
Множество порядковых номеров дней недели от 1 до 7, которые являются выходными.
Значение по умолчанию: [].
- Return type
Set_of_integer
<pascal> Selection.Gantt.RestDays := [6, 7]; // Выходные дни — суббота и воскресенье </pascal>
- HighLightRestdays Boolean #
Выделять выходные дни цветом.
Значение по умолчанию: True.
True — выделять;
False — не выделять.
- Return type
Boolean
Рабочие#
Рабочие дни перекрывают выходные дни.
- WorkDays Array #
Массив рабочих дней в виде конкретных дат.
- Return type
Array
<pascal> Selection.Gantt.WorkDays := [StrToDate('22.04.2009'), StrToDate('21.04.2009')]; </pascal>
Праздничные#
Праздничные дни перекрывают выходные и рабочие дни.
Выделенные элементы#
- SelectedItems TbtkGanttItem #
Коллекция выделенных элементов диаграммы. Выделение нескольких элементов проиcходит с помощью левой кнопки мыши при зажатой клавише Ctrl.
- Return type
- Count Integer #
Количество выделенных элементов в коллекции
SelectedItems
.- Return type
Integer
- FocusedItem TbtkGanttItem #
Ссылка на последний сфокусированный элемент. Если элемента нет, возвращает nil.
- Return type
Временная шкала#
- ScalesSchema string #
Схема шкал, используемая таймлайном.
Присвоение подразумевает, что из схемы будет также взято количество уровней и локаль.
Attention
На данный момент чтение и запись свойства не биективны.
Запись: можно присвоить YAML-документ, состоящий из двух схем: схемы шкал и схемы форматов.
Чтение: возвращается результирующая схема - схема шкал, размноженная с использованием схемы форматов.
- Timeline TbtkTimeline #
Объект для доступа к настройкам таймлайна.
- Return type
- ScaleInfoToYaml(Info: TbtkScaleScriptObject) string #
Преобразовать схему шкал в текст в формате Yaml.
- Parameters
Info (
TbtkScaleScriptObject
) – схема шкал.
- YamlToScaleInfo(Yaml: string) TbtkScaleScriptObject #
Преобразовать текст в формате Yaml в схему шкал.
- Parameters
Yaml (
String
) – текст в формате Yaml, содержащий схему.
See also
Вызов диалогов#
- SelectScaleSchema(out ScaleSchema: TbtkScaleScriptObject) boolean #
Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, единицы измерения времени, интервалы и форматы каждого уровня из схемы форматов таймлайна.
- Parameters
ScaleSchema (
TbtkScaleScriptObject
) – out параметр, в который возвращается шкала- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> var scale: TbtkScaleScriptObject; begin res := Selection.Gantt.SelectScaleSchema(scale); if Res then Selection.Gantt.TimeLine.ActiveScale := scale; end; </PASCAL>
- SelectScaleSchema(out ScaleSchema: string) boolean
Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, единицы измерения времени, интервалы и форматы каждого уровня из схемы форматов таймлайна.
- Parameters
ScaleSchema (
string
) – out параметр, в который возвращается шкала в формате YAML.- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> begin scale := ''; res := Selection.Gantt.SelectScaleSchema(scale); if Res then Selection.Gantt.TimeLine.ActiveScaleAsYaml := scale; end; </PASCAL>
- SelectScaleSchema(out ScaleSchema: string; ScalesSchema: string) boolean
Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, единицы измерения времени, интервалы и форматы каждого уровня из схемы форматов, переданной на вход в качестве параметра ScalesSchema.
- Parameters
ScaleSchema (
string
) – out параметр, в который возвращается шкала в формате YAML.ScalesSchema (
string
) – Схема шкал диаграммы Гантта в формате YAML
- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> 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; </PASCAL>
- SelectScaleSchema(out ScaleSchema: TbtkScaleScriptObject; ScalesSchema: string) boolean
Вывести диалог настройки шкалы, позволяющий настроить количество уровней шкалы, единицы измерения времени, интервалы и форматы каждого уровня из схемы форматов, переданной на вход в качестве параметра ScalesSchema.
- Parameters
ScaleSchema (
TbtkScaleScriptObject
) – out параметр, в который возвращается шкалаScalesSchema (
string
) – Схема шкал диаграммы Гантта в формате YAML
- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> 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; </PASCAL>
- SelectScaleZoom(out Zoom: TbtkTimeUnitInfoScriptObject) boolean #
Вывести диалог задания визуального интервала.
- Parameters
Zoom (
TbtkTimeUnitInfoScriptObject
) – out параметр, в который возвращается выбранный описатель единицы измерения времени.- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> var z: TbtkTimeunitInfoScriptObject; begin res := Selection.Gantt.SelectScaleZoom(z); if res then Selection.Gantt.TimeLine.SetZoom(z) end; </PASCAL>
- SelectScaleZoom(out Zoom: TbtkTimeUnitInfoScriptObject; DialogElements: array of array of Variant) boolean
Вывести диалог задания визуального интервала.
- Parameters
Zoom (
TbtkTimeUnitInfoScriptObject
) – out параметр, в который возвращается выбранный описатель единицы измерения времени.DialogElements (
array of array of Variant
) – массив элементов диалога. Представлен в виде массива массивов по 3 элемента, в которых хранятся отображаемое имя элемента, Единица измерения времени и временной интервал соответственно.
- Return type
Boolean
- Returns
- True
Если диалог завершился успешно (была нажата кнопка OK)
- False
В случае отмены диалога
<PASCAL> 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; </PASCAL>
Отмена операций#
- AcceptChanges Boolean #
Отменить выполняемое действие.
Анализируется на выходе из операций
OnItemChanged
,OnLinkCreate
. Если False, действие отменяется.Значение по умолчанию: True.
Возможные значения:
False — отменить выполнение действия;
True — не отменять.
- Return type
Boolean
Отчёт FastReport#
- CreateReportEx(ReportName: String; ReportVersionDate: TDateTime; Action: TReportViewMode; ShowWizard: Boolean; OpSelectionName: String; StyleFlag: TFormCreationFlags; ParamNames: Array; ParamValues: Array)#
Создать отчет FastReport4 на основе шаблона “Diagram Report(*.dgr)”.
- Parameters
ReportName (
String
) – системное имя отчёта. Отчет должен быть формата “Diagram Report(*.dgr)”.ReportVersionDate (
TDateTime
) – дата, по которой будет найдена актуальная версия отчёта (по умолчанию системная дата).Action (
TReportViewMode
) – действие после создания отчёта.ShowWizard (
Boolean
) – отображение мастера настройки отчётов (если указана главная выборка мастера).OpSelectionName (
String
) – системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта (по умолчанию подставляется выборка со стандартным набором команд — “Save as” и “Print”).StyleFlag (
TFormCreationFlags
) – модальность окна просмотра отчёта. Значение fcfMDI работает только для отчетов на основе FastReport 4й версии.ParamNames (
Array
) –массив имен параметров отчета.
Обязательные параметры:
StartDate, StopDate — диапазон печати диаграммы Гантта, с StartDate по StopDate.
Дополнительные параметры:
ReadOnlyPreview со значением 1 запрещает редактирование построенного отчета из режима предпросмотра.
ParamValues (
Array
) – массив значений параметров отчета, соответствующих AParamNames.
Timeline#
TbtkTimeUnit#
TbtkTimeUnitInfoScriptObject#
- class TbtkTimeUnitInfoScriptObject#
Описатель единицы измерения времени.
- TimeUnit TbtkTimeUnit #
- Interval Cardinal #
Интервал, с которым выводятся отметки.
TbtkScaleLevel#
TbtkScaleLevelCount#
TbtkScaleLevelInfoScriptObject#
TbtkScaleScriptObject#
- class TbtkScaleScriptObject#
-
- Levels[ALevel: TbtkScaleLevel]: TbtkScaleLevelInfoScriptObject
Возвращает указанный уровень шкалы
- Parameters
Level (
TbtkScaleLevel
) – Уровень шкалы- Return type
- BeginUpdate()#
Если текущая шкала получена из таймлайна, метод запрещает применение настроек шкалы к таймлайну.
Attention
После выполнения изменений шкалы обязательно вызывайте метод
EndUpdate()
;<PASCAL> 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; </PASCAL>
- EndUpdate()#
Разрешает применение настроек шкалы к таймлайну. Применяет к таймлайну все изменеиня шкалы, сделанные с момента вызова
BeginUpdate()
.
TbtkTimeline#
- class TbtkTimeline#
-
- LevelsCount TbtkScaleLevelCount #
Набор видимых уровней шкалы.
- Return type
- ActiveScale TbtkScaleScriptObject #
Текущая Шкала диаграммы Гантта
- Return type
- ActiveScaleAsYAML string #
Текущая Шкала диаграммы Гантта в формате Yaml
- Return type
string
See also
Свойство дублирует поведение параметра
Timeline.Scale
.
- SetZoom(Zoom: TbtkTimeUnitInfoScriptObject)#
Устанавливает отображаемый интервал диаграмы Гантта.
- Parameters
Zoom (
TbtkTimeUnitInfoScriptObject
) – Временной интервал
Логика установки отображаемого интервала такая же, как и у метода
CalcDateIntervalByActiveScale()
:Задать
StopDate
(StartDate
не трогаем)Если
StopDate
уперся вMaxStopDate
, двигаемStartDate
- LevelsByCount(LevelsCount: TbtkScaleLevelCount) array of TbtkScaleLevel #
Возвращает массив уровней, которые соответствуют данному количеству уровней
- Parameters
LevelsCount (
TbtkScaleLevelCount
) – Количество уровней- Return type
array of TbtkScaleLevel