Browse Source

Creation et test du mode SuppressionPion

unknown 10 years ago
parent
commit
2bc5cf29d0
9 changed files with 33 additions and 10 deletions
  1. 1 2
      lib/Combattant.py
  2. 14 5
      lib/Modes.py
  3. 3 1
      lib/Pion.py
  4. 3 1
      lib/Plateau.py
  5. BIN
      lib/biblio/combattant
  6. BIN
      lib/biblio/decor
  7. BIN
      lib/biblio/terrain
  8. 5 1
      lib/ui/ecran_principal.py
  9. 7 0
      lib/ui/mainwindow.ui

+ 1 - 2
lib/Combattant.py

@@ -13,7 +13,7 @@ import regles
 
 class Combattant(Pion):
     """combattant sur un plateau de combat"""
-    def __init__(self, numero = 0, parent=None):
+    def __init__(self, parent=None):
         super(Combattant, self).__init__()
         #caracs
         self.id = "00"
@@ -28,7 +28,6 @@ class Combattant(Pion):
         self.notes = ""        
 
         #caracs liees au combat:
-        self.numero = numero
         self.etat = ""
         self.deplacementRestant = 0        
 

+ 14 - 5
lib/Modes.py

@@ -304,11 +304,21 @@ class CreationPion(ModeBase):
                 self.plateau.proj.majRotation(-1)
 
 
+class SuppressionPion(ModeBase):
+    """mode de suppression de pions (combattant ou decor)"""
+    def __init__(self, plateau):
+        super(SuppressionPion, self).__init__(plateau)
+        self._sourceCurseur = "img\\gomme.png"
+        self._focus = True
 
-
-
-
-
+    def clicGauche(self, event):
+        """supprime le pion sous le clic. S'il y en a plusieurs,
+            supprime le premier de la pile"""
+        item = self.plateau.itemAt(event.scenePos())
+        
+        if item.parentItem().__class__.__name__ in ["Combattant", "Decor"]:
+            self.plateau.pionSupprimer(item.parentItem().numero)
+            
 
 
 
@@ -327,4 +337,3 @@ class CreationPion(ModeBase):
 
 
         
-    

+ 3 - 1
lib/Pion.py

@@ -14,6 +14,7 @@ class Pion(QGraphicsItem):
     def __init__(self, parent=None):
         super(Pion, self).__init__()
         #caracteristiques du pion
+        self.numero = 0
         self.nom = ""
         self.couleur = QColor()
         self.logo = ""
@@ -36,7 +37,8 @@ class Pion(QGraphicsItem):
         self.largeurOriginale = 0
         self.hauteurOriginale = 0
         self.polygoneGraphique = None
-        self.nbRotations = 0        
+        self.nbRotations = 0
+
         
     def __getstate__(self):
         nePasSvg = ["plateau", "brillance", "shadow", "creature", "polygonesForme", "pixGraphique", "etiquetteGraphique"]

+ 3 - 1
lib/Plateau.py

@@ -217,6 +217,7 @@ class Plateau(QGraphicsScene):
         self.fenetre.connect(self.fenetre.ui.cp_editerDecor, SIGNAL("clicked()"), self.decorEdit, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_nouveauDecor, SIGNAL("clicked()"), self.decorNouveau, Qt.UniqueConnection)
 ##        self.fenetre.connect(self.fenetre.ui.editerAttaques, SIGNAL("clicked()"), self.afficheEcranEditionAttaques, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.cp_supprimerPion, SIGNAL("clicked()"), self.majModePionSupprimer, Qt.UniqueConnection)
 
         #creation
         self.fenetre.connect(self.fenetre.ui.cp_epaisseurPinceau, SIGNAL("valueChanged(int)"), self.majEpaisseurPinceau, Qt.UniqueConnection)
@@ -557,7 +558,8 @@ class Plateau(QGraphicsScene):
 
     def majModePionSupprimer(self):
         """enclenche le mode suppression de pions sur clic gauche (creatures ou decors)"""
-        self.majMode("pionSupprimer")        
+        self.activerMode(Modes.SuppressionPion)
+        
     
     def modeCreationDecor(self, ligne, col):
         """enclenche le mode de creation de decors depuis la liste des decors"""

BIN
lib/biblio/combattant


BIN
lib/biblio/decor


BIN
lib/biblio/terrain


+ 5 - 1
lib/ui/ecran_principal.py

@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'mainwindow.ui'
 #
-# Created: Wed May 27 17:12:49 2015
+# Created: Thu May 28 09:52:52 2015
 #      by: PyQt4 UI code generator 4.10.4
 #
 # WARNING! All changes made in this file will be lost!
@@ -638,6 +638,9 @@ class Ui_principal(object):
         self.cp_editerDecor = QtGui.QPushButton(self.cp_afficherDecors)
         self.cp_editerDecor.setObjectName(_fromUtf8("cp_editerDecor"))
         self.verticalLayout_7.addWidget(self.cp_editerDecor)
+        self.cp_supprimerPion = QtGui.QPushButton(self.cp_afficherDecors)
+        self.cp_supprimerPion.setObjectName(_fromUtf8("cp_supprimerPion"))
+        self.verticalLayout_7.addWidget(self.cp_supprimerPion)
         icon20 = QtGui.QIcon()
         icon20.addPixmap(QtGui.QPixmap(_fromUtf8("img/decor.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.cp_ongletsListes.addTab(self.cp_afficherDecors, icon20, _fromUtf8(""))
@@ -1445,6 +1448,7 @@ class Ui_principal(object):
         item.setText(_translate("principal", "Decor", None))
         self.cp_nouveauDecor.setText(_translate("principal", "Nouveau", None))
         self.cp_editerDecor.setText(_translate("principal", "Editer", None))
+        self.cp_supprimerPion.setText(_translate("principal", "Suppr", None))
         self.cp_ongletsListes.setTabToolTip(self.cp_ongletsListes.indexOf(self.cp_afficherDecors), _translate("principal", "Afficher la liste des décors", None))
         item = self.cp_listeCreatures.horizontalHeaderItem(0)
         item.setText(_translate("principal", "code", None))

+ 7 - 0
lib/ui/mainwindow.ui

@@ -2000,6 +2000,13 @@
                      </property>
                     </widget>
                    </item>
+                   <item>
+                    <widget class="QPushButton" name="cp_supprimerPion">
+                     <property name="text">
+                      <string>Suppr</string>
+                     </property>
+                    </widget>
+                   </item>
                   </layout>
                  </widget>
                  <widget class="QWidget" name="cp_afficherCreatures">