|
|
@@ -40,40 +40,51 @@ class Plateau(QGraphicsScene):
|
|
|
def __init__(self, fenetre, parent=None):
|
|
|
super(Plateau, self).__init__()
|
|
|
#parametres et variables
|
|
|
+
|
|
|
+ self.fenetre = fenetre
|
|
|
+
|
|
|
+ ##partie et infos plateau
|
|
|
self.id = ""
|
|
|
self.nom = ""
|
|
|
self.chapitre = 0
|
|
|
- self.fenetre = fenetre
|
|
|
+ self.tour = 1
|
|
|
+
|
|
|
+ self.enCours = False
|
|
|
+ self.public = False
|
|
|
+ self.dateCreation = ""
|
|
|
+ self.dateSvg = ""
|
|
|
+ self.notes = ""
|
|
|
+
|
|
|
+ #carac
|
|
|
self.nbCasesX = 0
|
|
|
self.nbCasesY = 0
|
|
|
self.hCase = 0
|
|
|
+ self.modePrincipal = "creation"
|
|
|
+ self.modeActif = ""
|
|
|
+ self.modeCombat = ""
|
|
|
+
|
|
|
+ #interface
|
|
|
+ self.nbZoomActuel = 0
|
|
|
+ self.epaisseurpinceau = 0
|
|
|
+
|
|
|
+ #objets
|
|
|
self.cases = {} #dict des cases du plateau (coordonnées: case)
|
|
|
self.pions = {} #liste de pions positionnes sur le plateau
|
|
|
self.decors = {} #liste des decors places sur le plateau
|
|
|
- self.ordreJeu = {} #numero du pion: ordre de jeu
|
|
|
- self.numPionEnCours = 0
|
|
|
- self.tour = 1
|
|
|
self.cacheEnCours = 1
|
|
|
self.caches = {}
|
|
|
self.polygonesCaches = {}
|
|
|
for i in range(1,5):
|
|
|
self.caches[i] = {"actif":False,"listeCases":[]}
|
|
|
self.polygonesCaches[i] = None
|
|
|
-
|
|
|
self.listeCasesZonePlacement = []
|
|
|
self.polygoneZonePlacement = None
|
|
|
- self.entreesSorties = []
|
|
|
- self.modePrincipal = "creation"
|
|
|
- self.modeActif = ""
|
|
|
- self.modeCombat = ""
|
|
|
- self.nbZoomActuel = 0
|
|
|
- self.epaisseurpinceau = 0
|
|
|
- self.enCours = False
|
|
|
- self.public = False
|
|
|
- self.dateCreation = ""
|
|
|
- self.dateSvg = ""
|
|
|
- self.notes = ""
|
|
|
-
|
|
|
+ self.entreesSorties = []
|
|
|
+
|
|
|
+ #infos combat
|
|
|
+ self.numPionEnCours = 0
|
|
|
+ self.ordreJeu = {} #numero du pion: ordre de jeu
|
|
|
+
|
|
|
#note: la hauteur Z (qui gere l'empilement des objets graphiques est distribuee de cette maniere:
|
|
|
#cases : 0 a 9
|
|
|
#pions : 10 et +
|
|
|
@@ -173,25 +184,57 @@ class Plateau(QGraphicsScene):
|
|
|
|
|
|
def connexions(self):
|
|
|
"""connecte le plateau aux differents widgets de la fenetre principale"""
|
|
|
- self.fenetre.connect(self.fenetre.ui.modeCreationPlateau, SIGNAL("clicked()"), self.plateauModeCreation, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.modeCombatPlateau, SIGNAL("clicked()"), self.plateauModeCombat, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.afficherGestionCombat, SIGNAL("clicked()"), self.afficheEcranGestionCombat, Qt.UniqueConnection)
|
|
|
+ #modes d'interaction
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cbt_modeCreation, SIGNAL("clicked()"), self.plateauModeCreation, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cbt_modeCombat, SIGNAL("clicked()"), self.plateauModeCombat, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.modeAffichagePlateau, SIGNAL("currentIndexChanged(int)"), self.majModeAffichage, Qt.UniqueConnection)
|
|
|
+
|
|
|
+
|
|
|
+ #affichage de fenetres
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cbt_afficherGestion, SIGNAL("clicked()"), self.afficheEcranGestionCombat, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee, Qt.UniqueConnection)
|
|
|
+
|
|
|
self.fenetre.connect(self.fenetre.ui.terrainCouleur, SIGNAL("clicked()"), self.modePeintureCase, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.terrainCopie, SIGNAL("clicked()"), self.modeCopieTerrain, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.pionCouleur, SIGNAL("clicked()"), self.majCouleurPion, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.pionCouleur, SIGNAL("clicked()"), self.majCouleurPion, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.agrandirNotesMjPlateau, SIGNAL("clicked()"), self.agrandirNotesMjPlateau, Qt.UniqueConnection)
|
|
|
+
|
|
|
+
|
|
|
+ #listes
|
|
|
+ self.fenetre.connect(self.fenetre.ui.listTerrains, SIGNAL("cellClicked(int,int)"), self.modeMajTerrainCase, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.listCreatures, SIGNAL("cellClicked(int,int)"), self.modeCreationCreaturePion, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.listDecors, SIGNAL("cellClicked(int,int)"), self.modeCreationDecor, Qt.UniqueConnection)
|
|
|
+
|
|
|
self.fenetre.connect(self.fenetre.ui.terrainEdit, SIGNAL("clicked()"), self.terrainEdit, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.terrainNouveau, SIGNAL("clicked()"), self.terrainNouveau, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.creatureEdit, SIGNAL("clicked()"), self.creatureEdit, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.creatureNouveau, SIGNAL("clicked()"), self.creatureNouveau, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.pionSimpleCreer, SIGNAL("clicked()"), self.modeCreationPion, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.pionSupprimer, SIGNAL("clicked()"), self.majModePionSupprimer, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.pionSimpleCreer, SIGNAL("clicked()"), self.modeCreationPion, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.pionSupprimer, SIGNAL("clicked()"), self.majModePionSupprimer, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.decorEdit, SIGNAL("clicked()"), self.decorEdit, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.decorNouveau, SIGNAL("clicked()"), self.decorNouveau, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.decorSupprimer, SIGNAL("clicked()"), self.majModePionSupprimer, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.decorSupprimer, SIGNAL("clicked()"), self.majModePionSupprimer, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.editerAttaques, SIGNAL("clicked()"), self.afficheEcranEditionAttaques, Qt.UniqueConnection)
|
|
|
+
|
|
|
+
|
|
|
+ #creation
|
|
|
+ self.fenetre.connect(self.fenetre.ui.epaisseurPinceau, SIGNAL("valueChanged(int)"), self.majEpaisseurPinceau, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.altitudeCase, SIGNAL("valueChanged(double)"), self.modeMajAltitudeCase, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.infoOrdreJeu, SIGNAL("cellClicked(int,int)"), self.clicListOrdreJeu, Qt.UniqueConnection)
|
|
|
+
|
|
|
+ #autres:
|
|
|
+ #ajouter effet
|
|
|
self.fenetre.connect(self.fenetre.ui.definirEntree, SIGNAL("clicked()"), self.majModeDefinirEntree, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.definirSortie, SIGNAL("clicked()"), self.majModeDefinirSortie, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.definirZonePlacement, SIGNAL("clicked()"), self.majModeZonePlacement, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cacheActif, SIGNAL("clicked()"), self.majEtatCacheEnCours, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cacheVoir, SIGNAL("clicked()"), self.voirCacheEnCours, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.cachePlacer, SIGNAL("clicked()"), self.placerCacheEnCours, Qt.UniqueConnection)
|
|
|
+
|
|
|
+ self.fenetre.connect(self.fenetre.ui.notesMjPlateau, SIGNAL("textChanged()"), self.majNotesPlateau, Qt.UniqueConnection)
|
|
|
+ self.fenetre.connect(self.fenetre.ui.notesPion, SIGNAL("textChanged()"), self.majNotesPion, Qt.UniqueConnection)
|
|
|
|
|
|
+ #formes (dessin)
|
|
|
self.fenetre.connect(self.fenetre.ui.formeSimple, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.formeLigne, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.formeLigneOrientee, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
|
|
|
@@ -200,52 +243,26 @@ class Plateau(QGraphicsScene):
|
|
|
self.fenetre.connect(self.fenetre.ui.formeRectVide, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.formeRectPlein, SIGNAL("clicked()"), self.majModeForme, Qt.UniqueConnection)
|
|
|
|
|
|
- self.fenetre.connect(self.fenetre.ui.effFeu, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.effEau, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.effGlace, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.effPoison, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.effEffacer, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
-
|
|
|
- self.fenetre.connect(self.fenetre.ui.cacheActif, SIGNAL("clicked()"), self.majEtatCacheEnCours, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.cacheVoir, SIGNAL("clicked()"), self.voirCacheEnCours, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.cachePlacer, SIGNAL("clicked()"), self.placerCacheEnCours, Qt.UniqueConnection)
|
|
|
+
|
|
|
+## self.fenetre.connect(self.fenetre.ui.effFeu, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.effEau, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.effGlace, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.effPoison, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
+## self.fenetre.connect(self.fenetre.ui.effEffacer, SIGNAL("clicked()"), self.modeCaseEffet, Qt.UniqueConnection)
|
|
|
|
|
|
self.fenetre.connect(self.fenetre.ui.combatDeplacement, SIGNAL("clicked()"), self.majModeCombatDeplacement, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatDeplacement.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatAttaqueCaC, SIGNAL("clicked()"), self.majModeCombatAttaqueCaC, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatAttaqueCaC.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatAttaqueDist, SIGNAL("clicked()"), self.majModeCombatAttaqueDist, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatAttaqueDist.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatAttaqueZone, SIGNAL("clicked()"), self.fenetre.barreCombatZone, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatAttaqueZone, SIGNAL("clicked()"), self.majModeCombatZone, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatAttaqueZone.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatVol, SIGNAL("clicked()"), self.fenetre.barreCombatVol, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatVol_altitude, SIGNAL("valueChanged(int)"), self.majZPion, Qt.UniqueConnection)
|
|
|
- #self.fenetre.connect(self.fenetre.ui.combatVol_altitude, SIGNAL("editingFinished()"), self.majVisibiliteBarreCombat)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatZone_ligne, SIGNAL("clicked()"), self.majModeCombatZoneForme, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatZone_ligne.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatZone_disque, SIGNAL("clicked()"), self.majModeCombatZoneForme, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatZone_disque.setCheckable(True)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatZone_cone, SIGNAL("clicked()"), self.majModeCombatZoneForme, Qt.UniqueConnection)
|
|
|
- self.fenetre.ui.combatZone_cone.setCheckable(True)
|
|
|
- self.fenetre.connect(self.fenetre.ui.combatRetour, SIGNAL("clicked()"), self.fenetre.barreCombatMenu, Qt.UniqueConnection)
|
|
|
self.fenetre.connect(self.fenetre.ui.combatPasserTour, SIGNAL("clicked()"), self.pionSuivant, Qt.UniqueConnection)
|
|
|
- #self.connect(self.ui.combatInventaire, SIGNAL("clicked()"), self.majModePionSupprimer)
|
|
|
-
|
|
|
- self.fenetre.connect(self.fenetre.ui.modeAffichagePlateau, SIGNAL("currentIndexChanged(int)"), self.majModeAffichage, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.listTerrains, SIGNAL("cellClicked(int,int)"), self.modeMajTerrainCase, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.listCreatures, SIGNAL("cellClicked(int,int)"), self.modeCreationCreaturePion, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.listDecors, SIGNAL("cellClicked(int,int)"), self.modeCreationDecor, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.epaisseurPinceau, SIGNAL("valueChanged(int)"), self.majEpaisseurPinceau, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.altitudeCase, SIGNAL("valueChanged(double)"), self.modeMajAltitudeCase, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.infoOrdreJeu, SIGNAL("cellClicked(int,int)"), self.clicListOrdreJeu, Qt.UniqueConnection)
|
|
|
-
|
|
|
- self.fenetre.connect(self.fenetre.ui.listeAttributs, SIGNAL("cellChanged(int,int)"), self.listeAttributCelluleModifiee, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.editerAttaques, SIGNAL("clicked()"), self.afficheEcranEditionAttaques, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.notesPion, SIGNAL("textChanged()"), self.majNotesPion, Qt.UniqueConnection)
|
|
|
+ #self.fenetre.connect(self.fenetre.ui.combatVol_altitude, SIGNAL("editingFinished()"), self.majVisibiliteBarreCombat)
|
|
|
|
|
|
- self.fenetre.connect(self.fenetre.ui.notesMjPlateau, SIGNAL("textChanged()"), self.majNotesPlateau, Qt.UniqueConnection)
|
|
|
- self.fenetre.connect(self.fenetre.ui.agrandirNotesMjPlateau, SIGNAL("clicked()"), self.agrandirNotesMjPlateau, Qt.UniqueConnection)
|
|
|
|
|
|
|
|
|
def initialisationGraphique(self):
|
|
|
@@ -299,6 +316,14 @@ class Plateau(QGraphicsScene):
|
|
|
self.initListeOrdreJeu()
|
|
|
self.initListeAttaques()
|
|
|
self.fenetre.ui.notesMjPlateau.setText(QString.fromUtf8(self.notes))
|
|
|
+
|
|
|
+ self.fenetre.ui.combatDeplacement.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatAttaqueCaC.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatAttaqueDist.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatAttaqueZone.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatZone_ligne.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatZone_disque.setCheckable(True)
|
|
|
+ self.fenetre.ui.combatZone_cone.setCheckable(True)
|
|
|
|
|
|
if self.modeParam["couleurPion"].isValid():
|
|
|
self.fenetre.ui.pionCouleur.setStyleSheet("QPushButton {backGround:%s}" %(self.modeParam["couleurPion"].name()))
|