1.8.26. Gantt

1.8.26.2. TbtkGanttLinkDirection

class TbtkGanttLinkDirection

Перечисление направлений, доступных для связи

asBeginBegin

начало - начало

asEndEnd

конец - конец

asBeginEnd

начало - конец

asEndBegin

конец - начало

1.8.26.3. TbtkGantt

class TbtkGantt

Скриптовый класс, управляющий доступом к фрейму TbtkLookUpGanttTreeFrame (диаграмма Гантта)

MaxStopDate: TDateTime

Свойство (R\W) определяет дату окончания фактическгого интервала диаграммы Гантта. При установке даты меньше чем StopDate, граница отображаемого диапазона также сжимается

Return type:TDateTime

New in version BtkRuntime: 5.3.3.3750

MinStartDate: TDateTime

Свойство (R\W) определяет дату начала фактическгого интервала диаграммы Гантта. При установке даты больше чем StartDate, граница отображаемого диапазона также сжимается

Return type:TDateTime

New in version BtkRuntime: 5.3.3.3750

SelectedDatePenStyle: TPenStyle

Свойство позволяет задать стиль начертания линии выделенной даты на диаграмме Гантта. Выделение даты осуществляется двойным щелчком на диаграмме Гантта. При этом выделенной (selected) становится дата, которая соответствует положению на графике Гантта, на котором был произведен двойной щелчок.

Значения свойства соответствуют значениям типа TPenStyle в Delphi.

Return type:TPenStyle
CurrentDatePenStyle: TPenStyle

Свойство позволяет задать стиль начертания текущей даты на диаграмме Гантта. Текущая дата соответствует значению системного времени. В том случае, если текущая системная дата не находится внутри временного отрезка, ограниченного начальным и конечным значением даты диаграммы Гантта, текущая дата отображаться не будет.

Значения соответствуют значениям типа TColor в Delphi.

Return type:TPenStyle
SelectedDateColor: TColor

Свойство позволяет задать цвет выделенной даты на диаграмме Гантта. Выделение даты осуществляется двойным щелчком на диаграмме Гантта. При этом выделенной (selected) становится дата, которая соответствует положению на графике Гантта, на котором был произведен двойной щелчок.

Значения соответствуют значениям типа TColor в Delphi.

Return type:TColor
CurrentDateColor: TColor

Свойство позволяет задать цвет текущей даты на диаграмме Гантта. Текущая дата соответствует значению системного времени. В том случае, если текущая системная дата не находится внутри временного отрезка, ограниченного начальным и конечным значением даты диаграммы Гантта, текущая дата отображаться не будет.

Значения соответствуют значениям типа TColor в Delphi.

Return type:TColor
ShowCurrentDate: Boolean

Свойство указывает, будет ли отображаться на диаграмме Гантта текущая дата/время.

Return type:Boolean
ShowSelectedDate: Boolean

Свойство указывает, будет ли отображаться на диаграмме Гантта выделенная дата/время.

Return type:Boolean
SelectedDateTime: TDateTime

Свойство позволяет получить значение выделенной даты/времени. Свойство доступно только для чтения.

Return type:TDateTime
RegionCount: Integer

Возвращает количество регионов в коллекции.

Return type:Integer
Region: TbtkGanttRegionDef

Коллекция временных регионов.

Return type:TbtkGanttRegionDef
VLinesCount: Integer

Количество вертикальных линий в коллекции.

Return type:Integer
VLines: TbtkVertLineDateDef

Коллекция вертикальных линий VLines. Служат для акцентирования пользователя на нужных датах графика.

Return type:TbtkVertLineDateDef
HighLightRestdays: Boolean

Флаг указывающие на необходимость выделения цветом выходных дней.

Return type:Boolean
Пример использования
<pascal>
  Selection.Gantt.HighLightRestdays := 0;
</pascal>
HighLightHolidays: Boolean

Флаг указывающие на необходимость выделения цветом празничных дней.

Return type:Boolean
Пример использования
<pascal>
  Selection.Gantt.HighLightHolidays := 0;
</pascal>
HoliDays: Array

Массив праздничных дней. Праздничные дни перекрывают выходные и рабочие дни

Return type:Array
Пример использования
<pascal>
  v := [StrToDate('24.04.2009'), StrToDate('25.04.2009'), StrToDate('26.04.2009')];
  Selection.Gantt.HoliDays := v;
</pascal>
WorkDays: Array

Массив рабочих дней. Рабочие дни могут перекрывать выходные дни

Return type:Array
Пример использования
<pascal>
  Selection.Gantt.WorkDays := [StrToDate('22.04.2009'), StrToDate('21.04.2009')]; // Рабочие дни
</pascal>
RestDays: Array

Массив порядковых номеров дней недели от 1 до 7 которые являются выходными днями.

Return type:Array
Пример использования
<pascal>
  Selection.Gantt.RestDays := [2,3]; // Выходные дни среда и вторник
</pascal>
AcceptChanges: Boolean

Установка флага в False при выполнении операций OnItemChanged, OnLinkCreate позволяет отменить выполненное действие. По умолчанию значение флага флага установлено в True.

Return type:Boolean
SelectedItems: TbtkGanttItem

Коллекция выделенных визуальных элементов. Выделение элементов проиcходит с помощью зажатой клавишы Ctrl и кликом левой кнопки мыши. Индексация выделенных объектов начинается с 0. Количество выделенных объектов можно получить с помощью свойства Count.

Return type:TbtkGanttItem
FocusedItem: TbtkGanttItem

Свойство содержит ссылку на текущий сфокусированный элемент.

Return type:TbtkGanttItem
Count: Integer

Количество выделенных объектов входящих в коллекцию SelectedItems.

Return type:Integer
StartDate: TDateTime

Свойство определяет дату начала временного интервала, отображаемого на графике. Для обновление графика после установки свойства необходимо вызвать метод UpdateScale.

При установке даты меньше, чем MinStartDate, фактический диапазон также расширяется

Return type:TDateTime
StopDate: TDateTime

Свойство определяет дату окончания временного интервала, отображаемого на графике. Для обновление графика после установки свойства необходимо вызвать метод UpdateScale.

При установке даты больше, чем MaxStopDate, фактический диапазон также расширяется

Return type:TDateTime
AddVLine(ADate: TDateTime; AColor: Integer; AStyle: TPenStyle; AWidth: Integer): Integer

Функция добавляет вертикальную линию на диаграмму Ганта. Место положение задает свойство Date. Возврашает индекс линии в коллекции.

Parameters:
  • ADate (TDateTime) -- Определяет размещение линии по дате.
  • AColor (Integer) -- Цвет линии в формате RGB.
  • AStyle (TPenStyle) -- Задает шаблон внещнего вида линии.
  • AWidth (Integer) -- Толщина линии.
Return type:

Integer

Пример использования
<pascal>
  Selection.ExecOpScript('#AfterOpen');
  i := gantt.addVline('11.04.2009', $0000FF, psDot,1);
</pascal>
CreateReportEx(AReportName: String; AReportVersionDate: TDateTime; AAction: TReportViewMode; AShowWizard: Boolean; AOpSelectionName: String; AStyleFlag: TFormCreationFlags; AParamNames: Array; AParamValues: Array)

Метод позволяет создать FastReport4 отчет, на основе шаблона "Diagram Report(*.dgr)".

Parameters:
  • AReportName (String) -- Cистемное имя отчёта. Отчет должен быть формата "Diagram Report(*.dgr)".
  • AReportVersionDate (TDateTime) -- Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
  • AAction (TReportViewMode) --

    Действие, которое небходимо произвести над отчётом после его создания. Возможные значения:

    • rvmPrint
    • rvmShow
    • rvmSave
    • rvmDesign
  • AShowWizard (Boolean) -- Флаг отображения мастера настройки отчётов (если указана главная выборка мастера) {0,1}
  • AOpSelectionName (String) -- Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
  • AStyleFlag (TFormCreationFlags) -- Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
  • AParamNames (Array) --

    Массив имен параметров отчета.

    Обязательные параметры:

    • StartDate, StopDate - диапозон печатаи диаграммы Ганта, с StartDate по StopDate

    Параметры:

    • ReadOnlyPreview со значением 1 запрещает редактирование построенного отчета из режима предпросмотра.
  • AParamValues (Array) -- Массив значений параметров AParamNames отчета.
DeleteRegion(AIndex: Integer)

Удаляет регион по индексу из коллекции регионов.

Parameters:AIndex (Integer) -- Индекс региона в коллекции.
ClearRegion()

Очищает коллекцию регионов.

AddRegion(FromDate, ToDate: String; Color: Integer; Style: TBrushStyle): Integer

Функция добавляет выделенный регион на график ганта. Место положение задают параметры FromDate (начало региона) и ToDate (конец региона). Возврашает индекс линии в коллекции.

Parameters:
  • FromDate (String) -- Дата начала региона.
  • ToDate (String) -- Дата конца региона.
  • Color (Integer) -- Цвет линии в формате RGB.
  • Style (TBrushStyle) -- Шаблон заливки региона.
Return type:

Integer

Пример использования
<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>
FindVLineByDate(ADate: TDateTime)

Поиск вертикальной линии в коллекции по дате. Если элемент найден возвращается индекс в коллекции.

Parameters:ADate (TDateTime) -- Описание отсутствует
Пример использования
<pascal>
  Index := Gantt.FindVLineByDate(StrToDateTime('11.04.2009'));
  Gantt.DeleteVLine(Index);
</pascal>
DeleteVLine(AIndex: Integer)

Удаляет вертикальную линию по индексу из коллекции вертикальных линий.

Parameters:AIndex (Integer) -- Индекс
Пример использования
<pascal>
  Index := Gantt.FindVLineByDate(StrToDateTime('11.04.2009'));
  Gantt.DeleteVLine(Index);
</pascal>
ClearVLines()

Очищает коллекцию вертикальных линий.

Пример использования
<pascal>
  Index := Gantt.Clear;
</pascal>
UpdateScale()

Метод обновляет диаграмму ганта с учетом установленных StartDate и StopDate. Метод необходимо использовать после установки данных свойств, что бы изменения стали заметны визуально.

Пример использования
<pascal>
  try
    selection.Gantt.StartDate := StrToDate('5.7.2006');
    selection.Gantt.StopDate := StrToDate('7.7.2006');
  finally
    selection.Gantt.updateScale;
  end;
</pascal>
CalcDateInterval()

Метод подбирает интервал дат графика Гантта, таким образом, что бы все элементы графика отображались на экране.

1.8.26.4. TbtkVertLineDateDef

class TbtkVertLineDateDef

Класс контейнер свойств вертикальных линий.

Date: String

Дата в строковом формате настроек календаря пользователя в системе.

Return type:String
Color: Integer

Цвет линии в формате RGB. Задается в шестнадцатиричном формате.

Где:

$0000FF
красный
$FF0000
синий
$00FF00
зеленый
Return type:Integer
Width: Integer

Толщина линии в пикселях.

Return type:Integer
Style: TPenStyle

Задает шаблон линии.

Return type:TPenStyle

1.8.26.5. TbtkGanttItem

class TbtkGanttItem

TbtkGanttItem - класс визуальных элементов диаграммы Ганта.

Selected: Boolean

Свойство возвращает значение True, когда элемент выделен.

Return type:Boolean
Focused: Boolean

Свойство равно True, когда элемент обладает фокусом.

Return type:Boolean
Style: TbtkGanttItemStyle

Стиль элемента (события). Влияет на визуальное отображение.

Return type:TbtkGanttItemStyle
ID: Integer

Уникальный идентификатор элемента.

Return type:Integer
StopDate: TDateTime

Конец события.

Return type:TDateTime
StartDate: TDateTime

Начало события.

Return type:TDateTime
Caption: String

Отображаемое наименование элемента.

Return type:String
StopDateConstarint: Boolean

Ограничение на максимальное значение положения правой границы элемента диаграммы Гантта (правая граница изменения размера или перемещения элемента).

Return type:Boolean
StartDateConstarint: Double

Ограничение на минимальное значение положения левой границы элемента диаграммы Гантта (левая граница изменения размера или перемещения элемента).

Return type:Double
StartDateLimit: TDateTime

Положение левой границы пунктирного контура.

Return type:TDateTime
StopDateLimit: TDateTime

Положение правой границы пунктирного контура.

Return type:TDateTime
CanMove: Boolean

Позволяет запретить перемещать элемент используя манипулятор типа "мышь".

Return type:Boolean
CanResize: Boolean

Позволяет запретить изменять размеры элемента используя манипулятор типа "мышь".

Return type:Boolean
FillStyle: TBrushStyle

Шаблон заливки.

Return type:TBrushStyle
BorderStyle: TPenStyle

Стиль границ.

Return type:TPenStyle
BorderColor: Integer

Цвет границ.

Return type:Integer
Color: Integer

Описание отсутствует

Return type:Integer

1.8.26.6. TbtkGanttItemStyle

class TbtkGanttItemStyle

Перечисление стилей отображения визуальных элементов Ганта.

gisPipe

Прямоугольный элемент с заливкой указанного цвета с небольшим

gisLine

Линия

gisLineWEnd

Линия, ограниченная с обоих концов вертикальными линиями

gisSpan

Диапазон (линия со стрелками на концах, направленными вниз)

gisSquare

Прямоугольник с чёрными границами и заливкой указанного цвета

gisCircle

Круг, положение которого на диаграмме зависит только от StartDate

gisRectangle

Прямоугольник, положение которого на диаграмме зависит только от StartDate

gisDiamond

Ромб, положение которого на диаграмме зависит только от StartDate

1.8.26.7. TbtkGanttRegionDef

class TbtkGanttRegionDef

Мета описание выделенного региона на диаграмме Гантта. Регион - это временной отрезок от верха диаграммы до низу закрашенный по шаблону.

ToDate: String

Дата конца выделенного региона в строковом формате. Формат строки задается в настройках календаря пользователя в системе.

Return type:String
FromDate: String

Дата начала выделенного региона в строковом формате. Формат строки задается в настройках календаря пользователя в системе.

Return type:String
Color: Integer

Цвет линии в формате RGB. Задается в шестнадцатиричном формате.

Где:

$0000FF
красный
$FF0000
синий
$00FF00
зеленый
Return type:Integer
Style: TBrushStyle

Задает шаблон заливки.

Return type:TBrushStyle
Пример работы с регионами:
<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>