''' boites de dialogues ''' from PyQt4.QtCore import SIGNAL, Qt, QString from PyQt4.QtGui import QDialog from lib.ui.ecran_confirmation import Ui_cfrm_fenetre from lib.ui.ecran_saisie import Ui_saisi_fenetre from lib.ui.ecran_message import Ui_msg_fenetre def dmConfirmer(txt): """affiche une boite de dialogue pour demander confirmation d'une action""" ecran = EcranConfirmation() ecran.afficher(txt) ecran.show() ecran.exec_() retour = ecran.resultat() del ecran return retour class EcranConfirmation(QDialog): """boite de dialogue d'affichage de texte longs""" def __init__(self, parent=None): """initialisation de la fenetre - le controle source est le widget a remettre a jour avec le texte a la fermeture""" super (EcranConfirmation, self).__init__() self._resultat = False self.createWidgets() def createWidgets(self): """construction de l'interface""" self.ui = Ui_cfrm_fenetre() self.ui.setupUi(self) self.connect(self.ui.cfrm_non, SIGNAL("clicked()"), self.non, Qt.UniqueConnection) self.connect(self.ui.cfrm_oui, SIGNAL("clicked()"), self.oui, Qt.UniqueConnection) def afficher(self, texte = "Confirmer?"): self.ui.cfrm_txt.setText(QString.fromUtf8(texte)) def resultat(self): return self._resultat def oui(self): self._resultat = True self.done(1) def non(self): self.done(0) def dmSaisie(txt): """affiche une boite de dialogue dediee a la saisie d'un texte""" ecran = EcranSaisie() ecran.afficher(txt) ecran.show() ecran.exec_() retour = ecran.resultat() del ecran return retour class EcranSaisie(QDialog): """boite de dialogue d'affichage de texte longs""" def __init__(self, parent=None): """initialisation de la fenetre - le controle source est le widget a remettre a jour avec le texte a la fermeture""" super (EcranSaisie, self).__init__() self._resultat = "" self.createWidgets() def createWidgets(self): """construction de l'interface""" self.ui = Ui_saisi_fenetre() self.ui.setupUi(self) self.connect(self.ui.saisi_annuler, SIGNAL("clicked()"), self.annuler, Qt.UniqueConnection) self.connect(self.ui.saisi_ok, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection) self.ui.saisi_ok.setShortcut("Enter") self.ui.saisi_reponse.setFocus() def afficher(self, texte = "Saisir votre texte ici:"): self.ui.saisi_txt.setText(QString.fromUtf8(texte)) def resultat(self): self._resultat = self.ui.saisi_reponse.text().toUtf8() return self._resultat def ok(self): self.done(1) def annuler(self): self._resultat = "" self.done(0) def dmMessage(txt): """affiche une msgbox""" ecran = EcranMessage() ecran.afficher(txt) ecran.show() ecran.exec_() del ecran class EcranMessage(QDialog): """boite de dialogue d'affichage de texte longs""" def __init__(self, parent=None): """initialisation de la fenetre - le controle source est le widget a remettre a jour avec le texte a la fermeture""" super (EcranMessage, self).__init__() self._resultat = "" self.createWidgets() def createWidgets(self): """construction de l'interface""" self.ui = Ui_msg_fenetre() self.ui.setupUi(self) self.connect(self.ui.msg_ok, SIGNAL("clicked()"), self.ok, Qt.UniqueConnection) self.ui.msg_ok.setShortcut("Enter") def afficher(self, texte = "Message"): self.ui.msg_txt.majTexte(texte) def ok(self): self.done(1)