7. Пользовательские меню. Модуль action¶
Модуль action позволяет добавлять в приложение пользовательские меню. Добавление таких меню возможно в следующие элементы интерфейса:
- Главное меню
- Контекстное меню задачи
- Контекстное меню сообщения
- Контекстное меню вложения
Примечание
Контекстное меню задачи расположено в нескольких местах. В навигаторе, в списке «К исполнению», в списке «На контроле» а также в поиске задач. Встраивание пользовательских меню в меню задачи происходит во все перечисленные места.
Контекстное меню вложения расположено в форуме в совокупности с меню сообщений и в поиске вложений. Встраивание пользовательских меню в меню вложений вы встраиваете их в форум и в окно поиска вложений.
Контекстное меню сообщения расположено в форуме задачи.
Каждый добавляемый пункт меню связывается с функцией какого-либо пользовательского модуля. При активации пользователем добавленного пункта, происходит вызов связанной с ним функции. Так же пользовательские пункты меню могут иметь иконки и комбинации клавиш для активации с клавиатуры.
Пользовательские меню добавляются в функции init_actions из модуля menu.
-
action.
init_actions
()[исходный код]¶ Вызывается при старте программы, а также в момент обновления Python-модулей при отладке.
action.py:
def init_actions(): ...
7.1. Добавление пользовательских меню¶
Встраивание пользовательских меню происходит через объекты меню, описанные в модуле actions пакета cerebro. Получить доступ к этим объектам можно через классы модуля actions:
cerebro.actions.Action
- базовый класс действияcerebro.actions.Actions
- базовый класс менюcerebro.actions.AttachmentEditorMenu
- контекстное меню вложений в редактореcerebro.actions.AttachmentForumMenu
- контекстное меню вложений на форумеcerebro.actions.AttachmentForumToolBar
- инструментальная панель вложенийcerebro.actions.AttachmentSearchMenu
- контекстное меню вложений в поискеcerebro.actions.AttachmentSearchToolBar
- инструментальная панель вложений в поискеcerebro.actions.MainMenu
- главное меню приложенияcerebro.actions.MessageForumMenu
- контекстное меню сообщения на форумеcerebro.actions.MessageForumToolBar
- инструментальная панель сообщенияcerebro.actions.TaskActiveMenu
- контекстное меню задачиcerebro.actions.TaskNavigatorMenu
- контекстное меню задачи в навигатореcerebro.actions.TaskSearchMenu
- контекстное меню задачи в поискеcerebro.actions.TaskToDoListMenu
- контекстное меню задачи в To Do Listcerebro.actions.TaskToolBar
- инструментальная панель задачи
С помощью этих классов встраиваются пользовательские меню и действия в контекстные меню:
В панели инструментов:
В главное меню приложения:
С примерами добавления пользовательских меню можно ознакомится здесь.