Pārlūkot izejas kodu

Creation du panneau d'action, affichage de la fiche de perso depuis
le plateau, affichage de l'arborescence des modes

olinox14 10 gadi atpakaļ
vecāks
revīzija
63ec19b0cf

+ 1 - 1
.settings/org.eclipse.core.resources.prefs

@@ -4,7 +4,6 @@ encoding//lib/Actions.py=utf-8
 encoding//lib/Cache.py=utf-8
 encoding//lib/Case.py=utf-8
 encoding//lib/Combattant.py=utf-8
-encoding//lib/Creature.py=utf-8
 encoding//lib/Decor.py=utf-8
 encoding//lib/EcranAffichageTexte.py=utf-8
 encoding//lib/EcranAltitude.py=utf-8
@@ -36,6 +35,7 @@ encoding//lib/ui/ecran_altitude.py=utf-8
 encoding//lib/ui/ecran_creationPlateau.py=utf-8
 encoding//lib/ui/ecran_creerPlateau.py=utf-8
 encoding//lib/ui/ecran_explorateur.py=utf-8
+encoding//lib/ui/ecran_message.py=utf-8
 encoding//lib/ui/ecran_principal.py=utf-8
 encoding//lib/ui/ecran_saisie.py=utf-8
 encoding/DMonde.py=utf-8

+ 133 - 16
lib/Actions.py

@@ -1,18 +1,24 @@
 #from __future__ import unicode_literals
 # -*- coding: utf-8 -*-
+import sys
+
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
-import regles
+
 import AEtoile
-import br
-from Pion import Pion
 from Combattant import Combattant
 from Decor import Decor
+from Pion import Pion
+import br
+from lib.ui.ecran_attaqueZone import Ui_zne_fenetre
+import regles
+
 
 class Action(object):
     """action effectuee par un combattant sur le plateau de jeu"""
     def __init__(self):
         self._num = None         #no du pion actif
+        self._nom = "Action"
         self._coordCible = None  #coord de la case ciblee par le curseur
         self._cible = None       #cible (case ou pion)
         self._sourceCurseur = ""
@@ -31,18 +37,25 @@ class Action(object):
             retour(self, *args)                            
         return _autorise
 
+    def nom(self):
+        return self._nom
+
     def typeAtt(self):
         return ""
 
+    def description(self):
+        """description de l'action en cours, pour le panneau d'action"""
+        return ""
+
     def activer(self, plateau, numPion):
         self.plateau = plateau
         self._num = numPion
         
-        self.enfoncerBouton(True)
         self.activerCurseur()
         self.creerItemsGraphiques()
 
         self._enCours = True
+        self.majPanneauAction()
 
     def majCoordCible(self, coord):
         """met a jour les coordonnees de la cible,
@@ -56,8 +69,9 @@ class Action(object):
         self.afficherCibles(False)
         self.detruireItemsGraphiques()
         self.desactiverCurseur()
-        self.enfoncerBouton(False)
+        
         self._enCours = False
+        self.majPanneauAction()
 
     def enCours(self):
         return self._enCours
@@ -89,10 +103,20 @@ class Action(object):
     def desactiverCurseur(self):
         self.plateau.fenetre.ui.cbt_vue.setCursor(QCursor(Qt.ArrowCursor))
 
-    def enfoncerBouton(self, actif):
-        for bouton in self.plateau.fenetre.ui.pi_actions.findChildren(QToolButton):
-            if bouton.objectName() == self._nomBouton:
-                bouton.setChecked(actif)
+    def majPanneauAction(self):
+        for bouton in self.plateau.fenetre.ui.page_act.findChildren(QToolButton):
+            if self._enCours:
+                if bouton.objectName() == self._nomBouton:
+                    bouton.setChecked(True)
+                else:
+                    bouton.setVisible(False)
+            else:
+                bouton.setVisible(True)
+                bouton.setChecked(False)
+        self.plateau.fenetre.ui.act_description.setVisible(self._enCours)
+        self.plateau.fenetre.ui.act_valider.setVisible(self._enCours)
+        if self._enCours:
+            self.plateau.fenetre.ui.act_description.majTexte(self.description())    
 
     #manipulation des items graphiques
     def creerItemsGraphiques(self):
@@ -123,17 +147,31 @@ class Deplacement(Action):
     #et le calcul du cout de deplacement
     def __init__(self):
         super(Deplacement, self).__init__()
+        self._nom = "Deplacement"
         self._chemin = []  #liste des coord des cases a traverser
         self._chercheurChemin = None
         self._cout = 0     #cout en points de dep
         self._zCible = 0
         self.cible_aConfirmer = None
         self._sourceCurseur = ""
-        self._nomBouton = "pi_deplacement" 
+        self._nomBouton = "act_deplacement" 
 
     def typeAtt(self):
         return "dep"
-    
+
+    def description(self):
+        txt = " - {} - \n".format(self.nom().upper())
+        if not self.cible_aConfirmer:
+            txt += "   Cliquez sur la case de destination\n"
+            txt += "   (Maintenez [MAJ] pour changer l'altitude cible)\n"
+            txt += "   (Maintenez [MAJ] pour changer l'altitude cible)\n"
+            txt += "   (Maintenez [MAJ] pour changer l'altitude cible)\n"
+        else:
+            txt += "   Destination: {}\n".format(self.plateau.proj.coord())
+            if self._zCible != 0: txt += "   Altitude de destination: {}\n".format(self._zCible)
+            txt += self.decrireChemin()
+        return txt
+
     def activer(self, plateau, numPion):
         super(Deplacement, self).activer(plateau, numPion)
         self.plateau.proj.creer(self.acteur())
@@ -182,6 +220,10 @@ class Deplacement(Action):
             self._chemin = self._chercheurChemin.liste()
         self.afficherCibles(True)        
 
+    def decrireChemin(self):
+        """decrit le chemin emprunte"""
+        return ""
+            
     def afficherCibles(self, actif):
         compte = 0 ; coutTotal = 0 ; valide = True
         z = self.plateau.cases[self.acteur().position].zDep()
@@ -210,9 +252,14 @@ class Vol(Deplacement):
        (et n'utilise pas le meme algo de deplacement?)"""
     def __init__(self):
         super(Vol, self).__init__()
+        self._nom = "Deplacement (vol)"
         self._zCible = 0
         self._nomBouton = "pi_vol" 
 
+    def description(self):
+        txt = " - {} - \n".format(self.nom().upper())
+        return txt
+
     def typeAtt(self):
         return "vol"
         
@@ -234,6 +281,9 @@ class Attaque(Action):
     def typeAtt(self):
         return "att"
 
+    def description(self):
+        return ""
+
     def nom(self):
         return self._nom
 
@@ -294,7 +344,7 @@ class Cac(Attaque):
         self._nom = "Attaque au corps-à-corps"
         self._pionCible = None
         self._sourceCurseur = ""
-        self._nomBouton = "pi_attaqueCac"
+        self._nomBouton = "act_attaqueCac"
         self._icone = "img\\curseurEpee.png"
 
     def typeAtt(self):
@@ -304,6 +354,11 @@ class Cac(Attaque):
         self.afficherCibles(False)
         super(Cac, self).desactiver()
 
+    def description(self):
+        txt = " - {} - \n".format(self.nom().upper())
+        txt += "   Cliquez sur une cible a portee"
+        return txt
+
     def valider(self):
         if self.estValide() and self._pionCible:
             super(Cac, self).valider()
@@ -335,12 +390,17 @@ class Distance(Attaque):
         self._itemLigne = None
         self._pionCible = None
         self._sourceCurseur = ""
-        self._nomBouton = "pi_attaqueDist"
+        self._nomBouton = "act_attaqueDist"
         self._icone = ":/interface/16/ressource/arc_16.png"
 
     def typeAtt(self):
         return "dist"
 
+    def description(self):
+        txt = " - {} - \n".format(self.nom().upper())
+        txt += "   Cliquez sur une cible visible"
+        return txt
+
     def majCoordCible(self, coord):
         if self._pionCible:
             self._pionCible.estCibleAttaque(False, self.estValide())
@@ -408,7 +468,7 @@ class Zone(Attaque):
         self._itemCible = None
         self._casesCibles = []
         self._sourceCurseur = ""
-        self._nomBouton = "pi_attaqueZone"
+        self._nomBouton = "act_attaqueZone"
         self._icone = ":/interface/16/ressource/baguette_16.png"
 
     def typeAtt(self):
@@ -422,6 +482,11 @@ class Zone(Attaque):
 #         self.detruireItemsGraphiques()
 #         super(Zone, self).desactiver() 
 
+    def description(self):
+        txt = " - {} - \n".format(self.nom().upper())
+        txt += "   Cliquez sur une cible visible"
+        return txt
+
     def maj(self):
         """maj la forme de l'attaque de zone et les items cibles"""
         self.afficherCibles(False)
@@ -523,7 +588,7 @@ class Disque(Zone):
     """attaque de zone de forme circulaire"""
     def __init__(self):
         super(Disque, self).__init__()
-        self._nom = "Attaque de zone: disque"
+        self._nom = "Attaque de zone (disque)"
 
     #decorateur
     def autorise(f):
@@ -541,7 +606,6 @@ class Disque(Zone):
 
     def activer(self, plateau, numPion):
         super(Disque, self).activer(plateau, numPion)
-        self._rayon = self.plateau.fenetre.ui.pi_rayonAttaqueZone.value()
     
     @autorise  
     def majCoordCible(self, coord):
@@ -606,6 +670,9 @@ class Cone(Zone):
     def typeAttZone(self):
         return "cone"
 
+    def description(self):
+        return "Attaque à de zone (cone)"
+
     def majCibles(self):
         if self.plateau.cases[self._coordCible].estOccupee():
             zCible = self.plateau.cases[self._coordCible].occupant().zAbs()
@@ -641,6 +708,56 @@ class Cone(Zone):
         return polygone
 
 
+class EcranAttaqueZone(QDialog):
+    """boite de dialogue de parametrage de l'attaque de zone"""
+    def __init__(self, parent=None):
+        super (EcranAttaqueZone, self).__init__()
+        self.createWidgets()
+        
+    def createWidgets(self):
+        """construction de l'interface"""
+        self.ui = Ui_zne_fenetre()
+        self.ui.setupUi(self)
+        self.connect(self.ui.zne_forme, SIGNAL("currentIndexChanged(int)"), self.majAffichage, Qt.UniqueConnection)   
+        self.connect(self.ui.zne_valider, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection)   
+        self.connect(self.ui.zne_annuler, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection)   
+        self.ui.zne_valider.setShortcut("Enter") 
+        self.majAffichage(self.ui.zne_forme.currentIndex())
+
+    def majAffichage(self, index):
+        self.ui.zne_rayon.setVisible((index == 1))
+        self.ui.zne_rayon_lbl.setVisible((index == 1))
+
+    def resultat(self):
+        if self.ui.zne_forme.currentIndex() == 0:
+            attaque = Ligne()
+        elif self.ui.zne_forme.currentIndex() == 1:
+            attaque = Disque()
+            attaque.majRayon(int(self.ui.zne_rayon.value()))
+        elif self.ui.zne_forme.currentIndex() == 2:
+            attaque = Cone()
+        attaque.majPortee(int(self.ui.zne_portee.value())) 
+        return attaque
+
+    def ok(self):
+        self.done(1)     
+
+    def annuler(self):
+        self.done(0)     
+
+
+
+
+
+
+if __name__ == "__main__":
+    app = QApplication(sys.argv)
+    ecran = EcranAttaqueZone()
+    ecran.show()
+    r = app.exec_()
+    att = ecran.resultat()
+    print att.typeAtt(), att.portee()
+    exit(r)      
 
 
 

+ 66 - 2
lib/Modes.py

@@ -37,6 +37,12 @@ class ModeBase(object):
     def nom(self):
         return self.__class__.__name__
 
+    def arborescence(self):
+        """retourne l'arborescence actuelle des modes (sous forme de texte)"""
+        txt = self.plateau.nom()
+        if len(txt) > 30: txt = txt[0:30] + "..."
+        return "Plateau: {}".format(txt)
+
     def activer(self, param = None):
         """active le mode"""
         self.activerCurseur()
@@ -142,6 +148,10 @@ class ModeBaseCp(ModeBase):
         super(ModeBaseCp, self).__init__(plateau)
         self.type = "cp"
 
+    def arborescence(self):
+        txt = super(ModeBaseCp, self).arborescence()
+        return txt + " > Mode Création"
+
     def activer(self, param = None):
         self.plateau.fenetre.ui.cbt_modeCreation.setChecked(True)
         super(ModeBaseCp, self).activer(param)
@@ -159,6 +169,10 @@ class ModeBasePi(ModeBase):
     def __init__(self, plateau):
         super(ModeBasePi, self).__init__(plateau)
         self.type = "pi"
+ 
+    def arborescence(self):
+        txt = super(ModeBasePi, self).arborescence()
+        return txt + " > Combat"
 
     def activer(self, param = None):
         self.plateau.fenetre.ui.cbt_modeCombat.setChecked(True)
@@ -210,6 +224,10 @@ class MajCases(ModeBaseCp):
         self._param = None   #parametre avec lequel on mettra a jour la case
         self._caseSurvolee = None
 
+    def arborescence(self):
+        txt = super(MajCases, self).arborescence()
+        return txt + " > Mise à jour des cases"
+
     def activer(self, param):
         """active le mode"""
         self.majParam(param)
@@ -292,6 +310,10 @@ class Pipette(ModeBaseCp):
         super(Pipette, self).__init__(plateau)
         self._sourceCurseur = ":/interface/16/ressource/seringue_16.png"
 
+    def arborescence(self):
+        txt = super(Pipette, self).arborescence()
+        return txt + " > Pipette"
+
     def activerCurseur(self):
         super(Pipette, self).activerCurseur()
         
@@ -306,6 +328,10 @@ class ZonePlacement(ModeBaseCp):
         self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
         self._focus = True
 
+    def arborescence(self):
+        txt = super(ZonePlacement, self).arborescence()
+        return txt + " > Création de la zone de placement"
+
     def activer(self, param = None):
         self.plateau.pinceau.majForme("rectP")
         self.plateau.pinceau.verrouillerForme(True)
@@ -339,6 +365,10 @@ class PlacerCaches(ModeBaseCp):
         self._focus = True
         self._numCache = None
 
+    def arborescence(self):
+        txt = super(PlacerCaches, self).arborescence()
+        return txt + " > Création de caches"
+
     def activer(self, param = None):
         self._numCache = param
         self.plateau.pinceau.majForme("rectP")
@@ -388,6 +418,10 @@ class EntreeSortieBase(ModeBaseCp):
         self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
         self._focus = True
 
+    def arborescence(self):
+        txt = super(EntreeSortieBase, self).arborescence()
+        return txt + " > Création des entrées/sorties"
+
     def activerCurseur(self):
         super(EntreeSortieBase, self).activerCurseur()
 
@@ -453,6 +487,10 @@ class EditionEntreeSortie(EntreeSortieBase):
     def __init__(self, plateau):
         super(EditionEntreeSortie, self).__init__(plateau)
 
+    def arborescence(self):
+        txt = super(EntreeSortieBase, self).arborescence()
+        return txt + " > Edition des entrées/sorties"
+
     def clicGauche(self, event):
         accepte = False
         if not event.isAccepted():
@@ -468,6 +506,10 @@ class CreationPion(ModeBaseCp):
         self._focus = True
         self._pion = None
 
+    def arborescence(self):
+        txt = super(CreationPion, self).arborescence()
+        return txt + " > Création de pion"
+
     def activer(self, pion):
         self._pion = pion
         self.plateau.proj.creer(self._pion)
@@ -515,6 +557,10 @@ class SuppressionPion(ModeBaseCp):
         self._enSurbrillance = []
         self._focus = True
 
+    def arborescence(self):
+        txt = super(SuppressionPion, self).arborescence()
+        return txt + " > Suppression de pion"
+
     def activer(self, param = None):
         #cible est le nom de la classe des objets a supprimer
         super(SuppressionPion, self).activer()
@@ -562,7 +608,11 @@ class DeplacementPion(ModeBaseCp):
     def __init__(self, plateau):
         super(DeplacementPion, self).__init__(plateau)
         self._num = 0
-        
+
+    def arborescence(self):
+        txt = super(DeplacementPion, self).arborescence()
+        return txt + " > Deplacement de pion"
+
     def activer(self, num):
         self._num = num
         pion = self.plateau.pions[self._num]
@@ -622,6 +672,7 @@ class StandardPi(ModeBasePi):
 
     def activer(self, num):
         self.plateau.fenetre.ui.cbt_panneauDroite.setCurrentIndex(3)
+        self.plateau.fenetre.ui.cbt_panneauBas.setCurrentIndex(1)
         self.plateau.majCaches()
         super(StandardPi, self).activer()
 
@@ -645,6 +696,13 @@ class PionSelectionne(ModeBasePi):
         self._num = None
         self._action = None
 
+    def arborescence(self):
+        txt = super(PionSelectionne, self).arborescence()
+        txt2 = self.pion().nom() if self.pion() else ""
+        if len(txt2) > 15: txt2 = txt2[0:15] + "..."
+        txt3 = " > {}".format(self._action.nom()) if self._action else ""
+        return txt + " > {}".format(txt2) + txt3
+
     def pion(self):
         """retourne la ref du pion actuellement selectionne"""
         return (self.plateau.pions[self._num]) if (self._num in self.plateau.pions) else None
@@ -652,6 +710,8 @@ class PionSelectionne(ModeBasePi):
     def activer(self, num):
         self._num = num
         self.plateau.fenetre.ui.cbt_panneauDroite.setCurrentIndex(2)
+        self.plateau.fenetre.ui.cbt_panneauBas.setCurrentIndex(0)
+        self.plateau.fenetre.ui.act_img.chargerImage(self.plateau.pionSelectionne().img.rimage)
         self.pion().afficheOmbreSelection(True)
         self.plateau.majPanneauPi()
         super(PionSelectionne, self).activer()
@@ -660,8 +720,10 @@ class PionSelectionne(ModeBasePi):
         if self._action:
             self._action.desactiver()
             self._action = None
-        self.pion().afficheOmbreSelection(False)
+        if self.pion():
+            self.pion().afficheOmbreSelection(False)
         self._num = None
+        self.plateau.fenetre.ui.act_img.clear()
         self.plateau.majPanneauPi()
         super(PionSelectionne, self).desactiver()
 
@@ -671,6 +733,7 @@ class PionSelectionne(ModeBasePi):
             self._action = None            
         self._action = action()
         self._action.activer(self.plateau, self._num)
+        self.plateau.majArborescenceModes()
     
     def action(self):
         return self._action
@@ -696,6 +759,7 @@ class PionSelectionne(ModeBasePi):
             self._action.desactiver()
             self._action = None
             accepte = True
+            self.plateau.majArborescenceModes()
         else:
             accepte = super(PionSelectionne, self).clicDroit(event)
         return accepte

+ 46 - 51
lib/Plateau.py

@@ -3,12 +3,11 @@
 from __future__ import division
 
 from math import sqrt
-import os
 from time import time
 
-from PyQt4.QtCore import Qt, SIGNAL, QPointF, QString, QSize, QLineF
+from PyQt4.QtCore import Qt, SIGNAL, QPointF, QString, QLineF
 from PyQt4.QtGui import QGraphicsScene, QColor, QPixmap, QPainter, QIcon, \
-    QTableWidgetItem, QFont, QToolButton, QColorDialog, QMessageBox, \
+    QTableWidgetItem, QToolButton, QColorDialog, QMessageBox, \
     QApplication, QPolygonF, QGraphicsPolygonItem, QPen, QGraphicsView
 
 import Actions
@@ -18,8 +17,6 @@ from Combattant import Combattant
 from Decor import Decor
 from EcranAffichageTexte import EcranAffichageTexte
 from EcranCreerPlateau import EcranCreerPlateau
-from EcranEditionMateriel import EcranEditionMateriel
-from EcranEditionTerrain import EcranEditionTerrain
 from EcranGestionCombat import EcranGestionCombat
 from EcranVol import EcranVol
 import Modes
@@ -27,19 +24,15 @@ from Pinceau import Pinceau
 from ProjectionDep import ProjectionDep
 from Terrain import Terrain
 import br
-from lib.commun import rep, charger
+from lib.Actions import EcranAttaqueZone
+from lib.EcranEditionMateriel import EcranEditionMateriel
+from lib.ListePions import ListePions
 from lib.gC import GestionCombat
 from lib.gM import GestionMateriel
 from lib.mat import Materiel, chargerMat
-from outilsSvg import chargerUnique
 import regles as regles
-from lib.ListePions import ListePions
 
 
-m_couleursRapides = [(255,255,255), (200,200,200), (130,130,130), (90,90,90), (15,15,15), \
-                   (0,85,0), (170,255,0), (170,255,127), (85,85,0), (85,0,0), (170,85,0), (100,50,0), \
-                   (255,255,127), (240,80,0), (85,170,255), (85,85,255), (85,0,255), (0,255,255)]
-        
 class Plateau(QGraphicsScene, Materiel):
     """plateau de jeu contenant les cases, decors et pions"""
     def __init__(self, fenetre, parent=None):
@@ -202,6 +195,8 @@ class Plateau(QGraphicsScene, Materiel):
         self.fenetre.connect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_dialogueCouleurs, SIGNAL("clicked()"), self.modePeintureCase, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_afficherNotes, SIGNAL("clicked()"), self.agrandirNotesMjPlateau, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.pi_fiche, SIGNAL("clicked()"), self.afficherFichePion, Qt.UniqueConnection)
+        
         
         #listes
         self.fenetre.connect(self.fenetre.ui.cp_listeTerrains, SIGNAL("cellClicked(int,int)"), self.modeMajTerrainCase, Qt.UniqueConnection)
@@ -229,13 +224,12 @@ class Plateau(QGraphicsScene, Materiel):
         self.fenetre.connect(self.fenetre.ui.cp_formeRectVide, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
         self.fenetre.connect(self.fenetre.ui.cp_formeRectPlein, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
 
-        self.fenetre.connect(self.fenetre.ui.pi_deplacement, SIGNAL("clicked()"), self.majModeCombatDeplacement, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_vol, SIGNAL("clicked()"), self.majModeCombatVol, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_attaqueCac, SIGNAL("clicked()"), self.majModeCombatAttaqueCaC, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_attaqueDist, SIGNAL("clicked()"), self.majModeCombatAttaqueDist, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_attaqueZone, SIGNAL("clicked()"), self.majModeCombatZone, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_formeAttaqueZone, SIGNAL("activated (int)"), self.majModeCombatZone, Qt.UniqueConnection)
-        self.fenetre.connect(self.fenetre.ui.pi_rayonAttaqueZone, SIGNAL("valueChanged(int)"), self.majRayonZone, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.act_deplacement, SIGNAL("clicked()"), self.majModeCombatDeplacement, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.act_attaqueCac, SIGNAL("clicked()"), self.majModeCombatAttaqueCaC, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.act_attaqueDist, SIGNAL("clicked()"), self.majModeCombatAttaqueDist, Qt.UniqueConnection)
+        self.fenetre.connect(self.fenetre.ui.act_attaqueZone, SIGNAL("clicked()"), self.majModeCombatZone, Qt.UniqueConnection)
+#         self.fenetre.connect(self.fenetre.ui.pi_formeAttaqueZone, SIGNAL("activated (int)"), self.majModeCombatZone, Qt.UniqueConnection)
+#         self.fenetre.connect(self.fenetre.ui.pi_rayonAttaqueZone, SIGNAL("valueChanged(int)"), self.majRayonZone, Qt.UniqueConnection)
 
     def initialisationGraphique(self):
         """cree la scene graphique et les parametres necessaires a son fonctionnement, et met a jour l'interface""" 
@@ -268,10 +262,10 @@ class Plateau(QGraphicsScene, Materiel):
         self.initListeAttaques()
         self.majBoutonEtape()
 
-        self.fenetre.ui.pi_deplacement.setCheckable(True)
-        self.fenetre.ui.pi_attaqueCac.setCheckable(True)
-        self.fenetre.ui.pi_attaqueDist.setCheckable(True)
-        self.fenetre.ui.pi_attaqueZone.setCheckable(True)
+        self.fenetre.ui.act_deplacement.setCheckable(True)
+        self.fenetre.ui.act_attaqueCac.setCheckable(True)
+        self.fenetre.ui.act_attaqueDist.setCheckable(True)
+        self.fenetre.ui.act_attaqueZone.setCheckable(True)
 
         #mise a jour de l'interface d'informations
         self.majInfosCombattant(None)
@@ -347,11 +341,16 @@ class Plateau(QGraphicsScene, Materiel):
         pj = chargerMat(idM, "grp")
         if pj: self.activerMode(Modes.CreationPion, pj)
 
+    def couleursRapides(self):
+        return [(255,255,255), (200,200,200), (130,130,130), (90,90,90), (15,15,15), \
+                   (0,85,0), (170,255,0), (170,255,127), (85,85,0), (85,0,0), (170,85,0), (100,50,0), \
+                   (255,255,127), (240,80,0), (85,170,255), (85,85,255), (85,0,255), (0,255,255)]
+
     def majBoutonsCouleursPerso(self):
         """met a jour l'affichage des couleurs customisees dans la boite de dialogue de selection de couleur"""
         for i in range(0,18):
             couleur = QColor()
-            r, g, b = m_couleursRapides[i]
+            r, g, b = self.couleursRapides()[i]
             couleur.setRgb(r, g, b)
             bouton = self.fenetre.ui.cp_boiteCouleurs.findChild(QToolButton, "cp_couleur{}".format(i+1))
             if couleur.isValid():
@@ -405,15 +404,24 @@ class Plateau(QGraphicsScene, Materiel):
                     self.cases[coord].majCache()
                     traite.append(coord)
 
+    #### affichage de la fiche du perso ou du decor
+    def afficherFichePion(self):
+        if self.pionSelectionne():
+            fen = EcranEditionMateriel(self.pionSelectionne())
+            fen.afficher(0, self.formeCases)
+            fen.exec_()
+            
+        
     ############### maj des infos du panneau Pi a la selection/deselection d'un pion
         #voir a balancer tout ca dans une classe a part
 
     def majPanneauPi(self):
-        
+        return 
+    
         if self.pionSelectionne():
-            estCombattant = (self.pionSelectionne().numero < 10000)
+            estCombattant = (self.pionSelectionne().numero > 0)
             #affichage
-            self.fenetre.ui.pi_actions.setEnabled(estCombattant)
+#             self.fenetre.ui.pi_actions.setEnabled(estCombattant)
             self.fenetre.ui.pi_ongletsListes.setTabEnabled(0, estCombattant)
             self.fenetre.ui.pi_ongletsListes.setTabEnabled(1, estCombattant)
             
@@ -423,10 +431,6 @@ class Plateau(QGraphicsScene, Materiel):
                     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
             if estCombattant:
                 self.fenetre.ui.pi_listeAttributs.setColumnWidth(0, 50)
@@ -490,8 +494,7 @@ class Plateau(QGraphicsScene, Materiel):
 
         else:
             #maj des infos dans le panneau pi
-            self.fenetre.ui.pi_img.clear()  
-            self.fenetre.ui.pi_nom.majTexte("Pas de pion\nselectionné")
+            
 
             #vide la liste des attributs
             self.disconnect(self.fenetre.ui.pi_listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee)
@@ -505,7 +508,10 @@ class Plateau(QGraphicsScene, Materiel):
         self.majInfosAttaqueEC()
 
     ##### activation des differents modes d'interaction avec le plateau et mises a jour des principaux parametres  #######
-    
+
+    def majArborescenceModes(self):
+        self.fenetre.ui.cbt_arbo.majTexte(self.modeActif.arborescence())
+
     def plateauModeCreation(self):
         self.activerMode(Modes.StandardCp)
 
@@ -517,6 +523,7 @@ class Plateau(QGraphicsScene, Materiel):
         self.modeActif.desactiver()
         self.modeActif = mode(self)
         self.modeActif.activer(param)
+        self.majArborescenceModes()
 
     def modePeintureCase(self):
         """enclenche le mode peinture de case a partir de la couleur selectionnee"""
@@ -532,7 +539,7 @@ class Plateau(QGraphicsScene, Materiel):
         origine = self.sender().objectName()
         index = int(origine.replace("cp_couleur",""))-1
         couleur = QColor()
-        r, g, b = m_couleursRapides[index]
+        r, g, b = self.couleursRapides()[index]
         couleur.setRgb(r, g, b)
         if couleur.isValid():
             terrain = Terrain()
@@ -606,10 +613,6 @@ class Plateau(QGraphicsScene, Materiel):
         """active le mode de combat 'deplacement' (mode standard)"""
         self.modeActif.nouvelleAction(Actions.Deplacement)
 
-    def majModeCombatVol(self):
-        """active le mode de combat 'vol'"""
-        self.modeActif.nouvelleAction(Actions.Vol)
-
     def majModeCombatAttaqueCaC(self):
         """active le mode de combat 'corps-a-corps'"""
         self.modeActif.nouvelleAction(Actions.Cac)
@@ -619,20 +622,13 @@ class Plateau(QGraphicsScene, Materiel):
         self.modeActif.nouvelleAction(Actions.Distance)
 
     def majModeCombatZone(self):
-        if self.fenetre.ui.pi_formeAttaqueZone.currentIndex() == 0:
-            action = Actions.Ligne
-        elif self.fenetre.ui.pi_formeAttaqueZone.currentIndex() == 1:
-            action = Actions.Disque
-        elif self.fenetre.ui.pi_formeAttaqueZone.currentIndex() == 2:
-            action = Actions.Cone
+        fen = EcranAttaqueZone()
+        fen.show()
+        fen.exec_()
+        action = fen.resultat()
         if action:    
             self.modeActif.nouvelleAction(action)      
 
-    def majRayonZone(self, val):
-        action = self.modeActif.action()
-        if action:
-            action.majRayon(val) 
-
     def majModeDefinirEntree(self):
         self.activerMode(Modes.CreationEntreeSortie, "E")
 
@@ -830,7 +826,6 @@ class Plateau(QGraphicsScene, Materiel):
                     self.majModeCombat("combatAttaqueDist")                
                 if attaque.typ == "zone":
                     self.modeParam["typeAttaqueZone"] = attaque.formeZone
-                    self.fenetre.ui.pi_rayonAttaqueZone.setValue(attaque.rayon)
                     self.majModeCombat("combatAttaqueZone")
 
     def majInfosAttaqueEC(self):

+ 6 - 2
lib/dialogues.py

@@ -1,12 +1,13 @@
 '''
 boites de dialogues
 '''
+
 from PyQt4.QtCore import SIGNAL, Qt, QString
 from PyQt4.QtGui import QDialog
 
 from lib.ui.ecran_confirmation import Ui_cfrm_fenetre
-from lib.ui.ecran_saisie import Ui_saisi_fenetre
 from lib.ui.ecran_message import Ui_msg_fenetre
+from lib.ui.ecran_saisie import Ui_saisi_fenetre
 
 
 def dmConfirmer(txt):
@@ -117,4 +118,7 @@ class EcranMessage(QDialog):
 
     def ok(self):
         self.done(1)     
- 
+
+
+
+

+ 2 - 2
lib/framePj.py

@@ -7,7 +7,7 @@ import sys
 from PyQt4.QtCore import SIGNAL, Qt
 from PyQt4.QtGui import QFrame, QPushButton, QApplication
 
-from EcranEditionCombattant import EcranEditionCombattant
+from EcranEditionMateriel import EcranEditionMateriel
 from ui.ecran_panneauPj import Ui_pj_panneau
 
 
@@ -62,7 +62,7 @@ class FramePj(QFrame):
         """affiche la fiche de perso a la page demandee"""
         emetteur = self.sender().objectName()
         page = int(str(emetteur)[-1:])
-        fen = EcranEditionCombattant(self._pj)
+        fen = EcranEditionMateriel(self._pj)
         fen.afficher(page)
         fen.exec_()
         self._pj = fen.mat()

+ 1 - 0
lib/ui/convertAttaqueZone.cmd

@@ -0,0 +1 @@
+pyuic4 -x dial_zone.ui -o ecran_attaqueZone.py

+ 254 - 0
lib/ui/dial_zone.ui

@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>zne_fenetre</class>
+ <widget class="QDialog" name="zne_fenetre">
+  <property name="windowModality">
+   <enum>Qt::ApplicationModal</enum>
+  </property>
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>308</width>
+    <height>150</height>
+   </rect>
+  </property>
+  <property name="font">
+   <font>
+    <family>Verdana</family>
+   </font>
+  </property>
+  <property name="windowTitle">
+   <string>Attaque de zone</string>
+  </property>
+  <widget class="QSpinBox" name="zne_rayon">
+   <property name="geometry">
+    <rect>
+     <x>250</x>
+     <y>60</y>
+     <width>51</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>9</pointsize>
+     <weight>75</weight>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="minimum">
+    <number>1</number>
+   </property>
+  </widget>
+  <widget class="QComboBox" name="zne_forme">
+   <property name="geometry">
+    <rect>
+     <x>180</x>
+     <y>10</y>
+     <width>121</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <item>
+    <property name="text">
+     <string>  Ligne</string>
+    </property>
+    <property name="icon">
+     <iconset resource="../../../../old/DMonde20150908/lib/ui/ressource.qrc">
+      <normaloff>:/interface/16/ressource/ligne_16.png</normaloff>:/interface/16/ressource/ligne_16.png</iconset>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>  Disque</string>
+    </property>
+    <property name="icon">
+     <iconset resource="../../../../old/DMonde20150908/lib/ui/ressource.qrc">
+      <normaloff>:/interface/16/ressource/ellipsePleine_16.png</normaloff>:/interface/16/ressource/ellipsePleine_16.png</iconset>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>  Cône</string>
+    </property>
+    <property name="icon">
+     <iconset resource="../../../../old/DMonde20150908/lib/ui/ressource.qrc">
+      <normaloff>:/interface/16/ressource/cone_16.png</normaloff>:/interface/16/ressource/cone_16.png</iconset>
+    </property>
+   </item>
+  </widget>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>10</y>
+     <width>131</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Forme de la zone :</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="zne_valider">
+   <property name="geometry">
+    <rect>
+     <x>160</x>
+     <y>110</y>
+     <width>141</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Valider</string>
+   </property>
+   <property name="autoDefault">
+    <bool>false</bool>
+   </property>
+   <property name="default">
+    <bool>true</bool>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="zne_annuler">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>110</y>
+     <width>91</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Annuler</string>
+   </property>
+   <property name="autoDefault">
+    <bool>false</bool>
+   </property>
+  </widget>
+  <widget class="QLabel" name="zne_rayon_lbl">
+   <property name="geometry">
+    <rect>
+     <x>180</x>
+     <y>60</y>
+     <width>61</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Rayon  : </string>
+   </property>
+  </widget>
+  <widget class="QSpinBox" name="zne_portee">
+   <property name="geometry">
+    <rect>
+     <x>100</x>
+     <y>60</y>
+     <width>51</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="font">
+    <font>
+     <pointsize>9</pointsize>
+     <weight>75</weight>
+     <bold>true</bold>
+    </font>
+   </property>
+   <property name="minimum">
+    <number>1</number>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_3">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>60</y>
+     <width>81</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Portée max : </string>
+   </property>
+  </widget>
+ </widget>
+ <resources>
+  <include location="../../../../old/DMonde20150908/lib/ui/ressource.qrc"/>
+ </resources>
+ <connections/>
+</ui>

+ 129 - 0
lib/ui/ecran_attaqueZone.py

@@ -0,0 +1,129 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'dial_zone.ui'
+#
+# Created: Fri Sep 18 15:49:21 2015
+#      by: PyQt4 UI code generator 4.10.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+    _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+    def _fromUtf8(s):
+        return s
+
+try:
+    _encoding = QtGui.QApplication.UnicodeUTF8
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig)
+
+class Ui_zne_fenetre(object):
+    def setupUi(self, zne_fenetre):
+        zne_fenetre.setObjectName(_fromUtf8("zne_fenetre"))
+        zne_fenetre.setWindowModality(QtCore.Qt.ApplicationModal)
+        zne_fenetre.resize(308, 150)
+        font = QtGui.QFont()
+        font.setFamily(_fromUtf8("Verdana"))
+        zne_fenetre.setFont(font)
+        self.zne_rayon = QtGui.QSpinBox(zne_fenetre)
+        self.zne_rayon.setGeometry(QtCore.QRect(250, 60, 51, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.zne_rayon.setPalette(palette)
+        font = QtGui.QFont()
+        font.setPointSize(9)
+        font.setBold(True)
+        font.setWeight(75)
+        self.zne_rayon.setFont(font)
+        self.zne_rayon.setMinimum(1)
+        self.zne_rayon.setObjectName(_fromUtf8("zne_rayon"))
+        self.zne_forme = QtGui.QComboBox(zne_fenetre)
+        self.zne_forme.setGeometry(QtCore.QRect(180, 10, 121, 31))
+        self.zne_forme.setObjectName(_fromUtf8("zne_forme"))
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligne_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.zne_forme.addItem(icon, _fromUtf8(""))
+        icon1 = QtGui.QIcon()
+        icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipsePleine_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.zne_forme.addItem(icon1, _fromUtf8(""))
+        icon2 = QtGui.QIcon()
+        icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/cone_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.zne_forme.addItem(icon2, _fromUtf8(""))
+        self.label = QtGui.QLabel(zne_fenetre)
+        self.label.setGeometry(QtCore.QRect(10, 10, 131, 31))
+        self.label.setObjectName(_fromUtf8("label"))
+        self.zne_valider = QtGui.QPushButton(zne_fenetre)
+        self.zne_valider.setGeometry(QtCore.QRect(160, 110, 141, 31))
+        self.zne_valider.setAutoDefault(False)
+        self.zne_valider.setDefault(True)
+        self.zne_valider.setObjectName(_fromUtf8("zne_valider"))
+        self.zne_annuler = QtGui.QPushButton(zne_fenetre)
+        self.zne_annuler.setGeometry(QtCore.QRect(10, 110, 91, 31))
+        self.zne_annuler.setAutoDefault(False)
+        self.zne_annuler.setObjectName(_fromUtf8("zne_annuler"))
+        self.zne_rayon_lbl = QtGui.QLabel(zne_fenetre)
+        self.zne_rayon_lbl.setGeometry(QtCore.QRect(180, 60, 61, 31))
+        self.zne_rayon_lbl.setObjectName(_fromUtf8("zne_rayon_lbl"))
+        self.zne_portee = QtGui.QSpinBox(zne_fenetre)
+        self.zne_portee.setGeometry(QtCore.QRect(100, 60, 51, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.zne_portee.setPalette(palette)
+        font = QtGui.QFont()
+        font.setPointSize(9)
+        font.setBold(True)
+        font.setWeight(75)
+        self.zne_portee.setFont(font)
+        self.zne_portee.setMinimum(1)
+        self.zne_portee.setObjectName(_fromUtf8("zne_portee"))
+        self.label_3 = QtGui.QLabel(zne_fenetre)
+        self.label_3.setGeometry(QtCore.QRect(10, 60, 81, 31))
+        self.label_3.setObjectName(_fromUtf8("label_3"))
+
+        self.retranslateUi(zne_fenetre)
+        QtCore.QMetaObject.connectSlotsByName(zne_fenetre)
+
+    def retranslateUi(self, zne_fenetre):
+        zne_fenetre.setWindowTitle(_translate("zne_fenetre", "Attaque de zone", None))
+        self.zne_forme.setItemText(0, _translate("zne_fenetre", "  Ligne", None))
+        self.zne_forme.setItemText(1, _translate("zne_fenetre", "  Disque", None))
+        self.zne_forme.setItemText(2, _translate("zne_fenetre", "  Cône", None))
+        self.label.setText(_translate("zne_fenetre", "Forme de la zone :", None))
+        self.zne_valider.setText(_translate("zne_fenetre", "Valider", None))
+        self.zne_annuler.setText(_translate("zne_fenetre", "Annuler", None))
+        self.zne_rayon_lbl.setText(_translate("zne_fenetre", "Rayon  : ", None))
+        self.label_3.setText(_translate("zne_fenetre", "Portée max : ", None))
+
+import ressource_rc
+
+if __name__ == "__main__":
+    import sys
+    app = QtGui.QApplication(sys.argv)
+    zne_fenetre = QtGui.QDialog()
+    ui = Ui_zne_fenetre()
+    ui.setupUi(zne_fenetre)
+    zne_fenetre.show()
+    sys.exit(app.exec_())
+

+ 236 - 252
lib/ui/ecran_principal.py

@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'principal.ui'
 #
-# Created: Fri Sep 11 13:23:09 2015
+# Created: Fri Sep 18 17:10:22 2015
 #      by: PyQt4 UI code generator 4.10.4
 #
 # WARNING! All changes made in this file will be lost!
@@ -92,16 +92,6 @@ class Ui_principal(object):
         self.ppal_layout.setObjectName(_fromUtf8("ppal_layout"))
         spacerItem = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.ppal_layout.addItem(spacerItem)
-        self.cbt_sauver = QtGui.QPushButton(self.page_6)
-        self.cbt_sauver.setMinimumSize(QtCore.QSize(34, 30))
-        self.cbt_sauver.setMaximumSize(QtCore.QSize(34, 30))
-        self.cbt_sauver.setText(_fromUtf8(""))
-        icon = QtGui.QIcon()
-        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/enregistrer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cbt_sauver.setIcon(icon)
-        self.cbt_sauver.setIconSize(QtCore.QSize(19, 19))
-        self.cbt_sauver.setObjectName(_fromUtf8("cbt_sauver"))
-        self.ppal_layout.addWidget(self.cbt_sauver)
         self.cbt_nom = QtGui.QPushButton(self.page_6)
         self.cbt_nom.setMinimumSize(QtCore.QSize(150, 30))
         self.cbt_nom.setMaximumSize(QtCore.QSize(16777215, 30))
@@ -113,6 +103,16 @@ class Ui_principal(object):
         self.cbt_nom.setFont(font)
         self.cbt_nom.setObjectName(_fromUtf8("cbt_nom"))
         self.ppal_layout.addWidget(self.cbt_nom)
+        self.cbt_sauver = QtGui.QPushButton(self.page_6)
+        self.cbt_sauver.setMinimumSize(QtCore.QSize(34, 30))
+        self.cbt_sauver.setMaximumSize(QtCore.QSize(34, 30))
+        self.cbt_sauver.setText(_fromUtf8(""))
+        icon = QtGui.QIcon()
+        icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/enregistrer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cbt_sauver.setIcon(icon)
+        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.page_6)
         self.cbt_fermer.setMinimumSize(QtCore.QSize(34, 30))
         self.cbt_fermer.setMaximumSize(QtCore.QSize(34, 30))
@@ -366,20 +366,7 @@ 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.cbt_panneauBas = QtGui.QStackedWidget(self.combat)
-        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 = QtGui.QPushButton(self.combat)
         self.histo_agrandir.setMinimumSize(QtCore.QSize(0, 12))
         self.histo_agrandir.setMaximumSize(QtCore.QSize(16777215, 12))
         self.histo_agrandir.setText(_fromUtf8(""))
@@ -392,8 +379,92 @@ class Ui_principal(object):
         self.histo_agrandir.setDefault(False)
         self.histo_agrandir.setFlat(True)
         self.histo_agrandir.setObjectName(_fromUtf8("histo_agrandir"))
-        self.verticalLayout_13.addWidget(self.histo_agrandir)
-        self.histo_liste = QtGui.QListWidget(self.page_2)
+        self.layoutCombatCentre.addWidget(self.histo_agrandir)
+        self.cbt_panneauBas = QtGui.QStackedWidget(self.combat)
+        self.cbt_panneauBas.setMinimumSize(QtCore.QSize(0, 75))
+        self.cbt_panneauBas.setMaximumSize(QtCore.QSize(16777215, 75))
+        self.cbt_panneauBas.setFrameShape(QtGui.QFrame.StyledPanel)
+        self.cbt_panneauBas.setObjectName(_fromUtf8("cbt_panneauBas"))
+        self.page_act = QtGui.QWidget()
+        self.page_act.setObjectName(_fromUtf8("page_act"))
+        self.verticalLayout_16 = QtGui.QVBoxLayout(self.page_act)
+        self.verticalLayout_16.setSpacing(2)
+        self.verticalLayout_16.setMargin(2)
+        self.verticalLayout_16.setObjectName(_fromUtf8("verticalLayout_16"))
+        self.act_layout = QtGui.QHBoxLayout()
+        self.act_layout.setObjectName(_fromUtf8("act_layout"))
+        self.act_img = DmLabel(self.page_act)
+        self.act_img.setMinimumSize(QtCore.QSize(50, 50))
+        self.act_img.setMaximumSize(QtCore.QSize(50, 50))
+        self.act_img.setObjectName(_fromUtf8("act_img"))
+        self.act_layout.addWidget(self.act_img)
+        self.act_deplacement = QtGui.QToolButton(self.page_act)
+        self.act_deplacement.setMinimumSize(QtCore.QSize(45, 45))
+        self.act_deplacement.setMaximumSize(QtCore.QSize(45, 45))
+        self.act_deplacement.setText(_fromUtf8(""))
+        icon6 = QtGui.QIcon()
+        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/deplacement_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.act_deplacement.setIcon(icon6)
+        self.act_deplacement.setObjectName(_fromUtf8("act_deplacement"))
+        self.act_layout.addWidget(self.act_deplacement)
+        self.act_attaqueCac = QtGui.QToolButton(self.page_act)
+        self.act_attaqueCac.setMinimumSize(QtCore.QSize(45, 45))
+        self.act_attaqueCac.setMaximumSize(QtCore.QSize(45, 45))
+        icon7 = QtGui.QIcon()
+        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/epee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.act_attaqueCac.setIcon(icon7)
+        self.act_attaqueCac.setObjectName(_fromUtf8("act_attaqueCac"))
+        self.act_layout.addWidget(self.act_attaqueCac)
+        self.act_attaqueDist = QtGui.QToolButton(self.page_act)
+        self.act_attaqueDist.setMinimumSize(QtCore.QSize(45, 45))
+        self.act_attaqueDist.setMaximumSize(QtCore.QSize(45, 45))
+        icon8 = QtGui.QIcon()
+        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/arc_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.act_attaqueDist.setIcon(icon8)
+        self.act_attaqueDist.setObjectName(_fromUtf8("act_attaqueDist"))
+        self.act_layout.addWidget(self.act_attaqueDist)
+        self.act_attaqueZone = QtGui.QToolButton(self.page_act)
+        self.act_attaqueZone.setMinimumSize(QtCore.QSize(45, 45))
+        self.act_attaqueZone.setMaximumSize(QtCore.QSize(45, 45))
+        self.act_attaqueZone.setText(_fromUtf8(""))
+        icon9 = QtGui.QIcon()
+        icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/bombe_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.act_attaqueZone.setIcon(icon9)
+        self.act_attaqueZone.setObjectName(_fromUtf8("act_attaqueZone"))
+        self.act_layout.addWidget(self.act_attaqueZone)
+        self.act_deroulement = QtGui.QScrollArea(self.page_act)
+        self.act_deroulement.setFrameShape(QtGui.QFrame.NoFrame)
+        self.act_deroulement.setWidgetResizable(True)
+        self.act_deroulement.setObjectName(_fromUtf8("act_deroulement"))
+        self.scrollAreaWidgetContents = QtGui.QWidget()
+        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 152, 67))
+        self.scrollAreaWidgetContents.setObjectName(_fromUtf8("scrollAreaWidgetContents"))
+        self.horizontalLayout_10 = QtGui.QHBoxLayout(self.scrollAreaWidgetContents)
+        self.horizontalLayout_10.setSpacing(0)
+        self.horizontalLayout_10.setMargin(0)
+        self.horizontalLayout_10.setObjectName(_fromUtf8("horizontalLayout_10"))
+        self.act_description = DmLabel(self.scrollAreaWidgetContents)
+        self.act_description.setMinimumSize(QtCore.QSize(50, 0))
+        self.act_description.setMaximumSize(QtCore.QSize(500, 16777215))
+        self.act_description.setText(_fromUtf8(""))
+        self.act_description.setObjectName(_fromUtf8("act_description"))
+        self.horizontalLayout_10.addWidget(self.act_description)
+        self.act_deroulement.setWidget(self.scrollAreaWidgetContents)
+        self.act_layout.addWidget(self.act_deroulement)
+        self.act_valider = QtGui.QPushButton(self.page_act)
+        self.act_valider.setMinimumSize(QtCore.QSize(80, 45))
+        self.act_valider.setMaximumSize(QtCore.QSize(80, 45))
+        self.act_valider.setObjectName(_fromUtf8("act_valider"))
+        self.act_layout.addWidget(self.act_valider)
+        self.verticalLayout_16.addLayout(self.act_layout)
+        self.cbt_panneauBas.addWidget(self.page_act)
+        self.page_jrl = QtGui.QWidget()
+        self.page_jrl.setObjectName(_fromUtf8("page_jrl"))
+        self.verticalLayout_13 = QtGui.QVBoxLayout(self.page_jrl)
+        self.verticalLayout_13.setSpacing(0)
+        self.verticalLayout_13.setMargin(0)
+        self.verticalLayout_13.setObjectName(_fromUtf8("verticalLayout_13"))
+        self.histo_liste = QtGui.QListWidget(self.page_jrl)
         self.histo_liste.setMinimumSize(QtCore.QSize(0, 63))
         self.histo_liste.setMaximumSize(QtCore.QSize(16777215, 63))
         palette = QtGui.QPalette()
@@ -425,8 +496,17 @@ class Ui_principal(object):
         item = QtGui.QListWidgetItem()
         self.histo_liste.addItem(item)
         self.verticalLayout_13.addWidget(self.histo_liste)
-        self.cbt_panneauBas.addWidget(self.page_2)
+        self.cbt_panneauBas.addWidget(self.page_jrl)
         self.layoutCombatCentre.addWidget(self.cbt_panneauBas)
+        self.cbt_arbo = DmLabel(self.combat)
+        self.cbt_arbo.setMinimumSize(QtCore.QSize(0, 18))
+        font = QtGui.QFont()
+        font.setPointSize(9)
+        font.setBold(True)
+        font.setWeight(75)
+        self.cbt_arbo.setFont(font)
+        self.cbt_arbo.setObjectName(_fromUtf8("cbt_arbo"))
+        self.layoutCombatCentre.addWidget(self.cbt_arbo)
         self.plateauLayoutH.addLayout(self.layoutCombatCentre)
         self.layoutV_droite = QtGui.QVBoxLayout()
         self.layoutV_droite.setSpacing(0)
@@ -521,17 +601,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))
-        icon6 = QtGui.QIcon()
-        icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/seringue_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_pipetteCouleur.setIcon(icon6)
+        icon10 = QtGui.QIcon()
+        icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/seringue_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_pipetteCouleur.setIcon(icon10)
         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(""))
-        icon7 = QtGui.QIcon()
-        icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/palette_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_dialogueCouleurs.setIcon(icon7)
+        icon11 = QtGui.QIcon()
+        icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/palette_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_dialogueCouleurs.setIcon(icon11)
         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))
@@ -561,9 +641,9 @@ class Ui_principal(object):
         self.cp_formeRectPlein.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formeRectPlein.setMaximumSize(QtCore.QSize(50, 25))
         self.cp_formeRectPlein.setStatusTip(_fromUtf8(""))
-        icon8 = QtGui.QIcon()
-        icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectPlein_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeRectPlein.setIcon(icon8)
+        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)
@@ -571,9 +651,9 @@ class Ui_principal(object):
         self.cp_formeRectVide.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formeRectVide.setMaximumSize(QtCore.QSize(50, 25))
         self.cp_formeRectVide.setStatusTip(_fromUtf8(""))
-        icon9 = QtGui.QIcon()
-        icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/rectVide_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeRectVide.setIcon(icon9)
+        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 = DmLabel(self.cP_boiteFormes)
@@ -592,27 +672,27 @@ class Ui_principal(object):
         self.cp_formeLigneOrientee.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formeLigneOrientee.setMaximumSize(QtCore.QSize(50, 25))
         self.cp_formeLigneOrientee.setStatusTip(_fromUtf8(""))
-        icon10 = QtGui.QIcon()
-        icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligneOrientee_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeLigneOrientee.setIcon(icon10)
+        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, 25))
         self.cp_formeLigne.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formeLigne.setMaximumSize(QtCore.QSize(50, 25))
-        icon11 = QtGui.QIcon()
-        icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ligne_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeLigne.setIcon(icon11)
+        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, 25))
         self.cp_formeSimple.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formeSimple.setMaximumSize(QtCore.QSize(50, 25))
-        icon12 = QtGui.QIcon()
-        icon12.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/pinceau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formeSimple.setIcon(icon12)
+        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_epaisseurPinceau = QtGui.QSlider(self.cP_boiteFormes)
@@ -629,9 +709,9 @@ class Ui_principal(object):
         self.cp_formePot.setMinimumSize(QtCore.QSize(50, 25))
         self.cp_formePot.setMaximumSize(QtCore.QSize(50, 25))
         self.cp_formePot.setStatusTip(_fromUtf8(""))
-        icon13 = QtGui.QIcon()
-        icon13.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/potPeinture_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_formePot.setIcon(icon13)
+        icon17 = QtGui.QIcon()
+        icon17.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/potPeinture_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_formePot.setIcon(icon17)
         self.cp_formePot.setIconSize(QtCore.QSize(18, 18))
         self.cp_formePot.setObjectName(_fromUtf8("cp_formePot"))
         self.verticalLayout_3.addWidget(self.cP_boiteFormes)
@@ -678,37 +758,37 @@ class Ui_principal(object):
         self.horizontalLayout_4.setContentsMargins(-1, 0, -1, -1)
         self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
         self.cp_importTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
-        icon14 = QtGui.QIcon()
-        icon14.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/import_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_importTerrain.setIcon(icon14)
+        icon18 = QtGui.QIcon()
+        icon18.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/import_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_importTerrain.setIcon(icon18)
         self.cp_importTerrain.setObjectName(_fromUtf8("cp_importTerrain"))
         self.horizontalLayout_4.addWidget(self.cp_importTerrain)
         spacerItem2 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.horizontalLayout_4.addItem(spacerItem2)
         self.cp_nouveauTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
         self.cp_nouveauTerrain.setText(_fromUtf8(""))
-        icon15 = QtGui.QIcon()
-        icon15.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/plus_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_nouveauTerrain.setIcon(icon15)
+        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.horizontalLayout_4.addWidget(self.cp_nouveauTerrain)
         self.cp_editerTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
         self.cp_editerTerrain.setText(_fromUtf8(""))
-        icon16 = QtGui.QIcon()
-        icon16.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/editer_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_editerTerrain.setIcon(icon16)
+        icon20 = QtGui.QIcon()
+        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.cp_retirerTerrain = QtGui.QToolButton(self.cp_afficherTerrains)
-        icon17 = QtGui.QIcon()
-        icon17.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/moins_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_retirerTerrain.setIcon(icon17)
+        icon21 = QtGui.QIcon()
+        icon21.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/moins_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_retirerTerrain.setIcon(icon21)
         self.cp_retirerTerrain.setObjectName(_fromUtf8("cp_retirerTerrain"))
         self.horizontalLayout_4.addWidget(self.cp_retirerTerrain)
         self.verticalLayout_4.addLayout(self.horizontalLayout_4)
-        icon18 = QtGui.QIcon()
-        icon18.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/montagne_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherTerrains, icon18, _fromUtf8(""))
+        icon22 = QtGui.QIcon()
+        icon22.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/montagne_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_ongletsListes.addTab(self.cp_afficherTerrains, icon22, _fromUtf8(""))
         self.cp_afficherDecors = QtGui.QWidget()
         self.cp_afficherDecors.setObjectName(_fromUtf8("cp_afficherDecors"))
         self.verticalLayout_7 = QtGui.QVBoxLayout(self.cp_afficherDecors)
@@ -735,30 +815,30 @@ class Ui_principal(object):
         self.horizontalLayout_7.setContentsMargins(-1, 0, -1, -1)
         self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
         self.cp_importDecor = QtGui.QToolButton(self.cp_afficherDecors)
-        self.cp_importDecor.setIcon(icon14)
+        self.cp_importDecor.setIcon(icon18)
         self.cp_importDecor.setObjectName(_fromUtf8("cp_importDecor"))
         self.horizontalLayout_7.addWidget(self.cp_importDecor)
         spacerItem3 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.horizontalLayout_7.addItem(spacerItem3)
         self.cp_nouveauDecor = QtGui.QToolButton(self.cp_afficherDecors)
         self.cp_nouveauDecor.setText(_fromUtf8(""))
-        self.cp_nouveauDecor.setIcon(icon15)
+        self.cp_nouveauDecor.setIcon(icon19)
         self.cp_nouveauDecor.setObjectName(_fromUtf8("cp_nouveauDecor"))
         self.horizontalLayout_7.addWidget(self.cp_nouveauDecor)
         self.cp_editerDecor = QtGui.QToolButton(self.cp_afficherDecors)
         self.cp_editerDecor.setText(_fromUtf8(""))
-        self.cp_editerDecor.setIcon(icon16)
+        self.cp_editerDecor.setIcon(icon20)
         self.cp_editerDecor.setObjectName(_fromUtf8("cp_editerDecor"))
         self.horizontalLayout_7.addWidget(self.cp_editerDecor)
         self.cp_retirerDecor = QtGui.QToolButton(self.cp_afficherDecors)
         self.cp_retirerDecor.setText(_fromUtf8(""))
-        self.cp_retirerDecor.setIcon(icon17)
+        self.cp_retirerDecor.setIcon(icon21)
         self.cp_retirerDecor.setObjectName(_fromUtf8("cp_retirerDecor"))
         self.horizontalLayout_7.addWidget(self.cp_retirerDecor)
         self.verticalLayout_7.addLayout(self.horizontalLayout_7)
-        icon19 = QtGui.QIcon()
-        icon19.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/decor_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherDecors, icon19, _fromUtf8(""))
+        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)
@@ -787,30 +867,30 @@ class Ui_principal(object):
         self.cp_importCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
         self.cp_importCombattant.setMinimumSize(QtCore.QSize(23, 22))
         self.cp_importCombattant.setMaximumSize(QtCore.QSize(23, 22))
-        self.cp_importCombattant.setIcon(icon14)
+        self.cp_importCombattant.setIcon(icon18)
         self.cp_importCombattant.setObjectName(_fromUtf8("cp_importCombattant"))
         self.horizontalLayout_8.addWidget(self.cp_importCombattant)
         spacerItem4 = QtGui.QSpacerItem(40, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
         self.horizontalLayout_8.addItem(spacerItem4)
         self.cp_nouveauCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
         self.cp_nouveauCombattant.setText(_fromUtf8(""))
-        self.cp_nouveauCombattant.setIcon(icon15)
+        self.cp_nouveauCombattant.setIcon(icon19)
         self.cp_nouveauCombattant.setObjectName(_fromUtf8("cp_nouveauCombattant"))
         self.horizontalLayout_8.addWidget(self.cp_nouveauCombattant)
         self.cp_editerCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
         self.cp_editerCombattant.setText(_fromUtf8(""))
-        self.cp_editerCombattant.setIcon(icon16)
+        self.cp_editerCombattant.setIcon(icon20)
         self.cp_editerCombattant.setObjectName(_fromUtf8("cp_editerCombattant"))
         self.horizontalLayout_8.addWidget(self.cp_editerCombattant)
         self.cp_retirerCombattant = QtGui.QToolButton(self.cp_afficherCreatures)
         self.cp_retirerCombattant.setText(_fromUtf8(""))
-        self.cp_retirerCombattant.setIcon(icon17)
+        self.cp_retirerCombattant.setIcon(icon21)
         self.cp_retirerCombattant.setObjectName(_fromUtf8("cp_retirerCombattant"))
         self.horizontalLayout_8.addWidget(self.cp_retirerCombattant)
         self.verticalLayout_6.addLayout(self.horizontalLayout_8)
-        icon20 = QtGui.QIcon()
-        icon20.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/creature_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_ongletsListes.addTab(self.cp_afficherCreatures, icon20, _fromUtf8(""))
+        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.verticalLayout_3.addWidget(self.cp_ongletsListes)
         self.creationPlateau_sousPanneauBas = QtGui.QFrame(self.cp_panneau)
         self.creationPlateau_sousPanneauBas.setMinimumSize(QtCore.QSize(154, 81))
@@ -825,41 +905,33 @@ class Ui_principal(object):
         self.cp_placerEntree = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerEntree.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_placerEntree.setMaximumSize(QtCore.QSize(31, 31))
-        icon21 = QtGui.QIcon()
-        icon21.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/entree_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_placerEntree.setIcon(icon21)
+        icon25 = QtGui.QIcon()
+        icon25.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/entree_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerEntree.setIcon(icon25)
         self.cp_placerEntree.setObjectName(_fromUtf8("cp_placerEntree"))
         self.gridLayout_3.addWidget(self.cp_placerEntree, 2, 1, 1, 1)
-        self.cp_afficherNotes = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
-        self.cp_afficherNotes.setMinimumSize(QtCore.QSize(31, 31))
-        self.cp_afficherNotes.setMaximumSize(QtCore.QSize(31, 31))
-        icon22 = QtGui.QIcon()
-        icon22.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/note_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_afficherNotes.setIcon(icon22)
-        self.cp_afficherNotes.setObjectName(_fromUtf8("cp_afficherNotes"))
-        self.gridLayout_3.addWidget(self.cp_afficherNotes, 2, 5, 1, 1)
         self.cp_gomme = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_gomme.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_gomme.setMaximumSize(QtCore.QSize(31, 16777215))
-        icon23 = QtGui.QIcon()
-        icon23.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/gomme_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_gomme.setIcon(icon23)
+        icon26 = QtGui.QIcon()
+        icon26.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/gomme_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_gomme.setIcon(icon26)
         self.cp_gomme.setObjectName(_fromUtf8("cp_gomme"))
         self.gridLayout_3.addWidget(self.cp_gomme, 0, 5, 1, 1)
         self.cp_placerPiege = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerPiege.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_placerPiege.setMaximumSize(QtCore.QSize(31, 16777215))
-        icon24 = QtGui.QIcon()
-        icon24.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/piege_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_placerPiege.setIcon(icon24)
+        icon27 = QtGui.QIcon()
+        icon27.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/piege_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerPiege.setIcon(icon27)
         self.cp_placerPiege.setObjectName(_fromUtf8("cp_placerPiege"))
         self.gridLayout_3.addWidget(self.cp_placerPiege, 0, 4, 1, 1)
         self.cp_placerSortie = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerSortie.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_placerSortie.setMaximumSize(QtCore.QSize(31, 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)
+        icon28 = QtGui.QIcon()
+        icon28.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sortie_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerSortie.setIcon(icon28)
         self.cp_placerSortie.setObjectName(_fromUtf8("cp_placerSortie"))
         self.gridLayout_3.addWidget(self.cp_placerSortie, 2, 2, 1, 1)
         self.cp_effets = QtGui.QComboBox(self.creationPlateau_sousPanneauBas)
@@ -867,41 +939,49 @@ class Ui_principal(object):
         self.cp_effets.setMaximumSize(QtCore.QSize(31, 31))
         self.cp_effets.setIconSize(QtCore.QSize(12, 12))
         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(""))
+        icon29 = QtGui.QIcon()
+        icon29.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/feu_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_effets.addItem(icon29, _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(""))
+        icon30 = QtGui.QIcon()
+        icon30.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/eau_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_effets.addItem(icon30, _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)
-        self.cp_effets.addItem(icon28, _fromUtf8(""))
+        icon31 = QtGui.QIcon()
+        icon31.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/glace_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_effets.addItem(icon31, _fromUtf8(""))
         self.cp_effets.setItemText(2, _fromUtf8(""))
-        icon29 = QtGui.QIcon()
-        icon29.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/poison_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_effets.addItem(icon29, _fromUtf8(""))
+        icon32 = QtGui.QIcon()
+        icon32.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/poison_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_effets.addItem(icon32, _fromUtf8(""))
         self.cp_effets.setItemText(3, _fromUtf8(""))
-        self.cp_effets.addItem(icon23, _fromUtf8(""))
+        self.cp_effets.addItem(icon26, _fromUtf8(""))
         self.cp_effets.setItemText(4, _fromUtf8(""))
         self.gridLayout_3.addWidget(self.cp_effets, 0, 1, 1, 1)
         self.cp_defPlacement = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_defPlacement.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_defPlacement.setMaximumSize(QtCore.QSize(31, 31))
-        icon30 = QtGui.QIcon()
-        icon30.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/depart_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_defPlacement.setIcon(icon30)
+        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.cp_placerCache = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
         self.cp_placerCache.setMinimumSize(QtCore.QSize(31, 31))
         self.cp_placerCache.setMaximumSize(QtCore.QSize(31, 31))
-        icon31 = QtGui.QIcon()
-        icon31.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/mainCache_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.cp_placerCache.setIcon(icon31)
+        icon34 = QtGui.QIcon()
+        icon34.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/mainCache_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_placerCache.setIcon(icon34)
         self.cp_placerCache.setObjectName(_fromUtf8("cp_placerCache"))
         self.gridLayout_3.addWidget(self.cp_placerCache, 0, 2, 1, 1)
+        self.cp_afficherNotes = QtGui.QToolButton(self.creationPlateau_sousPanneauBas)
+        self.cp_afficherNotes.setMinimumSize(QtCore.QSize(31, 31))
+        self.cp_afficherNotes.setMaximumSize(QtCore.QSize(31, 31))
+        icon35 = QtGui.QIcon()
+        icon35.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/note_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.cp_afficherNotes.setIcon(icon35)
+        self.cp_afficherNotes.setObjectName(_fromUtf8("cp_afficherNotes"))
+        self.gridLayout_3.addWidget(self.cp_afficherNotes, 2, 5, 1, 1)
         self.verticalLayout_3.addWidget(self.creationPlateau_sousPanneauBas)
         self.cp_gererAlt = QtGui.QCheckBox(self.cp_panneau)
         font = QtGui.QFont()
@@ -925,97 +1005,11 @@ class Ui_principal(object):
         self.verticalLayout_10 = QtGui.QVBoxLayout(self.pi_panneau)
         self.verticalLayout_10.setMargin(5)
         self.verticalLayout_10.setObjectName(_fromUtf8("verticalLayout_10"))
-        self.pi_infosPion = QtGui.QFrame(self.pi_panneau)
-        self.pi_infosPion.setMinimumSize(QtCore.QSize(151, 41))
-        self.pi_infosPion.setMaximumSize(QtCore.QSize(151, 41))
-        self.pi_infosPion.setFrameShape(QtGui.QFrame.StyledPanel)
-        self.pi_infosPion.setFrameShadow(QtGui.QFrame.Raised)
-        self.pi_infosPion.setObjectName(_fromUtf8("pi_infosPion"))
-        self.pi_img = DmLabel(self.pi_infosPion)
-        self.pi_img.setGeometry(QtCore.QRect(10, 0, 31, 44))
-        self.pi_img.setObjectName(_fromUtf8("pi_img"))
-        self.pi_nom = DmLabel(self.pi_infosPion)
-        self.pi_nom.setGeometry(QtCore.QRect(47, 0, 101, 44))
-        self.pi_nom.setObjectName(_fromUtf8("pi_nom"))
-        self.verticalLayout_10.addWidget(self.pi_infosPion)
-        self.pi_actions = QtGui.QFrame(self.pi_panneau)
-        self.pi_actions.setMinimumSize(QtCore.QSize(151, 131))
-        self.pi_actions.setMaximumSize(QtCore.QSize(151, 131))
-        self.pi_actions.setFrameShape(QtGui.QFrame.StyledPanel)
-        self.pi_actions.setFrameShadow(QtGui.QFrame.Raised)
-        self.pi_actions.setObjectName(_fromUtf8("pi_actions"))
-        self.pi_rayonAttaqueZone = QtGui.QSpinBox(self.pi_actions)
-        self.pi_rayonAttaqueZone.setGeometry(QtCore.QRect(100, 90, 41, 31))
-        palette = QtGui.QPalette()
-        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
-        brush.setStyle(QtCore.Qt.SolidPattern)
-        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
-        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
-        brush.setStyle(QtCore.Qt.SolidPattern)
-        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
-        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
-        brush.setStyle(QtCore.Qt.SolidPattern)
-        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
-        self.pi_rayonAttaqueZone.setPalette(palette)
-        font = QtGui.QFont()
-        font.setPointSize(9)
-        font.setBold(True)
-        font.setWeight(75)
-        self.pi_rayonAttaqueZone.setFont(font)
-        self.pi_rayonAttaqueZone.setMinimum(1)
-        self.pi_rayonAttaqueZone.setObjectName(_fromUtf8("pi_rayonAttaqueZone"))
-        self.pi_deplacement = QtGui.QToolButton(self.pi_actions)
-        self.pi_deplacement.setGeometry(QtCore.QRect(10, 10, 61, 31))
-        self.pi_deplacement.setMinimumSize(QtCore.QSize(0, 0))
-        self.pi_deplacement.setMaximumSize(QtCore.QSize(100, 100))
-        self.pi_deplacement.setText(_fromUtf8(""))
-        icon32 = QtGui.QIcon()
-        icon32.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/deplacement_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_deplacement.setIcon(icon32)
-        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(icon11, _fromUtf8(""))
-        self.pi_formeAttaqueZone.setItemText(0, _fromUtf8(""))
-        icon33 = QtGui.QIcon()
-        icon33.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/ellipsePleine_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.pi_formeAttaqueZone.addItem(icon33, _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(""))
-        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)
-        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)
-        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)
-        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)
-        self.pi_attaqueZone.setObjectName(_fromUtf8("pi_attaqueZone"))
-        self.verticalLayout_10.addWidget(self.pi_actions)
+        self.pi_fiche = QtGui.QPushButton(self.pi_panneau)
+        self.pi_fiche.setMinimumSize(QtCore.QSize(0, 50))
+        self.pi_fiche.setMaximumSize(QtCore.QSize(16777215, 50))
+        self.pi_fiche.setObjectName(_fromUtf8("pi_fiche"))
+        self.verticalLayout_10.addWidget(self.pi_fiche)
         self.pi_ongletsListes = QtGui.QTabWidget(self.pi_panneau)
         self.pi_ongletsListes.setMinimumSize(QtCore.QSize(154, 0))
         self.pi_ongletsListes.setMaximumSize(QtCore.QSize(154, 16777215))
@@ -1053,9 +1047,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(""))
+        icon36 = QtGui.QIcon()
+        icon36.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/profil_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherAttributs, icon36, _fromUtf8(""))
         self.pi_afficherAttaques = QtGui.QWidget()
         self.pi_afficherAttaques.setObjectName(_fromUtf8("pi_afficherAttaques"))
         self.pi_panneauAttaqueEC = QtGui.QGroupBox(self.pi_afficherAttaques)
@@ -1153,14 +1147,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(""))
+        icon37 = QtGui.QIcon()
+        icon37.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/attaque_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherAttaques, icon37, _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(""))
+        icon38 = QtGui.QIcon()
+        icon38.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/16/ressource/sac_16.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.pi_ongletsListes.addTab(self.pi_afficherInventaire, icon38, _fromUtf8(""))
         self.pi_afficherNotes = QtGui.QWidget()
         self.pi_afficherNotes.setObjectName(_fromUtf8("pi_afficherNotes"))
         self.verticalLayout_8 = QtGui.QVBoxLayout(self.pi_afficherNotes)
@@ -1169,7 +1163,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, icon22, _fromUtf8(""))
+        self.pi_ongletsListes.addTab(self.pi_afficherNotes, icon35, _fromUtf8(""))
         self.verticalLayout_10.addWidget(self.pi_ongletsListes)
         self.cbt_panneauDroite.addWidget(self.cbt_panneauDroite2)
         self.cbt_panneauDroite3 = QtGui.QWidget()
@@ -1208,15 +1202,9 @@ class Ui_principal(object):
         self.pc_listePJ.horizontalHeader().setStretchLastSection(True)
         self.pc_listePJ.verticalHeader().setVisible(False)
         self.pc_listePJ.verticalHeader().setDefaultSectionSize(35)
-        self.cbt_rappels = QtGui.QPushButton(self.cbt_panneauDroite3)
-        self.cbt_rappels.setGeometry(QtCore.QRect(10, 250, 151, 41))
-        self.cbt_rappels.setObjectName(_fromUtf8("cbt_rappels"))
-        self.cbt_voirCarte = QtGui.QPushButton(self.cbt_panneauDroite3)
-        self.cbt_voirCarte.setGeometry(QtCore.QRect(10, 200, 151, 41))
-        self.cbt_voirCarte.setObjectName(_fromUtf8("cbt_voirCarte"))
         self.cbt_presentation = QtGui.QLabel(self.cbt_panneauDroite3)
-        self.cbt_presentation.setGeometry(QtCore.QRect(10, 10, 151, 101))
-        self.cbt_presentation.setFrameShape(QtGui.QFrame.StyledPanel)
+        self.cbt_presentation.setGeometry(QtCore.QRect(10, 20, 151, 91))
+        self.cbt_presentation.setFrameShape(QtGui.QFrame.NoFrame)
         self.cbt_presentation.setAlignment(QtCore.Qt.AlignJustify|QtCore.Qt.AlignTop)
         self.cbt_presentation.setObjectName(_fromUtf8("cbt_presentation"))
         self.label_4 = QtGui.QLabel(self.cbt_panneauDroite3)
@@ -1383,9 +1371,9 @@ class Ui_principal(object):
         self.grp_nouveauPj.setMinimumSize(QtCore.QSize(50, 50))
         self.grp_nouveauPj.setMaximumSize(QtCore.QSize(50, 50))
         self.grp_nouveauPj.setText(_fromUtf8(""))
-        icon42 = QtGui.QIcon()
-        icon42.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/nouveauJoueur_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.grp_nouveauPj.setIcon(icon42)
+        icon39 = QtGui.QIcon()
+        icon39.addPixmap(QtGui.QPixmap(_fromUtf8(":/interface/32/ressource/nouveauJoueur_32.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+        self.grp_nouveauPj.setIcon(icon39)
         self.grp_nouveauPj.setIconSize(QtCore.QSize(24, 24))
         self.grp_nouveauPj.setObjectName(_fromUtf8("grp_nouveauPj"))
         self.verticalLayout_12.addWidget(self.grp_nouveauPj)
@@ -1629,8 +1617,8 @@ class Ui_principal(object):
         self.combatPanneau.setCurrentIndex(1)
         self.cbt_panneauHaut.setCurrentIndex(1)
         self.cbt_panneauGauche.setCurrentIndex(1)
-        self.cbt_panneauBas.setCurrentIndex(1)
-        self.cbt_panneauDroite.setCurrentIndex(1)
+        self.cbt_panneauBas.setCurrentIndex(0)
+        self.cbt_panneauDroite.setCurrentIndex(2)
         self.cp_ongletsListes.setCurrentIndex(1)
         self.pi_ongletsListes.setCurrentIndex(0)
         self.tabStatutAppli.setCurrentIndex(2)
@@ -1642,8 +1630,8 @@ class Ui_principal(object):
         self.label_6.setText(_translate("principal", "Règles utilisées", None))
         self.label_7.setText(_translate("principal", "Participants: ", None))
         self.dm_panneauCentre.setTabText(self.dm_panneauCentre.indexOf(self.tab), _translate("principal", "Partie", None))
-        self.cbt_sauver.setToolTip(_translate("principal", "Enregistrer le combat", None))
         self.cbt_nom.setText(_translate("principal", "    La tour sombre [Non Publié]    ", None))
+        self.cbt_sauver.setToolTip(_translate("principal", "Enregistrer le combat", None))
         self.cbt_fermer.setToolTip(_translate("principal", "Fermer le combat", None))
         self.cbt_modeCreation.setToolTip(_translate("principal", "Passer en mode Création", None))
         self.cbt_modeCombat.setToolTip(_translate("principal", "Passer en mode Combat", None))
@@ -1682,6 +1670,14 @@ class Ui_principal(object):
         self.inf_caseTerrain.setText(_translate("principal", "terrain", None))
         self.inf_caseCoord.setText(_translate("principal", "coord", None))
         self.inf_caseAltitude.setText(_translate("principal", "alt", None))
+        self.act_img.setToolTip(_translate("principal", "Image du pion sélectionné", None))
+        self.act_img.setText(_translate("principal", "logo", None))
+        self.act_deplacement.setToolTip(_translate("principal", "Déplacer le pion", None))
+        self.act_attaqueCac.setToolTip(_translate("principal", "Effectuer une attaque au corps à corps", None))
+        self.act_attaqueCac.setText(_translate("principal", "...", None))
+        self.act_attaqueDist.setToolTip(_translate("principal", "Effectuer une attaque à distance", None))
+        self.act_attaqueDist.setText(_translate("principal", "...", None))
+        self.act_valider.setText(_translate("principal", "Valider", None))
         __sortingEnabled = self.histo_liste.isSortingEnabled()
         self.histo_liste.setSortingEnabled(False)
         item = self.histo_liste.item(0)
@@ -1693,6 +1689,8 @@ class Ui_principal(object):
         item = self.histo_liste.item(3)
         item.setText(_translate("principal", "Début du tour 2", None))
         self.histo_liste.setSortingEnabled(__sortingEnabled)
+        self.cbt_arbo.setToolTip(_translate("principal", "Nom du pion sélectionné", None))
+        self.cbt_arbo.setText(_translate("principal", "Plateau", None))
         self.cp_pipetteCouleur.setToolTip(_translate("principal", "Ligne", None))
         self.cp_pipetteCouleur.setText(_translate("principal", "...", None))
         self.cp_dialogueCouleurs.setToolTip(_translate("principal", "Autres couleurs", None))
@@ -1730,8 +1728,6 @@ class Ui_principal(object):
         self.cp_ongletsListes.setTabToolTip(self.cp_ongletsListes.indexOf(self.cp_afficherCreatures), _translate("principal", "Afficher la liste des créatures", None))
         self.cp_placerEntree.setToolTip(_translate("principal", "Placer la/les entrée(s)", None))
         self.cp_placerEntree.setText(_translate("principal", "...", None))
-        self.cp_afficherNotes.setToolTip(_translate("principal", "Gérer les caches", None))
-        self.cp_afficherNotes.setText(_translate("principal", "...", None))
         self.cp_gomme.setText(_translate("principal", "...", None))
         self.cp_placerPiege.setText(_translate("principal", "...", None))
         self.cp_placerSortie.setToolTip(_translate("principal", "Placer la/les sortie(s)", None))
@@ -1740,19 +1736,10 @@ class Ui_principal(object):
         self.cp_defPlacement.setToolTip(_translate("principal", "Définir la zone de placement des joueurs", None))
         self.cp_defPlacement.setText(_translate("principal", "...", None))
         self.cp_placerCache.setText(_translate("principal", "...", None))
+        self.cp_afficherNotes.setToolTip(_translate("principal", "Gérer les caches", None))
+        self.cp_afficherNotes.setText(_translate("principal", "...", None))
         self.cp_gererAlt.setText(_translate("principal", "Gérer les altitudes", None))
-        self.pi_img.setToolTip(_translate("principal", "Image du pion sélectionné", None))
-        self.pi_img.setText(_translate("principal", "logo", None))
-        self.pi_nom.setToolTip(_translate("principal", "Nom du pion sélectionné", None))
-        self.pi_nom.setText(_translate("principal", "Pas de pion \n"
-"selectionné", None))
-        self.pi_deplacement.setToolTip(_translate("principal", "Déplacer le pion", None))
-        self.pi_attaqueCac.setToolTip(_translate("principal", "Effectuer une attaque au corps à corps", None))
-        self.pi_attaqueCac.setText(_translate("principal", "...", None))
-        self.pi_vol.setToolTip(_translate("principal", "Modifier l\'altitude du pion", None))
-        self.pi_vol.setText(_translate("principal", "...", None))
-        self.pi_attaqueDist.setToolTip(_translate("principal", "Effectuer une attaque à distance", None))
-        self.pi_attaqueDist.setText(_translate("principal", "...", None))
+        self.pi_fiche.setText(_translate("principal", "Voir la fiche", None))
         item = self.pi_listeAttributs.horizontalHeaderItem(0)
         item.setText(_translate("principal", "Id", None))
         item = self.pi_listeAttributs.horizontalHeaderItem(1)
@@ -1773,9 +1760,6 @@ class Ui_principal(object):
         item.setText(_translate("principal", "img", None))
         item = self.pc_listePJ.horizontalHeaderItem(2)
         item.setText(_translate("principal", "nom", None))
-        self.cbt_rappels.setText(_translate("principal", "Rappels", None))
-        self.cbt_voirCarte.setText(_translate("principal", "Voir sur la carte\n"
-"du monde", None))
         self.cbt_presentation.setText(_translate("principal", "Texte de présentation...", None))
         self.label_4.setText(_translate("principal", "Joueurs sur le plateau", None))
         self.cbt_etapeSuivante.setText(_translate("principal", "Publier\n"

+ 1 - 1
lib/ui/editionMateriel.ui

@@ -708,7 +708,7 @@ image</string>
             </font>
            </property>
            <property name="currentIndex">
-            <number>1</number>
+            <number>6</number>
            </property>
            <widget class="QWidget" name="page_nom">
             <widget class="QFrame" name="frame_2">

+ 369 - 398
lib/ui/principal.ui

@@ -188,61 +188,61 @@
                      </spacer>
                     </item>
                     <item>
-                     <widget class="QPushButton" name="cbt_sauver">
+                     <widget class="QPushButton" name="cbt_nom">
                       <property name="minimumSize">
                        <size>
-                        <width>34</width>
+                        <width>150</width>
                         <height>30</height>
                        </size>
                       </property>
                       <property name="maximumSize">
                        <size>
-                        <width>34</width>
+                        <width>16777215</width>
                         <height>30</height>
                        </size>
                       </property>
-                      <property name="toolTip">
-                       <string>Enregistrer le combat</string>
+                      <property name="font">
+                       <font>
+                        <family>Verdana</family>
+                        <pointsize>9</pointsize>
+                        <weight>75</weight>
+                        <bold>true</bold>
+                       </font>
                       </property>
                       <property name="text">
-                       <string/>
-                      </property>
-                      <property name="icon">
-                       <iconset resource="ressource.qrc">
-                        <normaloff>:/interface/16/ressource/enregistrer_16.png</normaloff>:/interface/16/ressource/enregistrer_16.png</iconset>
-                      </property>
-                      <property name="iconSize">
-                       <size>
-                        <width>19</width>
-                        <height>19</height>
-                       </size>
+                       <string>    La tour sombre [Non Publié]    </string>
                       </property>
                      </widget>
                     </item>
                     <item>
-                     <widget class="QPushButton" name="cbt_nom">
+                     <widget class="QPushButton" name="cbt_sauver">
                       <property name="minimumSize">
                        <size>
-                        <width>150</width>
+                        <width>34</width>
                         <height>30</height>
                        </size>
                       </property>
                       <property name="maximumSize">
                        <size>
-                        <width>16777215</width>
+                        <width>34</width>
                         <height>30</height>
                        </size>
                       </property>
-                      <property name="font">
-                       <font>
-                        <family>Verdana</family>
-                        <pointsize>9</pointsize>
-                        <weight>75</weight>
-                        <bold>true</bold>
-                       </font>
+                      <property name="toolTip">
+                       <string>Enregistrer le combat</string>
                       </property>
                       <property name="text">
-                       <string>    La tour sombre [Non Publié]    </string>
+                       <string/>
+                      </property>
+                      <property name="icon">
+                       <iconset resource="ressource.qrc">
+                        <normaloff>:/interface/16/ressource/enregistrer_16.png</normaloff>:/interface/16/ressource/enregistrer_16.png</iconset>
+                      </property>
+                      <property name="iconSize">
+                       <size>
+                        <width>19</width>
+                        <height>19</height>
+                       </size>
                       </property>
                      </widget>
                     </item>
@@ -1082,7 +1082,7 @@
                  </widget>
                 </item>
                 <item>
-                 <layout class="QVBoxLayout" name="layoutCombatCentre" stretch="0,0">
+                 <layout class="QVBoxLayout" name="layoutCombatCentre" stretch="0,0,0,0">
                   <property name="spacing">
                    <number>0</number>
                   </property>
@@ -1120,6 +1120,44 @@
                     </property>
                    </widget>
                   </item>
+                  <item>
+                   <widget class="QPushButton" name="histo_agrandir">
+                    <property name="minimumSize">
+                     <size>
+                      <width>0</width>
+                      <height>12</height>
+                     </size>
+                    </property>
+                    <property name="maximumSize">
+                     <size>
+                      <width>16777215</width>
+                      <height>12</height>
+                     </size>
+                    </property>
+                    <property name="text">
+                     <string/>
+                    </property>
+                    <property name="icon">
+                     <iconset resource="ressource.qrc">
+                      <normaloff>:/interface/16/ressource/flecheHaut_16.png</normaloff>:/interface/16/ressource/flecheHaut_16.png</iconset>
+                    </property>
+                    <property name="checkable">
+                     <bool>false</bool>
+                    </property>
+                    <property name="checked">
+                     <bool>false</bool>
+                    </property>
+                    <property name="autoDefault">
+                     <bool>false</bool>
+                    </property>
+                    <property name="default">
+                     <bool>false</bool>
+                    </property>
+                    <property name="flat">
+                     <bool>true</bool>
+                    </property>
+                   </widget>
+                  </item>
                   <item>
                    <widget class="QStackedWidget" name="cbt_panneauBas">
                     <property name="minimumSize">
@@ -1134,11 +1172,271 @@
                       <height>75</height>
                      </size>
                     </property>
+                    <property name="palette">
+                     <palette>
+                      <active>
+                       <colorrole role="Base">
+                        <brush brushstyle="SolidPattern">
+                         <color alpha="255">
+                          <red>249</red>
+                          <green>249</green>
+                          <blue>249</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
+                      </active>
+                      <inactive>
+                       <colorrole role="Base">
+                        <brush brushstyle="SolidPattern">
+                         <color alpha="255">
+                          <red>249</red>
+                          <green>249</green>
+                          <blue>249</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
+                      </inactive>
+                      <disabled>
+                       <colorrole role="Base">
+                        <brush brushstyle="SolidPattern">
+                         <color alpha="255">
+                          <red>240</red>
+                          <green>240</green>
+                          <blue>240</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
+                      </disabled>
+                     </palette>
+                    </property>
+                    <property name="frameShape">
+                     <enum>QFrame::StyledPanel</enum>
+                    </property>
                     <property name="currentIndex">
-                     <number>1</number>
+                     <number>0</number>
                     </property>
-                    <widget class="QWidget" name="page"/>
-                    <widget class="QWidget" name="page_2">
+                    <widget class="QWidget" name="page_act">
+                     <layout class="QVBoxLayout" name="verticalLayout_16">
+                      <property name="spacing">
+                       <number>2</number>
+                      </property>
+                      <property name="leftMargin">
+                       <number>2</number>
+                      </property>
+                      <property name="topMargin">
+                       <number>2</number>
+                      </property>
+                      <property name="rightMargin">
+                       <number>2</number>
+                      </property>
+                      <property name="bottomMargin">
+                       <number>2</number>
+                      </property>
+                      <item>
+                       <layout class="QHBoxLayout" name="act_layout">
+                        <item>
+                         <widget class="DmLabel" name="act_img">
+                          <property name="minimumSize">
+                           <size>
+                            <width>50</width>
+                            <height>50</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>50</width>
+                            <height>50</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>Image du pion sélectionné</string>
+                          </property>
+                          <property name="text">
+                           <string>logo</string>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QToolButton" name="act_deplacement">
+                          <property name="minimumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>Déplacer le pion</string>
+                          </property>
+                          <property name="text">
+                           <string/>
+                          </property>
+                          <property name="icon">
+                           <iconset resource="ressource.qrc">
+                            <normaloff>:/interface/32/ressource/deplacement_32.png</normaloff>:/interface/32/ressource/deplacement_32.png</iconset>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QToolButton" name="act_attaqueCac">
+                          <property name="minimumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>Effectuer une attaque au corps à corps</string>
+                          </property>
+                          <property name="text">
+                           <string>...</string>
+                          </property>
+                          <property name="icon">
+                           <iconset resource="ressource.qrc">
+                            <normaloff>:/interface/16/ressource/epee_16.png</normaloff>:/interface/16/ressource/epee_16.png</iconset>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QToolButton" name="act_attaqueDist">
+                          <property name="minimumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="toolTip">
+                           <string>Effectuer une attaque à distance</string>
+                          </property>
+                          <property name="text">
+                           <string>...</string>
+                          </property>
+                          <property name="icon">
+                           <iconset resource="ressource.qrc">
+                            <normaloff>:/interface/16/ressource/arc_16.png</normaloff>:/interface/16/ressource/arc_16.png</iconset>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QToolButton" name="act_attaqueZone">
+                          <property name="minimumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>45</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="text">
+                           <string/>
+                          </property>
+                          <property name="icon">
+                           <iconset resource="ressource.qrc">
+                            <normaloff>:/interface/16/ressource/bombe_16.png</normaloff>:/interface/16/ressource/bombe_16.png</iconset>
+                          </property>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QScrollArea" name="act_deroulement">
+                          <property name="frameShape">
+                           <enum>QFrame::NoFrame</enum>
+                          </property>
+                          <property name="widgetResizable">
+                           <bool>true</bool>
+                          </property>
+                          <widget class="QWidget" name="scrollAreaWidgetContents">
+                           <property name="geometry">
+                            <rect>
+                             <x>0</x>
+                             <y>0</y>
+                             <width>152</width>
+                             <height>67</height>
+                            </rect>
+                           </property>
+                           <layout class="QHBoxLayout" name="horizontalLayout_10">
+                            <property name="spacing">
+                             <number>0</number>
+                            </property>
+                            <property name="leftMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="topMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="rightMargin">
+                             <number>0</number>
+                            </property>
+                            <property name="bottomMargin">
+                             <number>0</number>
+                            </property>
+                            <item>
+                             <widget class="DmLabel" name="act_description">
+                              <property name="minimumSize">
+                               <size>
+                                <width>50</width>
+                                <height>0</height>
+                               </size>
+                              </property>
+                              <property name="maximumSize">
+                               <size>
+                                <width>500</width>
+                                <height>16777215</height>
+                               </size>
+                              </property>
+                              <property name="text">
+                               <string/>
+                              </property>
+                             </widget>
+                            </item>
+                           </layout>
+                          </widget>
+                         </widget>
+                        </item>
+                        <item>
+                         <widget class="QPushButton" name="act_valider">
+                          <property name="minimumSize">
+                           <size>
+                            <width>80</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="maximumSize">
+                           <size>
+                            <width>80</width>
+                            <height>45</height>
+                           </size>
+                          </property>
+                          <property name="text">
+                           <string>Valider</string>
+                          </property>
+                         </widget>
+                        </item>
+                       </layout>
+                      </item>
+                     </layout>
+                    </widget>
+                    <widget class="QWidget" name="page_jrl">
                      <layout class="QVBoxLayout" name="verticalLayout_13">
                       <property name="spacing">
                        <number>0</number>
@@ -1155,44 +1453,6 @@
                       <property name="bottomMargin">
                        <number>0</number>
                       </property>
-                      <item>
-                       <widget class="QPushButton" name="histo_agrandir">
-                        <property name="minimumSize">
-                         <size>
-                          <width>0</width>
-                          <height>12</height>
-                         </size>
-                        </property>
-                        <property name="maximumSize">
-                         <size>
-                          <width>16777215</width>
-                          <height>12</height>
-                         </size>
-                        </property>
-                        <property name="text">
-                         <string/>
-                        </property>
-                        <property name="icon">
-                         <iconset resource="ressource.qrc">
-                          <normaloff>:/interface/16/ressource/flecheHaut_16.png</normaloff>:/interface/16/ressource/flecheHaut_16.png</iconset>
-                        </property>
-                        <property name="checkable">
-                         <bool>false</bool>
-                        </property>
-                        <property name="checked">
-                         <bool>false</bool>
-                        </property>
-                        <property name="autoDefault">
-                         <bool>false</bool>
-                        </property>
-                        <property name="default">
-                         <bool>false</bool>
-                        </property>
-                        <property name="flat">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
                       <item>
                        <widget class="QListWidget" name="histo_liste">
                         <property name="minimumSize">
@@ -1290,6 +1550,29 @@
                     </widget>
                    </widget>
                   </item>
+                  <item>
+                   <widget class="DmLabel" name="cbt_arbo">
+                    <property name="minimumSize">
+                     <size>
+                      <width>0</width>
+                      <height>18</height>
+                     </size>
+                    </property>
+                    <property name="font">
+                     <font>
+                      <pointsize>9</pointsize>
+                      <weight>75</weight>
+                      <bold>true</bold>
+                     </font>
+                    </property>
+                    <property name="toolTip">
+                     <string>Nom du pion sélectionné</string>
+                    </property>
+                    <property name="text">
+                     <string>Plateau</string>
+                    </property>
+                   </widget>
+                  </item>
                  </layout>
                 </item>
                 <item>
@@ -1321,7 +1604,7 @@
                      </size>
                     </property>
                     <property name="currentIndex">
-                     <number>3</number>
+                     <number>2</number>
                     </property>
                     <widget class="QWidget" name="cbt_panneauDroite0"/>
                     <widget class="QWidget" name="cbt_panneauDroite1">
@@ -2806,307 +3089,22 @@
                         <number>5</number>
                        </property>
                        <item>
-                        <widget class="QFrame" name="pi_infosPion">
-                         <property name="minimumSize">
-                          <size>
-                           <width>151</width>
-                           <height>41</height>
-                          </size>
-                         </property>
-                         <property name="maximumSize">
-                          <size>
-                           <width>151</width>
-                           <height>41</height>
-                          </size>
-                         </property>
-                         <property name="frameShape">
-                          <enum>QFrame::StyledPanel</enum>
-                         </property>
-                         <property name="frameShadow">
-                          <enum>QFrame::Raised</enum>
-                         </property>
-                         <widget class="DmLabel" name="pi_img">
-                          <property name="geometry">
-                           <rect>
-                            <x>10</x>
-                            <y>0</y>
-                            <width>31</width>
-                            <height>44</height>
-                           </rect>
-                          </property>
-                          <property name="toolTip">
-                           <string>Image du pion sélectionné</string>
-                          </property>
-                          <property name="text">
-                           <string>logo</string>
-                          </property>
-                         </widget>
-                         <widget class="DmLabel" name="pi_nom">
-                          <property name="geometry">
-                           <rect>
-                            <x>47</x>
-                            <y>0</y>
-                            <width>101</width>
-                            <height>44</height>
-                           </rect>
-                          </property>
-                          <property name="toolTip">
-                           <string>Nom du pion sélectionné</string>
-                          </property>
-                          <property name="text">
-                           <string>Pas de pion 
-selectionné</string>
-                          </property>
-                         </widget>
-                        </widget>
-                       </item>
-                       <item>
-                        <widget class="QFrame" name="pi_actions">
+                        <widget class="QPushButton" name="pi_fiche">
                          <property name="minimumSize">
                           <size>
-                           <width>151</width>
-                           <height>131</height>
+                           <width>0</width>
+                           <height>50</height>
                           </size>
                          </property>
                          <property name="maximumSize">
                           <size>
-                           <width>151</width>
-                           <height>131</height>
+                           <width>16777215</width>
+                           <height>50</height>
                           </size>
                          </property>
-                         <property name="frameShape">
-                          <enum>QFrame::StyledPanel</enum>
-                         </property>
-                         <property name="frameShadow">
-                          <enum>QFrame::Raised</enum>
+                         <property name="text">
+                          <string>Voir la fiche</string>
                          </property>
-                         <widget class="QSpinBox" name="pi_rayonAttaqueZone">
-                          <property name="geometry">
-                           <rect>
-                            <x>100</x>
-                            <y>90</y>
-                            <width>41</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="palette">
-                           <palette>
-                            <active>
-                             <colorrole role="Base">
-                              <brush brushstyle="SolidPattern">
-                               <color alpha="255">
-                                <red>240</red>
-                                <green>240</green>
-                                <blue>240</blue>
-                               </color>
-                              </brush>
-                             </colorrole>
-                            </active>
-                            <inactive>
-                             <colorrole role="Base">
-                              <brush brushstyle="SolidPattern">
-                               <color alpha="255">
-                                <red>240</red>
-                                <green>240</green>
-                                <blue>240</blue>
-                               </color>
-                              </brush>
-                             </colorrole>
-                            </inactive>
-                            <disabled>
-                             <colorrole role="Base">
-                              <brush brushstyle="SolidPattern">
-                               <color alpha="255">
-                                <red>240</red>
-                                <green>240</green>
-                                <blue>240</blue>
-                               </color>
-                              </brush>
-                             </colorrole>
-                            </disabled>
-                           </palette>
-                          </property>
-                          <property name="font">
-                           <font>
-                            <pointsize>9</pointsize>
-                            <weight>75</weight>
-                            <bold>true</bold>
-                           </font>
-                          </property>
-                          <property name="minimum">
-                           <number>1</number>
-                          </property>
-                         </widget>
-                         <widget class="QToolButton" name="pi_deplacement">
-                          <property name="geometry">
-                           <rect>
-                            <x>10</x>
-                            <y>10</y>
-                            <width>61</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="minimumSize">
-                           <size>
-                            <width>0</width>
-                            <height>0</height>
-                           </size>
-                          </property>
-                          <property name="maximumSize">
-                           <size>
-                            <width>100</width>
-                            <height>100</height>
-                           </size>
-                          </property>
-                          <property name="toolTip">
-                           <string>Déplacer le pion</string>
-                          </property>
-                          <property name="text">
-                           <string/>
-                          </property>
-                          <property name="icon">
-                           <iconset resource="ressource.qrc">
-                            <normaloff>:/interface/32/ressource/deplacement_32.png</normaloff>:/interface/32/ressource/deplacement_32.png</iconset>
-                          </property>
-                         </widget>
-                         <widget class="QComboBox" name="pi_formeAttaqueZone">
-                          <property name="geometry">
-                           <rect>
-                            <x>50</x>
-                            <y>91</y>
-                            <width>41</width>
-                            <height>29</height>
-                           </rect>
-                          </property>
-                          <item>
-                           <property name="text">
-                            <string/>
-                           </property>
-                           <property name="icon">
-                            <iconset resource="ressource.qrc">
-                             <normaloff>:/interface/16/ressource/ligne_16.png</normaloff>:/interface/16/ressource/ligne_16.png</iconset>
-                           </property>
-                          </item>
-                          <item>
-                           <property name="text">
-                            <string/>
-                           </property>
-                           <property name="icon">
-                            <iconset resource="ressource.qrc">
-                             <normaloff>:/interface/16/ressource/ellipsePleine_16.png</normaloff>:/interface/16/ressource/ellipsePleine_16.png</iconset>
-                           </property>
-                          </item>
-                          <item>
-                           <property name="text">
-                            <string/>
-                           </property>
-                           <property name="icon">
-                            <iconset resource="ressource.qrc">
-                             <normaloff>:/interface/16/ressource/cone_16.png</normaloff>:/interface/16/ressource/cone_16.png</iconset>
-                           </property>
-                          </item>
-                         </widget>
-                         <widget class="QToolButton" name="pi_attaqueCac">
-                          <property name="geometry">
-                           <rect>
-                            <x>10</x>
-                            <y>50</y>
-                            <width>61</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="minimumSize">
-                           <size>
-                            <width>0</width>
-                            <height>0</height>
-                           </size>
-                          </property>
-                          <property name="maximumSize">
-                           <size>
-                            <width>100</width>
-                            <height>100</height>
-                           </size>
-                          </property>
-                          <property name="toolTip">
-                           <string>Effectuer une attaque au corps à corps</string>
-                          </property>
-                          <property name="text">
-                           <string>...</string>
-                          </property>
-                          <property name="icon">
-                           <iconset resource="ressource.qrc">
-                            <normaloff>:/interface/16/ressource/epee_16.png</normaloff>:/interface/16/ressource/epee_16.png</iconset>
-                          </property>
-                         </widget>
-                         <widget class="QToolButton" name="pi_vol">
-                          <property name="geometry">
-                           <rect>
-                            <x>80</x>
-                            <y>10</y>
-                            <width>61</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="toolTip">
-                           <string>Modifier l'altitude du pion</string>
-                          </property>
-                          <property name="text">
-                           <string>...</string>
-                          </property>
-                          <property name="icon">
-                           <iconset resource="ressource.qrc">
-                            <normaloff>:/interface/32/ressource/oiseau_32.png</normaloff>:/interface/32/ressource/oiseau_32.png</iconset>
-                          </property>
-                         </widget>
-                         <widget class="QToolButton" name="pi_attaqueDist">
-                          <property name="geometry">
-                           <rect>
-                            <x>80</x>
-                            <y>50</y>
-                            <width>61</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="minimumSize">
-                           <size>
-                            <width>0</width>
-                            <height>0</height>
-                           </size>
-                          </property>
-                          <property name="maximumSize">
-                           <size>
-                            <width>100</width>
-                            <height>100</height>
-                           </size>
-                          </property>
-                          <property name="toolTip">
-                           <string>Effectuer une attaque à distance</string>
-                          </property>
-                          <property name="text">
-                           <string>...</string>
-                          </property>
-                          <property name="icon">
-                           <iconset resource="ressource.qrc">
-                            <normaloff>:/interface/16/ressource/arc_16.png</normaloff>:/interface/16/ressource/arc_16.png</iconset>
-                          </property>
-                         </widget>
-                         <widget class="QToolButton" name="pi_attaqueZone">
-                          <property name="geometry">
-                           <rect>
-                            <x>10</x>
-                            <y>90</y>
-                            <width>31</width>
-                            <height>31</height>
-                           </rect>
-                          </property>
-                          <property name="text">
-                           <string/>
-                          </property>
-                          <property name="icon">
-                           <iconset resource="ressource.qrc">
-                            <normaloff>:/interface/16/ressource/bombe_16.png</normaloff>:/interface/16/ressource/bombe_16.png</iconset>
-                          </property>
-                         </widget>
                         </widget>
                        </item>
                        <item>
@@ -3662,44 +3660,17 @@ selectionné</string>
                        </property>
                       </column>
                      </widget>
-                     <widget class="QPushButton" name="cbt_rappels">
-                      <property name="geometry">
-                       <rect>
-                        <x>10</x>
-                        <y>250</y>
-                        <width>151</width>
-                        <height>41</height>
-                       </rect>
-                      </property>
-                      <property name="text">
-                       <string>Rappels</string>
-                      </property>
-                     </widget>
-                     <widget class="QPushButton" name="cbt_voirCarte">
-                      <property name="geometry">
-                       <rect>
-                        <x>10</x>
-                        <y>200</y>
-                        <width>151</width>
-                        <height>41</height>
-                       </rect>
-                      </property>
-                      <property name="text">
-                       <string>Voir sur la carte
-du monde</string>
-                      </property>
-                     </widget>
                      <widget class="QLabel" name="cbt_presentation">
                       <property name="geometry">
                        <rect>
                         <x>10</x>
-                        <y>10</y>
+                        <y>20</y>
                         <width>151</width>
-                        <height>101</height>
+                        <height>91</height>
                        </rect>
                       </property>
                       <property name="frameShape">
-                       <enum>QFrame::StyledPanel</enum>
+                       <enum>QFrame::NoFrame</enum>
                       </property>
                       <property name="text">
                        <string>Texte de présentation...</string>
@@ -4824,9 +4795,9 @@ le plateau</string>
  </widget>
  <customwidgets>
   <customwidget>
-   <class>DmTableWidget</class>
-   <extends>QTableWidget</extends>
-   <header>dm.h</header>
+   <class>DmLabel</class>
+   <extends>QLabel</extends>
+   <header location="global">dm.h</header>
   </customwidget>
   <customwidget>
    <class>DmTextEdit</class>
@@ -4834,9 +4805,9 @@ le plateau</string>
    <header location="global">dm.h</header>
   </customwidget>
   <customwidget>
-   <class>DmLabel</class>
-   <extends>QLabel</extends>
-   <header location="global">dm.h</header>
+   <class>DmTableWidget</class>
+   <extends>QTableWidget</extends>
+   <header>dm.h</header>
   </customwidget>
   <customwidget>
    <class>DmGraphicsView</class>

+ 4 - 3
parties/defaut/cbt/infos_sauvegarde

@@ -1,3 +1,4 @@
-€}qU
-plpjloIyzjq}q(UnomqUtestqUdateCreationqGAÕ|¹›ÒòUdateSvgqGAÕ|¹œ9XUchapitreqU1UenCoursq	‰Upublicq
-‰us.
+€}q(U
+plpjsolkDU}q(UnomqUtestqUdateCreationqGAÕÝ�²UdateSvgqGAÕï°ƒUchapitreqU1UenCoursq‰Upublicq	‰uU
+plpjloIyzj}q
+(UnomUtestUdateCreationGAÕ|¹›ÒòUdateSvgGAÕ|¹œ9XUchapitreU1UenCours‰Upublic‰uu.

BIN
parties/defaut/cbt/plpjsolkDU.dm


+ 4 - 0
tmp/sepjsoNAFT.tmp

@@ -0,0 +1,4 @@
+€clib.commun
+Session
+q)�q}q(U_idUqUdefautqU_idPqhU_idJqhU_idSqU
+sepjsoNAFTub.