class Container(gtk.ScrolledWindow): """container of ManagerList & managers""" def __init__(self): """init""" gtk.ScrolledWindow.__init__(self) self._set_style() self.addon_manager = AddonManager() def _set_style(self): #sets style of ScrolledWindow self.set_shadow_type(gtk.SHADOW_IN) self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) def _remove_child(self, child): """removes widget""" self.get_child().remove(child) del child def _add_child(self, child): """add widget Arguments: - `child`: widget to add """ if self.get_child(): if type(child) == ManagerList: self._remove_child(self.manager) else: self._remove_child(self.manlist) self.add_with_viewport(child) child.show_all() def set_mode(self, mode): """sets view mode Arguments: - `mode`: 'list' | 'manager' """ if mode == "list": self.manlist = ManagerList() self.manlist.show_list(self.addon_manager.list_addons()) self.manlist.listen_on_item(self._add_manager) self._add_child(self.manlist) self.parent.back_btn.hide() elif mode == "manager": self.parent.back_btn.show() self._add_child(self.manager) def _add_manager(self, uuid): #add manager self.manager = self.addon_manager.create_widget(uuid) self.set_mode("manager")
def __init__(self): """init""" gtk.ScrolledWindow.__init__(self) self._set_style() self.addon_manager = AddonManager()