Домой Классы Статические функции Перечисления (ENUM) Записи (RECORD)

{Menu|_create}


CLASS {Menu|_create} , UNTESTED:


Вспомогательный класс для упрощения и стандартизации некоторых операций построения строки, представляющей меню. В классе {Form}, всплывающее меню определяется просто как набор строк, разделенных символами конца строки #NL. Меню может быть сконструировано путем обычной конкатенации строк напрямую. Или, могут использоваться функции, возвращающие элементы таких строк - как в дизайнере редактора кода IDE AL4. Например, если мы запишем в коде строку "A:Abc", то будет создан элемент меню с текстовой меткой A и отображаемым текстом Abc. Или, мы можем получить то же самое, вызвав функцию Item("A", "Abc").


IMPORT : {String_functions} , {System_functions} .


FUNCTION Item|_create ( STR Alias|_item , STR Text|_item ) ==> STR


Создает элемент меню на основе заданной метки Alias и текста Text. Результирующая строка - это Alias ":" Text (при этом проверяется, что Alias не содержит двоеточия, иначе его текст обрезается до символа двоеточия).


FUNCTION Hotkey|_add_after_tabulation (
     
STR Item_created ,
     
STR H|otkey_to_add ) ==> STR


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


FUNCTION Disabled|_item (
     
STR Item_created ,
     
BOOL Cond|ition ) ==> STR


Вставляет специальный текст ",disabled" перед двоеточием в форируемом элементе меню, если передан параметр условия Cond == TRUE. Это делает пункт меню выглядящем серым и недостпуным для нажатия.


FUNCTION Checked|_item (
     
STR Item_created ,
     
BOOL Cond|ition ) ==> STR


Вставляет специальный текст ",checked" перед двоеточием в форируемом элементе меню, если передан параметр условия Cond == TRUE. Это добавляет к пункту меню отмеченный флажок (полезен для визуальной индикации того, что свойство, управляемое этим пунктом меню, включено).


FUNCTION Hidden|_item ( STR Item_created , BOOL Cond|ition ) ==> STR


Замещает весь пункт меню пустой строкой, если переданное условие равно TRUE. Удаляет тем самым пункт меню из всплывающего меню.


FUNCTION Separator ==> STR


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


FUNCTION Begin|_submenu ==> STR


Начинает вложенное меню (просто возвращает строку "("#NL).


FUNCTION End|_submenu ==> STR


Начинает вложенное меню (просто возвращает строку ")"#NL).


FUNCTION Custom|_submenu ( STR Value|_custom_items ) ==> STR


Возвращает переданную строку.

END