| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- '''
- boites de dialogues
- '''
- from PyQt4.QtCore import SIGNAL, Qt, QString
- from PyQt4.QtGui import QDialog
- from lib.ui.ecran_altitude import Ui_alt_fenetre
- from lib.ui.ecran_confirmation import Ui_cfrm_fenetre
- from lib.ui.ecran_message import Ui_msg_fenetre
- from lib.ui.ecran_saisie import Ui_saisi_fenetre
- from lib.ui.ecran_vol import Ui_vol_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)
- def dmVol(actuelle, maxi = None):
- fen = EcranVol(actuelle, maxi)
- fen.show()
- fen.exec_()
- return fen.resultat()
- class EcranVol(QDialog):
- """interface de gestion du vol d'un pion
- renvoie la nouvelle altitude du pion"""
- def __init__(self, actuelle = 0, maxi = None, parent=None):
- """initialisation de la fenetre"""
- super (EcranVol, self).__init__(parent)
- self._resultat = 0
- self.createWidgets()
- self.ouverture(actuelle, maxi)
-
- def createWidgets(self):
- """construction de l'interface"""
- #construction de l'interface
- self.ui = Ui_vol_fenetre()
- self.ui.setupUi(self)
- self.connect(self.ui.vol_ok, SIGNAL("clicked()"), self.ok)
- self.ui.vol_valeur.selectAll()
-
- def ouverture(self, actuelle, maxi):
- """ouverture en mode edition"""
- if maxi != None:
- self.ui.vol_valeur.setMaximum(maxi)
- if actuelle > maxi: actuelle = maxi
- self.ui.vol_valeur.setValue(actuelle)
- self._resultat = actuelle
-
- def resultat(self):
- return self._resultat
- def ok(self):
- """enregistre le terrain cree/edite"""
- self._resultat = self.ui.vol_valeur.value()
- self.done(1)
- def keyPressEvent(self, event):
- if event.key() == Qt.Key_Return:
- self.ok()
- def dmAltitude(maxi = None):
- fen = EcranAltitude(maxi)
- fen.show()
- fen.exec_()
- return fen.resultat()
- class EcranAltitude(QDialog):
- """interface de gestion du vol d'un pion
- renvoie la nouvelle altitude du pion"""
- def __init__(self, maxi, parent=None):
- """initialisation de la fenetre"""
- super (EcranAltitude, self).__init__(parent)
- self._resultat = 0
- self._maxi = maxi
- self.createWidgets()
-
- def createWidgets(self):
- """construction de l'interface"""
- #construction de l'interface
- self.ui = Ui_alt_fenetre()
- self.ui.setupUi(self)
- if self._maxi:
- self.ui.alt_valeur.setMaximum(self._maxi)
- self.connect(self.ui.alt_ok, SIGNAL("clicked()"), self.ok)
- self.ui.alt_valeur.selectAll()
- def resultat(self):
- return self._resultat
- def ok(self):
- """enregistre le terrain cree/edite"""
- self._resultat = self.ui.alt_valeur.value()
- self.done(1)
|