m.add_handler(AnalyticsNetworkConnectionsOverviewHandler, title=_("Overview"))
# Protocol States
- s = m.add_submenu(_("Procotol States"))
+ s = m.add_menu(_("Procotol States"))
s.add_handler(AnalyticsNetworkConnectionsStatesTCPHandler)
s.add_handler(AnalyticsNetworkConnectionsStatesSCTPHandler)
s.add_handler(AnalyticsNetworkConnectionsStatesDCCPHandler)
m.add_handler(AnalyticsSystemTemperaturesHandler)
# Others
- s = m.add_submenu(_("More"))
+ s = m.add_menu(_("More"))
s.add_handler(AnalyticsSystemEntropyHandler)
s.add_handler(AnalyticsSystemContextSwitchesHandler)
s.add_handler(AnalyticsSystemInterruptsHandler)
return isinstance(self.menu.handler, self.handler)
-class MenuMixin(object):
+class Menu(object):
+ """
+ The main menu object that creates a little menu on the side
+ """
type = "menu"
+ def __init__(self, handler, title=None, parent=None):
+ self.handler = handler
+ self.title = title
+ self.parent = parent
+
+ @property
+ def locale(self):
+ """
+ Shortcut to access the user's locale
+ """
+ return self.handler.locale
+
@property
def items(self):
if not hasattr(self, "_items"):
"""
return iter(self.items)
+ def is_active(self):
+ return False
+
def add_handler(self, handler, title=None, **kwargs):
"""
Automatically adds a handler to the menu
return link
- def add_submenu(self, *args, **kwargs):
- """
- Adds a submenu to the menu
- """
- kwargs.update({
- "menu" : self,
- })
-
- submenu = SubMenu(*args, **kwargs)
- self.items.append(submenu)
-
- return submenu
-
-
-class Menu(MenuMixin):
- """
- The main menu object that creates a little menu on the side
- """
- def __init__(self, handler, title=None):
- self.handler = handler
- self.title = title
-
- @property
- def locale(self):
- """
- Shortcut to access the user's locale
- """
- return self.handler.locale
-
-
-
-class SubMenu(MenuItem, MenuMixin):
- """
- A sub menu in the side menu
- """
-
- type = "menu"
-
- def __init__(self, title, menu=None):
- self.title = title
- self.menu = menu
-
- @property
- def locale(self):
+ def add_menu(self, title, **kwargs):
"""
- Shortcut to access the user's locale
+ Adds a sub-menu to the menu
"""
- return self.menu.locale
+ menu = Menu(self.handler, parent=self, title=title, **kwargs)
+ self.items.append(menu)
- @property
- def handler(self):
- """
- Shortcut to the handler of the main menu
- """
- return self.menu.handler
+ return menu
class SidebarMenuModule(base.BaseUIModule):