Bläddra i källkod

Correction de bugs
On peut desormais selectionner les decors,
leurs infos s'affichent dans le panneau pi
La suppression des pions est opé

unknown 10 år sedan
förälder
incheckning
109f15a71b

+ 26 - 34
DMonde.py

@@ -12,7 +12,7 @@ from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
 from lib.ui.ecran_principal import Ui_principal
-import lib.ressources as ressources
+import lib.rsc as rsc
 
 from lib.EcranCreerPlateau import EcranCreerPlateau
 from lib.EcranChargerPlateau import EcranChargerPlateau
@@ -68,7 +68,7 @@ class DMonde(QMainWindow):
         """construction de l'interface"""
         self.ui = Ui_principal()
         self.ui.setupUi(self)
-        self.majVisibilitePanneauxPlateau("")
+        self.afficherPanneauxPlateau(False)
         self.connect(self.ui.cbt_sauver, SIGNAL("clicked()"), self.sauverPlateau)   
         self.connect(self.ui.cbt_fermer, SIGNAL("clicked()"), self.fermerPlateau)
         self.ui.cbt_vue.setViewportUpdateMode(QGraphicsView.BoundingRectViewportUpdate)
@@ -79,21 +79,15 @@ class DMonde(QMainWindow):
         self.creerEcranFondPlateau()
         self.chargerListePj()
         self.connect(self.ui.grp_nouveauPj, SIGNAL("clicked()"), self.nouveauPj)
+##        self.showMaximized()
 
-        self.showMaximized()
-        
+
+    ########## onglet plateau
     def creerEcranFondPlateau(self):
         ecranFondPlateau = EcranFondPlateau(self)
         self.ui.cbt_vue.resetTransform()
         self.ui.cbt_vue.setScene(ecranFondPlateau)
 
-    def chargerListePj(self):
-        listePj = chargerUnique("parties\\{}\\groupe".format(self.partie))
-        if not listePj: listePj = []
-        self.ui.grp_deroulement_layout.setAlignment(Qt.AlignTop)
-        for pj in listePj:
-            self.pjAjouterAListe(pj)
-
     def afficherEcranCreerPlateau(self):
         """ouvre la fenetre de creation de plateau"""
         valide = True
@@ -167,7 +161,7 @@ class DMonde(QMainWindow):
         self.plateau.fermer()
         self.plateau = None
         self.creerEcranFondPlateau()
-        self.majVisibilitePanneauxPlateau("") 
+        self.afficherPanneauxPlateau(False) 
 
     def majFichierInfosSvg(self):
         """construit/maj le fichier contenant la liste des
@@ -200,32 +194,21 @@ class DMonde(QMainWindow):
             if not fichier in lstFichiersSvg:
                 supprSvg("parties\\{}\\svg\\infos_sauvegarde".format(self.partie), fichier)
 
-    def majVisibilitePanneauxPlateau(self, mode):
-        """affiche ou cache les panneaux d'edition, d'information et de gestion du plateau"""
-        #self.ui.panneauInfosPlateau.setVisible(False)
-        conditionPlateau = (len(mode) > 0)
-        conditionModeCreation = (len(mode) > 0 and mode == "creation")
-        conditionModeCombat = (len(mode) > 0 and mode == "combat")
-
-        #panneaux d'infos, barre du haut et journal
-        self.ui.inf_panneau.setVisible(conditionPlateau)
-        self.ui.cbt_barreHaut.setVisible(conditionPlateau)
-        self.ui.histo_agrandir.setVisible(conditionPlateau)
-        self.ui.histo_liste.setVisible(conditionPlateau)
-        
-        #modes creation/combat
-        self.ui.cbt_modeCombat.setChecked(conditionModeCombat)
-        self.ui.cp_panneau.setVisible(conditionModeCreation)
 
-        self.ui.cbt_modeCreation.setChecked(conditionModeCreation)
-        self.ui.pi_panneau.setVisible(conditionModeCombat)
+    ########## apparence de l'onglet plateau
+    def afficherPanneauxPlateau(self, actif):
+        index = int(actif)   # 0 si faux, 1 si vrai
+        self.ui.cbt_panneauBas.setCurrentIndex(index)
+        self.ui.cbt_panneauHaut.setCurrentIndex(index)
+        self.ui.cbt_panneauDroite.setCurrentIndex(index)
+        self.ui.cbt_panneauGauche.setCurrentIndex(index)
 
     def reinitialiserPanneauxPlateau(self):
         """remet a neuf les commandes liees au plateau"""
-        for panneau in [self.ui.inf_panneau, \
-                         self.ui.cbt_barreHaut, \
-                         self.ui.cp_panneau, \
-                         self.ui.pi_panneau]:
+        for panneau in [self.ui.cbt_panneauHaut, \
+                         self.ui.cbt_panneauBas, \
+                         self.ui.cbt_panneauGauche, \
+                         self.ui.cbt_panneauDroite]:
             #listes
             for liste in panneau.findChildren(QTableWidget):
                 while liste.rowCount() > 0:
@@ -245,6 +228,15 @@ class DMonde(QMainWindow):
             for item in panneau.findChildren(QDoubleSpinBox):
                 item.setValue(0)                
 
+
+    ########## onglet groupe
+    def chargerListePj(self):
+        listePj = chargerUnique("parties\\{}\\groupe".format(self.partie))
+        if not listePj: listePj = []
+        self.ui.grp_deroulement_layout.setAlignment(Qt.AlignTop)
+        for pj in listePj:
+            self.pjAjouterAListe(pj)
+
     def pjAjouterAListe(self, pj = None):
         self._compteurPj += 1
         panneau = FramePj(self._compteurPj)

+ 1 - 4
lib/Combattant.py

@@ -48,15 +48,12 @@ class Combattant(Pion):
         
     def hoverEnterEvent(self, event):
         """evenement lors du survol de la souris (en entree)"""
-        if (self.plateau.pionSelectionne() == None and self.plateau.modeActif == "standard") or self.plateau.modeActif == "pionSupprimer":
-            self.surbrillance(True, 0.4)    
         self.plateau.combattantSurvol(self.numero)
         event.ignore()
 
     def hoverLeaveEvent(self, event):
         """evenement lors du survol de la souris (en entree)"""
-        self.surbrillance(False)
-        self.plateau.combattantSurvol(None)
+        self.plateau.combattantFinSurvol(self.numero)
 
     def mousePressEvent(self, event):
         """evenement lors du clic souris"""

+ 1 - 1
lib/Decor.py

@@ -28,7 +28,7 @@ class Decor(Pion):
 
     def hoverLeaveEvent(self, event):
         """evenement lors du survol de la souris (en sortie)"""
-        self.plateau.decorSurvol(None)
+        self.plateau.decorFinSurvol(self.numero)
 
     def mousePressEvent(self, event):
         """evenement lors du clic souris"""

+ 2 - 2
lib/EcranEditionCombattant.py

@@ -26,12 +26,12 @@ class EcranEditionCombattant(QDialog):
         self.pixGraphique = None
         self._compteurAttaque = 0
         self.createWidgets()
-        
         if combattant == None:
             self.combattant = Combattant()
         else:
             self.combattant = combattant
-        self.modeCreation = (combattant == None)
+            
+        self.modeCreation = True
         self.ouverture()
         self.ui.edc_menu.setCurrentCell(pageInitiale, 0)
         self.ui.edc_pages.setCurrentIndex(pageInitiale)

+ 4 - 16
lib/EcranEditionTerrain.py

@@ -37,26 +37,13 @@ class EcranEditionTerrain(QDialog):
     def accesEdition(self):
         """ouverture en mode edition"""
         self.ui.et_nom.setText(QString.fromUtf8(str(self.terrain.nom)))
-        if os.path.exists(self.terrain.imgTexture):
-            pix = QPixmap(QString.fromUtf8(str(self.terrain.imgTexture)))
-            if not pix.isNull():
-                self.ui.et_apercu.setText(QString(""))
-                pix = QPixmap(QString.fromUtf8(str(self.terrain.imgTexture)))
-                self.ui.et_apercu.setPixmap(pix)
+        if self.terrain.imgTexture.estValide():
+            self.ui.et_apercu.chargerImage(self.terrain.imgTexture)
         else:    
             if self.terrain.couleur.isValid():
                 self.ui.et_apercu.setText(QString(""))
                 self.ui.et_apercu.setStyleSheet("QLabel {backGround:%s}" %(self.terrain.couleur.name()))
-     
-##        if self.terrain.visibilite:
-##            self.ui.visibiliteTerrain.setCheckState(2)
-##        else:
-##            self.ui.visibiliteTerrain.setCheckState(0)
         self.ui.et_depAucun.setChecked(self.terrain.franchissable)
-##        if self.terrain.franchissable:    
-##            self.ui.et_depAucun.setCheckState(2)
-##        else:
-##            self.ui.et_depAucun.setCheckState(0)
         self.ui.et_supprimer.setEnabled(True)
 
     def majAffichage(self, txt):
@@ -91,7 +78,8 @@ class EcranEditionTerrain(QDialog):
         if not self.terrain.id:
             self.terrain.id = self.nouvelIdTerrain()
         self.terrain.nom = str(self.ui.et_nom.text().toUtf8())
-        self.terrain.imgTexture = self.ui.et_apercu.image()
+        if self.ui.et_apercu.image():
+            self.terrain.imgTexture = self.ui.et_apercu.image()
         self.terrain.franchissable = (not self.ui.et_depAucun.isChecked())
         enregistrer(self.terrain.id, self.terrain, "lib\\biblio\\terrain")
         self.terrain = None

+ 68 - 12
lib/Modes.py

@@ -10,6 +10,9 @@ from PyQt4.QtGui import *
 from EntreeSortie import EntreeSortie
 import Actions
 import regles
+from Pion import Pion
+from Combattant import Combattant
+from Decor import Decor
 
 class ModeBase(object):
     """mode de base: tous les modes heritent de cette classe"""
@@ -152,6 +155,11 @@ class StandardCp(ModeBaseCp):
         self._focus = False
         self._activerDragMode = True
 
+    def activer(self, param):
+        """active le mode"""
+        self.plateau.fenetre.ui.cbt_panneauDroite.setCurrentIndex(1)
+        super(StandardCp, self).activer()
+
     def clic_combattant(self, num):
         self.plateau.activerMode(DeplacementPion, num)
         
@@ -162,7 +170,7 @@ class MajCases(ModeBaseCp):
     """mode de mise a jour des cases (terrain, couleur, effet special)"""
     def __init__(self, plateau):
         super(MajCases, self).__init__(plateau)
-        self._sourceCurseur = "img\\curseurPinceau.png"
+        self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
         self._focus = True
         self._param = None   #parametre avec lequel on mettra a jour la case
 
@@ -205,7 +213,8 @@ class MajCases(ModeBaseCp):
 class MajCasesEffet(MajCases):
     """mode de mise a jour des cases (effets speciaux)"""
     def __init__(self, plateau):
-        super(MajCasesEffet, self).__init__(plateau)    
+        super(MajCasesEffet, self).__init__(plateau)
+        self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
 
     def finClicGauche(self, event):
         if self.plateau.pinceau.estActif():
@@ -218,7 +227,7 @@ class Pipette(ModeBaseCp):
     """mode pipette: on preleve la couleur ou le terrain d'une case"""
     def __init__(self, plateau):
         super(Pipette, self).__init__(plateau)
-        self._sourceCurseur = "img\\curseurSeringue.png"
+        self._sourceCurseur = ":/interface/16/ressource/seringue_16.png"
 
     def activerCurseur(self):
         super(Pipette, self).activerCurseur()
@@ -235,7 +244,7 @@ class ZonePlacement(ModeBaseCp):
     """mode de definition de la/les zones de placement des joueurs"""
     def __init__(self, plateau):
         super(ZonePlacement, self).__init__(plateau)
-        self._sourceCurseur = "img\\curseurPinceau.png"
+        self._sourceCurseur = ":/interface/16/ressource/pinceau.png"
         self._focus = True
 
     def activerCurseur(self):
@@ -267,7 +276,7 @@ class EntreesSorties(ModeBaseCp):
     """mode de definition deentrees et sorties du plateau"""
     def __init__(self, plateau):
         super(EntreesSorties, self).__init__(plateau)
-        self._sourceCurseur = "img\\curseurPinceau.png"
+        self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
         self._focus = True
 
     def activerCurseur(self):
@@ -346,17 +355,55 @@ class SuppressionPion(ModeBaseCp):
     """mode de suppression de pions (combattant ou decor)"""
     def __init__(self, plateau):
         super(SuppressionPion, self).__init__(plateau)
-        self._sourceCurseur = "img\\gomme.png"
+        self._sourceCurseur = ":/interface/16/ressource/gomme_16.png"
+        self._enSurbrillance = []
         self._focus = True
+        self._cible = ""
+
+    def activer(self, cible = Pion):
+        #cible est le nom de la classe des objets a supprimer
+        self._cible = cible
+        super(SuppressionPion, self).activer()
+
+    def desactiver(self):
+        for num in self._enSurbrillance:
+            if num >= 10000:
+                if num in self.plateau.decors:
+                    self.plateau.decors[num].surbrillance(False)
+            else:
+                if num in self.plateau.combattants:
+                    self.plateau.combattants[num].surbrillance(False)
+        super(SuppressionPion, self).desactiver()
 
     def clicGauche(self, event):
         """supprime le pion sous le clic. S'il y en a plusieurs,
             supprime le premier de la pile"""
+        num = None
         item = self.plateau.itemAt(event.scenePos())
-        
-        if item.parentItem().__class__.__name__ in ["Combattant", "Decor"]:
-            self.plateau.pionSupprimer(item.parentItem().numero)
-            
+        if isinstance(item.parentItem(), self._cible):
+            num = item.parentItem().numero
+        elif isinstance(item.parentItem().parentItem(), self._cible):
+            num = item.parentItem().parentItem().numero
+        if num:
+            self.plateau.pionSupprimer(num)
+
+    def survol_combattant(self, num):
+        if self._cible == Combattant:
+            self.plateau.combattants[num].surbrillance(True, 0.4)
+            self._enSurbrillance.append(num)
+
+    def finSurvol_combattant(self, num):
+        if self._cible == Combattant:
+            self.plateau.combattants[num].surbrillance(False)   
+
+    def survol_decor(self, num):
+        if self._cible == Decor:
+            self.plateau.decors[num].surbrillance(True, 0.4)
+            self._enSurbrillance.append(num)
+
+    def finSurvol_decor(self, num):
+        if self._cible == Decor:
+            self.plateau.decors[num].surbrillance(False)  
 
 class DeplacementPion(ModeBaseCp):
     """mode de deplacement de pions (combattant ou decor) en mode creation
@@ -414,12 +461,19 @@ class StandardPi(ModeBasePi):
         self._focus = False
         self._activerDragMode = True
 
+    def activer(self, num):
+        self.plateau.fenetre.ui.cbt_panneauDroite.setCurrentIndex(3)
+        super(StandardPi, self).activer()
+
     def clic_combattant(self, num):
         self.plateau.activerMode(PionSelectionne, num)
 
+    def clic_decor(self, num):
+        self.plateau.activerMode(PionSelectionne, num)
+
     def nouvelleAction(self, action):
         pass
-
+        
     
 class PionSelectionne(ModeBasePi):
     """mode active a la selection d'un pion combattant"""
@@ -434,11 +488,13 @@ class PionSelectionne(ModeBasePi):
         retour = None
         if self._num in self.plateau.combattants:
             retour = self.plateau.combattants[self._num]
+        elif self._num in self.plateau.decors:
+            retour = self.plateau.decors[self._num]
         return retour
 
     def activer(self, num):
         self._num = num
-        #intensifie l'ombre du pion
+        self.plateau.fenetre.ui.cbt_panneauDroite.setCurrentIndex(2)
         self.pion().afficheOmbreSelection(True)
         self.plateau.majPanneauPi()
         super(PionSelectionne, self).activer()

+ 96 - 80
lib/Plateau.py

@@ -215,10 +215,11 @@ class Plateau(QGraphicsScene):
         self.fenetre.connect(self.fenetre.ui.cp_nouveauTerrain, SIGNAL("clicked()"), self.terrainNouveau, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_editerCombattant, SIGNAL("clicked()"), self.creatureEdit, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_nouveauCombattant, SIGNAL("clicked()"), self.creatureNouveau, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.cp_gommeCombattant, SIGNAL("clicked()"), self.majModeSupprimerCombattant, Qt.UniqueConnection)
         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)
+        self.fenetre.connect(self.fenetre.ui.cp_gommeDecor, SIGNAL("clicked()"), self.majModeSupprimerDecor, Qt.UniqueConnection)
+
 
         #creation
         self.fenetre.connect(self.fenetre.ui.cp_epaisseurPinceau, SIGNAL("valueChanged(int)"), self.majEpaisseurPinceau, Qt.UniqueConnection)
@@ -253,7 +254,6 @@ class Plateau(QGraphicsScene):
 ##        self.fenetre.connect(self.fenetre.ui.pi_vol, SIGNAL("clicked()"), self.fenetre.barreCombatVol, Qt.UniqueConnection)
         
         self.fenetre.connect(self.fenetre.ui.pi_finTour, SIGNAL("clicked()"), self.pionSuivant, Qt.UniqueConnection)
-        #self.fenetre.connect(self.fenetre.ui.combatVol_altitude, SIGNAL("editingFinished()"), self.majVisibiliteBarreCombat)
 
         
     def initialisationGraphique(self):
@@ -282,10 +282,9 @@ class Plateau(QGraphicsScene):
         self.proj = ProjectionDep(self)
   
         #mise a jour de l'interface de creation
-        self.fenetre.majVisibilitePanneauxPlateau("creation")
-##        self.fenetre.ui.cbt_nomPlateau.setText(QString.fromUtf8(self.nom))
+        self.fenetre.afficherPanneauxPlateau(True)
+        self.fenetre.ui.cbt_nom.majTexte(self.nom)
         self.majBoutonsCouleursPerso()
-##        self.majBoutonsCaches()
         self.fenetre.ui.cp_listeTerrains.defFichier("lib\\biblio\\terrain")
         self.fenetre.ui.cp_listeTerrains.initAffichage()
         self.fenetre.ui.cp_listeCreatures.defFichier("lib\\biblio\\combattant")
@@ -450,74 +449,85 @@ class Plateau(QGraphicsScene):
         #voir a balancer tout ca dans une classe a part
 
     def majPanneauPi(self):
+        
         if self.pionSelectionne():
+            estCombattant = (self.pionSelectionne().numero < 10000)
+            #affichage
+            self.fenetre.ui.pi_actions.setEnabled(estCombattant)
+            self.fenetre.ui.pi_finTour.setEnabled(estCombattant)
+            self.fenetre.ui.pi_ongletsListes.setTabEnabled(0, estCombattant)
+            self.fenetre.ui.pi_ongletsListes.setTabEnabled(1, estCombattant)
+            
             ### maj la selection dans la liste d'ordre de jeu
-            for i in range(0, self.fenetre.ui.inf_listeOrdreJeu.rowCount()):
-                if str(self.fenetre.ui.inf_listeOrdreJeu.item(i, 0).text().toUtf8()) == str(self.pionSelectionne().numero):
-                    self.fenetre.ui.inf_listeOrdreJeu.setCurrentCell(i,0)
+            if estCombattant:
+                for i in range(0, self.fenetre.ui.inf_listeOrdreJeu.rowCount()):
+                    if str(self.fenetre.ui.inf_listeOrdreJeu.item(i, 0).text().toUtf8()) == str(self.pionSelectionne().numero):
+                        self.fenetre.ui.inf_listeOrdreJeu.setCurrentCell(i,0)
 
             ### maj des infos dans le panneau pi
             self.fenetre.ui.pi_nom.majTexte(self.pionSelectionne().txtId())
             self.fenetre.ui.pi_img.chargerImage(self.pionSelectionne().img.rimage)
 
             ### maj de la liste des attributs
-            self.fenetre.ui.pi_listeAttributs.setColumnWidth(0, 50)
-            self.disconnect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee)
-            
-            #on vide la liste
-            while self.fenetre.ui.pi_listeAttributs.rowCount() > 0:
-                self.fenetre.ui.pi_listeAttributs.removeRow(0)
-
-            #creation des lignes de base    
-            lignesBase = ["Nom","Etat","Alt."]   #attention: modifier aussi dans listeAttributCelluleModifiee
-            for i in range(0, 10):    #10 premieres colonnes reservees pour les infos de base
-                self.fenetre.ui.pi_listeAttributs.insertRow(i)
-                item = QTableWidgetItem()
-                if i < len(lignesBase):
-                    item.setText(QString.fromUtf8(lignesBase[i]))
-                item.setFlags(Qt.NoItemFlags)    
-                self.fenetre.ui.pi_listeAttributs.setItem(i, 0, item)
-                self.fenetre.ui.pi_listeAttributs.setRowHidden(i, (i >= len(lignesBase)))
-
-            #maj des donnees de base    
-            self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Nom"), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().nom))))
-            self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Etat"), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().etat))))
-            self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Alt."), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().z))))
+            if estCombattant:
+                self.fenetre.ui.pi_listeAttributs.setColumnWidth(0, 50)
+                self.disconnect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee)
             
-            #attributs issus des regles utilisees    
-            ordre = regles.ordreAttributs()
-            for elt in ordre:
-                ligne = 10 + ordre.index(elt)
-                self.fenetre.ui.pi_listeAttributs.insertRow(ligne)
-                item = QTableWidgetItem(QString.fromUtf8(elt))
-                item.setFlags(Qt.NoItemFlags)
-                self.fenetre.ui.pi_listeAttributs.setItem(ligne, 0, item)
-                self.fenetre.ui.pi_listeAttributs.setItem(ligne, 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().listeAttributs[elt]))))
+                #on vide la liste
+                while self.fenetre.ui.pi_listeAttributs.rowCount() > 0:
+                    self.fenetre.ui.pi_listeAttributs.removeRow(0)
+
+                #creation des lignes de base    
+                lignesBase = ["Nom","Etat","Alt."]   #attention: modifier aussi dans listeAttributCelluleModifiee
+                for i in range(0, 10):    #10 premieres colonnes reservees pour les infos de base
+                    self.fenetre.ui.pi_listeAttributs.insertRow(i)
+                    item = QTableWidgetItem()
+                    if i < len(lignesBase):
+                        item.setText(QString.fromUtf8(lignesBase[i]))
+                    item.setFlags(Qt.NoItemFlags)    
+                    self.fenetre.ui.pi_listeAttributs.setItem(i, 0, item)
+                    self.fenetre.ui.pi_listeAttributs.setRowHidden(i, (i >= len(lignesBase)))
+
+                #maj des donnees de base    
+                self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Nom"), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().nom))))
+                self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Etat"), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().etat))))
+                self.fenetre.ui.pi_listeAttributs.setItem(lignesBase.index("Alt."), 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().z))))
                 
-            self.connect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee)
+                #attributs issus des regles utilisees    
+                ordre = regles.ordreAttributs()
+                for elt in ordre:
+                    ligne = 10 + ordre.index(elt)
+                    self.fenetre.ui.pi_listeAttributs.insertRow(ligne)
+                    item = QTableWidgetItem(QString.fromUtf8(elt))
+                    item.setFlags(Qt.NoItemFlags)
+                    self.fenetre.ui.pi_listeAttributs.setItem(ligne, 0, item)
+                    self.fenetre.ui.pi_listeAttributs.setItem(ligne, 1, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().listeAttributs[elt]))))
+                    
+                self.connect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee)
             
             ###affiche les notes du combattant
             self.fenetre.ui.pi_notes.majTexte(self.pionSelectionne().notes)
 
             ###maj la liste des attaques du pion
-            #on vide la liste
-            while self.fenetre.ui.pi_listeAttaques.rowCount() > 0:
-                self.fenetre.ui.pi_listeAttaques.removeRow(0)
-                
-            i = 0
-            for attaque in self.pionSelectionne().attaques:
-                self.fenetre.ui.pi_listeAttaques.insertRow(i)
-                self.fenetre.ui.pi_listeAttaques.setItem(i, 0, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().attaques.index(attaque)))))
-                icone = None
-                if attaque.typ == "cac":
-                    icone = QIcon(":/interface/16/ressource/epee_16.png")
-                if attaque.typ == "dist":
-                    icone = QIcon(":/interface/16/ressource/arc_16.png")
-                if attaque.typ == "zone":
-                    icone = QIcon(":/interface/16/ressource/baguette_16.png")
-                if icone != None:
-                    self.fenetre.ui.pi_listeAttaques.setItem(i, 1, QTableWidgetItem(icone, QString.fromUtf8("")))
-                self.fenetre.ui.pi_listeAttaques.setItem(i, 2, QTableWidgetItem(QString.fromUtf8(attaque.nom)))  
+            if estCombattant:
+                #on vide la liste
+                while self.fenetre.ui.pi_listeAttaques.rowCount() > 0:
+                    self.fenetre.ui.pi_listeAttaques.removeRow(0)
+                    
+                i = 0
+                for attaque in self.pionSelectionne().attaques:
+                    self.fenetre.ui.pi_listeAttaques.insertRow(i)
+                    self.fenetre.ui.pi_listeAttaques.setItem(i, 0, QTableWidgetItem(QString.fromUtf8(str(self.pionSelectionne().attaques.index(attaque)))))
+                    icone = None
+                    if attaque.typ == "cac":
+                        icone = QIcon(":/interface/16/ressource/epee_16.png")
+                    if attaque.typ == "dist":
+                        icone = QIcon(":/interface/16/ressource/arc_16.png")
+                    if attaque.typ == "zone":
+                        icone = QIcon(":/interface/16/ressource/baguette_16.png")
+                    if icone != None:
+                        self.fenetre.ui.pi_listeAttaques.setItem(i, 1, QTableWidgetItem(icone, QString.fromUtf8("")))
+                    self.fenetre.ui.pi_listeAttaques.setItem(i, 2, QTableWidgetItem(QString.fromUtf8(attaque.nom)))  
 
         else:
             #maj des infos dans le panneau pi
@@ -537,11 +547,9 @@ class Plateau(QGraphicsScene):
 
     ##### activation des differents modes d'interaction avec le plateau et mises a jour des principaux parametres  #######
     def plateauModeCreation(self):
-        self.fenetre.majVisibilitePanneauxPlateau("creation")
         self.activerMode(Modes.StandardCp)
 
     def plateauModeCombat(self):
-        self.fenetre.majVisibilitePanneauxPlateau("combat")
         self.activerMode(Modes.StandardPi)
 
     def activerMode(self, mode, param = None):
@@ -605,9 +613,13 @@ class Plateau(QGraphicsScene):
         """enclenche le mode de creation de pions simples"""
         self.majMode("pionCreation")
 
-    def majModePionSupprimer(self):
+    def majModeSupprimerDecor(self):
+        """enclenche le mode suppression de pions sur clic gauche (creatures ou decors)"""
+        self.activerMode(Modes.SuppressionPion, Decor)
+
+    def majModeSupprimerCombattant(self):
         """enclenche le mode suppression de pions sur clic gauche (creatures ou decors)"""
-        self.activerMode(Modes.SuppressionPion)
+        self.activerMode(Modes.SuppressionPion, Combattant)
     
     def modeCreationDecor(self, ligne, col):
         """enclenche le mode de creation de decors depuis la liste des decors"""
@@ -960,7 +972,8 @@ class Plateau(QGraphicsScene):
             else:
                 voisins = [(x, y-1), (x+1, y-1), (x+1, y), (x,  y+1), (x-1, y), (x-1, y-1)]
         else:
-            voisins = [(x, y-1), (x+1, y-1), (x+1, y), (x+1, y+1), (x,   y+1), (x-1, y+1), (x-1, y), (x-1, y-1)]
+##            voisins = [(x, y-1), (x+1, y-1), (x+1, y), (x+1, y+1), (x,   y+1), (x-1, y+1), (x-1, y), (x-1, y-1)]
+            voisins = [(x, y-1), (x+1, y), (x,   y+1), (x-1, y)]
         return voisins      
 
     def zone(self, origine, distance, z=0, conditionFranchissable = False, conditionVisible = False):
@@ -1287,25 +1300,27 @@ class Plateau(QGraphicsScene):
 
     def combattantSurvol(self, num):
         """le pion est survole par le curseur, on affiche ses informations dans la zone prevue"""
-        if num in self.combattants:
-            self.modeActif.survol_combattant(num)
-            pion = self.combattants[num]
-            self.majInfosCombattant(pion)
-            self.caseSurvol(pion.position[0], pion.position[1])
-        else:
-            self.modeActif.finSurvol_combattant(num)
-            self.majInfosCombattant(None)
+        self.modeActif.survol_combattant(num)
+        pion = self.combattants[num]
+        self.majInfosCombattant(pion)
+        self.caseSurvol(pion.position[0], pion.position[1])
+
+    def combattantFinSurvol(self, num):
+        """le pion est survole par le curseur, on affiche ses informations dans la zone prevue"""
+        self.modeActif.finSurvol_combattant(num)
+        self.majInfosCombattant(None)
 
     def decorSurvol(self, num):
         """le pion est survole par le curseur, on affiche ses informations dans la zone prevue"""
-        if num in self.decors:
-            self.modeActif.survol_decor(num)
-            pion = self.decors[num]
-            self.majInfosDecor(pion)
-            self.caseSurvol(pion.position[0], pion.position[1])
-        else:
-            self.modeActif.finSurvol_decor(num)
-            self.majInfosDecor(None)
+        self.modeActif.survol_decor(num)
+        pion = self.decors[num]
+        self.majInfosDecor(pion)
+        self.caseSurvol(pion.position[0], pion.position[1])
+
+    def decorFinSurvol(self, num):
+        """le pion est survole par le curseur, on affiche ses informations dans la zone prevue"""
+        self.modeActif.finSurvol_decor(num)
+        self.majInfosDecor(None)
             
     def pionDoubleClic(self, numCombattant):
         """on a double-clique sur le pion"""
@@ -1332,6 +1347,7 @@ class Plateau(QGraphicsScene):
                 pion.numComplementaire = self.numeroterNom(pion.nom)    
                 self.combattants[numero] = pion
                 self.pionDeplacerDansOrdreJeu(numero, len(self.ordreJeu) + 2)
+                
             elif pionModele.__class__.__name__ == "Decor":
                 numero = 10001
                 if len(self.decors) > 0:

BIN
lib/biblio/combattant


BIN
lib/biblio/decor


BIN
lib/biblio/terrain


+ 1 - 1
lib/ui/dm.py

@@ -51,7 +51,7 @@ class DmLabel(QLabel):
         self.setText(QString.fromUtf8(txt))
 
     def chargerImage(self, img = None):
-        """prend une Image en parametre"""
+        """prend une RImage en parametre"""
         self.clear()
         if img:
             self._image = img

+ 350 - 245
lib/ui/ecran_principal.py

@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'mainwindow.ui'
 #
-# Created: Fri Jun 26 17:34:58 2015
+# Created: Tue Jun 30 10:20:19 2015
 #      by: PyQt4 UI code generator 4.10.4
 #
 # WARNING! All changes made in this file will be lost!
@@ -26,7 +26,7 @@ except AttributeError:
 class Ui_principal(object):
     def setupUi(self, principal):
         principal.setObjectName(_fromUtf8("principal"))
-        principal.resize(1274, 691)
+        principal.resize(1153, 691)
         principal.setMinimumSize(QtCore.QSize(882, 623))
         font = QtGui.QFont()
         font.setFamily(_fromUtf8("MS Shell Dlg 2"))
@@ -50,46 +50,34 @@ class Ui_principal(object):
         self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
         self.layoutCombat = QtGui.QVBoxLayout()
         self.layoutCombat.setObjectName(_fromUtf8("layoutCombat"))
-        self.cbt_barreHaut = QtGui.QFrame(self.Combats_tab)
-        self.cbt_barreHaut.setMinimumSize(QtCore.QSize(0, 27))
-        self.cbt_barreHaut.setMaximumSize(QtCore.QSize(16777215, 27))
-        self.cbt_barreHaut.setFrameShape(QtGui.QFrame.StyledPanel)
-        self.cbt_barreHaut.setFrameShadow(QtGui.QFrame.Raised)
-        self.cbt_barreHaut.setObjectName(_fromUtf8("cbt_barreHaut"))
-        self.horizontalLayout_4 = QtGui.QHBoxLayout(self.cbt_barreHaut)
-        self.horizontalLayout_4.setSpacing(0)
-        self.horizontalLayout_4.setMargin(0)
-        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
+        self.cbt_panneauHaut = QtGui.QStackedWidget(self.Combats_tab)
+        self.cbt_panneauHaut.setMinimumSize(QtCore.QSize(0, 28))
+        self.cbt_panneauHaut.setMaximumSize(QtCore.QSize(16777215, 28))
+        self.cbt_panneauHaut.setObjectName(_fromUtf8("cbt_panneauHaut"))
+        self.page_3 = QtGui.QWidget()
+        self.page_3.setObjectName(_fromUtf8("page_3"))
+        self.cbt_panneauHaut.addWidget(self.page_3)
+        self.page_6 = QtGui.QWidget()
+        self.page_6.setObjectName(_fromUtf8("page_6"))
+        self.verticalLayout_14 = QtGui.QVBoxLayout(self.page_6)
+        self.verticalLayout_14.setSpacing(0)
+        self.verticalLayout_14.setMargin(0)
+        self.verticalLayout_14.setObjectName(_fromUtf8("verticalLayout_14"))
         self.ppal_layout = QtGui.QHBoxLayout()
         self.ppal_layout.setSpacing(8)
         self.ppal_layout.setObjectName(_fromUtf8("ppal_layout"))
-        self.cbt_afficherGestion = QtGui.QToolButton(self.cbt_barreHaut)
-        self.cbt_afficherGestion.setMinimumSize(QtCore.QSize(34, 24))
-        self.cbt_afficherGestion.setMaximumSize(QtCore.QSize(34, 24))
-        icon = QtGui.QIcon()
-        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/tableau_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_afficherGestion.setIcon(icon)
-        self.cbt_afficherGestion.setObjectName(_fromUtf8("cbt_afficherGestion"))
-        self.ppal_layout.addWidget(self.cbt_afficherGestion)
-        self.cbt_ajouterPj = QtGui.QToolButton(self.cbt_barreHaut)
-        self.cbt_ajouterPj.setMinimumSize(QtCore.QSize(34, 24))
-        self.cbt_ajouterPj.setMaximumSize(QtCore.QSize(34, 24))
-        icon1 = QtGui.QIcon()
-        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/nouveauJoueur_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_ajouterPj.setIcon(icon1)
-        self.cbt_ajouterPj.setObjectName(_fromUtf8("cbt_ajouterPj"))
-        self.ppal_layout.addWidget(self.cbt_ajouterPj)
         spacerItem = QtGui.QSpacerItem(30, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
         self.ppal_layout.addItem(spacerItem)
-        self.cbt_toutPrecedent = QtGui.QToolButton(self.cbt_barreHaut)
+        self.cbt_toutPrecedent = QtGui.QToolButton(self.page_6)
         self.cbt_toutPrecedent.setMaximumSize(QtCore.QSize(20, 16777215))
-        icon2 = QtGui.QIcon()
-        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheGauche_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_toutPrecedent.setIcon(icon2)
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheGauche_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_toutPrecedent.setIcon(icon)
         self.cbt_toutPrecedent.setIconSize(QtCore.QSize(13, 16))
         self.cbt_toutPrecedent.setObjectName(_fromUtf8("cbt_toutPrecedent"))
         self.ppal_layout.addWidget(self.cbt_toutPrecedent)
-        self.cbt_tour = DmLabel(self.cbt_barreHaut)
+        self.cbt_tour = DmLabel(self.page_6)
+        self.cbt_tour.setMinimumSize(QtCore.QSize(60, 0))
         self.cbt_tour.setMaximumSize(QtCore.QSize(45, 16777215))
         font = QtGui.QFont()
         font.setBold(True)
@@ -97,88 +85,104 @@ class Ui_principal(object):
         self.cbt_tour.setFont(font)
         self.cbt_tour.setObjectName(_fromUtf8("cbt_tour"))
         self.ppal_layout.addWidget(self.cbt_tour)
-        self.cbt_tourSuivant = QtGui.QToolButton(self.cbt_barreHaut)
+        self.cbt_tourSuivant = QtGui.QToolButton(self.page_6)
         self.cbt_tourSuivant.setMaximumSize(QtCore.QSize(20, 16777215))
-        icon3 = QtGui.QIcon()
-        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheDroite_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_tourSuivant.setIcon(icon3)
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheDroite_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_tourSuivant.setIcon(icon1)
         self.cbt_tourSuivant.setIconSize(QtCore.QSize(13, 16))
         self.cbt_tourSuivant.setObjectName(_fromUtf8("cbt_tourSuivant"))
         self.ppal_layout.addWidget(self.cbt_tourSuivant)
         spacerItem1 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.ppal_layout.addItem(spacerItem1)
-        self.cbt_nom = DmLabel(self.cbt_barreHaut)
+        self.cbt_nom = DmLabel(self.page_6)
+        self.cbt_nom.setMinimumSize(QtCore.QSize(200, 0))
         self.cbt_nom.setMaximumSize(QtCore.QSize(200, 16777215))
         font = QtGui.QFont()
         font.setBold(True)
         font.setWeight(75)
         self.cbt_nom.setFont(font)
+        self.cbt_nom.setAlignment(QtCore.Qt.AlignCenter)
         self.cbt_nom.setObjectName(_fromUtf8("cbt_nom"))
         self.ppal_layout.addWidget(self.cbt_nom)
-        self.cbt_publierPlateau = QtGui.QToolButton(self.cbt_barreHaut)
+        self.cbt_publierPlateau = QtGui.QToolButton(self.page_6)
         self.cbt_publierPlateau.setMinimumSize(QtCore.QSize(34, 24))
         self.cbt_publierPlateau.setMaximumSize(QtCore.QSize(34, 24))
-        icon4 = QtGui.QIcon()
-        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/oeilBarre2_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_publierPlateau.setIcon(icon4)
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/oeilBarre2_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_publierPlateau.setIcon(icon2)
         self.cbt_publierPlateau.setObjectName(_fromUtf8("cbt_publierPlateau"))
         self.ppal_layout.addWidget(self.cbt_publierPlateau)
-        self.cbt_proprietes = QtGui.QToolButton(self.cbt_barreHaut)
-        self.cbt_proprietes.setMinimumSize(QtCore.QSize(34, 24))
-        self.cbt_proprietes.setMaximumSize(QtCore.QSize(34, 24))
-        icon5 = QtGui.QIcon()
-        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/param_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_proprietes.setIcon(icon5)
-        self.cbt_proprietes.setObjectName(_fromUtf8("cbt_proprietes"))
-        self.ppal_layout.addWidget(self.cbt_proprietes)
         spacerItem2 = QtGui.QSpacerItem(60, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.ppal_layout.addItem(spacerItem2)
-        self.cbt_modeCreation = QtGui.QPushButton(self.cbt_barreHaut)
-        self.cbt_modeCreation.setMinimumSize(QtCore.QSize(34, 24))
-        self.cbt_modeCreation.setMaximumSize(QtCore.QSize(34, 24))
-        icon6 = QtGui.QIcon()
-        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/creation_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_modeCreation.setIcon(icon6)
+        self.cbt_afficherGestion = QtGui.QToolButton(self.page_6)
+        self.cbt_afficherGestion.setMinimumSize(QtCore.QSize(40, 24))
+        self.cbt_afficherGestion.setMaximumSize(QtCore.QSize(40, 24))
+        icon3 = QtGui.QIcon()
+        icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/tableau_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_afficherGestion.setIcon(icon3)
+        self.cbt_afficherGestion.setObjectName(_fromUtf8("cbt_afficherGestion"))
+        self.ppal_layout.addWidget(self.cbt_afficherGestion)
+        self.cbt_modeCreation = QtGui.QPushButton(self.page_6)
+        self.cbt_modeCreation.setMinimumSize(QtCore.QSize(40, 24))
+        self.cbt_modeCreation.setMaximumSize(QtCore.QSize(40, 24))
+        icon4 = QtGui.QIcon()
+        icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/creation_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_modeCreation.setIcon(icon4)
         self.cbt_modeCreation.setCheckable(True)
         self.cbt_modeCreation.setObjectName(_fromUtf8("cbt_modeCreation"))
         self.ppal_layout.addWidget(self.cbt_modeCreation)
-        self.cbt_modeCombat = QtGui.QPushButton(self.cbt_barreHaut)
-        self.cbt_modeCombat.setMinimumSize(QtCore.QSize(34, 24))
-        self.cbt_modeCombat.setMaximumSize(QtCore.QSize(34, 24))
+        self.cbt_modeCombat = QtGui.QPushButton(self.page_6)
+        self.cbt_modeCombat.setMinimumSize(QtCore.QSize(40, 24))
+        self.cbt_modeCombat.setMaximumSize(QtCore.QSize(40, 24))
         self.cbt_modeCombat.setText(_fromUtf8(""))
-        icon7 = QtGui.QIcon()
-        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/armes_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_modeCombat.setIcon(icon7)
+        icon5 = QtGui.QIcon()
+        icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/armes_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_modeCombat.setIcon(icon5)
         self.cbt_modeCombat.setCheckable(True)
         self.cbt_modeCombat.setObjectName(_fromUtf8("cbt_modeCombat"))
         self.ppal_layout.addWidget(self.cbt_modeCombat)
         spacerItem3 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Minimum)
         self.ppal_layout.addItem(spacerItem3)
-        self.cbt_sauver = QtGui.QPushButton(self.cbt_barreHaut)
+        self.cbt_sauver = QtGui.QPushButton(self.page_6)
         self.cbt_sauver.setMinimumSize(QtCore.QSize(34, 24))
         self.cbt_sauver.setMaximumSize(QtCore.QSize(34, 24))
         self.cbt_sauver.setText(_fromUtf8(""))
-        icon8 = QtGui.QIcon()
-        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/enregistrer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_sauver.setIcon(icon8)
+        icon6 = QtGui.QIcon()
+        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/enregistrer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_sauver.setIcon(icon6)
         self.cbt_sauver.setIconSize(QtCore.QSize(19, 19))
         self.cbt_sauver.setObjectName(_fromUtf8("cbt_sauver"))
         self.ppal_layout.addWidget(self.cbt_sauver)
-        self.cbt_fermer = QtGui.QPushButton(self.cbt_barreHaut)
+        self.cbt_fermer = QtGui.QPushButton(self.page_6)
         self.cbt_fermer.setMinimumSize(QtCore.QSize(34, 24))
         self.cbt_fermer.setMaximumSize(QtCore.QSize(34, 24))
         self.cbt_fermer.setText(_fromUtf8(""))
-        icon9 = QtGui.QIcon()
-        icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/fermer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_fermer.setIcon(icon9)
+        icon7 = QtGui.QIcon()
+        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/fermer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_fermer.setIcon(icon7)
         self.cbt_fermer.setObjectName(_fromUtf8("cbt_fermer"))
         self.ppal_layout.addWidget(self.cbt_fermer)
-        self.horizontalLayout_4.addLayout(self.ppal_layout)
-        self.layoutCombat.addWidget(self.cbt_barreHaut)
+        self.verticalLayout_14.addLayout(self.ppal_layout)
+        self.cbt_panneauHaut.addWidget(self.page_6)
+        self.layoutCombat.addWidget(self.cbt_panneauHaut)
         self.plateauLayoutH = QtGui.QHBoxLayout()
         self.plateauLayoutH.setSpacing(3)
         self.plateauLayoutH.setObjectName(_fromUtf8("plateauLayoutH"))
-        self.inf_panneau = QtGui.QFrame(self.Combats_tab)
+        self.cbt_panneauGauche = QtGui.QStackedWidget(self.Combats_tab)
+        self.cbt_panneauGauche.setMinimumSize(QtCore.QSize(90, 0))
+        self.cbt_panneauGauche.setMaximumSize(QtCore.QSize(128, 16777215))
+        self.cbt_panneauGauche.setObjectName(_fromUtf8("cbt_panneauGauche"))
+        self.page_4 = QtGui.QWidget()
+        self.page_4.setObjectName(_fromUtf8("page_4"))
+        self.cbt_panneauGauche.addWidget(self.page_4)
+        self.page_5 = QtGui.QWidget()
+        self.page_5.setObjectName(_fromUtf8("page_5"))
+        self.horizontalLayout_6 = QtGui.QHBoxLayout(self.page_5)
+        self.horizontalLayout_6.setSpacing(0)
+        self.horizontalLayout_6.setMargin(0)
+        self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
+        self.inf_panneau = QtGui.QFrame(self.page_5)
         self.inf_panneau.setMinimumSize(QtCore.QSize(90, 0))
         self.inf_panneau.setMaximumSize(QtCore.QSize(128, 16777215))
         self.inf_panneau.setObjectName(_fromUtf8("inf_panneau"))
@@ -332,7 +336,9 @@ class Ui_principal(object):
         self.inf_caseAltitude.setIndent(-1)
         self.inf_caseAltitude.setObjectName(_fromUtf8("inf_caseAltitude"))
         self.panneauInfosPlateau.addWidget(self.inf_boiteCase)
-        self.plateauLayoutH.addWidget(self.inf_panneau)
+        self.horizontalLayout_6.addWidget(self.inf_panneau)
+        self.cbt_panneauGauche.addWidget(self.page_5)
+        self.plateauLayoutH.addWidget(self.cbt_panneauGauche)
         self.layoutCombatCentre = QtGui.QVBoxLayout()
         self.layoutCombatCentre.setSpacing(0)
         self.layoutCombatCentre.setObjectName(_fromUtf8("layoutCombatCentre"))
@@ -348,22 +354,36 @@ class Ui_principal(object):
         self.cbt_vue.setViewportUpdateMode(QtGui.QGraphicsView.MinimalViewportUpdate)
         self.cbt_vue.setObjectName(_fromUtf8("cbt_vue"))
         self.layoutCombatCentre.addWidget(self.cbt_vue)
-        self.histo_agrandir = QtGui.QPushButton(self.Combats_tab)
+        self.cbt_panneauBas = QtGui.QStackedWidget(self.Combats_tab)
+        self.cbt_panneauBas.setMinimumSize(QtCore.QSize(0, 75))
+        self.cbt_panneauBas.setMaximumSize(QtCore.QSize(16777215, 75))
+        self.cbt_panneauBas.setObjectName(_fromUtf8("cbt_panneauBas"))
+        self.page = QtGui.QWidget()
+        self.page.setObjectName(_fromUtf8("page"))
+        self.cbt_panneauBas.addWidget(self.page)
+        self.page_2 = QtGui.QWidget()
+        self.page_2.setObjectName(_fromUtf8("page_2"))
+        self.verticalLayout_13 = QtGui.QVBoxLayout(self.page_2)
+        self.verticalLayout_13.setSpacing(0)
+        self.verticalLayout_13.setMargin(0)
+        self.verticalLayout_13.setObjectName(_fromUtf8("verticalLayout_13"))
+        self.histo_agrandir = QtGui.QPushButton(self.page_2)
         self.histo_agrandir.setMinimumSize(QtCore.QSize(0, 12))
         self.histo_agrandir.setMaximumSize(QtCore.QSize(16777215, 12))
         self.histo_agrandir.setText(_fromUtf8(""))
-        icon10 = QtGui.QIcon()
-        icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheHaut_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.histo_agrandir.setIcon(icon10)
+        icon8 = QtGui.QIcon()
+        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/flecheHaut_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.histo_agrandir.setIcon(icon8)
         self.histo_agrandir.setCheckable(False)
         self.histo_agrandir.setChecked(False)
         self.histo_agrandir.setAutoDefault(False)
         self.histo_agrandir.setDefault(False)
         self.histo_agrandir.setFlat(True)
         self.histo_agrandir.setObjectName(_fromUtf8("histo_agrandir"))
-        self.layoutCombatCentre.addWidget(self.histo_agrandir)
-        self.histo_liste = QtGui.QListWidget(self.Combats_tab)
-        self.histo_liste.setMaximumSize(QtCore.QSize(16777215, 55))
+        self.verticalLayout_13.addWidget(self.histo_agrandir)
+        self.histo_liste = QtGui.QListWidget(self.page_2)
+        self.histo_liste.setMinimumSize(QtCore.QSize(0, 63))
+        self.histo_liste.setMaximumSize(QtCore.QSize(16777215, 63))
         palette = QtGui.QPalette()
         brush = QtGui.QBrush(QtGui.QColor(204, 204, 204))
         brush.setStyle(QtCore.Qt.SolidPattern)
@@ -392,9 +412,24 @@ class Ui_principal(object):
         self.histo_liste.addItem(item)
         item = QtGui.QListWidgetItem()
         self.histo_liste.addItem(item)
-        self.layoutCombatCentre.addWidget(self.histo_liste)
+        self.verticalLayout_13.addWidget(self.histo_liste)
+        self.cbt_panneauBas.addWidget(self.page_2)
+        self.layoutCombatCentre.addWidget(self.cbt_panneauBas)
         self.plateauLayoutH.addLayout(self.layoutCombatCentre)
-        self.cp_panneau = QtGui.QFrame(self.Combats_tab)
+        self.cbt_panneauDroite = QtGui.QStackedWidget(self.Combats_tab)
+        self.cbt_panneauDroite.setMinimumSize(QtCore.QSize(170, 0))
+        self.cbt_panneauDroite.setMaximumSize(QtCore.QSize(170, 16777215))
+        self.cbt_panneauDroite.setObjectName(_fromUtf8("cbt_panneauDroite"))
+        self.cbt_panneauDroite0 = QtGui.QWidget()
+        self.cbt_panneauDroite0.setObjectName(_fromUtf8("cbt_panneauDroite0"))
+        self.cbt_panneauDroite.addWidget(self.cbt_panneauDroite0)
+        self.cbt_panneauDroite1 = QtGui.QWidget()
+        self.cbt_panneauDroite1.setObjectName(_fromUtf8("cbt_panneauDroite1"))
+        self.horizontalLayout_5 = QtGui.QHBoxLayout(self.cbt_panneauDroite1)
+        self.horizontalLayout_5.setSpacing(0)
+        self.horizontalLayout_5.setMargin(0)
+        self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
+        self.cp_panneau = QtGui.QFrame(self.cbt_panneauDroite1)
         self.cp_panneau.setMinimumSize(QtCore.QSize(170, 0))
         self.cp_panneau.setMaximumSize(QtCore.QSize(170, 16777215))
         self.cp_panneau.setAutoFillBackground(True)
@@ -469,17 +504,17 @@ class Ui_principal(object):
         self.cp_couleur11.setObjectName(_fromUtf8("cp_couleur11"))
         self.cp_pipetteCouleur = QtGui.QToolButton(self.cp_boiteCouleurs)
         self.cp_pipetteCouleur.setGeometry(QtCore.QRect(40, 38, 31, 21))
-        icon11 = QtGui.QIcon()
-        icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/seringue_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_pipetteCouleur.setIcon(icon11)
+        icon9 = QtGui.QIcon()
+        icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/seringue_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_pipetteCouleur.setIcon(icon9)
         self.cp_pipetteCouleur.setObjectName(_fromUtf8("cp_pipetteCouleur"))
         self.cp_dialogueCouleurs = QtGui.QPushButton(self.cp_boiteCouleurs)
         self.cp_dialogueCouleurs.setGeometry(QtCore.QRect(81, 38, 31, 21))
         self.cp_dialogueCouleurs.setContextMenuPolicy(QtCore.Qt.DefaultContextMenu)
         self.cp_dialogueCouleurs.setText(_fromUtf8(""))
-        icon12 = QtGui.QIcon()
-        icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/palette_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_dialogueCouleurs.setIcon(icon12)
+        icon10 = QtGui.QIcon()
+        icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/palette_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_dialogueCouleurs.setIcon(icon10)
         self.cp_dialogueCouleurs.setObjectName(_fromUtf8("cp_dialogueCouleurs"))
         self.cp_couleur8 = QtGui.QToolButton(self.cp_boiteCouleurs)
         self.cp_couleur8.setGeometry(QtCore.QRect(112, 0, 16, 16))
@@ -505,35 +540,37 @@ class Ui_principal(object):
         self.cP_boiteFormes.setFrameShadow(QtGui.QFrame.Raised)
         self.cP_boiteFormes.setObjectName(_fromUtf8("cP_boiteFormes"))
         self.cp_formeEllipseVide = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeEllipseVide.setGeometry(QtCore.QRect(0, 20, 37, 21))
-        self.cp_formeEllipseVide.setMinimumSize(QtCore.QSize(37, 21))
-        self.cp_formeEllipseVide.setMaximumSize(QtCore.QSize(37, 21))
+        self.cp_formeEllipseVide.setGeometry(QtCore.QRect(0, 25, 37, 25))
+        self.cp_formeEllipseVide.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeEllipseVide.setMaximumSize(QtCore.QSize(37, 25))
         self.cp_formeEllipseVide.setStatusTip(_fromUtf8(""))
-        icon13 = QtGui.QIcon()
-        icon13.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipseVide_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeEllipseVide.setIcon(icon13)
+        icon11 = QtGui.QIcon()
+        icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipseVide_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeEllipseVide.setIcon(icon11)
+        self.cp_formeEllipseVide.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeEllipseVide.setObjectName(_fromUtf8("cp_formeEllipseVide"))
         self.cp_formeRectPlein = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeRectPlein.setGeometry(QtCore.QRect(111, 20, 37, 21))
-        self.cp_formeRectPlein.setMinimumSize(QtCore.QSize(37, 21))
-        self.cp_formeRectPlein.setMaximumSize(QtCore.QSize(37, 21))
+        self.cp_formeRectPlein.setGeometry(QtCore.QRect(111, 25, 37, 25))
+        self.cp_formeRectPlein.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeRectPlein.setMaximumSize(QtCore.QSize(37, 25))
         self.cp_formeRectPlein.setStatusTip(_fromUtf8(""))
-        icon14 = QtGui.QIcon()
-        icon14.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectPlein_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeRectPlein.setIcon(icon14)
+        icon12 = QtGui.QIcon()
+        icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectPlein_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeRectPlein.setIcon(icon12)
+        self.cp_formeRectPlein.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeRectPlein.setObjectName(_fromUtf8("cp_formeRectPlein"))
         self.cp_formeRectVide = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeRectVide.setGeometry(QtCore.QRect(74, 20, 37, 21))
-        self.cp_formeRectVide.setMinimumSize(QtCore.QSize(37, 21))
-        self.cp_formeRectVide.setMaximumSize(QtCore.QSize(37, 21))
+        self.cp_formeRectVide.setGeometry(QtCore.QRect(74, 25, 37, 25))
+        self.cp_formeRectVide.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeRectVide.setMaximumSize(QtCore.QSize(37, 25))
         self.cp_formeRectVide.setStatusTip(_fromUtf8(""))
-        icon15 = QtGui.QIcon()
-        icon15.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectVide_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeRectVide.setIcon(icon15)
-        self.cp_formeRectVide.setIconSize(QtCore.QSize(13, 16))
+        icon13 = QtGui.QIcon()
+        icon13.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectVide_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeRectVide.setIcon(icon13)
+        self.cp_formeRectVide.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeRectVide.setObjectName(_fromUtf8("cp_formeRectVide"))
-        self.cp_valeurEpaisseurPinceau = QtGui.QLabel(self.cP_boiteFormes)
-        self.cp_valeurEpaisseurPinceau.setGeometry(QtCore.QRect(10, 40, 16, 31))
+        self.cp_valeurEpaisseurPinceau = DmLabel(self.cP_boiteFormes)
+        self.cp_valeurEpaisseurPinceau.setGeometry(QtCore.QRect(10, 48, 16, 31))
         self.cp_valeurEpaisseurPinceau.setMinimumSize(QtCore.QSize(16, 31))
         self.cp_valeurEpaisseurPinceau.setMaximumSize(QtCore.QSize(16, 31))
         font = QtGui.QFont()
@@ -544,44 +581,45 @@ class Ui_principal(object):
         self.cp_valeurEpaisseurPinceau.setAlignment(QtCore.Qt.AlignCenter)
         self.cp_valeurEpaisseurPinceau.setObjectName(_fromUtf8("cp_valeurEpaisseurPinceau"))
         self.cp_formeLigneOrientee = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeLigneOrientee.setGeometry(QtCore.QRect(100, 0, 50, 21))
-        self.cp_formeLigneOrientee.setMinimumSize(QtCore.QSize(50, 21))
-        self.cp_formeLigneOrientee.setMaximumSize(QtCore.QSize(50, 21))
+        self.cp_formeLigneOrientee.setGeometry(QtCore.QRect(74, 0, 37, 25))
+        self.cp_formeLigneOrientee.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeLigneOrientee.setMaximumSize(QtCore.QSize(37, 25))
         self.cp_formeLigneOrientee.setStatusTip(_fromUtf8(""))
-        icon16 = QtGui.QIcon()
-        icon16.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligneOrientee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeLigneOrientee.setIcon(icon16)
-        self.cp_formeLigneOrientee.setIconSize(QtCore.QSize(13, 16))
+        icon14 = QtGui.QIcon()
+        icon14.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligneOrientee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeLigneOrientee.setIcon(icon14)
+        self.cp_formeLigneOrientee.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeLigneOrientee.setObjectName(_fromUtf8("cp_formeLigneOrientee"))
         self.cp_formeLigne = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeLigne.setGeometry(QtCore.QRect(50, 0, 50, 21))
-        self.cp_formeLigne.setMinimumSize(QtCore.QSize(50, 21))
-        self.cp_formeLigne.setMaximumSize(QtCore.QSize(50, 21))
-        icon17 = QtGui.QIcon()
-        icon17.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligne_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeLigne.setIcon(icon17)
-        self.cp_formeLigne.setIconSize(QtCore.QSize(13, 16))
+        self.cp_formeLigne.setGeometry(QtCore.QRect(37, 0, 37, 25))
+        self.cp_formeLigne.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeLigne.setMaximumSize(QtCore.QSize(37, 25))
+        icon15 = QtGui.QIcon()
+        icon15.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligne_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeLigne.setIcon(icon15)
+        self.cp_formeLigne.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeLigne.setObjectName(_fromUtf8("cp_formeLigne"))
         self.cp_formeSimple = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeSimple.setGeometry(QtCore.QRect(0, 0, 50, 21))
-        self.cp_formeSimple.setMinimumSize(QtCore.QSize(50, 21))
-        self.cp_formeSimple.setMaximumSize(QtCore.QSize(50, 21))
-        icon18 = QtGui.QIcon()
-        icon18.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/pinceau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeSimple.setIcon(icon18)
+        self.cp_formeSimple.setGeometry(QtCore.QRect(0, 0, 37, 25))
+        self.cp_formeSimple.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeSimple.setMaximumSize(QtCore.QSize(37, 25))
+        icon16 = QtGui.QIcon()
+        icon16.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/pinceau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeSimple.setIcon(icon16)
+        self.cp_formeSimple.setIconSize(QtCore.QSize(18, 18))
         self.cp_formeSimple.setObjectName(_fromUtf8("cp_formeSimple"))
         self.cp_formeEllipsePlein = QtGui.QToolButton(self.cP_boiteFormes)
-        self.cp_formeEllipsePlein.setGeometry(QtCore.QRect(37, 20, 37, 21))
-        self.cp_formeEllipsePlein.setMinimumSize(QtCore.QSize(37, 21))
-        self.cp_formeEllipsePlein.setMaximumSize(QtCore.QSize(37, 21))
+        self.cp_formeEllipsePlein.setGeometry(QtCore.QRect(37, 25, 37, 25))
+        self.cp_formeEllipsePlein.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeEllipsePlein.setMaximumSize(QtCore.QSize(37, 25))
         self.cp_formeEllipsePlein.setStatusTip(_fromUtf8(""))
-        icon19 = QtGui.QIcon()
-        icon19.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipsePleine_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeEllipsePlein.setIcon(icon19)
-        self.cp_formeEllipsePlein.setIconSize(QtCore.QSize(19, 19))
+        icon17 = QtGui.QIcon()
+        icon17.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipsePleine_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeEllipsePlein.setIcon(icon17)
+        self.cp_formeEllipsePlein.setIconSize(QtCore.QSize(24, 24))
         self.cp_formeEllipsePlein.setObjectName(_fromUtf8("cp_formeEllipsePlein"))
         self.cp_epaisseurPinceau = QtGui.QSlider(self.cP_boiteFormes)
-        self.cp_epaisseurPinceau.setGeometry(QtCore.QRect(30, 50, 101, 20))
+        self.cp_epaisseurPinceau.setGeometry(QtCore.QRect(30, 56, 101, 20))
         self.cp_epaisseurPinceau.setMinimumSize(QtCore.QSize(101, 20))
         self.cp_epaisseurPinceau.setMaximumSize(QtCore.QSize(101, 20))
         self.cp_epaisseurPinceau.setMinimum(1)
@@ -589,6 +627,16 @@ class Ui_principal(object):
         self.cp_epaisseurPinceau.setProperty("value", 1)
         self.cp_epaisseurPinceau.setOrientation(QtCore.Qt.Horizontal)
         self.cp_epaisseurPinceau.setObjectName(_fromUtf8("cp_epaisseurPinceau"))
+        self.cp_formeLigneOrientee_2 = QtGui.QToolButton(self.cP_boiteFormes)
+        self.cp_formeLigneOrientee_2.setGeometry(QtCore.QRect(111, 0, 37, 25))
+        self.cp_formeLigneOrientee_2.setMinimumSize(QtCore.QSize(37, 25))
+        self.cp_formeLigneOrientee_2.setMaximumSize(QtCore.QSize(37, 25))
+        self.cp_formeLigneOrientee_2.setStatusTip(_fromUtf8(""))
+        icon18 = QtGui.QIcon()
+        icon18.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/potPeinture_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formeLigneOrientee_2.setIcon(icon18)
+        self.cp_formeLigneOrientee_2.setIconSize(QtCore.QSize(18, 18))
+        self.cp_formeLigneOrientee_2.setObjectName(_fromUtf8("cp_formeLigneOrientee_2"))
         self.verticalLayout_3.addWidget(self.cP_boiteFormes)
         self.cp_ongletsListes = QtGui.QTabWidget(self.cp_panneau)
         self.cp_ongletsListes.setMinimumSize(QtCore.QSize(154, 0))
@@ -597,6 +645,7 @@ class Ui_principal(object):
         self.cp_afficherTerrains = QtGui.QWidget()
         self.cp_afficherTerrains.setObjectName(_fromUtf8("cp_afficherTerrains"))
         self.verticalLayout_4 = QtGui.QVBoxLayout(self.cp_afficherTerrains)
+        self.verticalLayout_4.setSpacing(3)
         self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
         self.cp_listeTerrains = DmTableBiblio(self.cp_afficherTerrains)
         self.cp_listeTerrains.setMinimumSize(QtCore.QSize(81, 0))
@@ -617,18 +666,33 @@ class Ui_principal(object):
         self.cp_listeTerrains.horizontalHeader().setVisible(False)
         self.cp_listeTerrains.verticalHeader().setVisible(False)
         self.verticalLayout_4.addWidget(self.cp_listeTerrains)
-        self.cp_nouveauTerrain = QtGui.QPushButton(self.cp_afficherTerrains)
+        self.horizontalLayout_4 = QtGui.QHBoxLayout()
+        self.horizontalLayout_4.setContentsMargins(-1, 0, -1, -1)
+        self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
+        spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_4.addItem(spacerItem4)
+        self.cp_nouveauTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
+        self.cp_nouveauTerrain.setText(_fromUtf8(""))
+        icon19 = QtGui.QIcon()
+        icon19.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/plus_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_nouveauTerrain.setIcon(icon19)
         self.cp_nouveauTerrain.setObjectName(_fromUtf8("cp_nouveauTerrain"))
-        self.verticalLayout_4.addWidget(self.cp_nouveauTerrain)
-        self.cp_editerTerrain = QtGui.QPushButton(self.cp_afficherTerrains)
-        self.cp_editerTerrain.setObjectName(_fromUtf8("cp_editerTerrain"))
-        self.verticalLayout_4.addWidget(self.cp_editerTerrain)
+        self.horizontalLayout_4.addWidget(self.cp_nouveauTerrain)
+        self.cp_editerTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
+        self.cp_editerTerrain.setText(_fromUtf8(""))
         icon20 = QtGui.QIcon()
-        icon20.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/montagne_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherTerrains, icon20, _fromUtf8(""))
+        icon20.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/editer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_editerTerrain.setIcon(icon20)
+        self.cp_editerTerrain.setObjectName(_fromUtf8("cp_editerTerrain"))
+        self.horizontalLayout_4.addWidget(self.cp_editerTerrain)
+        self.verticalLayout_4.addLayout(self.horizontalLayout_4)
+        icon21 = QtGui.QIcon()
+        icon21.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/montagne_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_ongletsListes.addTab(self.cp_afficherTerrains, icon21, _fromUtf8(""))
         self.cp_afficherDecors = QtGui.QWidget()
         self.cp_afficherDecors.setObjectName(_fromUtf8("cp_afficherDecors"))
         self.verticalLayout_7 = QtGui.QVBoxLayout(self.cp_afficherDecors)
+        self.verticalLayout_7.setSpacing(3)
         self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
         self.cp_listeDecors = DmTableBiblio(self.cp_afficherDecors)
         self.cp_listeDecors.setMinimumSize(QtCore.QSize(81, 0))
@@ -647,21 +711,36 @@ class Ui_principal(object):
         self.cp_listeDecors.horizontalHeader().setVisible(False)
         self.cp_listeDecors.verticalHeader().setVisible(False)
         self.verticalLayout_7.addWidget(self.cp_listeDecors)
-        self.cp_nouveauDecor = QtGui.QPushButton(self.cp_afficherDecors)
+        self.horizontalLayout_7 = QtGui.QHBoxLayout()
+        self.horizontalLayout_7.setContentsMargins(-1, 0, -1, -1)
+        self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
+        self.cp_gommeDecor = QtGui.QToolButton(self.cp_afficherDecors)
+        self.cp_gommeDecor.setText(_fromUtf8(""))
+        icon22 = QtGui.QIcon()
+        icon22.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/gomme_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_gommeDecor.setIcon(icon22)
+        self.cp_gommeDecor.setObjectName(_fromUtf8("cp_gommeDecor"))
+        self.horizontalLayout_7.addWidget(self.cp_gommeDecor)
+        spacerItem5 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_7.addItem(spacerItem5)
+        self.cp_nouveauDecor = QtGui.QToolButton(self.cp_afficherDecors)
+        self.cp_nouveauDecor.setText(_fromUtf8(""))
+        self.cp_nouveauDecor.setIcon(icon19)
         self.cp_nouveauDecor.setObjectName(_fromUtf8("cp_nouveauDecor"))
-        self.verticalLayout_7.addWidget(self.cp_nouveauDecor)
-        self.cp_editerDecor = QtGui.QPushButton(self.cp_afficherDecors)
+        self.horizontalLayout_7.addWidget(self.cp_nouveauDecor)
+        self.cp_editerDecor = QtGui.QToolButton(self.cp_afficherDecors)
+        self.cp_editerDecor.setText(_fromUtf8(""))
+        self.cp_editerDecor.setIcon(icon20)
         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)
-        icon21 = QtGui.QIcon()
-        icon21.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/decor_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherDecors, icon21, _fromUtf8(""))
+        self.horizontalLayout_7.addWidget(self.cp_editerDecor)
+        self.verticalLayout_7.addLayout(self.horizontalLayout_7)
+        icon23 = QtGui.QIcon()
+        icon23.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/decor_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_ongletsListes.addTab(self.cp_afficherDecors, icon23, _fromUtf8(""))
         self.cp_afficherCreatures = QtGui.QWidget()
         self.cp_afficherCreatures.setObjectName(_fromUtf8("cp_afficherCreatures"))
         self.verticalLayout_6 = QtGui.QVBoxLayout(self.cp_afficherCreatures)
+        self.verticalLayout_6.setSpacing(3)
         self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
         self.cp_listeCreatures = DmTableBiblio(self.cp_afficherCreatures)
         self.cp_listeCreatures.setMinimumSize(QtCore.QSize(81, 0))
@@ -680,15 +759,30 @@ class Ui_principal(object):
         self.cp_listeCreatures.horizontalHeader().setVisible(False)
         self.cp_listeCreatures.verticalHeader().setVisible(False)
         self.verticalLayout_6.addWidget(self.cp_listeCreatures)
-        self.cp_nouveauCombattant = QtGui.QPushButton(self.cp_afficherCreatures)
+        self.horizontalLayout_8 = QtGui.QHBoxLayout()
+        self.horizontalLayout_8.setContentsMargins(-1, 0, -1, -1)
+        self.horizontalLayout_8.setObjectName(_fromUtf8("horizontalLayout_8"))
+        self.cp_gommeCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
+        self.cp_gommeCombattant.setText(_fromUtf8(""))
+        self.cp_gommeCombattant.setIcon(icon22)
+        self.cp_gommeCombattant.setObjectName(_fromUtf8("cp_gommeCombattant"))
+        self.horizontalLayout_8.addWidget(self.cp_gommeCombattant)
+        spacerItem6 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+        self.horizontalLayout_8.addItem(spacerItem6)
+        self.cp_nouveauCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
+        self.cp_nouveauCombattant.setText(_fromUtf8(""))
+        self.cp_nouveauCombattant.setIcon(icon19)
         self.cp_nouveauCombattant.setObjectName(_fromUtf8("cp_nouveauCombattant"))
-        self.verticalLayout_6.addWidget(self.cp_nouveauCombattant)
-        self.cp_editerCombattant = QtGui.QPushButton(self.cp_afficherCreatures)
+        self.horizontalLayout_8.addWidget(self.cp_nouveauCombattant)
+        self.cp_editerCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
+        self.cp_editerCombattant.setText(_fromUtf8(""))
+        self.cp_editerCombattant.setIcon(icon20)
         self.cp_editerCombattant.setObjectName(_fromUtf8("cp_editerCombattant"))
-        self.verticalLayout_6.addWidget(self.cp_editerCombattant)
-        icon22 = QtGui.QIcon()
-        icon22.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/creature_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherCreatures, icon22, _fromUtf8(""))
+        self.horizontalLayout_8.addWidget(self.cp_editerCombattant)
+        self.verticalLayout_6.addLayout(self.horizontalLayout_8)
+        icon24 = QtGui.QIcon()
+        icon24.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/creature_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_ongletsListes.addTab(self.cp_afficherCreatures, icon24, _fromUtf8(""))
         self.cp_afficherCaches = QtGui.QWidget()
         self.cp_afficherCaches.setObjectName(_fromUtf8("cp_afficherCaches"))
         self.verticalLayout_5 = QtGui.QVBoxLayout(self.cp_afficherCaches)
@@ -712,13 +806,13 @@ class Ui_principal(object):
         self.cp_listeCaches.horizontalHeader().setDefaultSectionSize(28)
         self.cp_listeCaches.verticalHeader().setVisible(False)
         self.verticalLayout_5.addWidget(self.cp_listeCaches)
-        icon23 = QtGui.QIcon()
-        icon23.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/mainCache_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherCaches, icon23, _fromUtf8(""))
+        icon25 = QtGui.QIcon()
+        icon25.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/mainCache_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_ongletsListes.addTab(self.cp_afficherCaches, icon25, _fromUtf8(""))
         self.verticalLayout_3.addWidget(self.cp_ongletsListes)
         self.creationPlateau_sousPanneauBas = QtGui.QFrame(self.cp_panneau)
-        self.creationPlateau_sousPanneauBas.setMinimumSize(QtCore.QSize(141, 81))
-        self.creationPlateau_sousPanneauBas.setMaximumSize(QtCore.QSize(141, 81))
+        self.creationPlateau_sousPanneauBas.setMinimumSize(QtCore.QSize(154, 81))
+        self.creationPlateau_sousPanneauBas.setMaximumSize(QtCore.QSize(154, 81))
         self.creationPlateau_sousPanneauBas.setFrameShape(QtGui.QFrame.StyledPanel)
         self.creationPlateau_sousPanneauBas.setFrameShadow(QtGui.QFrame.Raised)
         self.creationPlateau_sousPanneauBas.setObjectName(_fromUtf8("creationPlateau_sousPanneauBas"))
@@ -727,69 +821,71 @@ class Ui_principal(object):
         self.cp_placerEntree = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerEntree.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_placerEntree.setMaximumSize(QtCore.QSize(41, 31))
-        icon24 = QtGui.QIcon()
-        icon24.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/entree_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_placerEntree.setIcon(icon24)
+        icon26 = QtGui.QIcon()
+        icon26.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/entree_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerEntree.setIcon(icon26)
         self.cp_placerEntree.setObjectName(_fromUtf8("cp_placerEntree"))
         self.gridLayout_3.addWidget(self.cp_placerEntree, 2, 1, 1, 1)
         self.cp_placerSortie = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerSortie.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_placerSortie.setMaximumSize(QtCore.QSize(41, 31))
-        icon25 = QtGui.QIcon()
-        icon25.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sortie_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_placerSortie.setIcon(icon25)
+        icon27 = QtGui.QIcon()
+        icon27.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sortie_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerSortie.setIcon(icon27)
         self.cp_placerSortie.setObjectName(_fromUtf8("cp_placerSortie"))
         self.gridLayout_3.addWidget(self.cp_placerSortie, 2, 2, 1, 1)
         self.cp_altitudes = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_altitudes.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_altitudes.setMaximumSize(QtCore.QSize(41, 31))
-        self.cp_altitudes.setIcon(icon20)
+        self.cp_altitudes.setIcon(icon21)
         self.cp_altitudes.setObjectName(_fromUtf8("cp_altitudes"))
         self.gridLayout_3.addWidget(self.cp_altitudes, 0, 2, 1, 1)
         self.cp_effets = QtGui.QComboBox(self.creationPlateau_sousPanneauBas)
         self.cp_effets.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_effets.setMaximumSize(QtCore.QSize(41, 31))
         self.cp_effets.setObjectName(_fromUtf8("cp_effets"))
-        icon26 = QtGui.QIcon()
-        icon26.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/feu_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_effets.addItem(icon26, _fromUtf8(""))
-        self.cp_effets.setItemText(0, _fromUtf8(""))
-        icon27 = QtGui.QIcon()
-        icon27.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/eau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_effets.addItem(icon27, _fromUtf8(""))
-        self.cp_effets.setItemText(1, _fromUtf8(""))
         icon28 = QtGui.QIcon()
-        icon28.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/glace_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        icon28.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/feu_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.cp_effets.addItem(icon28, _fromUtf8(""))
-        self.cp_effets.setItemText(2, _fromUtf8(""))
+        self.cp_effets.setItemText(0, _fromUtf8(""))
         icon29 = QtGui.QIcon()
-        icon29.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/poison_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        icon29.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/eau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.cp_effets.addItem(icon29, _fromUtf8(""))
-        self.cp_effets.setItemText(3, _fromUtf8(""))
+        self.cp_effets.setItemText(1, _fromUtf8(""))
         icon30 = QtGui.QIcon()
-        icon30.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/gomme_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        icon30.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/glace_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
         self.cp_effets.addItem(icon30, _fromUtf8(""))
+        self.cp_effets.setItemText(2, _fromUtf8(""))
+        icon31 = QtGui.QIcon()
+        icon31.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/poison_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_effets.addItem(icon31, _fromUtf8(""))
+        self.cp_effets.setItemText(3, _fromUtf8(""))
+        self.cp_effets.addItem(icon22, _fromUtf8(""))
         self.cp_effets.setItemText(4, _fromUtf8(""))
         self.gridLayout_3.addWidget(self.cp_effets, 0, 1, 1, 1)
         self.cp_afficherNotes = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_afficherNotes.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_afficherNotes.setMaximumSize(QtCore.QSize(41, 31))
-        icon31 = QtGui.QIcon()
-        icon31.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/note_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_afficherNotes.setIcon(icon31)
+        icon32 = QtGui.QIcon()
+        icon32.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/note_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_afficherNotes.setIcon(icon32)
         self.cp_afficherNotes.setObjectName(_fromUtf8("cp_afficherNotes"))
         self.gridLayout_3.addWidget(self.cp_afficherNotes, 0, 4, 1, 1)
         self.cp_defPlacement = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_defPlacement.setMinimumSize(QtCore.QSize(41, 31))
         self.cp_defPlacement.setMaximumSize(QtCore.QSize(41, 31))
-        icon32 = QtGui.QIcon()
-        icon32.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/depart_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_defPlacement.setIcon(icon32)
+        icon33 = QtGui.QIcon()
+        icon33.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/depart_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_defPlacement.setIcon(icon33)
         self.cp_defPlacement.setObjectName(_fromUtf8("cp_defPlacement"))
         self.gridLayout_3.addWidget(self.cp_defPlacement, 2, 4, 1, 1)
         self.verticalLayout_3.addWidget(self.creationPlateau_sousPanneauBas)
-        self.plateauLayoutH.addWidget(self.cp_panneau)
-        self.pi_panneau = QtGui.QFrame(self.Combats_tab)
+        self.horizontalLayout_5.addWidget(self.cp_panneau)
+        self.cbt_panneauDroite.addWidget(self.cbt_panneauDroite1)
+        self.cbt_panneauDroite2 = QtGui.QWidget()
+        self.cbt_panneauDroite2.setObjectName(_fromUtf8("cbt_panneauDroite2"))
+        self.pi_panneau = QtGui.QFrame(self.cbt_panneauDroite2)
+        self.pi_panneau.setGeometry(QtCore.QRect(0, 0, 170, 551))
         self.pi_panneau.setMinimumSize(QtCore.QSize(170, 0))
         self.pi_panneau.setMaximumSize(QtCore.QSize(170, 16777215))
         self.pi_panneau.setAutoFillBackground(True)
@@ -842,49 +938,49 @@ class Ui_principal(object):
         self.pi_deplacement.setMinimumSize(QtCore.QSize(0, 0))
         self.pi_deplacement.setMaximumSize(QtCore.QSize(100, 100))
         self.pi_deplacement.setText(_fromUtf8(""))
-        icon33 = QtGui.QIcon()
-        icon33.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/deplacement_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_deplacement.setIcon(icon33)
+        icon34 = QtGui.QIcon()
+        icon34.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/deplacement_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_deplacement.setIcon(icon34)
         self.pi_deplacement.setObjectName(_fromUtf8("pi_deplacement"))
         self.pi_formeAttaqueZone = QtGui.QComboBox(self.pi_actions)
         self.pi_formeAttaqueZone.setGeometry(QtCore.QRect(50, 91, 41, 29))
         self.pi_formeAttaqueZone.setObjectName(_fromUtf8("pi_formeAttaqueZone"))
-        self.pi_formeAttaqueZone.addItem(icon17, _fromUtf8(""))
+        self.pi_formeAttaqueZone.addItem(icon15, _fromUtf8(""))
         self.pi_formeAttaqueZone.setItemText(0, _fromUtf8(""))
-        self.pi_formeAttaqueZone.addItem(icon19, _fromUtf8(""))
+        self.pi_formeAttaqueZone.addItem(icon17, _fromUtf8(""))
         self.pi_formeAttaqueZone.setItemText(1, _fromUtf8(""))
-        icon34 = QtGui.QIcon()
-        icon34.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/cone_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_formeAttaqueZone.addItem(icon34, _fromUtf8(""))
+        icon35 = QtGui.QIcon()
+        icon35.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/cone_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_formeAttaqueZone.addItem(icon35, _fromUtf8(""))
         self.pi_formeAttaqueZone.setItemText(2, _fromUtf8(""))
         self.pi_attaqueCac = QtGui.QToolButton(self.pi_actions)
         self.pi_attaqueCac.setGeometry(QtCore.QRect(10, 50, 61, 31))
         self.pi_attaqueCac.setMinimumSize(QtCore.QSize(0, 0))
         self.pi_attaqueCac.setMaximumSize(QtCore.QSize(100, 100))
-        icon35 = QtGui.QIcon()
-        icon35.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/epee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_attaqueCac.setIcon(icon35)
+        icon36 = QtGui.QIcon()
+        icon36.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/epee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_attaqueCac.setIcon(icon36)
         self.pi_attaqueCac.setObjectName(_fromUtf8("pi_attaqueCac"))
         self.pi_vol = QtGui.QToolButton(self.pi_actions)
         self.pi_vol.setGeometry(QtCore.QRect(80, 10, 61, 31))
-        icon36 = QtGui.QIcon()
-        icon36.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/oiseau_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_vol.setIcon(icon36)
+        icon37 = QtGui.QIcon()
+        icon37.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/oiseau_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_vol.setIcon(icon37)
         self.pi_vol.setObjectName(_fromUtf8("pi_vol"))
         self.pi_attaqueDist = QtGui.QToolButton(self.pi_actions)
         self.pi_attaqueDist.setGeometry(QtCore.QRect(80, 50, 61, 31))
         self.pi_attaqueDist.setMinimumSize(QtCore.QSize(0, 0))
         self.pi_attaqueDist.setMaximumSize(QtCore.QSize(100, 100))
-        icon37 = QtGui.QIcon()
-        icon37.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/arc_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_attaqueDist.setIcon(icon37)
+        icon38 = QtGui.QIcon()
+        icon38.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/arc_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_attaqueDist.setIcon(icon38)
         self.pi_attaqueDist.setObjectName(_fromUtf8("pi_attaqueDist"))
         self.pi_attaqueZone = QtGui.QToolButton(self.pi_actions)
         self.pi_attaqueZone.setGeometry(QtCore.QRect(10, 90, 31, 31))
         self.pi_attaqueZone.setText(_fromUtf8(""))
-        icon38 = QtGui.QIcon()
-        icon38.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/bombe_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_attaqueZone.setIcon(icon38)
+        icon39 = QtGui.QIcon()
+        icon39.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/bombe_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_attaqueZone.setIcon(icon39)
         self.pi_attaqueZone.setObjectName(_fromUtf8("pi_attaqueZone"))
         self.verticalLayout_10.addWidget(self.pi_actions)
         self.pi_ongletsListes = QtGui.QTabWidget(self.pi_panneau)
@@ -924,9 +1020,9 @@ class Ui_principal(object):
         self.pi_listeAttributs.horizontalHeader().setDefaultSectionSize(50)
         self.pi_listeAttributs.verticalHeader().setVisible(False)
         self.verticalLayout_9.addWidget(self.pi_listeAttributs)
-        icon39 = QtGui.QIcon()
-        icon39.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/profil_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_ongletsListes.addTab(self.pi_afficherAttributs, icon39, _fromUtf8(""))
+        icon40 = QtGui.QIcon()
+        icon40.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/profil_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherAttributs, icon40, _fromUtf8(""))
         self.pi_afficherAttaques = QtGui.QWidget()
         self.pi_afficherAttaques.setObjectName(_fromUtf8("pi_afficherAttaques"))
         self.pi_panneauAttaqueEC = QtGui.QGroupBox(self.pi_afficherAttaques)
@@ -1024,14 +1120,14 @@ class Ui_principal(object):
         self.pi_listeAttaques.horizontalHeader().setVisible(False)
         self.pi_listeAttaques.horizontalHeader().setDefaultSectionSize(50)
         self.pi_listeAttaques.verticalHeader().setVisible(False)
-        icon40 = QtGui.QIcon()
-        icon40.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/attaque_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_ongletsListes.addTab(self.pi_afficherAttaques, icon40, _fromUtf8(""))
+        icon41 = QtGui.QIcon()
+        icon41.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/attaque_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherAttaques, icon41, _fromUtf8(""))
         self.pi_afficherInventaire = QtGui.QWidget()
         self.pi_afficherInventaire.setObjectName(_fromUtf8("pi_afficherInventaire"))
-        icon41 = QtGui.QIcon()
-        icon41.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sac_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_ongletsListes.addTab(self.pi_afficherInventaire, icon41, _fromUtf8(""))
+        icon42 = QtGui.QIcon()
+        icon42.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sac_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherInventaire, icon42, _fromUtf8(""))
         self.pi_afficherNotes = QtGui.QWidget()
         self.pi_afficherNotes.setObjectName(_fromUtf8("pi_afficherNotes"))
         self.verticalLayout_8 = QtGui.QVBoxLayout(self.pi_afficherNotes)
@@ -1040,7 +1136,7 @@ class Ui_principal(object):
         self.pi_notes.setDocumentTitle(_fromUtf8(""))
         self.pi_notes.setObjectName(_fromUtf8("pi_notes"))
         self.verticalLayout_8.addWidget(self.pi_notes)
-        self.pi_ongletsListes.addTab(self.pi_afficherNotes, icon31, _fromUtf8(""))
+        self.pi_ongletsListes.addTab(self.pi_afficherNotes, icon32, _fromUtf8(""))
         self.verticalLayout_10.addWidget(self.pi_ongletsListes)
         self.pi_finTour = QtGui.QPushButton(self.pi_panneau)
         self.pi_finTour.setMinimumSize(QtCore.QSize(152, 41))
@@ -1051,7 +1147,20 @@ class Ui_principal(object):
         self.pi_finTour.setFont(font)
         self.pi_finTour.setObjectName(_fromUtf8("pi_finTour"))
         self.verticalLayout_10.addWidget(self.pi_finTour)
-        self.plateauLayoutH.addWidget(self.pi_panneau)
+        self.cbt_panneauDroite.addWidget(self.cbt_panneauDroite2)
+        self.cbt_panneauDroite3 = QtGui.QWidget()
+        self.cbt_panneauDroite3.setObjectName(_fromUtf8("cbt_panneauDroite3"))
+        self.cbt_ajouterPj = QtGui.QToolButton(self.cbt_panneauDroite3)
+        self.cbt_ajouterPj.setGeometry(QtCore.QRect(20, 470, 131, 51))
+        self.cbt_ajouterPj.setMinimumSize(QtCore.QSize(34, 24))
+        self.cbt_ajouterPj.setMaximumSize(QtCore.QSize(34000, 24000))
+        icon43 = QtGui.QIcon()
+        icon43.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/nouveauJoueur_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_ajouterPj.setIcon(icon43)
+        self.cbt_ajouterPj.setIconSize(QtCore.QSize(32, 32))
+        self.cbt_ajouterPj.setObjectName(_fromUtf8("cbt_ajouterPj"))
+        self.cbt_panneauDroite.addWidget(self.cbt_panneauDroite3)
+        self.plateauLayoutH.addWidget(self.cbt_panneauDroite)
         self.layoutCombat.addLayout(self.plateauLayoutH)
         self.horizontalLayout_3.addLayout(self.layoutCombat)
         self.dm_panneauCentre.addTab(self.Combats_tab, _fromUtf8(""))
@@ -1131,7 +1240,7 @@ class Ui_principal(object):
         self.grp_deroulement.setWidgetResizable(True)
         self.grp_deroulement.setObjectName(_fromUtf8("grp_deroulement"))
         self.grp_deroulement_contenu = QtGui.QWidget()
-        self.grp_deroulement_contenu.setGeometry(QtCore.QRect(0, 0, 877, 590))
+        self.grp_deroulement_contenu.setGeometry(QtCore.QRect(0, 0, 756, 588))
         palette = QtGui.QPalette()
         brush = QtGui.QBrush(QtGui.QColor(0, 0, 0))
         brush.setStyle(QtCore.Qt.SolidPattern)
@@ -1230,13 +1339,13 @@ class Ui_principal(object):
         self.verticalLayout_12 = QtGui.QVBoxLayout(self.grp_panneauCommande)
         self.verticalLayout_12.setMargin(2)
         self.verticalLayout_12.setObjectName(_fromUtf8("verticalLayout_12"))
-        spacerItem4 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
-        self.verticalLayout_12.addItem(spacerItem4)
+        spacerItem7 = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+        self.verticalLayout_12.addItem(spacerItem7)
         self.grp_nouveauPj = QtGui.QPushButton(self.grp_panneauCommande)
         self.grp_nouveauPj.setMinimumSize(QtCore.QSize(50, 50))
         self.grp_nouveauPj.setMaximumSize(QtCore.QSize(50, 50))
         self.grp_nouveauPj.setText(_fromUtf8(""))
-        self.grp_nouveauPj.setIcon(icon1)
+        self.grp_nouveauPj.setIcon(icon43)
         self.grp_nouveauPj.setIconSize(QtCore.QSize(24, 24))
         self.grp_nouveauPj.setObjectName(_fromUtf8("grp_nouveauPj"))
         self.verticalLayout_12.addWidget(self.grp_nouveauPj)
@@ -1440,7 +1549,7 @@ class Ui_principal(object):
         self.horizontalLayout.addWidget(self.dm_panneauDroite)
         principal.setCentralWidget(self.baseWidget)
         self.menubar = QtGui.QMenuBar(principal)
-        self.menubar.setGeometry(QtCore.QRect(0, 0, 1274, 20))
+        self.menubar.setGeometry(QtCore.QRect(0, 0, 1153, 21))
         self.menubar.setObjectName(_fromUtf8("menubar"))
         self.menuFichier = QtGui.QMenu(self.menubar)
         self.menuFichier.setObjectName(_fromUtf8("menuFichier"))
@@ -1477,26 +1586,26 @@ class Ui_principal(object):
 
         self.retranslateUi(principal)
         self.dm_panneauCentre.setCurrentIndex(0)
-        self.cp_ongletsListes.setCurrentIndex(3)
+        self.cbt_panneauGauche.setCurrentIndex(1)
+        self.cbt_panneauBas.setCurrentIndex(1)
+        self.cbt_panneauDroite.setCurrentIndex(1)
+        self.cp_ongletsListes.setCurrentIndex(1)
         self.pi_ongletsListes.setCurrentIndex(3)
         self.tabStatutAppli.setCurrentIndex(2)
         QtCore.QMetaObject.connectSlotsByName(principal)
 
     def retranslateUi(self, principal):
         principal.setWindowTitle(_translate("principal", "Bienvenue sur le Dé-Monde", None))
-        self.cbt_afficherGestion.setToolTip(_translate("principal", "Afficher le tableau de gestion du combat (MJ)", None))
-        self.cbt_afficherGestion.setText(_translate("principal", "...", None))
-        self.cbt_ajouterPj.setToolTip(_translate("principal", "Ajouter un ou des personnages du groupe", None))
         self.cbt_toutPrecedent.setToolTip(_translate("principal", "Tour précédent", None))
         self.cbt_toutPrecedent.setText(_translate("principal", "...", None))
         self.cbt_tour.setText(_translate("principal", "Tour: 10", None))
         self.cbt_tourSuivant.setToolTip(_translate("principal", "Tour suivant", None))
         self.cbt_tourSuivant.setText(_translate("principal", "...", None))
-        self.cbt_nom.setText(_translate("principal", "La tour sombre", None))
+        self.cbt_nom.setText(_translate("principal", "La tour sombre [Non Publié]", None))
         self.cbt_publierPlateau.setToolTip(_translate("principal", "Rendre le plateau publique", None))
         self.cbt_publierPlateau.setText(_translate("principal", "...", None))
-        self.cbt_proprietes.setToolTip(_translate("principal", "Afficher les paramètres du plateau", None))
-        self.cbt_proprietes.setText(_translate("principal", "...", None))
+        self.cbt_afficherGestion.setToolTip(_translate("principal", "Afficher le tableau de gestion du combat (MJ)", None))
+        self.cbt_afficherGestion.setText(_translate("principal", "...", None))
         self.cbt_modeCreation.setToolTip(_translate("principal", "Passer en mode Création", None))
         self.cbt_modeCombat.setToolTip(_translate("principal", "Passer en mode Combat", None))
         self.cbt_sauver.setToolTip(_translate("principal", "Enregistrer le combat", None))
@@ -1565,27 +1674,22 @@ class Ui_principal(object):
         self.cp_formeSimple.setText(_translate("principal", "...", None))
         self.cp_formeEllipsePlein.setToolTip(_translate("principal", "Ellipse (pleine)", None))
         self.cp_formeEllipsePlein.setText(_translate("principal", "...", None))
+        self.cp_formeLigneOrientee_2.setToolTip(_translate("principal", "Frontière", None))
+        self.cp_formeLigneOrientee_2.setText(_translate("principal", "...", None))
         item = self.cp_listeTerrains.horizontalHeaderItem(0)
         item.setText(_translate("principal", "code", None))
         item = self.cp_listeTerrains.horizontalHeaderItem(1)
         item.setText(_translate("principal", "Terrain", None))
-        self.cp_nouveauTerrain.setText(_translate("principal", "Nouveau", None))
-        self.cp_editerTerrain.setText(_translate("principal", "Editer", None))
         self.cp_ongletsListes.setTabToolTip(self.cp_ongletsListes.indexOf(self.cp_afficherTerrains), _translate("principal", "Afficher la liste des terrains", None))
         item = self.cp_listeDecors.horizontalHeaderItem(0)
         item.setText(_translate("principal", "code", None))
         item = self.cp_listeDecors.horizontalHeaderItem(1)
         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))
         item = self.cp_listeCreatures.horizontalHeaderItem(1)
         item.setText(_translate("principal", "Creature", None))
-        self.cp_nouveauCombattant.setText(_translate("principal", "Nouveau", None))
-        self.cp_editerCombattant.setText(_translate("principal", "Editer", None))
         self.cp_ongletsListes.setTabToolTip(self.cp_ongletsListes.indexOf(self.cp_afficherCreatures), _translate("principal", "Afficher la liste des créatures", None))
         item = self.cp_listeCaches.horizontalHeaderItem(0)
         item.setText(_translate("principal", "N°", None))
@@ -1635,6 +1739,7 @@ class Ui_principal(object):
         item.setText(_translate("principal", "nomAttaque", None))
         self.pi_finTour.setToolTip(_translate("principal", "Finir le tour du pion", None))
         self.pi_finTour.setText(_translate("principal", "Finir le tour", None))
+        self.cbt_ajouterPj.setToolTip(_translate("principal", "Ajouter un ou des personnages du groupe", None))
         self.dm_panneauCentre.setTabText(self.dm_panneauCentre.indexOf(self.Combats_tab), _translate("principal", "Combats", None))
         self.points.setText(_translate("principal", "Points", None))
         self.itineraire.setText(_translate("principal", "Itinéraire", None))

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 2632 - 2073
lib/ui/mainwindow.ui


+ 1 - 0
lib/ui/ressource.qrc

@@ -51,6 +51,7 @@
         <file>ressource/corbeille_16.png</file>
         <file>ressource/depart_16.png</file>
         <file>ressource/rafraichir_16.png</file>
+        <file>ressource/potPeinture_16.png</file>
     </qresource>
     <qresource prefix="/interface/24" lang="fr">
         <file>ressource/poids_24.png</file>

BIN
lib/ui/ressource/potPeinture_16.png


BIN
parties/Partie1/svg/2.p


+ 2 - 2
parties/Partie1/svg/infos_sauvegarde

@@ -1,2 +1,2 @@
-€}q(U1}q(UnomqUertqUdateCreationqGAÕdWq!&éUdateSvgqGAÕdW‹UchapitreqU1UenCoursq‰Upublicq	‰uU0}q
-(UnomUEssaiUdateCreationGAÕdA/ÎÙUdateSvgGAÕdA÷�PUchapitreU1UenCours‰Upublic‰uu.
+€}q(U1}q(UnomUertUdateCreationGAÕdWq!&éUdateSvgGAÕdW‹UchapitreU1UenCours‰Upublic‰uU0}q(UnomUEssaiUdateCreationGAÕdA/ÎÙUdateSvgGAÕdA÷�PUchapitreU1UenCours‰Upublic‰uU2}q(UnomqUDonjonqUdateCreationqGAÕd‘´oß;UdateSvgqGAÕd”ÛxƒUchapitreq	U1UenCoursq
+‰Upublicq‰uu.

Vissa filer visades inte eftersom för många filer har ändrats