#from __future__ import unicode_literals # -*- coding: utf-8 -*- from __future__ import division import os, sys from PyQt4.QtCore import * from PyQt4.QtGui import * from Objet import Objet from ui.ecran_editionObjet import Ui_eo_fenetre import regles class EcranEditionObjet(QDialog): """interface de creation/edition de terrains""" def __init__(self, objet=None, parent=None): """initialisation de la fenetre""" super (EcranEditionObjet, self).__init__(parent) self._resultat = objet self.createWidgets() self.ouverture(objet) def createWidgets(self): """construction de l'interface""" #construction de l'interface self.ui = Ui_eo_fenetre() self.ui.setupUi(self) self.setModal(True) self.connect(self.ui.eo_enregistrer, SIGNAL("clicked()"), self.enregistrer) self.connect(self.ui.eo_annuler, SIGNAL("clicked()"), self.annuler) self.connect(self.ui.eo_supprimer, SIGNAL("clicked()"), self.supprimer) self.connect(self.ui.eo_ajouter, SIGNAL("clicked()"), self.ajouter) self.connect(self.ui.eo_retirer, SIGNAL("clicked()"), self.retirer) self.connect(self.ui.eo_nom, SIGNAL("textEdited(QString)"), self.majAffichage) def ouverture(self, objet): """ouverture en mode edition""" if objet: self.ui.eo_nom.majTexte(objet.nom) self.ui.eo_quantite.setValue(objet.quantite) self.ui.eo_poids.setValue(objet.poids) self.ui.eo_valeur.setValue(objet.valeur) self.ui.eo_monnaie.majTexte(regles.nomMonnaie()) self.ui.eo_type.setCurrentIndex(objet.typeObjet) self.ui.eo_consommable.setChecked(objet.estConsommable) else: self.ui.eo_ajouter.setVisible(False) self.ui.eo_retirer.setVisible(False) self.ui.eo_supprimer.setVisible(False) self.majAffichage() def objet(self): objet = Objet() objet.nom = self.ui.eo_nom.texte() objet.quantite = self.ui.eo_quantite.value() objet.type = self.ui.eo_type.currentIndex() objet.estConsommable = self.ui.eo_consommable.isChecked() objet.poids = self.ui.eo_poids.value() objet.valeur = self.ui.eo_valeur.value() return objet def resultat(self): return self._resultat def enregistrer(self): """enregistre le terrain cree/edite""" self._resultat = self.objet() self.done(1) def supprimer(self): """supprimer l'enregistrement de ce terrain""" self._resultat = None self.done(1) def annuler(self): """annule la creation/edition""" self.done(0) def majAffichage(self): """verifie la validite des saisies""" self.ui.eo_enregistrer.setEnabled(len(self.ui.eo_nom.texte()) > 0) def ajouter(self): pass def retirer(self): pass if __name__ == "__main__": app = QApplication(sys.argv) ecran = EcranEditionObjet() ecran.show() r = app.exec_() exit(r)