|
@@ -5,16 +5,25 @@ from PyQt4.QtCore import *
|
|
|
from PyQt4.QtGui import *
|
|
from PyQt4.QtGui import *
|
|
|
try:
|
|
try:
|
|
|
from lib.outilsSvg import *
|
|
from lib.outilsSvg import *
|
|
|
- import lib.regles as regles
|
|
|
|
|
- from lib.Actions import *
|
|
|
|
|
except:
|
|
except:
|
|
|
try:
|
|
try:
|
|
|
from outilsSvg import *
|
|
from outilsSvg import *
|
|
|
|
|
+ except:
|
|
|
|
|
+ print "dm: impossible de charger outilsSvg"
|
|
|
|
|
+try:
|
|
|
|
|
+ import lib.regles as regles
|
|
|
|
|
+except:
|
|
|
|
|
+ try:
|
|
|
import regles as regles
|
|
import regles as regles
|
|
|
|
|
+ except:
|
|
|
|
|
+ print "dm: impossible de charger regles"
|
|
|
|
|
+try:
|
|
|
|
|
+ from lib.Actions import *
|
|
|
|
|
+except:
|
|
|
|
|
+ try:
|
|
|
from Actions import *
|
|
from Actions import *
|
|
|
except:
|
|
except:
|
|
|
- pass
|
|
|
|
|
-
|
|
|
|
|
|
|
+ print "dm: impossible de charger Actions"
|
|
|
|
|
|
|
|
class Biblio():
|
|
class Biblio():
|
|
|
"""cette classe fournit une liste spreciale"""
|
|
"""cette classe fournit une liste spreciale"""
|
|
@@ -34,17 +43,19 @@ class Biblio():
|
|
|
class DmLabel(QLabel):
|
|
class DmLabel(QLabel):
|
|
|
"""surcharge de QLabel"""
|
|
"""surcharge de QLabel"""
|
|
|
def __init__(self, parent = None):
|
|
def __init__(self, parent = None):
|
|
|
- super(DmLabel, self).__init__(parent)
|
|
|
|
|
|
|
+ super(DmLabel, self).__init__(parent)
|
|
|
|
|
+ self._image = None
|
|
|
|
|
|
|
|
def majTexte(self, txt):
|
|
def majTexte(self, txt):
|
|
|
self.clear()
|
|
self.clear()
|
|
|
self.setText(QString.fromUtf8(txt))
|
|
self.setText(QString.fromUtf8(txt))
|
|
|
|
|
|
|
|
- def chargerImage(self, chemin):
|
|
|
|
|
|
|
+ def chargerImage(self, img = None):
|
|
|
|
|
+ """prend une Image en parametre"""
|
|
|
self.clear()
|
|
self.clear()
|
|
|
- if len(chemin) > 0:
|
|
|
|
|
- pix = QPixmap(QString.fromUtf8(chemin))
|
|
|
|
|
- pix = pix.scaled(self.width(), self.height(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
|
|
|
|
|
|
|
+ if img:
|
|
|
|
|
+ self._image = img
|
|
|
|
|
+ pix = img.pix(self.width(), self.height())
|
|
|
else:
|
|
else:
|
|
|
pix = QPixmap()
|
|
pix = QPixmap()
|
|
|
self.setPixmap(pix)
|
|
self.setPixmap(pix)
|
|
@@ -52,46 +63,16 @@ class DmLabel(QLabel):
|
|
|
def texte(self):
|
|
def texte(self):
|
|
|
return str(self.text().toUtf8())
|
|
return str(self.text().toUtf8())
|
|
|
|
|
|
|
|
-class DmLabelChoixImage(DmLabel):
|
|
|
|
|
- """surcharge de DmLabel,
|
|
|
|
|
- affiche une fenetre de selection de fichier, recupere une image,
|
|
|
|
|
- et l'affiche."""
|
|
|
|
|
- def __init__(self, parent = None):
|
|
|
|
|
- super(DmLabelChoixImage, self).__init__(parent)
|
|
|
|
|
- self.setStyleSheet("QLabel { padding: 3px; }")
|
|
|
|
|
- self._sourceImage = ""
|
|
|
|
|
|
|
+ def image(self):
|
|
|
|
|
+ return self._image
|
|
|
|
|
|
|
|
def mousePressEvent(self, event):
|
|
def mousePressEvent(self, event):
|
|
|
if event.button() == 1:
|
|
if event.button() == 1:
|
|
|
- self.selectionImage()
|
|
|
|
|
-
|
|
|
|
|
- def selectionImage(self):
|
|
|
|
|
- fichier = QFileDialog.getOpenFileName(self,
|
|
|
|
|
- "Selectionnez une image",
|
|
|
|
|
- "\\img",
|
|
|
|
|
- "Images (*.png *.jpg)")
|
|
|
|
|
- if len(fichier) > 0:
|
|
|
|
|
- pix = QPixmap(fichier)
|
|
|
|
|
- if not pix.isNull():
|
|
|
|
|
- self._sourceImage = fichier
|
|
|
|
|
- self.clear()
|
|
|
|
|
- pix = pix.scaled(self.width(), self.height(), Qt.KeepAspectRatio, Qt.SmoothTransformation)
|
|
|
|
|
- self.setPixmap(pix)
|
|
|
|
|
- self.emit(SIGNAL("imageModifiee()"))
|
|
|
|
|
- else:
|
|
|
|
|
- dial = QMessageBox(self)
|
|
|
|
|
- dial.setText("Format non reconnu")
|
|
|
|
|
- dial.setWindowTitle("Erreur")
|
|
|
|
|
- dial.setStandardButtons(QMessageBox.Ok)
|
|
|
|
|
- dial.exec_()
|
|
|
|
|
|
|
+ self.emit(SIGNAL("clicked()"))
|
|
|
|
|
|
|
|
- def image(self):
|
|
|
|
|
- """retourne le chemin de l'image chargee"""
|
|
|
|
|
- return self._sourceImage
|
|
|
|
|
-
|
|
|
|
|
- def chargerImage(self, chemin):
|
|
|
|
|
- self._sourceImage = chemin
|
|
|
|
|
- super(DmLabelChoixImage, self).chargerImage(chemin)
|
|
|
|
|
|
|
+ def mouseDoubleClickEvent(self, event):
|
|
|
|
|
+ if event.button() == 1:
|
|
|
|
|
+ self.emit(SIGNAL("doubleClicked()"))
|
|
|
|
|
|
|
|
class DmTextEdit(QTextEdit):
|
|
class DmTextEdit(QTextEdit):
|
|
|
def __init__(self, parent = None):
|
|
def __init__(self, parent = None):
|
|
@@ -321,8 +302,8 @@ class DmTableBiblio(DmTableWidget):
|
|
|
#code de l'objet
|
|
#code de l'objet
|
|
|
self.setItem(int(index),0,QTableWidgetItem(QString.fromUtf8(elt)))
|
|
self.setItem(int(index),0,QTableWidgetItem(QString.fromUtf8(elt)))
|
|
|
#icone et nom
|
|
#icone et nom
|
|
|
- icon = QIcon(objet.icone())
|
|
|
|
|
- item = QTableWidgetItem(icon,QString.fromUtf8(objet.nom))
|
|
|
|
|
|
|
+ icon = QIcon(objet.icone().chemin())
|
|
|
|
|
+ item = QTableWidgetItem(icon, QString.fromUtf8(objet.nom))
|
|
|
self.setItem(int(index),1,item)
|
|
self.setItem(int(index),1,item)
|
|
|
|
|
|
|
|
index += 1
|
|
index += 1
|
|
@@ -509,120 +490,6 @@ class DmTableInventaireCombat(DmTableInventaire):
|
|
|
def __init__(self, parent = None):
|
|
def __init__(self, parent = None):
|
|
|
super(DmTableInventaireCombat, self).__init__(parent)
|
|
super(DmTableInventaireCombat, self).__init__(parent)
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-##class DmTableListeAttaques(DmTableWidget):
|
|
|
|
|
-## """liste des attaques du combattant"""
|
|
|
|
|
-## def __init__(self, parent = None):
|
|
|
|
|
-## super(DmTableListeAttaques, self).__init__(parent)
|
|
|
|
|
-## self.panneau = None
|
|
|
|
|
-## self._listeAttaques = []
|
|
|
|
|
-## self.connect(self, SIGNAL("currentCellChanged(int, int, int, int)"), self.selectionChangee)
|
|
|
|
|
-##
|
|
|
|
|
-## def listeAttaques(self):
|
|
|
|
|
-## #on recupere les donnees de l'attaque en cours avant d'exporter la liste
|
|
|
|
|
-## self.enregistrerPanneau(self.ligneSelectionnee())
|
|
|
|
|
-## return self._listeAttaques
|
|
|
|
|
-##
|
|
|
|
|
-## def attaqueSelectionnee(self):
|
|
|
|
|
-## """renvoie l'attaque selectionnee"""
|
|
|
|
|
-## retour = None
|
|
|
|
|
-## if len(self._listeAttaques) > 0 and self.ligneSelectionnee() != None:
|
|
|
|
|
-## retour = self._listeAttaques[self.ligneSelectionnee()]
|
|
|
|
|
-## return retour
|
|
|
|
|
-##
|
|
|
|
|
-## def majAttaque(self, index, nouvelle):
|
|
|
|
|
-## """met a jour les donnees de l'attaque en position x"""
|
|
|
|
|
-## self._listeAttaques[index] = nouvelle
|
|
|
|
|
-##
|
|
|
|
|
-## def charger(self, fenetre, listeAttaques):
|
|
|
|
|
-## self.panneau = fenetre.ui.edc_attaque_panneau
|
|
|
|
|
-## self._listeAttaques = listeAttaques
|
|
|
|
|
-## self.peupler()
|
|
|
|
|
-## self.selectionner(0, 0)
|
|
|
|
|
-## self.majPanneau()
|
|
|
|
|
-##
|
|
|
|
|
-## def peupler(self):
|
|
|
|
|
-## self.vider()
|
|
|
|
|
-## for attaque in self._listeAttaques:
|
|
|
|
|
-## ligne = self.nouvelleLigneFin()
|
|
|
|
|
-## self.setItem(ligne, 0, QTableWidgetItem(attaque.icone(), QString.fromUtf8(attaque.nom())))
|
|
|
|
|
-##
|
|
|
|
|
-## def majPanneau(self):
|
|
|
|
|
-## """met a jour les donnees du panneau"""
|
|
|
|
|
-## self.panneau.chargerAttaque(self.attaqueSelectionnee())
|
|
|
|
|
-##
|
|
|
|
|
-## def enregistrerPanneau(self, ligne):
|
|
|
|
|
-## """enregistre les donnees du panneau sur l'attaque de la ligne"""
|
|
|
|
|
-## attaque = self.panneau.attaque()
|
|
|
|
|
-## if attaque:
|
|
|
|
|
-## self._listeAttaques[ligne] = attaque
|
|
|
|
|
-## self.peupler()
|
|
|
|
|
-##
|
|
|
|
|
-## def nouvelle(self):
|
|
|
|
|
-## attaque = Cac()
|
|
|
|
|
-## self._listeAttaques.append(attaque)
|
|
|
|
|
-## self.peupler()
|
|
|
|
|
-## self.selectionner(self.rowCount(), 0)
|
|
|
|
|
-##
|
|
|
|
|
-## def supprimer(self):
|
|
|
|
|
-## """supprime l'attaque actuellement selectionnee"""
|
|
|
|
|
-#### ligne = self.ligneSelectionnee()
|
|
|
|
|
-## self._listeAttaques.remove(self.attaqueSelectionnee())
|
|
|
|
|
-## self.peupler()
|
|
|
|
|
-#### self.selectionner(ligne, 0)
|
|
|
|
|
-#### self.removeRow(self.ligneSelectionnee())
|
|
|
|
|
-##
|
|
|
|
|
-## def selectionChangee(self, ancienneLigne, ancienneColonne, ligne, colonne):
|
|
|
|
|
-## self.enregistrerPanneau(ancienneLigne)
|
|
|
|
|
-## self.panneau.chargerAttaque(None)
|
|
|
|
|
-## self.majPanneau()
|
|
|
|
|
-#### self.emit(SIGNAL("selectionChangee(int, int)"), ancienneLigne, ligne)
|
|
|
|
|
-##
|
|
|
|
|
-##
|
|
|
|
|
-##
|
|
|
|
|
-##class DmTableAttributsAttaque(DmTableWidget):
|
|
|
|
|
-## """table contenant les attributs (selon regles) d'une attaque"""
|
|
|
|
|
-## def __init__(self, parent = None):
|
|
|
|
|
-## super(DmTableAttributsAttaque, self).__init__(parent)
|
|
|
|
|
-## self._constr = False
|
|
|
|
|
-##
|
|
|
|
|
-## def attributs(self):
|
|
|
|
|
-## """retourne un dictionnaire contenant les attributs"""
|
|
|
|
|
-## dico = {}
|
|
|
|
|
-## for ligne in self.lignes():
|
|
|
|
|
-## nomAttr = regles.ordreAttributsAttaques()[ligne]
|
|
|
|
|
-## dico[nomAttr] = regles.attributAttaque(nomAttr).controler(self.texte(ligne, 1))
|
|
|
|
|
-## return dico
|
|
|
|
|
-##
|
|
|
|
|
-## def construire(self):
|
|
|
|
|
-## """cree les lignes et remplit la colonne des noms d'attributs"""
|
|
|
|
|
-## for nomAttribut in regles.ordreAttributsAttaques():
|
|
|
|
|
-## attribut = regles.attributAttaque(nomAttribut)
|
|
|
|
|
-## ligne = self.nouvelleLigneFin()
|
|
|
|
|
-## self.majTexte(ligne, 0, attribut.nom)
|
|
|
|
|
-## self.majTexte(ligne, 1, "")
|
|
|
|
|
-## self._constr = True
|
|
|
|
|
-##
|
|
|
|
|
-## def charger(self, attributs):
|
|
|
|
|
-## """charge les attributs d'une attaque"""
|
|
|
|
|
-## self.decharger()
|
|
|
|
|
-## for ligne in self.lignes():
|
|
|
|
|
-## attr = regles.ordreAttributsAttaques()[ligne]
|
|
|
|
|
-## valeur = attributs[attr]
|
|
|
|
|
-## self.majTexte(ligne, 1, valeur)
|
|
|
|
|
-##
|
|
|
|
|
-## def decharger(self):
|
|
|
|
|
-## """efface les valeurs de la colonne des valeurs,
|
|
|
|
|
-## mais laisse intacte la colonne des noms d'attributs"""
|
|
|
|
|
-## if not self._constr:
|
|
|
|
|
-## self.contruire()
|
|
|
|
|
-## else:
|
|
|
|
|
-## for ligne in self.lignes():
|
|
|
|
|
-## self.majTexte(ligne, 1, "")
|
|
|
|
|
-##
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
class DmTableMenu(QTableWidget):
|
|
class DmTableMenu(QTableWidget):
|
|
|
"""table utilisee comme barre d'onglets verticale"""
|
|
"""table utilisee comme barre d'onglets verticale"""
|
|
|
def __init__(self, parent = None):
|
|
def __init__(self, parent = None):
|
|
@@ -632,7 +499,6 @@ class DmTableMenu(QTableWidget):
|
|
|
super(DmTableMenu, self).setItem(ligne, colonne, item)
|
|
super(DmTableMenu, self).setItem(ligne, colonne, item)
|
|
|
if ligne == 0:
|
|
if ligne == 0:
|
|
|
self.setItemSelected(item, True)
|
|
self.setItemSelected(item, True)
|
|
|
-
|
|
|
|
|
|
|
|
|
|
class DmFrameInf_Combattant(QGroupBox):
|
|
class DmFrameInf_Combattant(QGroupBox):
|
|
|
"""frame d'information (combattant)"""
|
|
"""frame d'information (combattant)"""
|
|
@@ -643,7 +509,7 @@ class DmFrameInf_Combattant(QGroupBox):
|
|
|
self.setVisible((combattant != None))
|
|
self.setVisible((combattant != None))
|
|
|
if combattant:
|
|
if combattant:
|
|
|
self.findChild(DmLabel, "inf_pionNom").majTexte(combattant.nom)
|
|
self.findChild(DmLabel, "inf_pionNom").majTexte(combattant.nom)
|
|
|
- self.findChild(DmLabel, "inf_pionImage").chargerImage("img\\"+combattant.img.nomFichier)
|
|
|
|
|
|
|
+ self.findChild(DmLabel, "inf_pionImage").chargerImage(combattant.img.rimage)
|
|
|
self.findChild(DmLabel, "inf_pionEffet").setVisible(False)
|
|
self.findChild(DmLabel, "inf_pionEffet").setVisible(False)
|
|
|
|
|
|
|
|
|
|
|
|
@@ -656,7 +522,7 @@ class DmFrameInf_Decor(QGroupBox):
|
|
|
self.setVisible((decor != None))
|
|
self.setVisible((decor != None))
|
|
|
if decor:
|
|
if decor:
|
|
|
self.findChild(DmLabel, "inf_decorNom").majTexte(decor.nom)
|
|
self.findChild(DmLabel, "inf_decorNom").majTexte(decor.nom)
|
|
|
- self.findChild(DmLabel, "inf_decorImage").chargerImage("img\\"+decor.img.nomFichier)
|
|
|
|
|
|
|
+ self.findChild(DmLabel, "inf_decorImage").chargerImage(decor.img.rimage)
|
|
|
|
|
|
|
|
class DmFrameInf_Case(QGroupBox):
|
|
class DmFrameInf_Case(QGroupBox):
|
|
|
"""frame d'information (case)"""
|
|
"""frame d'information (case)"""
|