|
|
@@ -68,6 +68,10 @@ class ModeBase(object):
|
|
|
def clic_case(self, coord):
|
|
|
pass
|
|
|
|
|
|
+ def clic_es(self, es):
|
|
|
+ #clic sur une entree/sortie
|
|
|
+ pass
|
|
|
+
|
|
|
#double clic gauche
|
|
|
def doubleClic_combattant(self, num):
|
|
|
pass
|
|
|
@@ -166,7 +170,10 @@ class StandardCp(ModeBaseCp):
|
|
|
|
|
|
def clic_decor(self, num):
|
|
|
self.plateau.activerMode(DeplacementPion, num)
|
|
|
-
|
|
|
+
|
|
|
+ def clic_es(self, es):
|
|
|
+ self.plateau.activerMode(EditionEntreeSortie, es)
|
|
|
+
|
|
|
class MajCases(ModeBaseCp):
|
|
|
"""mode de mise a jour des cases (terrain, couleur, effet special)"""
|
|
|
def __init__(self, plateau):
|
|
|
@@ -299,43 +306,41 @@ class EditerCaches(ModeBaseCp):
|
|
|
self.plateau.nouveauCache(self.plateau.pinceau.selection())
|
|
|
self.plateau.activerMode(StandardCp)
|
|
|
|
|
|
-class EntreesSorties(ModeBaseCp):
|
|
|
- """mode de definition deentrees et sorties du plateau"""
|
|
|
+class EntreeSortieBase(ModeBaseCp):
|
|
|
+ """mode de base de la gestion des entrees et sorties du plateau"""
|
|
|
def __init__(self, plateau):
|
|
|
- super(EntreesSorties, self).__init__(plateau)
|
|
|
+ super(EntreeSortieBase, self).__init__(plateau)
|
|
|
self._sourceCurseur = ":/interface/16/ressource/pinceau_16.png"
|
|
|
self._focus = True
|
|
|
|
|
|
def activerCurseur(self):
|
|
|
- super(EntreesSorties, self).activerCurseur()
|
|
|
+ super(EntreeSortieBase, self).activerCurseur()
|
|
|
|
|
|
def activer(self, param):
|
|
|
self.es = param
|
|
|
- self.es.creerForme()
|
|
|
- super(EntreesSorties, self).activer()
|
|
|
+ self.es.saisir()
|
|
|
+ super(EntreeSortieBase, self).activer()
|
|
|
|
|
|
def desactiver(self):
|
|
|
if not self.es.estPositionne:
|
|
|
self.es.prepareGeometryChange()
|
|
|
self.es.plateau = None
|
|
|
self.plateau.removeItem(self.es)
|
|
|
- super(EntreesSorties, self).desactiver()
|
|
|
+ if self.es in self.plateau.entreesSorties:
|
|
|
+ self.plateau.entreesSorties.remove(self.es)
|
|
|
+ super(EntreeSortieBase, self).desactiver()
|
|
|
|
|
|
def mouvementSouris(self, event):
|
|
|
if event.buttons() != Qt.LeftButton:
|
|
|
if not self.es.estPositionne:
|
|
|
self.es.majProjection(event.scenePos())
|
|
|
|
|
|
- def clicGauche(self, event):
|
|
|
- if not event.isAccepted():
|
|
|
- self.es.positionner()
|
|
|
- self.plateau.entreesSorties.append(self.es)
|
|
|
- self.desactiver()
|
|
|
-
|
|
|
def toucheClavier(self, event):
|
|
|
if event.key() == Qt.Key_Delete:
|
|
|
- #supprimer l'es
|
|
|
- self.desactiver()
|
|
|
+ self.es.supprimer()
|
|
|
+ if self.es in self.plateau.entreesSorties:
|
|
|
+ self.plateau.entreesSorties.remove(self.es)
|
|
|
+ self.plateau.activerMode(StandardCp)
|
|
|
elif event.key() == Qt.Key_Right:
|
|
|
self.es.nbRotations += 1
|
|
|
self.es.majProjection()
|
|
|
@@ -343,6 +348,31 @@ class EntreesSorties(ModeBaseCp):
|
|
|
self.es.nbRotations -= 1
|
|
|
self.es.majProjection()
|
|
|
|
|
|
+class CreationEntreeSortie(EntreeSortieBase):
|
|
|
+ """mode de creation des entrees / sorties"""
|
|
|
+ def __init__(self, plateau):
|
|
|
+ super(CreationEntreeSortie, self).__init__(plateau)
|
|
|
+
|
|
|
+ def activer(self, typeES):
|
|
|
+ self.plateau.fenetre.ui.cbt_vue.fitInView(self.plateau.sceneRect(), Qt.KeepAspectRatio)
|
|
|
+ param = EntreeSortie(self.plateau, typeES)
|
|
|
+ param.creerForme()
|
|
|
+ super(CreationEntreeSortie, self).activer(param)
|
|
|
+
|
|
|
+ def clicGauche(self, event):
|
|
|
+ self.es.positionner()
|
|
|
+ self.plateau.entreesSorties.append(self.es)
|
|
|
+ self.plateau.activerMode(StandardCp)
|
|
|
+
|
|
|
+class EditionEntreeSortie(EntreeSortieBase):
|
|
|
+ """mode d'edition des entrees / sorties"""
|
|
|
+ def __init__(self, plateau):
|
|
|
+ super(EditionEntreeSortie, self).__init__(plateau)
|
|
|
+
|
|
|
+ def clicGauche(self, event):
|
|
|
+ if not event.isAccepted():
|
|
|
+ self.es.positionner()
|
|
|
+ self.plateau.activerMode(StandardCp)
|
|
|
|
|
|
class CreationPion(ModeBaseCp):
|
|
|
"""mode de creation de pions (combattant ou decor)"""
|