| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #from __future__ import unicode_literals
- # -*- coding: utf-8 -*-
- """Panneau d'affichage des PJ dans l'onglet groupe
- """
- import sys
- from PyQt4.QtCore import SIGNAL, Qt
- from PyQt4.QtGui import QFrame, QPushButton, QApplication
- from EcranEditionMateriel import EcranEditionMateriel
- from ui.ecran_panneauPj import Ui_pj_panneau
- class FramePj(QFrame):
- """Panneau d'affichage du Pj
- a inserer dans le layout de l'onglet groupe
- de l'ecran principal"""
- def __init__(self, idPj, parent=None):
- super (FramePj, self).__init__(parent)
- self.idPj = idPj
- self._pj = None
- self.enCreation = False
- self.createWidgets()
- def createWidgets(self):
- """construction de l'interface"""
- self.ui = Ui_pj_panneau()
- self.ui.setupUi(self)
- self.setEnabled(False)
- self.setMouseTracking(True)
- for i in range(0, 6):
- bouton = self.findChild(QPushButton, "pj_afficher_{}".format(i))
- self.connect(bouton, SIGNAL("clicked()"), self.afficherFiche)
- def signalerModif(self):
- """on signale a la fenetre principale que le personnage a ete modifie"""
- self.emit(SIGNAL("pjModifie()"), self.idPj)
- def pj(self):
- """retourne le pj represente"""
- return self._pj
- def chargerPj(self, pj = None):
- """met a jour le contenu avec les donnees du pj en param"""
- if pj != None:
- self.ui.pj_image.chargerImage(pj.logo)
- self.ui.pj_nom.majTexte(pj.nom())
- for i in range(0, 6):
- bouton = self.findChild(QPushButton, "pj_afficher_{}".format(i))
- bouton.setEnabled(True)
- self._pj = pj
- self.majApparence()
- def reinitialiser(self):
- self.ui.pj_image.majImage("")
- self.ui.pj_nom.majTexte("(Nouveau personnage...)")
- for i in range(0, 6):
- bouton = self.findChild(QPushButton, "pj_afficher_{}".format(i))
- bouton.setEnabled(False)
- def afficherFiche(self):
- """affiche la fiche de perso a la page demandee"""
- emetteur = self.sender().objectName()
- page = int(str(emetteur)[-1:])
- fen = EcranEditionMateriel(self._pj)
- fen.afficher(page)
- fen.exec_()
- self._pj = fen.mat()
- del fen
- self.ui.pj_image.chargerImage(self._pj.logo)
- self.ui.pj_nom.majTexte(self._pj.nom())
- self.majApparence()
- self.signalerModif()
- def majApparence(self):
- """affiche le fond de la couleur du pion, et epaissit la bordure au survol"""
- # "QFrame {background-color: " + self._pj.couleur.lighter(150).name() + ";" \
- self.setStyleSheet("QFrame {background-color: rgb(249,249,249);" \
- "border: 2px solid " + self._pj.couleur.lighter(110).name() + ";" \
- "border-radius: 5px;}" \
- "QLabel {border-width: 0px;}")
-
- def enterEvent(self, event):
- self.setEnabled(True)
-
- def leaveEvent(self, event):
- self.setEnabled(False)
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- ecran = FramePj(0)
- ecran.show()
- r = app.exec_()
- exit(r)
|