def serverInitialized(self,started,server_id=None): if started: #BlissWidget.setInstanceUserId(BlissWidget.INSTANCE_USERID_UNKNOWN) BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_SERVER) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_MASTER) self.initName(server_id[0]) self.haveControl(True,gui_only=True) #self.giveControl.setChecked(False) #self.allowTimeoutControl.setChecked(False) else: #BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_SERVERSTARTING) #BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_MASTER) msg_dialog=QMessageBox("mxCuBE",\ "Couldn't start the multiple instances server!",\ QMessageBox.Critical,QMessageBox.Ok,QMessageBox.NoButton,\ QMessageBox.NoButton,self) # Application name (mxCuBE) is hardwired!!! msg_dialog.setButtonText(QMessageBox.Ok,"Quit") s=self.font().pointSize() f=msg_dialog.font() f.setPointSize(s) msg_dialog.setFont(f) msg_dialog.updateGeometry() msg_dialog.exec_loop() os._exit(1)
def serverInitialized(self, started, server_id=None): if started: #BlissWidget.setInstanceUserId(BlissWidget.INSTANCE_USERID_UNKNOWN) BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_SERVER) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_MASTER) self.initName(server_id[0]) self.haveControl(True, gui_only=True) #self.giveControl.setChecked(False) #self.allowTimeoutControl.setChecked(False) else: #BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_SERVERSTARTING) #BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_MASTER) msg_dialog=QMessageBox("mxCuBE",\ "Couldn't start the multiple instances server!",\ QMessageBox.Critical,QMessageBox.Ok,QMessageBox.NoButton,\ QMessageBox.NoButton,self) # Application name (mxCuBE) is hardwired!!! msg_dialog.setButtonText(QMessageBox.Ok, "Quit") s = self.font().pointSize() f = msg_dialog.font() f.setPointSize(s) msg_dialog.setFont(f) msg_dialog.updateGeometry() msg_dialog.exec_loop() os._exit(1)
def serverClosed(self,server_id): self.listBox.clear() self.connections={} BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_CLIENTCONNECTING) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) msg_event=MsgDialogEvent(QMessageBox.Warning,\ "The server application closed the connection!",\ self.font().pointSize()) qApp.postEvent(self,msg_event) QTimer.singleShot(InstanceListBrick.RECONNECT_TIME,self.reconnectToServer)
def clientInitialized(self,connected,server_id=None,my_nickname=None,quiet=False): if connected is None: BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_CLIENTCONNECTING) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) elif not connected: if not quiet: msg_event=MsgDialogEvent(QMessageBox.Warning,\ "Couldn't connect to the server application!",\ self.font().pointSize()) qApp.postEvent(self,msg_event) QTimer.singleShot(InstanceListBrick.RECONNECT_TIME,self.reconnectToServer) else: BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_CLIENT) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) server_print=self.instanceServer.idPrettyPrint(server_id) if self.clientIcon is None: item=QListBoxText(self.listBox,server_print) else: item=QListBoxPixmap(self.listBox,self.serverIcon,server_print) self.nickname.setText(my_nickname) self.connections[server_id[0]]=(item,server_id[1]) item.setSelectable(False) self.haveControl(False,gui_only=True) self.initName(my_nickname) #self.giveControl.setChecked(False) # workaround for the remote access problem # (have to disable video display when DC is running) camera_brick = None for w in qt.QApplication.allWidgets(): if isinstance(w, BaseComponents.BlissWidget): if "CameraBrick" in str(w.__class__): camera_brick = w camera_brick.installEventFilter(self) break # find the video brick, make sure it is hidden when collecting data # and that it is shown again when DC is finished def disable_video(w=camera_brick): w.disable_update() self.__disable_video=disable_video def enable_video(w=camera_brick): w.enable_update() self.__enable_video=enable_video dispatcher.connect(self.__disable_video, "collect_started") dispatcher.connect(self.__enable_video, "collect_finished") msg_event=MsgDialogEvent(QMessageBox.Information,\ "Successfully connected to the server application.",\ self.font().pointSize()) qApp.postEvent(self,msg_event)
def serverClosed(self, server_id): self.listBox.clear() self.connections = {} BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_CLIENTCONNECTING) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) msg_event=MsgDialogEvent(QMessageBox.Warning,\ "The server application closed the connection!",\ self.font().pointSize()) qApp.postEvent(self, msg_event) QTimer.singleShot(InstanceListBrick.RECONNECT_TIME, self.reconnectToServer)
def clientInitialized(self, connected, server_id=None, my_nickname=None, quiet=False): if connected is None: BlissWidget.setInstanceRole( BlissWidget.INSTANCE_ROLE_CLIENTCONNECTING) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) elif not connected: if not quiet: msg_event=MsgDialogEvent(QMessageBox.Warning,\ "Couldn't connect to the server application!",\ self.font().pointSize()) qApp.postEvent(self, msg_event) QTimer.singleShot(InstanceListBrick.RECONNECT_TIME, self.reconnectToServer) else: BlissWidget.setInstanceRole(BlissWidget.INSTANCE_ROLE_CLIENT) BlissWidget.setInstanceMode(BlissWidget.INSTANCE_MODE_SLAVE) server_print = self.instanceServer.idPrettyPrint(server_id) if self.clientIcon is None: item = QListBoxText(self.listBox, server_print) else: item = QListBoxPixmap(self.listBox, self.serverIcon, server_print) self.nickname.setText(my_nickname) self.connections[server_id[0]] = (item, server_id[1]) item.setSelectable(False) self.haveControl(False, gui_only=True) self.initName(my_nickname) #self.giveControl.setChecked(False) # workaround for the remote access problem # (have to disable video display when DC is running) camera_brick = None for w in qt.QApplication.allWidgets(): if isinstance(w, BaseComponents.BlissWidget): if "CameraBrick" in str(w.__class__): camera_brick = w camera_brick.installEventFilter(self) break # find the video brick, make sure it is hidden when collecting data # and that it is shown again when DC is finished def disable_video(w=camera_brick): w.disable_update() self.__disable_video = disable_video def enable_video(w=camera_brick): w.enable_update() self.__enable_video = enable_video dispatcher.connect(self.__disable_video, "collect_started") dispatcher.connect(self.__enable_video, "collect_finished") msg_event=MsgDialogEvent(QMessageBox.Information,\ "Successfully connected to the server application.",\ self.font().pointSize()) qApp.postEvent(self, msg_event)