Welcome | Get started | Dive | Contribute | Topics | Reference | Changes | More
lino.core.menus¶
Defines the classes MenuItem
and Menu
Functions
|
Create a menu item according to the specified arguments. |
|
Classes
|
Represents a menu. |
|
A menu item. |
|
|
|
A top-level menu. |
- class lino.core.menus.MenuItem(name=None, label=None, doc=None, enabled=True, action=None, hotkey=None, params=None, help_text=None, instance=None, javascript=None, href=None)¶
Bases:
object
A menu item. Note that this is subclassed by
Menu
: a menu is also a menu item.- as_rst(ar, level=None)¶
Render this menu item as an rst string. Currently used only for writing test cases.
- lino.core.menus.create_item(unused, spec, action=None, help_text=None, **kw)¶
Create a menu item according to the specified arguments.
TODO: explain the arguments and their meaning.
- class lino.core.menus.Menu(user_type, name, label=None, parent=None, **kw)¶
Bases:
MenuItem
Represents a menu. A menu is a
MenuItem
that contains other menu items.- avoid_lonely_items = False¶
If set to True, avoid lonely menu items by lifting them up one level. This is not done for top-level menus
For example the following menu:
Foo Bar Baz |Foobar |BarBaz |Copy |Paste |FooBarBaz | Insert
would become:
Foo BarBaz Baz |Foobar |Copy |Paste |Insert
- compress()¶
Dynamically removes empty menu entries and useless separators. Collapses menu with only one item into their parent.
- add_action(*args, **kw)¶
Add a menu item to this menu. All arguments are forwarded to
create_item()
.
- add_instance_action(obj, **kw)¶
Add a menu item that will run the specified action on the given database row.
Default for
action
is to open the detail view on the database row.Used for the Configure ‣ System ‣ Site configuration command.
- add_item_instance(mi)¶
Adds the specified MenuItem to this menu after checking whether it has view permission.