| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #from __future__ import unicode_literals
- # -*- coding: utf-8 -*-
- from __future__ import division
- import sys
- from PyQt4.QtCore import SIGNAL, QString
- from PyQt4.QtGui import QDialog, QColorDialog, QColor, QApplication
- from Terrain import Terrain
- import rsc
- from ui.ecran_editionTerrain import Ui_et_fenetre
- class EcranEditionTerrain(QDialog):
- """interface de creation/edition de terrains"""
- def __init__(self, terrain = None, parent=None):
- """initialisation de la fenetre"""
- super (EcranEditionTerrain, self).__init__()
- self.createWidgets()
- self.terrain = Terrain() if not terrain else terrain
- if terrain: self.accesEdition()
- self.majAffichage()
-
- def createWidgets(self):
- """construction de l'interface"""
- #construction de l'interface
- self.ui = Ui_et_fenetre()
- self.ui.setupUi(self)
- self.connect(self.ui.et_enregistrer, SIGNAL("clicked()"), self.enregistrer)
- self.connect(self.ui.et_annuler, SIGNAL("clicked()"), self.annuler)
- self.connect(self.ui.et_nom, SIGNAL("textEdited(QString)"), self.majAffichage)
- self.connect(self.ui.et_apercu, SIGNAL("clicked()"), self.selectionCouleur)
- def mat(self):
- """retourne le materiel de la fenetre"""
- return self.terrain
-
- def accesEdition(self):
- """ouverture en mode edition"""
- self.ui.et_nom.majTexte(self.terrain.nom())
- # if self.terrain.imgTexture.estValide():
- # self.ui.et_apercu.chargerImage(self.terrain.imgTexture)
- # else:
- if self.terrain.couleur.isValid():
- self.ui.et_apercu.setText(QString(""))
- self.ui.et_apercu.setStyleSheet("QLabel {backGround:%s}" %(self.terrain.couleur.name()))
- if self.terrain.nage:
- self.ui.et_depNage.setChecked(True)
- elif not self.terrain.franchissable:
- self.ui.et_depAucun.setChecked(True)
- self.ui.et_paroi.setChecked(self.terrain.hPlafond)
- def majAffichage(self):
- """verifie la validite des saisies"""
- self.ui.et_enregistrer.setEnabled(len(self.ui.et_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.et_apercu.setText(QString(""))
- self.ui.et_apercu.setStyleSheet("QLabel {backGround:%s}" %(nomCouleur))
- self.terrain.couleur = couleur
- # def selectionFichier(self):
- # """selectionne le fichier de texture dans la boite de dialogue dediee"""
- # img = rsc.selectionImage()
- # if img:
- # self.ui.et_apercu.chargerImage(img)
-
- def enregistrer(self):
- """enregistre le terrain cree/edite"""
- self.terrain.majNom(self.ui.et_nom.texte())
- # if self.ui.et_apercu.image():
- # self.terrain.imgTexture = self.ui.et_apercu.image()
- self.terrain.franchissable = (not self.ui.et_depAucun.isChecked())
- self.terrain.nage = self.ui.et_depNage.isChecked()
- self.terrain.hPlafond = self.ui.et_paroi.isChecked()
- self.done(1)
- def annuler(self):
- """annule la creation/edition"""
- self.terrain = None
- self.done(0)
- if __name__ == "__main__":
- app = QApplication(sys.argv)
- ecran = EcranEditionTerrain()
- ecran.show()
- r = app.exec_()
- exit(r)
-
|