| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- #from __future__ import unicode_literals
- # -*- coding: utf-8 -*-
- from __future__ import division
- from time import time, sleep, strftime, localtime
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from ui.ecran_creerPlateau import Ui_crp_fenetre
- from outilsSvg import *
- class EcranCreerPlateau(QDialog):
- """interface de creation/chargement de plateau"""
- def __init__(self, fenetrePrincipale, terrain=None, parent=None):
- """initialisation de la fenetre"""
- super (EcranCreerPlateau, self).__init__()
- self.fenetre = fenetrePrincipale
- self.couleur = QColor(0, 255, 0, 80)
- self._majEnCours = False
- self.createWidgets()
- self.majAffichage()
-
- def createWidgets(self):
- """construction de l'interface"""
- #construction de l'interface
- self.ui = Ui_crp_fenetre()
- self.ui.setupUi(self)
- self.ui.crp_couleur.setStyleSheet("QLabel {backGround:%s}" %(self.couleur))
- self.connect(self.ui.crp_couleur, SIGNAL("clicked()"), self.selectionCouleur)
- self.connect(self.ui.crp_listeDimensions, SIGNAL("activated(int)"), self.majDimensions)
- self.connect(self.ui.crp_largeur, SIGNAL("valueChanged(int)"), self.majListeDimensions)
- self.connect(self.ui.crp_hauteur, SIGNAL("valueChanged(int)"), self.majListeDimensions)
-
- self.connect(self.ui.crp_nom, SIGNAL("textEdited(QString)"), self.majAffichage)
-
- self.connect(self.ui.crp_ok, SIGNAL("clicked()"), self.creer)
- self.ui.crp_ok.setShortcut("Enter")
- def creer(self):
- nom = self.ui.crp_nom.texte()
- largeur = self.ui.crp_largeur.value()
- hauteur = self.ui.crp_hauteur.value()
- chapitre = str(self.ui.crp_chapitre.value())
- if self.ui.crp_formeHexa.isChecked():
- formeCases = "H"
- else:
- formeCases = "C"
- ok = True
- if (largeur * hauteur) > 10000:
- reponse = QMessageBox.question(self, 'Message',
- "Attention ! \nLe nombre élevé de cases peut entrainer des ralentissements " \
- "importants...\nVoulez vous continuer?", QMessageBox.Yes |
- QMessageBox.No, QMessageBox.No)
- ok = (reponse != QMessageBox.No)
- if ok == True:
- self.fenetre.creerPlateau(nom, chapitre, formeCases, largeur, hauteur, self.couleur)
- self.close()
-
- def majAffichage(self):
- self.ui.crp_ok.setEnabled(len(self.ui.crp_nom.texte()) > 0)
-
- def selectionCouleur(self):
- """selectionne la couleur dans la boite de dialogue dediee"""
- couleur = QColorDialog(self).getColor(QColor("white"), self)
- if couleur.isValid():
- nomCouleur = couleur.name()
- self.ui.crp_couleur.setStyleSheet("QLabel {backGround:%s}" %(nomCouleur))
- self.couleur = couleur
- def majDimensions(self, index):
- if not self._majEnCours:
- dimensionsRapides = [(30,20), (50,30), (100,70), \
- (20,30), (30,50), (70,100), \
- (25, 25), (40, 40), (80, 80), \
- (1,1) ]
- largeur, hauteur = dimensionsRapides[index]
- self._majEnCours = True
- self.ui.crp_largeur.setValue(largeur)
- self.ui.crp_hauteur.setValue(hauteur)
- self._majEnCours = False
- def majListeDimensions(self):
- """l'utilisateur a modifie une dimension,
- la liste affiche 'personnalise'"""
- if not self._majEnCours:
- self._majEnCours = True
- self.ui.crp_listeDimensions.setCurrentIndex(9)
- self._majEnCours = False
|