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

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

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

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

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

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

Унаследован

Доступен

Name (Имя)

Description (Наименование) TObjectDescription (Наименования)

Унаследован

Доступен

Description (Наименование)

Class (Класс) TClass domain (Класс)

Унаследован

Доступен

Class (Класс)

Parent (Родитель) TParent domain (Родитель объекта)

Унаследован

Доступен

Parent (Родитель)

Master (Мастер) TMaster domain (Объект (с каскадным удалением))

Унаследован

Доступен

Master (Мастер)

Accessor (Роль доступа) TAccessor domain (Роли доступа)

Унаследован

Скрыт

Position (Позиция) TPosition (Позиция)

Доступен

GetNextPos (Следующая позиция)

Shortcut (Горячая клавиша) TShortcut (Горячие клавиши)

Доступен

Separated (Отделено) Boolean (Обычное логическое)

Доступен

Default (По умолчанию) Boolean (Обычное логическое)

Доступен

Конструирует объект класса 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 (Мастер) TObject domain (Объект)

Доступен

Master (Мастер)

Parent (Родитель) TParent domain (Родитель объекта)

Доступен

Parent (Родитель)

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

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