#from __future__ import unicode_literals # -*- coding: utf-8 -*- from __future__ import division from PyQt4.QtCore import * from PyQt4.QtGui import * from Decor import Decor from ui.ecran_editionDecor import Ui_edd_fenetre from outilsSvg import * from VueEditionForme import VueEditionForme class EcranEditionDecors(QDialog): """interface de creation/edition de decors""" def __init__(self, decor=None, formeCases = "H", parent=None): """initialisation de la fenetre""" super (EcranEditionDecors, self).__init__() ## self.pixGraphique = None ## self.formeCases = formeCases self.createWidgets() ## ## if decor == None: ## self.decor = Decor() ## self.accesCreation() ## else: ## self.decor = decor ## self.accesEdition() ## self.majAffichage("") ## def createWidgets(self): """construction de l'interface""" #construction de l'interface self.ui = Ui_edd_fenetre() self.ui.setupUi(self) ## self.connect(self.ui.enregistrerDecor, SIGNAL("clicked()"), self.enregistrer) ## self.connect(self.ui.annulerDecor, SIGNAL("clicked()"), self.annuler) ## self.connect(self.ui.supprimerDecor, SIGNAL("clicked()"), self.supprimer) ## self.connect(self.ui.idDecor, SIGNAL("textEdited(QString)"), self.majAffichage) ## self.connect(self.ui.nomDecor, SIGNAL("textEdited(QString)"), self.majAffichage) ## self.connect(self.ui.couleurDecor, SIGNAL("clicked()"), self.selectionCouleur) ## ## self.connect(self.ui.imgDecor, SIGNAL("textEdited(QString)"), self.majApercuImage) ## self.connect(self.ui.imgLogoDecor, SIGNAL("textEdited(QString)"), self.majApercuImage) ## self.connect(self.ui.imgAfficherDecor, SIGNAL("stateChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgPivoteDecor, SIGNAL("stateChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgMasqueDecor, SIGNAL("stateChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgTailleXDecor, SIGNAL("valueChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgTailleYDecor, SIGNAL("valueChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgPosXDecor, SIGNAL("valueChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgPosYDecor, SIGNAL("valueChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgRotationDecor, SIGNAL("valueChanged(int)"), self.majApercuImage) ## self.connect(self.ui.imgReinitDecor, SIGNAL("clicked()"), self.reinitImage) ## ## self.vueForme = VueEditionForme(self, self.formeCases) ## self.vueForme.creer() ## ## def accesEdition(self): ## """ouverture en mode edition""" ## self.ui.idDecor.setEnabled(True) ## ## self.ui.idDecor.setText(QString.fromUtf8(str(self.decor.id))) ## self.ui.nomDecor.setText(QString.fromUtf8(str(self.decor.nom))) ## if self.decor.couleur.isValid(): ## self.ui.affichageCouleurDecor.setStyleSheet("QLabel {backGround:%s}" %(self.decor.couleur.name())) ## ## self.ui.imgLogoDecor.setText(QString.fromUtf8(str(self.decor.logo))) ## if self.decor.img.nom != self.decor.logo: ## self.ui.imgDecor.setText(QString.fromUtf8(str(self.decor.img.nom))) ## self.ui.imgTailleXDecor.setValue(self.decor.img.kx) ## self.ui.imgTailleYDecor.setValue(self.decor.img.ky) ## self.ui.imgPosXDecor.setValue(self.decor.img.dx) ## self.ui.imgPosYDecor.setValue(self.decor.img.dy) ## self.ui.imgRotationDecor.setValue(self.decor.img.rotation) ## self.ui.imgPivoteDecor.setChecked(self.decor.img.pivote) ## self.ui.imgMasqueDecor.setChecked(self.decor.img.masqueAuto) ## ## self.ui.hauteurDecor.setValue(self.decor.hauteur) ## self.ui.couvertDecor.setChecked(self.decor.couvert) ## self.ui.escaladeDecor.setChecked(self.decor.escalade) ## self.ui.franchissablePiedDecor.setChecked(self.decor.franchissablePied) ## self.ui.franchissableVolDecor.setChecked(self.decor.franchissableVol) ## self.ui.bruleDecor.setChecked(self.decor.brule) ## ## self.vueForme.majForme(self.decor.formeDef[self.formeCases]) ## self.ui.supprimerDecor.setEnabled(True) ## self.ui.idDecor.setEnabled(False) ## self.majApercuImage() ## ## def accesCreation(self): ## """ouverture en mode creation""" ## self.ui.idDecor.setEnabled(True) ## self.ui.idDecor.setText(QString.fromUtf8(str(self.nouvelIdDecor()))) ## self.ui.idDecor.setEnabled(False) ## self.majApercuImage() ## ## def majAffichage(self, txt): ## """verifie la validite des saisies""" ## self.ui.enregistrerDecor.setEnabled(len(self.ui.idDecor.text().toUtf8()) > 0 and len(self.ui.nomDecor.text().toUtf8()) > 0) ## ## def nouvelIdDecor(self): ## """renvoie un identifiant pour un nouveau decor""" ## dicoSvg = afficheSvg("lib\\biblio\\decor") ## nouvelId = 1 ## while str(nouvelId) in dicoSvg.keys(): ## nouvelId += 1 ## return str(nouvelId) ## ## 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.affichageCouleurDecor.setStyleSheet("QLabel {backGround:%s}" %(nomCouleur)) ## self.decor.couleur = couleur ## ## def majApercuImage(self): ## """met a jour l'image sur l'apercu du pion""" ## if self.ui.imgAfficherDecor.isChecked(): ## if len(str(self.ui.imgDecor.text().toUtf8())) > 0: ## img = str(self.ui.imgDecor.text().toUtf8()) ## self.vueForme.majImage(img, self.ui.imgTailleXDecor.value() \ ## , self.ui.imgTailleYDecor.value() \ ## , self.ui.imgPosXDecor.value() \ ## , self.ui.imgPosYDecor.value() \ ## , self.ui.imgRotationDecor.value() \ ## , self.ui.imgPivoteDecor.isChecked() \ ## , self.ui.imgMasqueDecor.isChecked()) ## else: ## img = str(self.ui.imgLogoDecor.text().toUtf8()) ## self.vueForme.majImage(img) ## else: ## img = "" ## self.vueForme.majImage(img) ## ## ## def reinitImage(self): ## self.ui.imgTailleXDecor.setValue(10) ## self.ui.imgTailleYDecor.setValue(10) ## self.ui.imgPosXDecor.setValue(0) ## self.ui.imgPosYDecor.setValue(0) ## self.ui.imgRotationDecor.setValue(0) ## self.ui.imgPivoteDecor.setChecked(False) ## self.ui.imgMasqueDecor.setChecked(False) ## self.majApercuImage() ## ## def enregistrer(self): ## """enregistre le terrain cree/edite""" ## self.decor.id = str(self.ui.idDecor.text().toUtf8()) ## self.decor.nom = str(self.ui.nomDecor.text().toUtf8()) ## ## self.decor.logo = str(self.ui.imgLogoDecor.text().toUtf8()) ## if len(str(self.ui.imgDecor.text().toUtf8())) > 0: ## self.decor.img.nom = str(self.ui.imgDecor.text().toUtf8()) ## self.decor.img.kx = self.ui.imgTailleXDecor.value() ## self.decor.img.ky = self.ui.imgTailleYDecor.value() ## self.decor.img.dx = self.ui.imgPosXDecor.value() ## self.decor.img.dy = self.ui.imgPosYDecor.value() ## self.decor.img.rotation = self.ui.imgRotationDecor.value() ## self.decor.img.pivote = self.ui.imgPivoteDecor.isChecked() ## self.decor.img.masqueAuto = self.ui.imgMasqueDecor.isChecked() ## else: ## self.decor.img.nom = str(self.ui.imgLogoDecor.text().toUtf8()) ## self.decor.img.kx = 10 ## self.decor.img.ky = 10 ## self.decor.img.dx = 0 ## self.decor.img.dy = 0 ## self.decor.img.rotation = 0 ## self.decor.img.pivote = False ## self.decor.img.masqueAuto = self.ui.imgMasqueDecor.isChecked() ## ## self.decor.hauteur = int(self.ui.hauteurDecor.value()) ## self.decor.couvert = self.ui.couvertDecor.isChecked() ## self.decor.brule = self.ui.bruleDecor.isChecked() ## self.decor.franchissablePied = self.ui.franchissablePiedDecor.isChecked() ## self.decor.franchissableVol = self.ui.franchissableVolDecor.isChecked() ## self.decor.escalade = self.ui.escaladeDecor.isChecked() ## ## self.decor.formeDef[self.formeCases] = self.vueForme.formeDef() ## ## enregistrer(self.decor.id, self.decor, "lib\\biblio\\decor") ## self.decor = None ## self.done(1) ## ## def supprimer(self): ## """supprimer l'enregistrement de ce terrain""" ## supprSvg("lib\\biblio\\decor", self.decor.id) ## self.done(1) ## ## def annuler(self): ## """annule la creation/edition""" ## self.decor = None ## self.done(0)