Exemple #1
0
    def __init__(self, le2mserv):
        super(GuiServeur, self).__init__()

        self._le2mserv = le2mserv
        self._questcomp = None

        self.ui = servguimain.Ui_EcranServeur()
        self.ui.setupUi(self)
        self._create_menus()

        self.ui.label_le2m.setText(
            le2mtrans(u"LE2M\nExperimental Economics Software of Montpellier"))

        # tabs
        self.ui.onglets.setTabText(self.ui.onglets.indexOf(self.ui.tabInfos),
                                   le2mtrans(u"Informations"))
        self.ui.onglets.setTabText(self.ui.onglets.indexOf(self.ui.tabClients),
                                   le2mtrans(u"Remotes"))
        self.ui.onglets.setTabText(
            self.ui.onglets.indexOf(self.ui.tabExperience),
            le2mtrans(u"Experiment"))

        # picture on the first tab ---------------------------------------------
        try:
            img_labo_pix = QtGui.QPixmap(params.getp("LABLOGO"))
            self.ui.label_logo_laboratoire.setPixmap(img_labo_pix)
        except IOError:
            logger.warning(u"Error while loading LABLOGO picture")
            self.ui.label_logo_laboratoire.setText(
                le2mtrans(u"Here the logo of the lab"))
        try:
            img_leem_pix = QtGui.QPixmap(params.getp("LABPICTURE"))
            self.ui.label_image_centre.setPixmap(img_leem_pix)
        except IOError:
            logger.warning(u"Error while loading LABPICTURE picture")
            self.ui.label_image_centre.setText(
                le2mtrans(u"Here the main picture"))

        # icons for the waiting mode -------------------------------------------
        self._icon_rouge = QtGui.QIcon(
            os.path.join(params.getp("IMGDIR"), "red.png"))
        self._icon_vert = QtGui.QIcon(
            os.path.join(params.getp("IMGDIR"), "green.png"))
        self.ui.label_attente.setText(le2mtrans(u"Decisions"))
        self._players_wait_mode = list()

        # server infos ---------------------------------------------------------
        self.ui.label_infos_serveur.setText(
            u"OS: {} {} | Python version: {} | Hostname: {} | IP: {}".format(
                platform.uname()[0],
                platform.uname()[2],
                sys.version.split()[0], self._le2mserv.hostname,
                self._le2mserv.ip))

        # table on the second tab with connected remotes -----------------------
        # handle automatic and simulation modes as well as remotes' deconnection
        self.ui.label_connectedremotes.setText(
            le2mtrans(u"Connected remotes: 0"))
        self.tableJoueurs = TableModelJoueurs()
        self.ui.tv_clients_connectes.setModel(self.tableJoueurs)
        self.ui.tv_clients_connectes.horizontalHeader().\
            setResizeMode(QtGui.QHeaderView.Stretch)
        self.ui.tv_clients_connectes.horizontalHeader().setClickable(True)
        self.ui.tv_clients_connectes.horizontalHeader().sectionClicked[int]. \
            connect(self.tableJoueurs.inverse)
        self.ui.onglets.setCurrentIndex(0)

        self.setWindowTitle(le2mtrans(u"LE2M"))