def override_agent(self, agent_type, factory, application=feat): r = applications.get_agent_registry() if not hasattr(self, 'snapshot_agents'): self.snapshot_agents = r.get_snapshot() self.snapshot_restorators = base.get_registry().get_snapshot() application.register_agent(agent_type)(factory)
def revert_overrides_agents(self): if not hasattr(self, 'snapshot_agents'): return else: r = applications.get_agent_registry() r.reset(self.snapshot_agents) base.get_registry().reset(self.snapshot_restorators) del(self.snapshot_agents) del(self.snapshot_restorators)
def setup_menu(menu, menu_items): items = [] r = applications.get_agent_registry() for agent_factory in r.itervalues(): items.append(agent_factory.descriptor_type) items.sort() for item in items: menu_item = gtk.CheckMenuItem(item.replace('_', ' ')) menu_item.set_active(True) gtk.Menu.append(menu, menu_item) if item not in menu_items: menu_items[item] = menu_item