Мельница данных - Класс TAction (Действия)  (раздел целиком)  (20.08.2019)
Класс TAction (Действия)
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) .

Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса.

Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих Стрелка раскрытия контекстного меню. Несмотря на то, что класс не является абстратным в строгом смылсле этого слова, ни одного объекта этого класса в системных метаданных нет в силу простоты структуры контекстного меню системных представлений. Разработчик решений не ограничен в создании и использовании объектов этого класса. Никаких общих рекомендаций тут быть не может, единственное, что можно утверждать - что контекстное меню должно быть удобным и в достижении этой цели можно организовывать требуемую иерархическую структуру.

        Иерархия объектов класса TAction
На основе иерархии действий, показанной на рисунке (в таблице отображен фактический класс каждого объекта) построено следующее контекстное меню:
Контекстное меню, построенное на основе иерархии объектов класса TAction

1. Конструктор TAction.Create (Конструктор действия)

Параметры:
ПараметрТипПримечаниеВидимостьСвязанное свойство
Name (Имя)
Доступен
Description (Наименование)
Доступен
Class (Класс)
Доступен
Parent (Родитель)
Доступен
Master (Мастер)
Доступен
Accessor (Роль доступа)
Скрыт

Position (Позиция)

Доступен
Shortcut (Горячая клавиша)

Доступен

Separated (Отделено)

Доступен

Default (По умолчанию)

Доступен

Конструирует объект класса TAction (Действия) .


2. Поле TAction.FDefault (По умолчанию)
FDefault : Boolean (Обычное логическое) (обязательно для заполнения).

Используется для хранения значений свойства TAction.Default (По умолчанию).


3. Поле TAction.FPosition (Позиция)
FPosition : TPosition (Позиция) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Position (Позиция).


4. Поле TAction.FSeparated (Отделено)
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) .

Используется для хранения значений свойства TAction.Separated (Отделено).


5. Поле TAction.FShortcut (Горячая клавиша)
FShortcut : TShortcut (Горячие клавиши) .

Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша).


6. Свойство TAction.Default (По умолчанию)
Default : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) .

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

        Действие по умолчанию

7. Свойство TAction.Position (Позиция)
Position : TPosition (Позиция) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FPosition (Позиция) .

Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства.


8. Свойство TAction.Separated (Отделено)
Separated : Boolean (Обычное логическое) (обязательно для заполнения) .

Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) .

После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.

        Разделитель в контектстном меню

9. Свойство TAction.Shortcut (Горячая клавиша)
Shortcut : TShortcut (Горячие клавиши) .

Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) .

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


10. Функция TAction.GetNextPos (Следующая позиция)
Является методом класса.

Параметры:
ПараметрТипПримечаниеВидимостьСвязанное свойство
Master (Мастер)

Доступен
Parent (Родитель)

Доступен

Возвращает значение типа Integer (Целое).

Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия.