This repository has been archived on 2021-09-15. You can view files and clone it, but cannot push or open issues or pull requests.
L3GestionParking/src/c/CreaParking.py

110 lines
3.7 KiB
Python
Raw Normal View History

2015-01-12 15:06:44 +00:00
from PyQt4 import QtGui
2015-01-13 23:39:12 +00:00
from src.m.Parking import Parking, TypePlace
2014-12-26 22:09:49 +00:00
from src.v.MyQWidget import MyQWidget
2014-12-26 16:38:51 +00:00
from src.v.Ui_CreaParking import Ui_CreaParking
2015-01-12 15:06:44 +00:00
2014-12-26 16:38:51 +00:00
__author__ = 'sidya'
class CreaParking:
2015-01-12 15:06:44 +00:00
"""
Controleur de cretion de parking
"""
2014-12-26 22:09:49 +00:00
def __init__(self, main):
2015-01-12 15:06:44 +00:00
self._main = main
self._main.activity("Debut Creation Parking", self._main.lvl.INFO)
2014-12-26 22:09:49 +00:00
2015-01-12 15:06:44 +00:00
self._w = MyQWidget(self._main)
self._ui = Ui_CreaParking()
self._ui.setupUi(self._w)
2014-12-26 22:09:49 +00:00
2015-01-12 15:06:44 +00:00
# connect
self._ui.btn_addRow.clicked.connect(self.addRow)
self._ui.btn_rmRow.clicked.connect(self.rmRow)
self._ui.btn_valider.clicked.connect(self.valider)
self._ui.btn_annuler.clicked.connect(self.annuler)
2014-12-26 22:09:49 +00:00
2015-01-12 15:49:41 +00:00
# Validator
2015-01-12 15:06:44 +00:00
#self._ui.lineEdit_nbNiv.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp('[0-9]*')))
2014-12-26 22:09:49 +00:00
2015-01-12 15:06:44 +00:00
self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount())
2014-12-26 22:09:49 +00:00
self.showWindow()
2015-01-12 15:06:44 +00:00
def majNbPlaceTotal(self):
nb = 0
for i in range(0, self._ui.tableWidget.rowCount()):
nb += int(self._ui.tableWidget.itemAt(i, 3).text())
self._ui.nbPlacesTotal.setText(str(nb))
2014-12-26 22:09:49 +00:00
def addRow(self):
2015-01-12 15:06:44 +00:00
"""
Ajoute une ligne de creation de place
:return:
"""
self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount())
2014-12-26 22:09:49 +00:00
def rmRow(self):
2015-01-12 15:06:44 +00:00
"""
Enleve une ligne de creation de place
:return:
"""
self._ui.tableWidget.removeRow(self._ui.tableWidget.rowCount() - 1)
2014-12-26 22:09:49 +00:00
def annuler(self):
2015-01-12 15:06:44 +00:00
"""
Gestion annulation creation parking
:return:
"""
result = QtGui.QMessageBox.question(self._w,
"Confirmer Fermeture...",
"Etes vous sur de vouloir abandonner ?\n"
"(Toute modification non enregistrée seras perdu)",
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
self._main.activity("Annulation Creation Parking", self._main.lvl.INFO)
2015-02-04 13:20:39 +00:00
#self._w.hide()
2015-01-12 15:06:44 +00:00
self._main.showWindow()
2014-12-26 22:09:49 +00:00
def valider(self):
2015-01-12 15:06:44 +00:00
"""
Gestion validation de formulaire de creation de parking.
:return:
"""
2015-01-12 15:49:41 +00:00
# try:
2015-01-13 23:39:12 +00:00
l = []
2015-01-12 15:36:26 +00:00
for i in range(0, self._ui.tableWidget.rowCount()):
2015-02-04 13:20:39 +00:00
l.append(TypePlace(None, int(self._ui.tableWidget.item(i, 0).text()),
int(self._ui.tableWidget.item(i, 1).text()),
int(self._ui.tableWidget.item(i, 2).text()),
float(self._ui.tableWidget.item(i, 3).text()),
int(self._ui.tableWidget.item(i, 4).text())))
p = Parking(None, self._ui.lineEdit_nom.text(), l)
2015-01-13 23:39:12 +00:00
self._main.activity("Ajout:" + str(p), self._main.lvl.INFO)
2015-01-12 15:36:26 +00:00
self._w.hide()
self._main.showWindow()
#except Exception as e:
# self._main.activity("Erreur lors de la creations du Parking \n" + str(e), self._main.lvl.FAIL)
# self.error()
2014-12-26 22:09:49 +00:00
def showWindow(self):
2015-01-12 15:06:44 +00:00
"""
Gestion affichage vue Creation de Parking
:return:
"""
self._w.show()
self.__child = None # supprime l'eventuel widget enfant
self._w.focusWidget() # reprend le focus sur la fenetre
def error(self):
"""
Qdialog message erreur
:return:
"""
QtGui.QMessageBox.warning(self._w,
"Erreur ...",
"Erreur lors de la création du parking ...")
self._w.hide()
self._main.showWindow()