Implementation parking creation

This commit is contained in:
sidya82
2014-12-26 23:09:49 +01:00
parent 27f6d954ea
commit 841eb620c6
14 changed files with 504 additions and 239 deletions

View File

@ -1,12 +1,70 @@
from PyQt4 import QtGui
from PyQt4 import QtGui, QtCore
from src.m.Parking import Parking
from src.m.Place import ListeTypePlace
from src.v.MyQWidget import MyQWidget
from src.v.Ui_CreaParking import Ui_CreaParking
__author__ = 'sidya'
class CreaParking:
def __init__(self):
self.w = QtGui.QWidget()
self.ui = Ui_CreaParking()
self.ui.setupUi(self.w)
self.w.show()
def __init__(self, main):
self.__main = main
self.__main.activity("Debut Creation Parking", self.__main.lvl.INFO)
self.__row = 0
self.__w = MyQWidget(self.__main)
self.__ui = Ui_CreaParking()
self.__ui.setupUi(self.__w)
#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)
#Validator
self.__ui.lineEdit_nbNiv.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp('[0-9]*')))
self.showWindow()
def insererTable(self,hauteur,longueur,nombre) :
self.__typePlacesparNiveau.add(hauteur,longueur,nombre)
def addRow(self):
self.__ui.tableWidget.insertRow(self.__row)
self.__row += 1
def rmRow(self):
self.__ui.tableWidget.removeRow(self.__ui.tableWidget.rowCount()-1)
self.__row -= 1
def annuler(self):
self.__main.activity("Annulation Creation Parking", self.__main.lvl.INFO)
self.__w.hide()
self.__main.showWindow()
def valider(self):
try:
l = ListeTypePlace()
for i in range(0,self.__ui.tableWidget.rowCount()):
l.add(int(self.__ui.tableWidget.itemAt(i,0).text()), int(self.__ui.tableWidget.itemAt(i,1).text()),
int(self.__ui.tableWidget.itemAt(i,3).text()))
self.__main.addParking(Parking(
int(self.__ui.lineEdit_nbNiv.text()),
l,
self.__ui.lineEdit_nom.text()))
self.__main.activity("Ajout Parking : detail", self.__main.lvl.INFO)
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.annuler()
def showWindow(self):
self.__w.show()
self.__child = None #supprime l'eventuel widget enfant
self.__w.focusWidget() # reprend le focus sur la fenetre

View File

@ -1,10 +1,14 @@
import sys
from PyQt4 import QtGui
from PyQt4 import QtGui, QtCore
from PyQt4.QtCore import QTranslator, QLocale
from src.c.log.log import Log
from src.c.log.log import lvl
from src.c.CreaParking import CreaParking
from src.c.log.log import Log
from src.m.Parking import Parking, ListeTypePlace
from src.v.MyQMainWindow import MyQMainWindow
from src.v.Ui_MainWindow import Ui_MainWindow
__author__ = 'sidya'
@ -13,7 +17,8 @@ __author__ = 'sidya'
class Main:
def __init__(self):
# Init des logs
self.log = Log()
self.lvl = lvl()
self.__log = Log()
l = ListeTypePlace()
l.add(10, 11, 5)
@ -27,25 +32,27 @@ class Main:
app = QtGui.QApplication(sys.argv)
self.view = QtGui.QMainWindow()
self.ui = Ui_MainWindow()
self.ui.setupUi(self.view)
self.__view = MyQMainWindow()
self.__ui = Ui_MainWindow()
self.__ui.setupUi(self.__view)
#connect
self.ui.comboBox.currentIndexChanged['QString'].connect(self.selectParking)
self.ui.btn_creer.clicked.connect(self.creerParking)
self.__ui.comboBox.currentIndexChanged['QString'].connect(self.selectParking)
self.__ui.btn_creer.clicked.connect(self.creerParking)
#Chargement activité
self.loadLastActivity()
self.majListeParking()
self.view.show()
self.showWindow()
sys.exit(app.exec_())
def activity(self, msg, lvl):
self.log.printL(msg, lvl)
self.ui.addItemActivite(self.activite.readlines()[-1])
self.__log.printL(msg, lvl)
self.addItemActivite(self.activite.readlines()[-1])
def loadLastActivity(self):
try:
@ -57,32 +64,41 @@ class Main:
liste = self.activite.readlines()
for l in [l[:-1] for l in liste[-11:-1]]:
self.ui.addItemActivite(l)
self.addItemActivite(l)
def addItemActivite(self, line):
self.log.addItem(line)
self.__ui.listWidget.addItem(line)
def majListeParking(self):
self.ui.comboBox.clear()
self.ui.comboBox.addItem("Selectionner un parking")
self.__ui.comboBox.clear()
self.__ui.comboBox.addItem("Selectionner un parking")
for p in self.__parkings:
self.ui.comboBox.addItem(p.nom)
self.__ui.comboBox.addItem(p.nom)
def selectParking(self):
self.ui.nom.clear()
self.ui.niveau.clear()
self.ui.placesParNiveau.clear()
self.ui.placesDispo.clear()
self.ui.placesSuperAbo.clear()
if(self.ui.comboBox.currentIndex() != 0) :
self.ui.nom.setText(self.__parkings[self.ui.comboBox.currentIndex()-1].nom)
self.ui.niveau.setText(str(self.__parkings[self.ui.comboBox.currentIndex()-1].nbNiveau))
self.ui.placesParNiveau.setText(str(self.__parkings[self.ui.comboBox.currentIndex()-1].nbPlacesParNiveau))
self.ui.placesDispo.setText(str(self.__parkings[self.ui.comboBox.currentIndex()-1].nbPlacesLibresParking))
self.ui.placesSuperAbo.setText("lol")
self.__ui.nom.clear()
self.__ui.niveau.clear()
self.__ui.placesParNiveau.clear()
self.__ui.placesDispo.clear()
self.__ui.placesSuperAbo.clear()
if(self.__ui.comboBox.currentIndex() != 0) :
self.__ui.nom.setText(self.__parkings[self.__ui.comboBox.currentIndex()-1].nom)
self.__ui.niveau.setText(str(self.__parkings[self.__ui.comboBox.currentIndex()-1].nbNiveau))
self.__ui.placesParNiveau.setText(str(self.__parkings[self.__ui.comboBox.currentIndex()-1].nbPlacesParNiveau))
self.__ui.placesDispo.setText(str(self.__parkings[self.__ui.comboBox.currentIndex()-1].nbPlacesLibresParking))
self.__ui.placesSuperAbo.setText("lol")
def creerParking(self):
self.view.hide()
CreaParking()
self.__view.hide()
self.__widgetCourant = CreaParking(self)
def addParking(self,parking):
self.__parkings.append(parking)
def showWindow(self):
self.majListeParking()
self.__view.show()
self.__widgetCourant = None #supprime eventuel widget
self.__view.focusWidget() # reprend le focus sur la fenetre principal

View File

@ -82,8 +82,6 @@ class Log(object):
pMsg = bcolors.DEBUG + str(pMsg) + bcolors.ENDC
elif pLvl == lvl.INFO :
pMsg = bcolors.INFO + str(pMsg) + bcolors.ENDC
elif pLvl == lvl.SUCCESS :
pMsg = bcolors.SUCCESS + str(pMsg) + bcolors.ENDC
elif pLvl == lvl.WARNING :
pMsg = bcolors.WARNING + str(pMsg) + bcolors.ENDC
elif pLvl == lvl.FAIL :

View File

@ -93,6 +93,8 @@ class ListeTypePlace:
return self.l
class Placement:
def __init__(self,debut,fin):
self.debut = debut

16
src/v/MyQMainWindow.py Normal file
View File

@ -0,0 +1,16 @@
from PyQt4 import QtGui
__author__ = 'sidya'
class MyQMainWindow(QtGui.QMainWindow):
def closeEvent(self, event):
result = QtGui.QMessageBox.question(self,
"Confirmer Fermeture...",
"Etes vous sur de vouloir quitter ?\n"
"(Toute modification non enregistrée seras perdu)",
QtGui.QMessageBox.Yes| QtGui.QMessageBox.No)
event.ignore()
if result == QtGui.QMessageBox.Yes:
event.accept()

21
src/v/MyQWidget.py Normal file
View File

@ -0,0 +1,21 @@
from PyQt4 import QtGui
__author__ = 'sidya'
class MyQWidget(QtGui.QWidget):
def __init__(self, main):
super(MyQWidget, self).__init__()
self.__main = main
def closeEvent(self, event):
result = QtGui.QMessageBox.question(self,
"Confirmer Fermeture...",
"Etes vous sur de vouloir abandonner ?\n"
"(Toute modification non enregistrée seras perdu)",
QtGui.QMessageBox.Yes| QtGui.QMessageBox.No)
event.ignore()
if result == QtGui.QMessageBox.Yes:
event.accept()
self.__main.showWindow()

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'creationParking.ui'
#
# Created: Fri Dec 26 17:33:19 2014
# Created: Fri Dec 26 21:22:48 2014
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -24,80 +24,96 @@ except AttributeError:
return QtGui.QApplication.translate(context, text, disambig)
class Ui_CreaParking(object):
def setupUi(self, Form):
Form.setObjectName(_fromUtf8("Form"))
Form.resize(400, 300)
self.tableWidget = QtGui.QTableWidget(Form)
self.tableWidget.setGeometry(QtCore.QRect(30, 110, 331, 101))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
self.tableWidget.setColumnCount(0)
self.tableWidget.setRowCount(0)
self.layoutWidget = QtGui.QWidget(Form)
self.layoutWidget.setGeometry(QtCore.QRect(50, 10, 291, 89))
def setupUi(self, CreaParking):
CreaParking.setObjectName(_fromUtf8("CreaParking"))
CreaParking.resize(400, 300)
self.layoutWidget = QtGui.QWidget(CreaParking)
self.layoutWidget.setGeometry(QtCore.QRect(90, 270, 201, 29))
self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget)
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.layoutWidget)
self.horizontalLayout_2.setMargin(0)
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.btn_annuler = QtGui.QPushButton(self.layoutWidget)
self.btn_annuler.setObjectName(_fromUtf8("btn_annuler"))
self.horizontalLayout_2.addWidget(self.btn_annuler)
self.btn_valider = QtGui.QPushButton(self.layoutWidget)
self.btn_valider.setObjectName(_fromUtf8("btn_valider"))
self.horizontalLayout_2.addWidget(self.btn_valider)
self.layoutWidget1 = QtGui.QWidget(CreaParking)
self.layoutWidget1.setGeometry(QtCore.QRect(60, 230, 275, 25))
self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
self.horizontalLayout_3 = QtGui.QHBoxLayout(self.layoutWidget1)
self.horizontalLayout_3.setMargin(0)
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.label_4 = QtGui.QLabel(self.layoutWidget1)
self.label_4.setObjectName(_fromUtf8("label_4"))
self.horizontalLayout_3.addWidget(self.label_4)
self.nbPlacesTotal = QtGui.QLabel(self.layoutWidget1)
self.nbPlacesTotal.setObjectName(_fromUtf8("nbPlacesTotal"))
self.horizontalLayout_3.addWidget(self.nbPlacesTotal)
self.tableWidget = QtGui.QTableWidget(CreaParking)
self.tableWidget.setGeometry(QtCore.QRect(10, 100, 301, 121))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
self.tableWidget.setColumnCount(3)
self.tableWidget.setRowCount(0)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
self.btn_addRow = QtGui.QPushButton(CreaParking)
self.btn_addRow.setGeometry(QtCore.QRect(330, 120, 41, 27))
self.btn_addRow.setObjectName(_fromUtf8("btn_addRow"))
self.label_3 = QtGui.QLabel(CreaParking)
self.label_3.setGeometry(QtCore.QRect(50, 70, 135, 24))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.btn_rmRow = QtGui.QPushButton(CreaParking)
self.btn_rmRow.setGeometry(QtCore.QRect(330, 160, 41, 27))
self.btn_rmRow.setObjectName(_fromUtf8("btn_rmRow"))
self.widget = QtGui.QWidget(CreaParking)
self.widget.setGeometry(QtCore.QRect(52, 12, 291, 56))
self.widget.setObjectName(_fromUtf8("widget"))
self.horizontalLayout = QtGui.QHBoxLayout(self.widget)
self.horizontalLayout.setMargin(0)
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
self.verticalLayout = QtGui.QVBoxLayout()
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.label = QtGui.QLabel(self.layoutWidget)
self.label = QtGui.QLabel(self.widget)
self.label.setObjectName(_fromUtf8("label"))
self.verticalLayout.addWidget(self.label)
self.label_2 = QtGui.QLabel(self.layoutWidget)
self.label_2 = QtGui.QLabel(self.widget)
self.label_2.setObjectName(_fromUtf8("label_2"))
self.verticalLayout.addWidget(self.label_2)
self.label_3 = QtGui.QLabel(self.layoutWidget)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.verticalLayout.addWidget(self.label_3)
self.horizontalLayout.addLayout(self.verticalLayout)
self.verticalLayout_2 = QtGui.QVBoxLayout()
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.lineEdit_nom = QtGui.QLineEdit(self.layoutWidget)
self.lineEdit_nom = QtGui.QLineEdit(self.widget)
self.lineEdit_nom.setObjectName(_fromUtf8("lineEdit_nom"))
self.verticalLayout_2.addWidget(self.lineEdit_nom)
self.lineEdit_nbNiv = QtGui.QLineEdit(self.layoutWidget)
self.lineEdit_nbNiv = QtGui.QLineEdit(self.widget)
self.lineEdit_nbNiv.setObjectName(_fromUtf8("lineEdit_nbNiv"))
self.verticalLayout_2.addWidget(self.lineEdit_nbNiv)
self.btn_ajouterPlaces = QtGui.QPushButton(self.layoutWidget)
self.btn_ajouterPlaces.setObjectName(_fromUtf8("btn_ajouterPlaces"))
self.verticalLayout_2.addWidget(self.btn_ajouterPlaces)
self.horizontalLayout.addLayout(self.verticalLayout_2)
self.layoutWidget1 = QtGui.QWidget(Form)
self.layoutWidget1.setGeometry(QtCore.QRect(90, 270, 201, 29))
self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.layoutWidget1)
self.horizontalLayout_2.setMargin(0)
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
self.pushButton_2 = QtGui.QPushButton(self.layoutWidget1)
self.pushButton_2.setObjectName(_fromUtf8("pushButton_2"))
self.horizontalLayout_2.addWidget(self.pushButton_2)
self.pushButton = QtGui.QPushButton(self.layoutWidget1)
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.horizontalLayout_2.addWidget(self.pushButton)
self.layoutWidget2 = QtGui.QWidget(Form)
self.layoutWidget2.setGeometry(QtCore.QRect(60, 230, 275, 25))
self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2"))
self.horizontalLayout_3 = QtGui.QHBoxLayout(self.layoutWidget2)
self.horizontalLayout_3.setMargin(0)
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
self.label_4 = QtGui.QLabel(self.layoutWidget2)
self.label_4.setObjectName(_fromUtf8("label_4"))
self.horizontalLayout_3.addWidget(self.label_4)
self.nbPlacesTotal = QtGui.QLabel(self.layoutWidget2)
self.nbPlacesTotal.setObjectName(_fromUtf8("nbPlacesTotal"))
self.horizontalLayout_3.addWidget(self.nbPlacesTotal)
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
self.retranslateUi(CreaParking)
QtCore.QMetaObject.connectSlotsByName(CreaParking)
def retranslateUi(self, Form):
Form.setWindowTitle(_translate("Form", "Creation Parking", None))
self.label.setText(_translate("Form", "Nom", None))
self.label_2.setText(_translate("Form", "Nombre de niveaux :", None))
self.label_3.setText(_translate("Form", "Places par niveau :", None))
self.btn_ajouterPlaces.setText(_translate("Form", "Ajouter places", None))
self.pushButton_2.setText(_translate("Form", "Annuler", None))
self.pushButton.setText(_translate("Form", "Valider", None))
self.label_4.setText(_translate("Form", "Nombre Places Total : ", None))
self.nbPlacesTotal.setText(_translate("Form", "TextLabel", None))
def retranslateUi(self, CreaParking):
CreaParking.setWindowTitle(_translate("CreaParking", "Creation Parking", None))
self.btn_annuler.setText(_translate("CreaParking", "Annuler", None))
self.btn_valider.setText(_translate("CreaParking", "Valider", None))
self.label_4.setText(_translate("CreaParking", "Nombre Places Total : ", None))
self.nbPlacesTotal.setText(_translate("CreaParking", "TextLabel", None))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("CreaParking", "Hauteur", None))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("CreaParking", "Longueur", None))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("CreaParking", "Nombre", None))
self.btn_addRow.setText(_translate("CreaParking", "+", None))
self.label_3.setText(_translate("CreaParking", "Places par niveau :", None))
self.btn_rmRow.setText(_translate("CreaParking", "-", None))
self.label.setText(_translate("CreaParking", "Nom :", None))
self.label_2.setText(_translate("CreaParking", "Nombre de niveaux :", None))