#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