Beispiel #1
0
 def init_gui(self):
     client = self.client
     connection_manager = ConnectionManager(client.manager)
     widgets = {}
     connected_servers = yield connection_manager.get_connected_servers()
     servers = yield self.client.manager.servers()
     def on_disconnect(server_name):
         widget = widgets.pop(server_name)
         self.removeTab(
             self.indexOf(widget)
         )
         widget.deleteLater()
     @inlineCallbacks
     def on_connect(server_name):
         yield client.refresh()
         widget_class = WIDGETS[server_name]
         server = client.servers[server_name]
         widget = widget_class(server)
         widgets[server_name] = widget
         self.addTab(widget,server_name)
     for server_name,server_widget in WIDGETS.items():
         connection_manager.on_server_connect(
             server_name,
             partial(on_connect,server_name)
         )
         connection_manager.on_server_disconnect(
             server_name,
             partial(on_disconnect,server_name)
         )
         if server_name in connected_servers:
             widget = server_widget(
                 client.servers[server_name]
             )
             widgets[server_name] = widget
             self.addTab(widget,server_name)