예제 #1
0
    def destroy(self):
        """
        Cleanly destroyes all components
        """
        pa = self.get_presentation_agent()
        pa.get_event_bus().unsubscribe(
            UIActionEvent, self.action_evt_callback)

        # Destroyes slave components
        for slave in self._slaves:
            slave.destroy()

        BaseControlAgent.destroy(self)
예제 #2
0
    def __init__(self):
        """
        Initializes control agent.
        """
        BaseControlAgent.__init__(self)
        self._hosts = []
        self._filter_name = '*'
        self._filter_name_re = re.compile(r"^[\w\d\*_-]*$")
        self._filter_domain = '*'
        self._filter_domain_re = re.compile(r"^[\w\d\*\._-]*$")
        pa = ListSitesPresentationAgent(self)

        domains = SiteDefaultsManager.get_domains()
        domains['*'] = '*'
        pa.set_items('filter_domain', domains)
        pa.get_event_bus().subscribe(UIActionEvent, self.action_evt_callback)
        pa.get_event_bus().subscribe(UIWidgetEvent, self.widget_evt_callback)
        self.set_presentation_agent(pa)
예제 #3
0
    def __init__(self, site, read_only):
        """
        ControlAgent initialization
        """
        BaseControlAgent.__init__(self)
        self.set_site(site)
        self.set_read_only_flag(read_only)
        pa = DetailMainPresentationAgent(self)
        pa.get_event_bus().subscribe(
            UIActionEvent, self.action_evt_callback)
        # Main detail presentation agent has no reason to listen to changed
        # attribute events. Disabled.
        self._slaves = []

        # Creates general component
        slave = DetailDNSHostControlAgent(site.dnshost, read_only)
        self._slaves.append(slave)
        pa.attach_slave('dnshost', 'hbox_general',
                        slave.get_presentation_agent())

        # Creates repository component
        slave = DetailRepositoryControlAgent(site.repository, read_only)
        self._slaves.append(slave)
        pa.attach_slave('repository', 'hbox_repository',
                        slave.get_presentation_agent())

        # Creates site component
        slave = DetailSiteControlAgent(site.website, read_only)
        self._slaves.append(slave)
        pa.attach_slave('website', 'hbox_sites',
                        slave.get_presentation_agent())

        # Creates database component
        slave = DetailDatabaseControlAgent(site.database, read_only)
        self._slaves.append(slave)
        pa.attach_slave('database', 'hbox_databases',
                        slave.get_presentation_agent())

        self.set_presentation_agent(pa)
        self._validity_matrix = {}
예제 #4
0
 def destroy(self):
     """
     Cleanly destroyes all components
     """
     BaseControlAgent.destroy(self)
예제 #5
0
 def __init__(self):
     BaseControlAgent.__init__(self)