Просмотр исходного кода

Fonctionne de nouveau correctement aprés la restructuration

olinox 10 лет назад
Родитель
Сommit
cf82748238
4 измененных файлов с 40 добавлено и 53 удалено
  1. 4 1
      DMonde.py
  2. 6 2
      lib/EcranGestionCombat.py
  3. 18 37
      lib/Pion.py
  4. 12 13
      lib/Plateau.py

+ 4 - 1
DMonde.py

@@ -20,6 +20,9 @@ from lib.Case import Case
 from lib.Pion import Pion
 from lib.PionDecor import PionDecor
 from lib.Decor import Decor
+from lib.Terrain import Terrain
+from lib.Creature import Creature
+from lib.Attaque import Attaque
 
 from lib.Cache import Cache
 from lib.EntreeSortie import EntreeSortie
@@ -96,7 +99,7 @@ class DMonde(QMainWindow):
         QApplication.restoreOverrideCursor()
         del self.creationPlateau
                                    
-    def sauverPlateau(self, plateau):
+    def sauverPlateau(self):
         QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
         if self.plateau.id in afficheSvg("parties\\{}\\svg\\infos_sauvegarde".format(self.partie)):
            idPlateau = self.plateau.id

+ 6 - 2
lib/EcranGestionCombat.py

@@ -5,7 +5,11 @@ from __future__ import division
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
-                
+from ui.ecran_gestionCombat import Ui_gestionCombat
+import regles
+from lancer import jet, estJetValide
+
+
 class EcranGestionCombat(QFrame):
     #*EGC
     """interface de gestion du combat (MJ)"""
@@ -214,7 +218,7 @@ class EcranGestionCombat(QFrame):
         for i in range(0,self.ui.listePions.rowCount()):
             self.ui.listePions.setItem(i, self.colonnesBase.index("Ordre"), \
                                        QTableWidgetItem(str(self.plateau.ordreJeu[int(str(self.ui.listePions.item(i,0).text().toUtf8()))])))
-        trierTable(self.ui.listePions, self.colonnesBase.index("Ordre"))
+##        trierTable(self.ui.listePions, self.colonnesBase.index("Ordre"))
 
     def jetDes(self):
         """jette les des en fonction de ce qui est tape dans jetDes, et affecte les resultats a la colonne D des lignes selectionnees"""

+ 18 - 37
lib/Pion.py

@@ -8,6 +8,7 @@ from PyQt4.QtGui import *
 
 from Creature import Creature
 from Forme import Forme
+from outilsSvg import *
 
 class Pion(QGraphicsItem):
     """pion du plateau de combat"""
@@ -46,9 +47,20 @@ class Pion(QGraphicsItem):
 
     def __setstate__(self, state):
         self.__dict__ = state
-        self.creature = charger("librairie\\creature", self.idCreature)
-##        if self.creature == None:   ##############
-            
+        self.creature = charger("lib\\biblio\\creature", self.idCreature)
+        if self.creature == None:
+            self.creature = Creature()
+
+
+    def paint(self, painter, option, widget = None):
+        """reimplemente de QGraphicsItem"""
+        pass
+
+    def txtId(self):
+        """renvoie le nom et le numero complementaire du pion"""
+        return "{} {}".format(self.nom, self.numTxt)
+    
+    ########### fonctions graphiques et geometriques   ##############
     def creer(self, posX, posY, nom, numTxt = "", creature = None, couleur = None, nbRotations = 0):
         """place le pion sur le plateau"""        
         #definition de la forme  
@@ -289,40 +301,7 @@ class Pion(QGraphicsItem):
         self.text.setParentItem(None)
         self.plateau.removeItem(self)
         self.plateau = None
-    def boundingRect(self):
-        return QRectF()
-    
-    def hoverEnterEvent(self, event):
-        """evenement lors du survol de la souris (en entree)"""
-        #super(Pion, self).hoverEnterEvent(event)
-        if (self.plateau.pionSelectionne() == None and self.plateau.modeActif == "standard") or self.plateau.modeActif == "pionSupprimer":
-            self.surbrillance(True, 0.4)    
-        self.plateau.pionSurvol(self.numero)
-        event.ignore()
-
-    def hoverLeaveEvent(self, event):
-        """evenement lors du survol de la souris (en entree)"""
-        #super(Pion, self).hoverLeaveEvent(event)
-        self.surbrillance(False)
-        self.plateau.pionSurvol(None)
-
-    def mousePressEvent(self, event):
-        """evenement lors du clic souris"""
-        super(Pion, self).mousePressEvent(event)
-        if event.button() == 1: #sur clic gauche
-           accepte = self.plateau.pionClique(self.numero)
-           if accepte: event.accept()
-        else:
-           event.ignore()
-
-    def mouseDoubleClickEvent(self, event):
-        """evenement lors du clic souris"""
-        super(Pion, self).mouseDoubleClickEvent(event)
-        if event.button() == 1: #sur clic gauche
-           accepte = self.plateau.pionDoubleClic(self.numero)
-           if accepte: event.accept()
-        else:
-           event.ignore() 
+ 
     ##################
 
     ###############   evenements clavier et souris    ##############
@@ -361,3 +340,5 @@ class Pion(QGraphicsItem):
            if accepte: event.accept()
         else:
            event.ignore()
+
+     #######################

+ 12 - 13
lib/Plateau.py

@@ -10,10 +10,7 @@ from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 from PyQt4 import QtOpenGL
 
-
-from ui.ecran_gestionCombat import Ui_gestionCombat
-from ui.ecran_editionAttaques import Ui_editionAttaques
-from ui.ecran_affichageTexte import Ui_affichageTexte
+##from ui.ecran_editionAttaques import Ui_editionAttaques
 
 from Case import Case
 from Pion import Pion
@@ -26,6 +23,8 @@ from EntreeSortie import EntreeSortie
 from EcranEditionCreature import EcranEditionCreature
 from EcranEditionDecors import EcranEditionDecors
 from EcranEditionTerrain import EcranEditionTerrain
+from EcranAffichageTexte import EcranAffichageTexte
+from EcranGestionCombat import EcranGestionCombat
 
 import regles as regles
 from outilsSvg import *
@@ -357,7 +356,7 @@ class Plateau(QGraphicsScene):
  
     def majListTerrains(self):
         """mise a jour de la liste des terrains depuis la sauvegarde"""
-        dico = afficheSvg("biblio\\terrain")
+        dico = afficheSvg("lib\\biblio\\terrain")
         while self.fenetre.ui.listTerrains.rowCount() > 0:
             self.fenetre.ui.listTerrains.removeRow(0)
         index = 0    
@@ -381,7 +380,7 @@ class Plateau(QGraphicsScene):
         """ouvre la fenetre 'terrains' en mode edition"""
         index = self.fenetre.ui.listTerrains.item(self.fenetre.ui.listTerrains.currentRow(), 0)
         if index > 0:
-            terrain = charger("biblio\\terrain", str(index.text().toUtf8()))
+            terrain = charger("lib\\biblio\\terrain", str(index.text().toUtf8()))
             self.afficheEcranEditionTerrains(terrain)
         
     def terrainNouveau(self):
@@ -400,7 +399,7 @@ class Plateau(QGraphicsScene):
         
     def majListCreatures(self):
         """mise a jour de la liste des creatures depuis la sauvegarde"""
-        dico = afficheSvg("biblio\\creature")
+        dico = afficheSvg("lib\\biblio\\creature")
         while self.fenetre.ui.listCreatures.rowCount() > 0:
             self.fenetre.ui.listCreatures.removeRow(0)
         index = 0    
@@ -425,7 +424,7 @@ class Plateau(QGraphicsScene):
         """ouvre la fenetre 'creatures' en mode edition"""
         index = self.fenetre.ui.listCreatures.item(self.fenetre.ui.listCreatures.currentRow(), 0)
         if index > 0:
-            creature = charger("biblio\\creature", str(index.text().toUtf8()))
+            creature = charger("lib\\biblio\\creature", str(index.text().toUtf8()))
             self.afficheEcranEditionCreatures(creature)
         
     def creatureNouveau(self):
@@ -445,7 +444,7 @@ class Plateau(QGraphicsScene):
         
     def majListDecors(self):
         """mise a jour de la liste des decors depuis la sauvegarde"""
-        dico = afficheSvg("biblio\\decor")
+        dico = afficheSvg("lib\\biblio\\decor")
         while self.fenetre.ui.listDecors.rowCount() > 0:
             self.fenetre.ui.listDecors.removeRow(0)
         index = 0    
@@ -470,7 +469,7 @@ class Plateau(QGraphicsScene):
         """ouvre la fenetre 'decors' en mode edition"""
         index = self.fenetre.ui.listDecors.item(self.fenetre.ui.listDecors.currentRow(), 0)
         if index > 0:
-            decor = charger("biblio\\decor", str(index.text().toUtf8()))
+            decor = charger("lib\\biblio\\decor", str(index.text().toUtf8()))
             self.afficheEcranEditionDecors(decor)
         
     def decorNouveau(self):
@@ -606,21 +605,21 @@ class Plateau(QGraphicsScene):
     def modeCreationDecor(self, ligne, col):
         """enclenche le mode de creation de decors depuis la liste des decors"""
         index = self.fenetre.ui.listDecors.item(ligne, 0)
-        decor = charger("biblio\\decor", str(index.text().toUtf8()))
+        decor = charger("lib\\biblio\\decor", str(index.text().toUtf8()))
         self.majMode("pionDecorCreation", decor)
         self.fenetre.ui.vuePlateau.setFocus()
         
     def modeCreationCreaturePion(self, ligne, col):
         """enclenche le mode de creation de pions depuis la liste des creatures"""
         index = self.fenetre.ui.listCreatures.item(ligne, 0)
-        creature = charger("biblio\\creature", str(index.text().toUtf8()))
+        creature = charger("lib\\biblio\\creature", str(index.text().toUtf8()))
         self.majMode("pionCreation", creature)
         self.fenetre.ui.vuePlateau.setFocus()
 
     def modeMajTerrainCase(self, ligne, col):
         """enclenche le mode permettant la mise a jour du terrain des cases"""
         index = self.fenetre.ui.listTerrains.item(ligne, 0)
-        terrain = charger("biblio\\terrain", str(index.text().toUtf8()))
+        terrain = charger("lib\\biblio\\terrain", str(index.text().toUtf8()))
         self.majMode("caseMajTerrain", terrain)
         self.fenetre.ui.vuePlateau.setFocus()