From 1b34dd5c6a73da81363919842719b9225945abfd Mon Sep 17 00:00:00 2001 From: sidya82 Date: Mon, 12 Jan 2015 16:06:44 +0100 Subject: [PATCH] MAj --- .idea/gestionParking.iml | 5 +- .idea/misc.xml | 3 +- src/Launchme.py | 31 ++- src/c/Acces.py | 8 +- src/c/Borne.py | 164 +++++++++++ src/c/CreaParking.py | 122 +++++--- src/c/DetailsPlaces.py | 32 +++ src/c/Main.py | 74 +++-- src/c/Teleporteur.py | 15 +- src/c/log/log.py | 22 +- src/c/test/TestAcces.py | 2 - src/c/test/TestTeleporteur.py | 2 +- src/m/Client.py | 85 ++++++ src/m/ConnecxionBDD.py | 25 ++ src/m/ListeTypePlace.py | 23 ++ src/m/Parking.py | 84 +++--- src/m/Place.py | 109 +++----- src/m/Placement.py | 50 ++++ src/m/TypeAbonnement.py | 5 + src/m/TypePlace.py | 22 ++ src/m/Voiture.py | 23 ++ src/m/place.py | 59 ---- src/m/table.sql | 27 ++ src/m/test/TestParking.py | 16 +- src/m/test/TestPlace.py | 2 +- src/m/test/test.py | 0 src/v/Camera.py | 10 +- src/v/MyQMainWindow.py | 18 +- src/v/MyQWidget.py | 12 +- src/v/{test/__init__.py => Ticket.py} | 1 + src/v/Ui_Borne.py | 213 ++++++++------ src/v/Ui_CreaParking.py | 40 ++- src/v/Ui_MainWindow.py | 53 ++-- src/v/test/TestBorne.py | 1 - src/v/test/TestCamera.py | 14 - src/v/test/TestPanneau.py | 4 - ui/borne.py | 171 ++++++++---- ui/borne.ui | 387 ++++++++++++++++++-------- ui/creaParking.py | 36 +-- ui/creationParking.ui | 45 +-- ui/main.py | 53 ++-- ui/main.ui | 68 ++--- 42 files changed, 1392 insertions(+), 744 deletions(-) create mode 100644 src/c/Borne.py create mode 100644 src/c/DetailsPlaces.py create mode 100644 src/m/Client.py create mode 100644 src/m/ConnecxionBDD.py create mode 100644 src/m/ListeTypePlace.py create mode 100644 src/m/Placement.py create mode 100644 src/m/TypeAbonnement.py create mode 100644 src/m/TypePlace.py create mode 100644 src/m/Voiture.py delete mode 100644 src/m/place.py create mode 100644 src/m/table.sql create mode 100644 src/m/test/test.py rename src/v/{test/__init__.py => Ticket.py} (95%) delete mode 100644 src/v/test/TestBorne.py delete mode 100644 src/v/test/TestCamera.py delete mode 100644 src/v/test/TestPanneau.py diff --git a/.idea/gestionParking.iml b/.idea/gestionParking.iml index 68af2a8..6e81b8d 100644 --- a/.idea/gestionParking.iml +++ b/.idea/gestionParking.iml @@ -2,7 +2,8 @@ - + - \ No newline at end of file + + diff --git a/.idea/misc.xml b/.idea/misc.xml index b958dd0..10c2e8c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,5 @@ - \ No newline at end of file + + diff --git a/src/Launchme.py b/src/Launchme.py index c8eb4a2..0f28a7c 100644 --- a/src/Launchme.py +++ b/src/Launchme.py @@ -1,8 +1,35 @@ +import sqlite3 from src.c.Main import Main - +import sqlite3 __author__ = 'sidya' +class connexionBDD : + def __init__(self): + try: + self.__conn = sqlite3.connect("BD.sql3") + self.__cur = self.__conn.cursor() + except Exception as e : + pass # later + + def seDeconnecter(self): + self.__cur.close() + self.__conn.close() + + def execute(self, req): + try: + r = self.__cur.execute(req) + self.__conn.commit() + except Exception as e : + pass # later + return r + + + def lastId(self): + return self.__cur.lastrowid + +conn = connexionBDD + if __name__ == "__main__": - #lancement du controleur principal + # lancement du controleur principal main = Main() diff --git a/src/c/Acces.py b/src/c/Acces.py index 78be743..e0a71be 100644 --- a/src/c/Acces.py +++ b/src/c/Acces.py @@ -1,12 +1,14 @@ from src.v import Ui_Panneau, Ui_Borne, Camera -from src.c import Teleporteur -from src.m import Parking, Place +from src.m import Parking __author__ = 'sidya' class Acces: + """ + Controleur Acces + """ def __init__(self): self.__parking = Parking() self.__camera = Camera() @@ -19,6 +21,6 @@ class Acces: def majPanneau(self): self.__panneau.afficherNbPlaceDisponible() - def lancerProcedureEntree(self,client): + def lancerProcedureEntree(self, client): self.__borne.afficher("Inserer votre carte ou valider") diff --git a/src/c/Borne.py b/src/c/Borne.py new file mode 100644 index 0000000..5de0181 --- /dev/null +++ b/src/c/Borne.py @@ -0,0 +1,164 @@ +from src.c.Teleporteur import Teleporteur +from src.m.Client import Client +from src.m.Place import Placement +from src.m.TypeAbonnement import TypeAbonnement +from src.v.Camera import Camera +from PyQt4 import QtGui +from src.v.MyQWidget import MyQWidget +from src.v.Ui_Borne import Ui_Borne +__author__ = 'sidya' + + +class Borne: + """ + Controleur de la vue de la borne permettant l'accès au parking + """ + def __init__(self, main, parking): + self.__parking = parking + self.__main = main + self.__main.activity("Affichage Borne", self.__main.lvl.INFO) + + self.__w = MyQWidget(self.__main) + self.__ui = Ui_Borne() + self.__ui.setupUi(self.__w) + + # connect + self.__ui.btn_quitter.clicked.connect(self.quitter) + self.__ui.btn_Voiture.clicked.connect(self.newVoiture) + self.__ui.btn_annuler.clicked.connect(self.nonVoiture) + self.__ui.btn_validerID.clicked.connect(self.identification) + self.__ui.btn_valider_abo.clicked.connect(self.abo) + self.__ui.btn_garer.clicked.connect(self.garer) + self.__ui.btn_recuperer.clicked.connect(self.recuperer) + + + #Validator + + + self.__ui.nomParking = parking.nom + self.nonVoiture() + self.showWindow() + + + + def nonVoiture(self): + """ + Met en etat initial de départ sans voiture + :return: + """ + self.__c = None + self.__ui.box_abo.setDisabled(True) + self.__ui.box_garer.setDisabled(True) + self.__ui.box_id.setDisabled(True) + self.__ui.box_recup.setDisabled(False) + + def newVoiture(self): + """ + Meten etat d'arrive de voiture detecte par la camera + :return: + """ + self.v_actuel = Camera.donnerVoiture() + self.__ui.box_abo.setDisabled(False) + self.__ui.box_garer.setDisabled(False) + self.__ui.box_id.setDisabled(False) + self.__ui.box_recup.setDisabled(True) + self.__ui.label_aff.setText("Bienvenue !") + + + + def identification(self): + """ + Gestion de l'identification a partir d'un abo a partir de son id (lineedit) + :return: + """ + self.__c = Client.get(self.__ui.lineEdit_id.text()) + if self.__c != None : + self.__ui.label_aff.setText("Bonjour " + str(self.__c.nom)+ " " + str(self.__c.prenom)) + #self.__ui.labIdClient.setText(str(self.__c)) + self.__ui.box_id.setDisabled(True) + else : + self.__ui.label_aff.setText("Echec identification") + self.__ui.labIdClient.setText("Non identifier") + + def abo(self): + """ + Gestion validation formaulaire d'abonnement + :return: + """ + if self.__c != None : + self.__c.maj(self.__ui.nomLineEdit, + self.__ui.prenomLineEdit, + "", + TypeAbonnement.SUPER_ABONNE) + self.__ui.label_aff.setText("Mise a jour de votre abonnement effectué") + else: + if self.__ui.checkBox.isEnabled() : + self.__c = Client(self.__ui.nomLineEdit, + self.__ui.prenomLineEdit, + "", + TypeAbonnement.SUPER_ABONNE) + else : + self.__c = Client(self.__ui.nomLineEdit, + self.__ui.prenomLineEdit, + "", + TypeAbonnement.ABONNE) + self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id) + self.__ui.lineEdit_id.setText(self.__c.id) + self.identification() + + def garer(self): + """ + Gestion de la validation de garer son vehicule + :return: + """ + if self.__c is None: + id = Teleporteur.teleporterVoiture(self.v_actuel,self.__parking.recherchePlace(self.v_actuel)) + self.__ui.label_aff.setText("Votre num ticket est : " + id) + else: + if self.__c.abonnement != TypeAbonnement.SUPER_ABONNE : + Teleporteur.teleporterVoiture(self.v_actuel,self.__parking.recherchePlace(self.v_actuel)) + else: + Teleporteur.teleporterVoirureSuperAbonne(self.v_actuel) + + + def recuperer(self): + """ + Essaie de recuperer une voiture avec le numero de ticket (lineedit) + :return: + """ + p = Placement.get(self.__ui.numeroTicketLineEdit.text()) + if p is None: + self.__ui.label_aff.setText("Mauvais numero de ticket") + else: + Teleporteur.teleporterVersSortie(p) + self.__ui.label_aff.setText("Bonne journée") + + + + def showWindow(self): + """ + Gestion affichage de la vue borne + :return: + """ + self.__w.show() + self.__child = None # supprime l'eventuel widget enfant + self.__w.focusWidget() # reprend le focus sur la fenetre + + def quitter(self): + """ + Gestion de sortie de la vue borne + :return: + """ + self.__w.hide() + self.__main.showWindow() + + def error(self): + """ + Qdialog message erreur + :return: + """ + QtGui.QMessageBox.warning(self.__w, + "Erreur ...", + "Une erreur est survenue ...") + self.__w.hide() + self.__main.showWindow() \ No newline at end of file diff --git a/src/c/CreaParking.py b/src/c/CreaParking.py index a9973c1..dd36494 100644 --- a/src/c/CreaParking.py +++ b/src/c/CreaParking.py @@ -1,70 +1,110 @@ -from PyQt4 import QtGui, QtCore +from PyQt4 import QtGui + 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: + """ + Controleur de cretion de parking + """ def __init__(self, main): - self.__main = main - self.__main.activity("Debut Creation Parking", self.__main.lvl.INFO) + 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) - 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) + # 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._ui.lineEdit_nbNiv.setValidator(QtGui.QRegExpValidator(QtCore.QRegExp('[0-9]*'))) + self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount()) self.showWindow() - - def insererTable(self,hauteur,longueur,nombre) : - self.__typePlacesparNiveau.add(hauteur,longueur,nombre) + 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)) def addRow(self): - self.__ui.tableWidget.insertRow(self.__row) - self.__row += 1 + """ + Ajoute une ligne de creation de place + :return: + """ + self._ui.tableWidget.insertRow(self._ui.tableWidget.rowCount()) def rmRow(self): - self.__ui.tableWidget.removeRow(self.__ui.tableWidget.rowCount()-1) - self.__row -= 1 + """ + Enleve une ligne de creation de place + :return: + """ + self._ui.tableWidget.removeRow(self._ui.tableWidget.rowCount() - 1) def annuler(self): - self.__main.activity("Annulation Creation Parking", self.__main.lvl.INFO) - self.__w.hide() - self.__main.showWindow() + """ + 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) + self._w.hide() + self._main.showWindow() def valider(self): + """ + Gestion validation de formulaire de creation de parking. + :return: + """ 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() + for i in range(0, self._ui.tableWidget.rowCount()): + l.add(int(self._ui.tableWidget.item(i, 0).text()), int(self._ui.tableWidget.item(i, 1).text()), + int(self._ui.tableWidget.item(i, 2).text())) + self._main.addParking(Parking( + 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.error() def showWindow(self): - self.__w.show() - self.__child = None #supprime l'eventuel widget enfant - self.__w.focusWidget() # reprend le focus sur la fenetre \ No newline at end of file + """ + 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() \ No newline at end of file diff --git a/src/c/DetailsPlaces.py b/src/c/DetailsPlaces.py new file mode 100644 index 0000000..dcf6089 --- /dev/null +++ b/src/c/DetailsPlaces.py @@ -0,0 +1,32 @@ +from PyQt4.QtGui import QTableWidgetItem + +from src.c.CreaParking import CreaParking + + +__author__ = 'sidya' + + +class DetailsPlaces(CreaParking): + def __init__(self, main, parking): + self.__parking = parking + super(DetailsPlaces, self).__init__(main) + + self._ui.lineEdit_nom.setText(parking.nom) + for p in parking.typePlacesParNiv.l: + row = self._ui.tableWidget.rowCount() - 1 + if row != 0: + self._ui.tableWidget.insertRow(row) + self._ui.tableWidget.setItem(row, 0, QTableWidgetItem(str(p.hauteur))) + self._ui.tableWidget.setItem(row, 1, QTableWidgetItem(str(p.longueur))) + self._ui.tableWidget.setItem(row, 2, QTableWidgetItem(str(p.nb))) + + self._ui.lineEdit_nom.setDisabled(True) + self._ui.tableWidget.setDisabled(True) + self._ui.btn_annuler.setDisabled(True) + self._ui.btn_addRow.setDisabled(True) + self._ui.btn_rmRow.setDisabled(True) + + def valider(self): + self._w.hide() + self._main.showWindow() + diff --git a/src/c/Main.py b/src/c/Main.py index ed236cc..538fe01 100644 --- a/src/c/Main.py +++ b/src/c/Main.py @@ -1,13 +1,12 @@ import sys -from PyQt4 import QtGui, QtCore -from PyQt4.QtCore import QTranslator, QLocale +from PyQt4 import QtGui +from src.c.Borne import Borne +from src.c.DetailsPlaces import DetailsPlaces from src.c.log.log import Log from src.c.log.log import lvl - from src.c.CreaParking import CreaParking -from src.m.Parking import Parking, ListeTypePlace from src.v.MyQMainWindow import MyQMainWindow from src.v.Ui_MainWindow import Ui_MainWindow @@ -17,30 +16,26 @@ __author__ = 'sidya' class Main: def __init__(self): # Init des logs - self.lvl = lvl() + self.lvl = lvl() # Public : Acces au constante self.__log = Log() - l = ListeTypePlace() - l.add(10, 11, 5) - l.add(7, 12, 5) - p = Parking(5, l,"lol") - - #Liste Clients et Parking - self.__clients = [] - self.__parkings = [p] - - + # Parking + self.__parkings = [] app = QtGui.QApplication(sys.argv) - 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.btn_supprimer.clicked.connect(self.rmParking) + self.__ui.btn_details.clicked.connect(self.detailsPlacesParking) + self.__ui.btn_borne.clicked.connect(self.afficherBorne) + #Chargement activité @@ -78,15 +73,15 @@ class Main: 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)) + if self.__ui.comboBox.count() > 1: + print(self.__ui.comboBox.count()) + self.__ui.nom.setText(self.__parkings[self.__ui.comboBox.currentIndex() - 1].nom) + self.__ui.placesParNiveau.setText(str(self.__parkings[self.__ui.comboBox.currentIndex() - 1].nbPlaces)) + self.__ui.placesDispo.setText( + str(self.__parkings[self.__ui.comboBox.currentIndex() - 1].nbPlacesLibresParking)) self.__ui.placesSuperAbo.setText("lol") @@ -94,11 +89,40 @@ class Main: self.__view.hide() self.__widgetCourant = CreaParking(self) - def addParking(self,parking): + def addParking(self, parking): self.__parkings.append(parking) + def modifParking(self): + if self.__ui.comboBox.currentIndex() != 0: + self.__view.hide() + self.__widgetCourant = ModifParking(self, self.__parkings[self.__ui.comboBox.currentIndex() - 1]) + + def rmParking(self): + if self.__ui.comboBox.currentIndex() != 0: + result = QtGui.QMessageBox.question(self.__view, + "Confirmer Supression...", + "Etes vous sur de vouloir supprimer ?\n" + "(La suppression sera définitive)", + QtGui.QMessageBox.Yes | QtGui.QMessageBox.No) + + if result == QtGui.QMessageBox.Yes: + self.__parkings.remove(self.__parkings[self.__ui.comboBox.currentIndex() - 1]) + self.__view.hide() + self.showWindow() + + def detailsPlacesParking(self): + if self.__ui.comboBox.currentIndex() != 0: + self.__view.hide() + self.__widgetCourant = DetailsPlaces(self, self.__parkings[self.__ui.comboBox.currentIndex() - 1]) + + def afficherBorne(self): + if self.__ui.comboBox.currentIndex() != 0: + self.__view.hide() + self.__widgetCourant = Borne(self, self.__parkings[self.__ui.comboBox.currentIndex() - 1]) + + def showWindow(self): self.majListeParking() self.__view.show() - self.__widgetCourant = None #supprime eventuel widget - self.__view.focusWidget() # reprend le focus sur la fenetre principal \ No newline at end of file + self.__widgetCourant = None # supprime eventuel widget + self.__view.focusWidget() # reprend le focus sur la fenetre principal \ No newline at end of file diff --git a/src/c/Teleporteur.py b/src/c/Teleporteur.py index 7b663ea..8fb29c3 100644 --- a/src/c/Teleporteur.py +++ b/src/c/Teleporteur.py @@ -1,9 +1,18 @@ +from src.m.Place import Placement + __author__ = 'sidya' -class Teleporteur : +class Teleporteur: + @classmethod def teleporterVoiture(self, voiture, place): + p =Placement(voiture, place) + return p.id + + @classmethod + def teleporterVoitureSuperAbonne(self, voiture): pass - def teleporterVoirureSuperAbonne(self, voiture): - pass + @classmethod + def teleporterVersSortie(self, placement): + placement.end() \ No newline at end of file diff --git a/src/c/log/log.py b/src/c/log/log.py index 95c028f..faf7104 100644 --- a/src/c/log/log.py +++ b/src/c/log/log.py @@ -2,6 +2,8 @@ __author__ = 'sidya' import logging from logging.handlers import RotatingFileHandler + + class bcolors: """ Define constant color value for different level @@ -12,6 +14,7 @@ class bcolors: FAIL = ' \033[91m ' ENDC = ' \033[0m ' + class lvl: """ Define constant value for level log @@ -23,8 +26,10 @@ class lvl: FAIL = 40 CRITICAL = 50 + class SingleLevelFilter(logging.Filter): """Filter for one level""" + def __init__(self, passlevel, reject): """ Constructor @@ -33,17 +38,20 @@ class SingleLevelFilter(logging.Filter): """ self.passlevel = passlevel self.reject = reject + def filter(self, record): if self.reject: return (record.levelno != self.passlevel) else: return (record.levelno == self.passlevel) + class Log(object): """ Log Manager """ - def __init__(self) : + + def __init__(self): """ Define 3 differents log : activity.log -> all activity @@ -72,18 +80,18 @@ class Log(object): self.logger.addHandler(steam_handler) - def printL(self,pMsg,pLvl): + def printL(self, pMsg, pLvl): """ Add color and write in log with an define level pMsg : message to write in log pLvl : level of log message """ - if pLvl == lvl.DEBUG : + if pLvl == lvl.DEBUG: pMsg = bcolors.DEBUG + str(pMsg) + bcolors.ENDC - elif pLvl == lvl.INFO : + elif pLvl == lvl.INFO: pMsg = bcolors.INFO + str(pMsg) + bcolors.ENDC - elif pLvl == lvl.WARNING : + elif pLvl == lvl.WARNING: pMsg = bcolors.WARNING + str(pMsg) + bcolors.ENDC - elif pLvl == lvl.FAIL : + elif pLvl == lvl.FAIL: pMsg = bcolors.FAIL + str(pMsg) + bcolors.ENDC - self.logger.log(pLvl,pMsg) \ No newline at end of file + self.logger.log(pLvl, pMsg) \ No newline at end of file diff --git a/src/c/test/TestAcces.py b/src/c/test/TestAcces.py index 0a304c1..a01ad3f 100644 --- a/src/c/test/TestAcces.py +++ b/src/c/test/TestAcces.py @@ -1,7 +1,5 @@ __author__ = 'sidya' -from nose.tools import assert_equal - class TestAcces: pass \ No newline at end of file diff --git a/src/c/test/TestTeleporteur.py b/src/c/test/TestTeleporteur.py index 75c204e..dbb6d10 100644 --- a/src/c/test/TestTeleporteur.py +++ b/src/c/test/TestTeleporteur.py @@ -1,5 +1,5 @@ __author__ = 'sidya' -class TestTeleporteur : +class TestTeleporteur: pass diff --git a/src/m/Client.py b/src/m/Client.py new file mode 100644 index 0000000..af6c020 --- /dev/null +++ b/src/m/Client.py @@ -0,0 +1,85 @@ +import random +import sqlite3 +import string + +__author__ = 'sidya' + + +class Client(): + + clients = [] + + def __init__(self, nom, prenom, adresse, typeAbonnement): + while True : + id =''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(random.randint(1,10))) + if Client.get(id) is None: + break + self.__id = id + self.__nom = nom + self.__prenom = prenom + self.__typeAbonnement = typeAbonnement + self.__adresse = adresse + self.clients.append(self) + + + @property + def prenom(self): + return self.__prenom + + @property + def nom(self): + return self.__nom + + @property + def id(self): + return self.__id + + @property + def adr(self): + return self.__adresse + + @property + def abonnement(self): + return self.__typeAbonnement + + @staticmethod + def get(id): + for client in Client.clients: + if client.id == id: + return client + return None + + @staticmethod + def loadAll(connection): + with connection: + connection.row_factory = sqlite3.Row + cur = connection.cursor() + cur.execute("SELECT * FROM Client") + rows = cur.fetchall() + for row in rows: + Client(row["num"], row["nom"], row["prenom"], row["adr"], int(row["abo"])) + connection.close() + + @staticmethod + def saveAll(connection): + cur = connection.cursor() + #reset table Client + cur.execute("DROP TABLE IF EXISTS Client") + cur.execute("""create table Client (num varchar(10) PRIMARY KEY, nom varchar(30), prenom varchar(30), adr varchar(50), abo int(1))""") + # insert clients + for c in Client.tous: + cur.execute("insert into Client values (?, ?, ?, ?, ?)", (c.id, c.nom, c.prenom, c.adr, c.abonnement)) + connection.commit() + connection.close() + + def maj(self, nom, prenom, adresse, typeAbonnement): + self.__nom = nom + self.__prenom = prenom + self.__typeAbonnement = typeAbonnement + self.__adresse = adresse + + def __str__( self ): + return "( " + self.__id +", " + self.__nom+", " + self.__prenom+", " + self.__adresse +", " + str(self.__typeAbonnement) +" )" + + + diff --git a/src/m/ConnecxionBDD.py b/src/m/ConnecxionBDD.py new file mode 100644 index 0000000..01379c4 --- /dev/null +++ b/src/m/ConnecxionBDD.py @@ -0,0 +1,25 @@ +__author__ = 'sidya' + +class connexionBDD : + def __init__(self): + try: + self.__conn = sqlite3.connect("BD.sql3") + self.__cur = self.__conn.cursor() + except Exception as e : + pass # later + + def seDeconnecter(self): + self.__cur.close() + self.__conn.close() + + def execute(self, req): + try: + r = self.__cur.execute(req) + self.__conn.commit() + except Exception as e : + pass # later + return r + + + def lastId(self): + return self.__cur.lastrowid \ No newline at end of file diff --git a/src/m/ListeTypePlace.py b/src/m/ListeTypePlace.py new file mode 100644 index 0000000..e55ddc4 --- /dev/null +++ b/src/m/ListeTypePlace.py @@ -0,0 +1,23 @@ +__author__ = 'sidya' + +class ListeTypePlace: + """ + Classe qui permet de définir une liste de type de place par niveau pour la création d'un parking + """ + + def __init__(self): + self.l = [] + + def add(self, h, l, nb): + self.l.append(TypePlace(h, l, nb)) + + @property + def nbPlaceTotal(self): + i = 0 + for t in self.l: + i += t.nb + return i + + @property + def liste(self): + return self.l diff --git a/src/m/Parking.py b/src/m/Parking.py index 21c6931..692d783 100644 --- a/src/m/Parking.py +++ b/src/m/Parking.py @@ -1,76 +1,64 @@ + +from src.m.Place import Place + __author__ = 'sidya' -from src.m.Place import Place, ListeTypePlace - - class Parking: """ Definie un parking """ - def __init__(self, nbNiv, typePlacesParNiv,nom): - self.typePlacesParNiv = typePlacesParNiv + def __init__(self, typePlaces, nom): + """ + Creer objet parking + :param typePlaces: ListeTypePlace + :param nom: str + :return: + """ + self.__typePlaces = typePlaces self.__nom = nom - self.__nbPlacesParNiveau = typePlacesParNiv.nbPlaceTotal self.__prix = 10 - self.__nbNiveaux = nbNiv self.__Places = {} - for n in range(0, nbNiv): - l = [] - for t in typePlacesParNiv.liste: - for i in range(0, t.nb): - l.append(Place(i + 1, n, t.longueur, t.hauteur)) - self.__Places[n] = l + l = [] + for t in typePlaces.liste: + for i in range(0, t.nb): + l.append(Place(i + 1, 1, t.longueur, t.hauteur)) + self.__Places = l + @property def nom(self): return self.__nom @property - def nbPlacesParNiveau(self): - return self.__nbPlacesParNiveau + def nbPlaces(self): + return self.__typePlaces.nbPlaceTotal + @property - def nbNiveau(self): - return self.__nbNiveaux - - def recherchePlace(self, voiture): - place = None - for i in range(0, self.__nbNiveaux): - if place != None: - break - l = [p for p in self.__Places[i].estLibre] - for p in l: - if p.dimValide(voiture.hauteur, voiture.longueur): - pass - place = p - break - return place - - def nbPlacesLibresNiveau(self, niveau): + def nbPlacesLibresParking(self): i = 0 - for p in self.__Places[niveau]: + for p in self.__Places: if p.estLibre: i += 1 return i - @property - def nbPlacesLibresParking(self): - nbP = 0 - for i in range(0,self.__nbNiveaux) : - nbP += self.nbPlacesLibresNiveau(i) - return nbP + def recherchePlace(self, voiture): + """ + Permet de rechercher une place valide pour une voiture + :param voiture: Voiture + :return: Place + """ + place = None + for p in self.__Places: + if p.estLibre and p.dimValide(voiture.hauteur, voiture.longueur) : + pass + place = p + break + return place + def addAbonnement(self, Abonnement): pass def __str__(self): return "Parking : niveau : " + str(self.__nbNiveaux) - - -if __name__ == "__main__": - l = ListeTypePlace() - l.add(10, 11, 5) - l.add(7, 12, 5) - p = Parking(5, l) - print(p) - print(p.nbPlacesLibresNiveau(1)) \ No newline at end of file diff --git a/src/m/Place.py b/src/m/Place.py index 7ee72d0..81c6379 100644 --- a/src/m/Place.py +++ b/src/m/Place.py @@ -1,105 +1,82 @@ -import sys import datetime +import random +import string __author__ = 'sidya' class Place: """ - Representation d'une place dans un parking + Representation d'une place """ - def __init__(self, numero, niveau, longueur, hauteur): + def __init__(self, numero, niveau, longueur,hauteur): + """ + Creer une place. + Les dimensions doivent etre données en cm (longueur, hauteur) + :param numero: int + :param niveau: int + :param longueur: int + :param hauteur: int + :return: + """ self.__numero = numero self.__niveau = niveau self.__longueur = longueur self.__hauteur = hauteur self.__estLibre = True - self.__estReserver = False + self.__estSuperAbo = False self.__Placement = None + @property def estLibre(self): return self.__estLibre @property def estReserver(self): - return self.__estReserver + return self.__estSuperAbo def dimValide(self, h, l): + """ + Retourn si un element de hauteur (cm) h et de longueur(cm) l passe dans la place + :param h: int + :param l: int + :return: bool + """ return h < self.__hauteur and l < self.__longueur - def reserver(self): - if (self.__estReserver == True) : + def superAbo(self): + """ + Renvoit si la place est une place superAbo + :return: bool + """ + if (self.__estSuperAbo == True): raise Exception("Place déjà reservé") - self.__estReserver = True + self.__estSuperAbo = True - def nonReserver(self) : - if (self.__estReserver == False): - raise Exception("Impossible de mettre une place en non si elle n'est pas reservé de base") - self.__estReserver = False - def prendre(self, Placement): - if (self.__Libre == True) : + def prendre(self): + """ + Rend la place indisponible + :param Placement: + :return: + """ + if (self.__estLibre == False): raise Exception("Place déjà prise") self.__estLibre = False - self.__Placement = Placement - def liberer(self) : - if (self.__estLibre == False): + def liberer(self): + """ + Libere une place non dispo + :return: + """ + if (self.__estLibre == True): raise Exception("Impossible de liberer une place vide") self.__estLibre = True -class TypePlace: - """ - Classe qui permet de définir un type de place - """ - def __init__(self, h, l, nb): - self.__hauteur = h - self.__longueur = l - self.__nb = nb - - @property - def hauteur(self): - return self.__hauteur - - @property - def longueur(self): - return self.__longueur - - @property - def nb(self): - return self.__nb - - -class ListeTypePlace: - """ - Classe qui permet de définir une liste de type de place par niveau pour la création d'un parking - """ - def __init__(self): - self.l = [] - - def add(self, h, l, nb): - self.l.append(TypePlace(h, l, nb)) - - @property - def nbPlaceTotal(self): - i = 0 - for t in self.l: - i += t.nb - return i - - @property - def liste(self): - return self.l -class Placement: - def __init__(self,debut,fin): - self.debut = debut - self.fin = fin - @property - def estEnCours(self): - return datetime.datetime < self.fin \ No newline at end of file + diff --git a/src/m/Placement.py b/src/m/Placement.py new file mode 100644 index 0000000..6c40cd7 --- /dev/null +++ b/src/m/Placement.py @@ -0,0 +1,50 @@ +import datetime +import random +import string + +__author__ = 'sidya' + +class Placement: + placements = [] + def __init__(self,voiture, place): + """ + Creer un placement + :param voiture: Voiture + :param place: Place + :return: + """ + while True : + id =''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(random.randint(1,10))) + if Placement.get(id) is None: + break + self.__id = id + self.__voiture = voiture + self.__place = place + self.__debut = datetime.datetime + self.__fin = None + place.prendre() + self.placements.append(self) + + def end(self): + self.__fin = datetime.datetime + self.__place.liberer() + + @property + def id(self): + return self.__id + + @staticmethod + def get(id): + """ + Recupere le Placement d'id id + :param id: str + :return: Placement or None + """ + for p in Placement.placements: + if p.__id == id: + return p + return None + + @property + def estEnCours(self): + return datetime.datetime < self.__fin diff --git a/src/m/TypeAbonnement.py b/src/m/TypeAbonnement.py new file mode 100644 index 0000000..a3fd918 --- /dev/null +++ b/src/m/TypeAbonnement.py @@ -0,0 +1,5 @@ +__author__ = 'sidya' + +class TypeAbonnement : + ABONNE = 0 + SUPER_ABONNE = 1 diff --git a/src/m/TypePlace.py b/src/m/TypePlace.py new file mode 100644 index 0000000..e59531f --- /dev/null +++ b/src/m/TypePlace.py @@ -0,0 +1,22 @@ +__author__ = 'sidya' + +class TypePlace: + """ + Classe qui permet de définir un type de place + """ + def __init__(self, h, l, nb): + self.__hauteur = h + self.__longueur = l + self.__nb = nb + + @property + def hauteur(self): + return self.__hauteur + + @property + def longueur(self): + return self.__longueur + + @property + def nb(self): + return self.__nb diff --git a/src/m/Voiture.py b/src/m/Voiture.py new file mode 100644 index 0000000..5bb724c --- /dev/null +++ b/src/m/Voiture.py @@ -0,0 +1,23 @@ +__author__ = 'sidya' + +class Voiture: + def __init__(self, longueur, hauteur, imma): + self.__longueur = longueur + self.__hauteur = hauteur + self.__imma = imma + self.__estDansParking = False + + @property + def longueur(self): + return self.__longueur + + @property + def hauteur(self): + return self.__hauteur + + def __str__(self): + return "Voiture : hauteur " + str(self.__longueur) + ", largeur" + str(self.hauteur) + ", Imma : " + self.__imma +", est dans parking :" + str(self.__estDansParking) + + + + diff --git a/src/m/place.py b/src/m/place.py deleted file mode 100644 index 0dd919c..0000000 --- a/src/m/place.py +++ /dev/null @@ -1,59 +0,0 @@ -from src.m.placement import Placement -class Place: - def __init__(self): - self._numero - self._niveau - self._longueur - self._estLibre - self.hauteur - - @property - def numero(self): - return self._numero - @property - def niveau(self): - return self._niveau - @property - def longueur(self): - return self.longueur - @property -<<<<<<< Updated upstream - def nbPlaceTotal(self): - i = 0 - for t in self.l: - i += t.nb - return i - - @property - def liste(self): - return self.l - - - - -class Placement: - def __init__(self,debut,fin): - self.debut = debut - self.fin = fin - -======= - def estLibre(self): - return self.estLibre ->>>>>>> Stashed changes - @property - def hauteur(self): - return self.hauteur - @numero.setter - def setNumero(self, value): - self._numero = value - @niveau.setter - def setNiveau(self, value): - self._numero = value - @longueur.setter - def setLongueur(self, value): - self._longueur = value - def addPlacement(self, jourDeb, moisDeb, anneeDeb, jourFin, moisFin, anneeFin): - newplace = Placement() - newplace.setDateDebut(jourDeb, moisDeb, anneeDeb) - newplace.setDateFin(jourFin, moisFin, anneeFin) - newplace.setEstEnCours(True) diff --git a/src/m/table.sql b/src/m/table.sql new file mode 100644 index 0000000..357e16b --- /dev/null +++ b/src/m/table.sql @@ -0,0 +1,27 @@ +CREATE TABLE parking ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + nom VARCHAR(30), + ); + +CREATE TABLE place ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + idParking INT UNSIGNED FOREIGN KEY, + idType INT UNSIGNED FOREIGN KEY, + niveau INT UNSIGNED, + numero INT UNSIGNED +); + +CREATE TABLE typePlace ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + longueur INT UNSIGNED, + hauteur INT UNSIGNED, + largeur INT UNSIGNED, + estLibre INT(1), + estSuperAbo int(1) +); + + + +CREATE TABLE placement ( + +); \ No newline at end of file diff --git a/src/m/test/TestParking.py b/src/m/test/TestParking.py index 86b4c5e..d8f82f4 100644 --- a/src/m/test/TestParking.py +++ b/src/m/test/TestParking.py @@ -1,4 +1,16 @@ __author__ = 'sidya' -class TestParking : - pass +from nose.tools import assert_equal + +from src.m.Parking import Parking + + +class TestParking: + def recherchePlace(self): + """ + Test d'attribution des places + """ + p = Parking() + assert_equal() + + diff --git a/src/m/test/TestPlace.py b/src/m/test/TestPlace.py index 2d30ccf..77fff2d 100644 --- a/src/m/test/TestPlace.py +++ b/src/m/test/TestPlace.py @@ -1,5 +1,5 @@ __author__ = 'sidya' -class TestPlace : +class TestPlace: pass diff --git a/src/m/test/test.py b/src/m/test/test.py new file mode 100644 index 0000000..e69de29 diff --git a/src/v/Camera.py b/src/v/Camera.py index 046576c..31d814e 100644 --- a/src/v/Camera.py +++ b/src/v/Camera.py @@ -1,10 +1,12 @@ +import random +import string +from src.m.Voiture import Voiture + __author__ = 'sidya' class Camera: - def detecterVoiture(self): - return True - + @classmethod def donnerVoiture(self): - v = Voiture() # need classe voiture \o/ + v = Voiture(random.randint(150,300),random.randint(100,200), ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(random.randint(1,10)))) return v diff --git a/src/v/MyQMainWindow.py b/src/v/MyQMainWindow.py index 2c97464..c1c4427 100644 --- a/src/v/MyQMainWindow.py +++ b/src/v/MyQMainWindow.py @@ -4,13 +4,13 @@ __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() + 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() \ No newline at end of file + if result == QtGui.QMessageBox.Yes: + event.accept() \ No newline at end of file diff --git a/src/v/MyQWidget.py b/src/v/MyQWidget.py index 9eb77c2..7e5f0f2 100644 --- a/src/v/MyQWidget.py +++ b/src/v/MyQWidget.py @@ -10,12 +10,12 @@ class MyQWidget(QtGui.QWidget): 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) + "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() \ No newline at end of file + event.accept() + self.__main.showWindow() \ No newline at end of file diff --git a/src/v/test/__init__.py b/src/v/Ticket.py similarity index 95% rename from src/v/test/__init__.py rename to src/v/Ticket.py index 934a683..20df444 100644 --- a/src/v/test/__init__.py +++ b/src/v/Ticket.py @@ -1 +1,2 @@ __author__ = 'sidya' + diff --git a/src/v/Ui_Borne.py b/src/v/Ui_Borne.py index 848e621..78662c5 100644 --- a/src/v/Ui_Borne.py +++ b/src/v/Ui_Borne.py @@ -1,10 +1,8 @@ -__author__ = 'sidya' - # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'borne.ui' # -# Created: Tue Dec 23 18:12:55 2014 +# Created: Mon Jan 12 14:40:36 2015 # by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -25,104 +23,137 @@ except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) -class Borne(object): - def setupUi(self, Form): - Form.setObjectName(_fromUtf8("Form")) - Form.resize(400, 412) - self.pushButton = QtGui.QPushButton(Form) - self.pushButton.setGeometry(QtCore.QRect(90, 40, 211, 27)) - self.pushButton.setObjectName(_fromUtf8("pushButton")) - self.lcdNumber = QtGui.QLCDNumber(Form) - self.lcdNumber.setGeometry(QtCore.QRect(20, 80, 351, 31)) - self.lcdNumber.setObjectName(_fromUtf8("lcdNumber")) - self.label_4 = QtGui.QLabel(Form) - self.label_4.setGeometry(QtCore.QRect(170, 10, 151, 20)) - self.label_4.setObjectName(_fromUtf8("label_4")) - self.widget = QtGui.QWidget(Form) - self.widget.setGeometry(QtCore.QRect(60, 300, 272, 85)) - self.widget.setObjectName(_fromUtf8("widget")) - self.horizontalLayout = QtGui.QHBoxLayout(self.widget) +class Ui_Borne(object): + def setupUi(self, Borne): + Borne.setObjectName(_fromUtf8("Borne")) + Borne.resize(669, 579) + self.btn_Voiture = QtGui.QPushButton(Borne) + self.btn_Voiture.setGeometry(QtCore.QRect(140, 40, 211, 27)) + self.btn_Voiture.setObjectName(_fromUtf8("btn_Voiture")) + self.nomParking = QtGui.QLabel(Borne) + self.nomParking.setGeometry(QtCore.QRect(300, 10, 151, 20)) + self.nomParking.setObjectName(_fromUtf8("nomParking")) + self.box_id = QtGui.QGroupBox(Borne) + self.box_id.setGeometry(QtCore.QRect(20, 150, 331, 171)) + self.box_id.setObjectName(_fromUtf8("box_id")) + self.layoutWidget = QtGui.QWidget(self.box_id) + self.layoutWidget.setGeometry(QtCore.QRect(30, 60, 272, 85)) + self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) + self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget) self.horizontalLayout.setMargin(0) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) - self.label = QtGui.QLabel(self.widget) + self.label = QtGui.QLabel(self.layoutWidget) self.label.setObjectName(_fromUtf8("label")) self.verticalLayout_2.addWidget(self.label) - self.lineEdit = QtGui.QLineEdit(self.widget) - self.lineEdit.setObjectName(_fromUtf8("lineEdit")) - self.verticalLayout_2.addWidget(self.lineEdit) - self.pushButton_2 = QtGui.QPushButton(self.widget) - self.pushButton_2.setObjectName(_fromUtf8("pushButton_2")) - self.verticalLayout_2.addWidget(self.pushButton_2) + self.lineEdit_id = QtGui.QLineEdit(self.layoutWidget) + self.lineEdit_id.setObjectName(_fromUtf8("lineEdit_id")) + self.verticalLayout_2.addWidget(self.lineEdit_id) + self.btn_validerID = QtGui.QPushButton(self.layoutWidget) + self.btn_validerID.setObjectName(_fromUtf8("btn_validerID")) + self.verticalLayout_2.addWidget(self.btn_validerID) self.horizontalLayout.addLayout(self.verticalLayout_2) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.label_2 = QtGui.QLabel(self.widget) - self.label_2.setObjectName(_fromUtf8("label_2")) - self.verticalLayout.addWidget(self.label_2) - self.pushButton_3 = QtGui.QPushButton(self.widget) - self.pushButton_3.setObjectName(_fromUtf8("pushButton_3")) - self.verticalLayout.addWidget(self.pushButton_3) - self.pushButton_4 = QtGui.QPushButton(self.widget) - self.pushButton_4.setObjectName(_fromUtf8("pushButton_4")) - self.verticalLayout.addWidget(self.pushButton_4) self.horizontalLayout.addLayout(self.verticalLayout) - self.widget1 = QtGui.QWidget(Form) - self.widget1.setGeometry(QtCore.QRect(70, 130, 261, 91)) - self.widget1.setObjectName(_fromUtf8("widget1")) - self.horizontalLayout_2 = QtGui.QHBoxLayout(self.widget1) - self.horizontalLayout_2.setMargin(0) - self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) - self.verticalLayout_5 = QtGui.QVBoxLayout() - self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5")) - self.pushButton_7 = QtGui.QPushButton(self.widget1) - self.pushButton_7.setObjectName(_fromUtf8("pushButton_7")) - self.verticalLayout_5.addWidget(self.pushButton_7) - self.pushButton_10 = QtGui.QPushButton(self.widget1) - self.pushButton_10.setObjectName(_fromUtf8("pushButton_10")) - self.verticalLayout_5.addWidget(self.pushButton_10) - self.horizontalLayout_2.addLayout(self.verticalLayout_5) - self.verticalLayout_4 = QtGui.QVBoxLayout() - self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4")) - self.pushButton_8 = QtGui.QPushButton(self.widget1) - self.pushButton_8.setObjectName(_fromUtf8("pushButton_8")) - self.verticalLayout_4.addWidget(self.pushButton_8) - self.pushButton_9 = QtGui.QPushButton(self.widget1) - self.pushButton_9.setObjectName(_fromUtf8("pushButton_9")) - self.verticalLayout_4.addWidget(self.pushButton_9) - self.horizontalLayout_2.addLayout(self.verticalLayout_4) + self.labIdClient = QtGui.QLabel(self.box_id) + self.labIdClient.setGeometry(QtCore.QRect(130, 31, 91, 16)) + self.labIdClient.setObjectName(_fromUtf8("labIdClient")) + self.box_abo = QtGui.QGroupBox(Borne) + self.box_abo.setGeometry(QtCore.QRect(20, 350, 331, 201)) + self.box_abo.setObjectName(_fromUtf8("box_abo")) + self.formLayoutWidget = QtGui.QWidget(self.box_abo) + self.formLayoutWidget.setGeometry(QtCore.QRect(-1, 40, 291, 91)) + self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget")) + self.formLayout = QtGui.QFormLayout(self.formLayoutWidget) + self.formLayout.setMargin(0) + self.formLayout.setObjectName(_fromUtf8("formLayout")) + self.nomLabel = QtGui.QLabel(self.formLayoutWidget) + self.nomLabel.setObjectName(_fromUtf8("nomLabel")) + self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.nomLabel) + self.nomLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.nomLineEdit.setObjectName(_fromUtf8("nomLineEdit")) + self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.nomLineEdit) + self.prenomLabel = QtGui.QLabel(self.formLayoutWidget) + self.prenomLabel.setObjectName(_fromUtf8("prenomLabel")) + self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.prenomLabel) + self.numeroCarteLabel = QtGui.QLabel(self.formLayoutWidget) + self.numeroCarteLabel.setObjectName(_fromUtf8("numeroCarteLabel")) + self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.numeroCarteLabel) + self.numeroCarteLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.numeroCarteLineEdit.setObjectName(_fromUtf8("numeroCarteLineEdit")) + self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.numeroCarteLineEdit) + self.prenomLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.prenomLineEdit.setObjectName(_fromUtf8("prenomLineEdit")) + self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.prenomLineEdit) + self.checkBox = QtGui.QCheckBox(self.box_abo) + self.checkBox.setGeometry(QtCore.QRect(0, 140, 121, 20)) + self.checkBox.setObjectName(_fromUtf8("checkBox")) + self.btn_valider_abo = QtGui.QPushButton(self.box_abo) + self.btn_valider_abo.setGeometry(QtCore.QRect(210, 160, 87, 27)) + self.btn_valider_abo.setObjectName(_fromUtf8("btn_valider_abo")) + self.btn_desabo = QtGui.QPushButton(self.box_abo) + self.btn_desabo.setGeometry(QtCore.QRect(120, 160, 87, 27)) + self.btn_desabo.setObjectName(_fromUtf8("btn_desabo")) + self.box_recup = QtGui.QGroupBox(Borne) + self.box_recup.setGeometry(QtCore.QRect(380, 350, 271, 121)) + self.box_recup.setObjectName(_fromUtf8("box_recup")) + self.formLayoutWidget_2 = QtGui.QWidget(self.box_recup) + self.formLayoutWidget_2.setGeometry(QtCore.QRect(0, 40, 261, 80)) + self.formLayoutWidget_2.setObjectName(_fromUtf8("formLayoutWidget_2")) + self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_2) + self.formLayout_2.setMargin(0) + self.formLayout_2.setObjectName(_fromUtf8("formLayout_2")) + self.numeroTicketLabel = QtGui.QLabel(self.formLayoutWidget_2) + self.numeroTicketLabel.setObjectName(_fromUtf8("numeroTicketLabel")) + self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.numeroTicketLabel) + self.numeroTicketLineEdit = QtGui.QLineEdit(self.formLayoutWidget_2) + self.numeroTicketLineEdit.setObjectName(_fromUtf8("numeroTicketLineEdit")) + self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.numeroTicketLineEdit) + self.btn_recuperer = QtGui.QPushButton(self.formLayoutWidget_2) + self.btn_recuperer.setObjectName(_fromUtf8("btn_recuperer")) + self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.btn_recuperer) + self.label_aff = QtGui.QLabel(Borne) + self.label_aff.setGeometry(QtCore.QRect(10, 90, 641, 31)) + self.label_aff.setObjectName(_fromUtf8("label_aff")) + self.box_garer = QtGui.QGroupBox(Borne) + self.box_garer.setGeometry(QtCore.QRect(390, 150, 231, 131)) + self.box_garer.setObjectName(_fromUtf8("box_garer")) + self.btn_garer = QtGui.QPushButton(self.box_garer) + self.btn_garer.setGeometry(QtCore.QRect(50, 60, 131, 27)) + self.btn_garer.setObjectName(_fromUtf8("btn_garer")) + self.btn_annuler = QtGui.QPushButton(Borne) + self.btn_annuler.setGeometry(QtCore.QRect(390, 40, 87, 27)) + self.btn_annuler.setObjectName(_fromUtf8("btn_annuler")) + self.btn_quitter = QtGui.QPushButton(Borne) + self.btn_quitter.setGeometry(QtCore.QRect(520, 540, 87, 27)) + self.btn_quitter.setObjectName(_fromUtf8("btn_quitter")) - self.retranslateUi(Form) - QtCore.QMetaObject.connectSlotsByName(Form) + self.retranslateUi(Borne) + QtCore.QMetaObject.connectSlotsByName(Borne) - def retranslateUi(self, Form): - Form.setWindowTitle(_translate("Form", "Form", None)) - self.pushButton.setText(_translate("Form", "Detection Arrivee Voiture", None)) - self.label_4.setText(_translate("Form", "NomParking", None)) - self.label.setText(_translate("Form", "Carte Membre ID ", None)) - self.pushButton_2.setText(_translate("Form", "Valider", None)) - self.label_2.setText(_translate("Form", "Non membre", None)) - self.pushButton_3.setText(_translate("Form", "Valider", None)) - self.pushButton_4.setText(_translate("Form", "PayerAvecCarte", None)) - self.pushButton_7.setText(_translate("Form", "<", None)) - self.pushButton_10.setText(_translate("Form", "Annuler", None)) - self.pushButton_8.setText(_translate("Form", ">", None)) - self.pushButton_9.setText(_translate("Form", "Valider", None)) + def retranslateUi(self, Borne): + Borne.setWindowTitle(_translate("Borne", "Borne", None)) + self.btn_Voiture.setText(_translate("Borne", "Detection Arrivee Voiture", None)) + self.nomParking.setText(_translate("Borne", "NomParking", None)) + self.box_id.setTitle(_translate("Borne", "Identification", None)) + self.label.setText(_translate("Borne", "Carte Membre ID ", None)) + self.btn_validerID.setText(_translate("Borne", "Valider", None)) + self.labIdClient.setText(_translate("Borne", "Non identifier", None)) + self.box_abo.setTitle(_translate("Borne", "S\'abonner", None)) + self.nomLabel.setText(_translate("Borne", "Nom", None)) + self.prenomLabel.setText(_translate("Borne", "Prenom", None)) + self.numeroCarteLabel.setText(_translate("Borne", "Numero carte", None)) + self.checkBox.setText(_translate("Borne", "PackGarantie", None)) + self.btn_valider_abo.setText(_translate("Borne", "Valider", None)) + self.btn_desabo.setText(_translate("Borne", "Désabonner", None)) + self.box_recup.setTitle(_translate("Borne", "Récuperer", None)) + self.numeroTicketLabel.setText(_translate("Borne", "Numero Ticket :", None)) + self.btn_recuperer.setText(_translate("Borne", "Récupérer Véhicule", None)) + self.label_aff.setText(_translate("Borne", "

TextLabel

", None)) + self.box_garer.setTitle(_translate("Borne", "Se garer", None)) + self.btn_garer.setText(_translate("Borne", "Garer Véhicule", None)) + self.btn_annuler.setText(_translate("Borne", "Annuler", None)) + self.btn_quitter.setText(_translate("Borne", "Quitter", None)) - - - def delivrerTicket(self, client): - pass - - def proposerService(self): - pass - - def proposerAbonnement(self): - pass - - def recupererInfosCarte(self): - pass - - def proposerTypePaiement(self): - pass \ No newline at end of file diff --git a/src/v/Ui_CreaParking.py b/src/v/Ui_CreaParking.py index e3a7746..2ddc0ab 100644 --- a/src/v/Ui_CreaParking.py +++ b/src/v/Ui_CreaParking.py @@ -2,8 +2,8 @@ # Form implementation generated from reading ui file 'creationParking.ui' # -# Created: Fri Dec 26 21:22:48 2014 -# by: PyQt4 UI code generator 4.11.3 +# Created: Mon Jan 5 16:57:56 2015 +# by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -17,12 +17,14 @@ except AttributeError: try: _encoding = QtGui.QApplication.UnicodeUTF8 + def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig, _encoding) except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) + class Ui_CreaParking(object): def setupUi(self, CreaParking): CreaParking.setObjectName(_fromUtf8("CreaParking")) @@ -52,7 +54,7 @@ class Ui_CreaParking(object): 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.setGeometry(QtCore.QRect(10, 90, 321, 121)) self.tableWidget.setObjectName(_fromUtf8("tableWidget")) self.tableWidget.setColumnCount(3) self.tableWidget.setRowCount(0) @@ -63,41 +65,37 @@ class Ui_CreaParking(object): 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.setGeometry(QtCore.QRect(350, 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.setGeometry(QtCore.QRect(350, 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.layoutWidget2 = QtGui.QWidget(CreaParking) + self.layoutWidget2.setGeometry(QtCore.QRect(52, 12, 291, 56)) + self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) + self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget2) self.horizontalLayout.setMargin(0) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.label = QtGui.QLabel(self.widget) + self.label = QtGui.QLabel(self.layoutWidget2) self.label.setObjectName(_fromUtf8("label")) self.verticalLayout.addWidget(self.label) - self.label_2 = QtGui.QLabel(self.widget) - self.label_2.setObjectName(_fromUtf8("label_2")) - self.verticalLayout.addWidget(self.label_2) self.horizontalLayout.addLayout(self.verticalLayout) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) - self.lineEdit_nom = QtGui.QLineEdit(self.widget) + self.lineEdit_nom = QtGui.QLineEdit(self.layoutWidget2) self.lineEdit_nom.setObjectName(_fromUtf8("lineEdit_nom")) self.verticalLayout_2.addWidget(self.lineEdit_nom) - self.lineEdit_nbNiv = QtGui.QLineEdit(self.widget) - self.lineEdit_nbNiv.setObjectName(_fromUtf8("lineEdit_nbNiv")) - self.verticalLayout_2.addWidget(self.lineEdit_nbNiv) self.horizontalLayout.addLayout(self.verticalLayout_2) self.retranslateUi(CreaParking) QtCore.QMetaObject.connectSlotsByName(CreaParking) + CreaParking.setTabOrder(self.lineEdit_nom, self.tableWidget) + CreaParking.setTabOrder(self.tableWidget, self.btn_addRow) + CreaParking.setTabOrder(self.btn_addRow, self.btn_rmRow) + CreaParking.setTabOrder(self.btn_rmRow, self.btn_annuler) + CreaParking.setTabOrder(self.btn_annuler, self.btn_valider) def retranslateUi(self, CreaParking): CreaParking.setWindowTitle(_translate("CreaParking", "Creation Parking", None)) @@ -112,8 +110,6 @@ class Ui_CreaParking(object): 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)) diff --git a/src/v/Ui_MainWindow.py b/src/v/Ui_MainWindow.py index 0f1b5e2..ad8652c 100644 --- a/src/v/Ui_MainWindow.py +++ b/src/v/Ui_MainWindow.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'main.ui' # -# Created: Fri Dec 26 17:32:35 2014 +# Created: Mon Jan 12 15:29:56 2015 # by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(561, 479) + MainWindow.resize(561, 509) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.tabWidget = QtGui.QTabWidget(self.centralwidget) @@ -49,37 +49,32 @@ class Ui_MainWindow(object): self.comboBox.setObjectName(_fromUtf8("comboBox")) self.verticalLayout.addWidget(self.comboBox) self.formLayout_3 = QtGui.QFormLayout() + self.formLayout_3.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_3.setObjectName(_fromUtf8("formLayout_3")) self.label_13 = QtGui.QLabel(self.tab_2) self.label_13.setObjectName(_fromUtf8("label_13")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_13) - self.label_14 = QtGui.QLabel(self.tab_2) - self.label_14.setObjectName(_fromUtf8("label_14")) - self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_14) - self.label_15 = QtGui.QLabel(self.tab_2) - self.label_15.setObjectName(_fromUtf8("label_15")) - self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_15) - self.label_16 = QtGui.QLabel(self.tab_2) - self.label_16.setObjectName(_fromUtf8("label_16")) - self.formLayout_3.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_16) - self.label_17 = QtGui.QLabel(self.tab_2) - self.label_17.setObjectName(_fromUtf8("label_17")) - self.formLayout_3.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_17) self.nom = QtGui.QLabel(self.tab_2) self.nom.setObjectName(_fromUtf8("nom")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.FieldRole, self.nom) - self.niveau = QtGui.QLabel(self.tab_2) - self.niveau.setObjectName(_fromUtf8("niveau")) - self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.niveau) + self.label_15 = QtGui.QLabel(self.tab_2) + self.label_15.setObjectName(_fromUtf8("label_15")) + self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_15) self.placesParNiveau = QtGui.QLabel(self.tab_2) self.placesParNiveau.setObjectName(_fromUtf8("placesParNiveau")) - self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.placesParNiveau) + self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.placesParNiveau) + self.label_16 = QtGui.QLabel(self.tab_2) + self.label_16.setObjectName(_fromUtf8("label_16")) + self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_16) self.placesDispo = QtGui.QLabel(self.tab_2) self.placesDispo.setObjectName(_fromUtf8("placesDispo")) - self.formLayout_3.setWidget(3, QtGui.QFormLayout.FieldRole, self.placesDispo) + self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.placesDispo) + self.label_17 = QtGui.QLabel(self.tab_2) + self.label_17.setObjectName(_fromUtf8("label_17")) + self.formLayout_3.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_17) self.placesSuperAbo = QtGui.QLabel(self.tab_2) self.placesSuperAbo.setObjectName(_fromUtf8("placesSuperAbo")) - self.formLayout_3.setWidget(4, QtGui.QFormLayout.FieldRole, self.placesSuperAbo) + self.formLayout_3.setWidget(3, QtGui.QFormLayout.FieldRole, self.placesSuperAbo) self.verticalLayout.addLayout(self.formLayout_3) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) @@ -93,9 +88,6 @@ class Ui_MainWindow(object): self.btn_creer = QtGui.QPushButton(self.tab_2) self.btn_creer.setObjectName(_fromUtf8("btn_creer")) self.verticalLayout.addWidget(self.btn_creer) - self.btn_modifier = QtGui.QPushButton(self.tab_2) - self.btn_modifier.setObjectName(_fromUtf8("btn_modifier")) - self.verticalLayout.addWidget(self.btn_modifier) self.btn_supprimer = QtGui.QPushButton(self.tab_2) self.btn_supprimer.setObjectName(_fromUtf8("btn_supprimer")) self.verticalLayout.addWidget(self.btn_supprimer) @@ -105,8 +97,10 @@ class Ui_MainWindow(object): self.tableWidget = QtGui.QTableWidget(self.tab_5) self.tableWidget.setGeometry(QtCore.QRect(60, 20, 431, 351)) self.tableWidget.setObjectName(_fromUtf8("tableWidget")) - self.tableWidget.setColumnCount(0) + self.tableWidget.setColumnCount(1) self.tableWidget.setRowCount(0) + item = QtGui.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(0, item) self.tabWidget.addTab(self.tab_5, _fromUtf8("")) self.tab_3 = QtGui.QWidget() self.tab_3.setObjectName(_fromUtf8("tab_3")) @@ -158,21 +152,20 @@ class Ui_MainWindow(object): self.label.setText(_translate("MainWindow", "Activité :", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Activite", None)) self.label_13.setText(_translate("MainWindow", "Nom :", None)) - self.label_14.setText(_translate("MainWindow", "Niveau :", None)) - self.label_15.setText(_translate("MainWindow", "Places / niveau :", None)) - self.label_16.setText(_translate("MainWindow", "Places disponible :", None)) - self.label_17.setText(_translate("MainWindow", "Places Reserve Super Abo : ", None)) self.nom.setText(_translate("MainWindow", "TextLabel", None)) - self.niveau.setText(_translate("MainWindow", "TextLabel", None)) + self.label_15.setText(_translate("MainWindow", "Places total:", None)) self.placesParNiveau.setText(_translate("MainWindow", "TextLabel", None)) + self.label_16.setText(_translate("MainWindow", "Places disponible :", None)) self.placesDispo.setText(_translate("MainWindow", "TextLabel", None)) + self.label_17.setText(_translate("MainWindow", "Places Reserve Super Abo : ", None)) self.placesSuperAbo.setText(_translate("MainWindow", "TextLabel", None)) self.btn_details.setText(_translate("MainWindow", "Details Places", None)) self.btn_borne.setText(_translate("MainWindow", "Borne", None)) self.btn_creer.setText(_translate("MainWindow", "Créer", None)) - self.btn_modifier.setText(_translate("MainWindow", "Modifier", None)) self.btn_supprimer.setText(_translate("MainWindow", "Supprimer", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Parkings", None)) + item = self.tableWidget.horizontalHeaderItem(0) + item.setText(_translate("MainWindow", "Nouvelle colonne", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Membres", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Services", None)) self.menuFichier.setTitle(_translate("MainWindow", "Fichier", None)) diff --git a/src/v/test/TestBorne.py b/src/v/test/TestBorne.py deleted file mode 100644 index 934a683..0000000 --- a/src/v/test/TestBorne.py +++ /dev/null @@ -1 +0,0 @@ -__author__ = 'sidya' diff --git a/src/v/test/TestCamera.py b/src/v/test/TestCamera.py deleted file mode 100644 index 9c81c7d..0000000 --- a/src/v/test/TestCamera.py +++ /dev/null @@ -1,14 +0,0 @@ -from src.m.camera import Camera - -__author__ = 'sidya' - -from nose.tools import assert_equal -from nose.tools import assert_not_equal -from nose.tools import assert_raises -from nose.tools import raises - - -class testCamera: - def test_TailleMax(self): - c = Camera() - assert_equal(c.capturerHauteur()<2.5) diff --git a/src/v/test/TestPanneau.py b/src/v/test/TestPanneau.py deleted file mode 100644 index 5611373..0000000 --- a/src/v/test/TestPanneau.py +++ /dev/null @@ -1,4 +0,0 @@ -__author__ = 'sidya' - -class TestPanneau: - pass \ No newline at end of file diff --git a/ui/borne.py b/ui/borne.py index 19a6e18..78662c5 100644 --- a/ui/borne.py +++ b/ui/borne.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'borne.ui' # -# Created: Fri Dec 26 17:48:52 2014 +# Created: Mon Jan 12 14:40:36 2015 # by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -23,21 +23,21 @@ except AttributeError: def _translate(context, text, disambig): return QtGui.QApplication.translate(context, text, disambig) -class Ui_Form(object): - def setupUi(self, Form): - Form.setObjectName(_fromUtf8("Form")) - Form.resize(400, 412) - self.btn_Voiture = QtGui.QPushButton(Form) - self.btn_Voiture.setGeometry(QtCore.QRect(90, 40, 211, 27)) +class Ui_Borne(object): + def setupUi(self, Borne): + Borne.setObjectName(_fromUtf8("Borne")) + Borne.resize(669, 579) + self.btn_Voiture = QtGui.QPushButton(Borne) + self.btn_Voiture.setGeometry(QtCore.QRect(140, 40, 211, 27)) self.btn_Voiture.setObjectName(_fromUtf8("btn_Voiture")) - self.lcdNumber = QtGui.QLCDNumber(Form) - self.lcdNumber.setGeometry(QtCore.QRect(20, 80, 351, 31)) - self.lcdNumber.setObjectName(_fromUtf8("lcdNumber")) - self.nomParking = QtGui.QLabel(Form) - self.nomParking.setGeometry(QtCore.QRect(170, 10, 151, 20)) + self.nomParking = QtGui.QLabel(Borne) + self.nomParking.setGeometry(QtCore.QRect(300, 10, 151, 20)) self.nomParking.setObjectName(_fromUtf8("nomParking")) - self.layoutWidget = QtGui.QWidget(Form) - self.layoutWidget.setGeometry(QtCore.QRect(60, 300, 272, 85)) + self.box_id = QtGui.QGroupBox(Borne) + self.box_id.setGeometry(QtCore.QRect(20, 150, 331, 171)) + self.box_id.setObjectName(_fromUtf8("box_id")) + self.layoutWidget = QtGui.QWidget(self.box_id) + self.layoutWidget.setGeometry(QtCore.QRect(30, 60, 272, 85)) self.layoutWidget.setObjectName(_fromUtf8("layoutWidget")) self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget) self.horizontalLayout.setMargin(0) @@ -56,55 +56,104 @@ class Ui_Form(object): self.horizontalLayout.addLayout(self.verticalLayout_2) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.label_2 = QtGui.QLabel(self.layoutWidget) - self.label_2.setObjectName(_fromUtf8("label_2")) - self.verticalLayout.addWidget(self.label_2) - self.btn_validerNonMembre = QtGui.QPushButton(self.layoutWidget) - self.btn_validerNonMembre.setObjectName(_fromUtf8("btn_validerNonMembre")) - self.verticalLayout.addWidget(self.btn_validerNonMembre) - self.btn_cb = QtGui.QPushButton(self.layoutWidget) - self.btn_cb.setObjectName(_fromUtf8("btn_cb")) - self.verticalLayout.addWidget(self.btn_cb) self.horizontalLayout.addLayout(self.verticalLayout) - self.layoutWidget1 = QtGui.QWidget(Form) - self.layoutWidget1.setGeometry(QtCore.QRect(70, 130, 261, 91)) - 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.verticalLayout_5 = QtGui.QVBoxLayout() - self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5")) - self.btn_precedent = QtGui.QPushButton(self.layoutWidget1) - self.btn_precedent.setObjectName(_fromUtf8("btn_precedent")) - self.verticalLayout_5.addWidget(self.btn_precedent) - self.btn_annuler = QtGui.QPushButton(self.layoutWidget1) + self.labIdClient = QtGui.QLabel(self.box_id) + self.labIdClient.setGeometry(QtCore.QRect(130, 31, 91, 16)) + self.labIdClient.setObjectName(_fromUtf8("labIdClient")) + self.box_abo = QtGui.QGroupBox(Borne) + self.box_abo.setGeometry(QtCore.QRect(20, 350, 331, 201)) + self.box_abo.setObjectName(_fromUtf8("box_abo")) + self.formLayoutWidget = QtGui.QWidget(self.box_abo) + self.formLayoutWidget.setGeometry(QtCore.QRect(-1, 40, 291, 91)) + self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget")) + self.formLayout = QtGui.QFormLayout(self.formLayoutWidget) + self.formLayout.setMargin(0) + self.formLayout.setObjectName(_fromUtf8("formLayout")) + self.nomLabel = QtGui.QLabel(self.formLayoutWidget) + self.nomLabel.setObjectName(_fromUtf8("nomLabel")) + self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.nomLabel) + self.nomLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.nomLineEdit.setObjectName(_fromUtf8("nomLineEdit")) + self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.nomLineEdit) + self.prenomLabel = QtGui.QLabel(self.formLayoutWidget) + self.prenomLabel.setObjectName(_fromUtf8("prenomLabel")) + self.formLayout.setWidget(1, QtGui.QFormLayout.LabelRole, self.prenomLabel) + self.numeroCarteLabel = QtGui.QLabel(self.formLayoutWidget) + self.numeroCarteLabel.setObjectName(_fromUtf8("numeroCarteLabel")) + self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.numeroCarteLabel) + self.numeroCarteLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.numeroCarteLineEdit.setObjectName(_fromUtf8("numeroCarteLineEdit")) + self.formLayout.setWidget(2, QtGui.QFormLayout.FieldRole, self.numeroCarteLineEdit) + self.prenomLineEdit = QtGui.QLineEdit(self.formLayoutWidget) + self.prenomLineEdit.setObjectName(_fromUtf8("prenomLineEdit")) + self.formLayout.setWidget(1, QtGui.QFormLayout.FieldRole, self.prenomLineEdit) + self.checkBox = QtGui.QCheckBox(self.box_abo) + self.checkBox.setGeometry(QtCore.QRect(0, 140, 121, 20)) + self.checkBox.setObjectName(_fromUtf8("checkBox")) + self.btn_valider_abo = QtGui.QPushButton(self.box_abo) + self.btn_valider_abo.setGeometry(QtCore.QRect(210, 160, 87, 27)) + self.btn_valider_abo.setObjectName(_fromUtf8("btn_valider_abo")) + self.btn_desabo = QtGui.QPushButton(self.box_abo) + self.btn_desabo.setGeometry(QtCore.QRect(120, 160, 87, 27)) + self.btn_desabo.setObjectName(_fromUtf8("btn_desabo")) + self.box_recup = QtGui.QGroupBox(Borne) + self.box_recup.setGeometry(QtCore.QRect(380, 350, 271, 121)) + self.box_recup.setObjectName(_fromUtf8("box_recup")) + self.formLayoutWidget_2 = QtGui.QWidget(self.box_recup) + self.formLayoutWidget_2.setGeometry(QtCore.QRect(0, 40, 261, 80)) + self.formLayoutWidget_2.setObjectName(_fromUtf8("formLayoutWidget_2")) + self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_2) + self.formLayout_2.setMargin(0) + self.formLayout_2.setObjectName(_fromUtf8("formLayout_2")) + self.numeroTicketLabel = QtGui.QLabel(self.formLayoutWidget_2) + self.numeroTicketLabel.setObjectName(_fromUtf8("numeroTicketLabel")) + self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.numeroTicketLabel) + self.numeroTicketLineEdit = QtGui.QLineEdit(self.formLayoutWidget_2) + self.numeroTicketLineEdit.setObjectName(_fromUtf8("numeroTicketLineEdit")) + self.formLayout_2.setWidget(0, QtGui.QFormLayout.FieldRole, self.numeroTicketLineEdit) + self.btn_recuperer = QtGui.QPushButton(self.formLayoutWidget_2) + self.btn_recuperer.setObjectName(_fromUtf8("btn_recuperer")) + self.formLayout_2.setWidget(1, QtGui.QFormLayout.FieldRole, self.btn_recuperer) + self.label_aff = QtGui.QLabel(Borne) + self.label_aff.setGeometry(QtCore.QRect(10, 90, 641, 31)) + self.label_aff.setObjectName(_fromUtf8("label_aff")) + self.box_garer = QtGui.QGroupBox(Borne) + self.box_garer.setGeometry(QtCore.QRect(390, 150, 231, 131)) + self.box_garer.setObjectName(_fromUtf8("box_garer")) + self.btn_garer = QtGui.QPushButton(self.box_garer) + self.btn_garer.setGeometry(QtCore.QRect(50, 60, 131, 27)) + self.btn_garer.setObjectName(_fromUtf8("btn_garer")) + self.btn_annuler = QtGui.QPushButton(Borne) + self.btn_annuler.setGeometry(QtCore.QRect(390, 40, 87, 27)) self.btn_annuler.setObjectName(_fromUtf8("btn_annuler")) - self.verticalLayout_5.addWidget(self.btn_annuler) - self.horizontalLayout_2.addLayout(self.verticalLayout_5) - self.verticalLayout_4 = QtGui.QVBoxLayout() - self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4")) - self.btn_suivant = QtGui.QPushButton(self.layoutWidget1) - self.btn_suivant.setObjectName(_fromUtf8("btn_suivant")) - self.verticalLayout_4.addWidget(self.btn_suivant) - self.btn_valider = QtGui.QPushButton(self.layoutWidget1) - self.btn_valider.setObjectName(_fromUtf8("btn_valider")) - self.verticalLayout_4.addWidget(self.btn_valider) - self.horizontalLayout_2.addLayout(self.verticalLayout_4) + self.btn_quitter = QtGui.QPushButton(Borne) + self.btn_quitter.setGeometry(QtCore.QRect(520, 540, 87, 27)) + self.btn_quitter.setObjectName(_fromUtf8("btn_quitter")) - self.retranslateUi(Form) - QtCore.QMetaObject.connectSlotsByName(Form) + self.retranslateUi(Borne) + QtCore.QMetaObject.connectSlotsByName(Borne) - def retranslateUi(self, Form): - Form.setWindowTitle(_translate("Form", "Borne", None)) - self.btn_Voiture.setText(_translate("Form", "Detection Arrivee Voiture", None)) - self.nomParking.setText(_translate("Form", "NomParking", None)) - self.label.setText(_translate("Form", "Carte Membre ID ", None)) - self.btn_validerID.setText(_translate("Form", "Valider", None)) - self.label_2.setText(_translate("Form", "Non membre", None)) - self.btn_validerNonMembre.setText(_translate("Form", "Valider", None)) - self.btn_cb.setText(_translate("Form", "PayerAvecCarte", None)) - self.btn_precedent.setText(_translate("Form", "<", None)) - self.btn_annuler.setText(_translate("Form", "Annuler", None)) - self.btn_suivant.setText(_translate("Form", ">", None)) - self.btn_valider.setText(_translate("Form", "Valider", None)) + def retranslateUi(self, Borne): + Borne.setWindowTitle(_translate("Borne", "Borne", None)) + self.btn_Voiture.setText(_translate("Borne", "Detection Arrivee Voiture", None)) + self.nomParking.setText(_translate("Borne", "NomParking", None)) + self.box_id.setTitle(_translate("Borne", "Identification", None)) + self.label.setText(_translate("Borne", "Carte Membre ID ", None)) + self.btn_validerID.setText(_translate("Borne", "Valider", None)) + self.labIdClient.setText(_translate("Borne", "Non identifier", None)) + self.box_abo.setTitle(_translate("Borne", "S\'abonner", None)) + self.nomLabel.setText(_translate("Borne", "Nom", None)) + self.prenomLabel.setText(_translate("Borne", "Prenom", None)) + self.numeroCarteLabel.setText(_translate("Borne", "Numero carte", None)) + self.checkBox.setText(_translate("Borne", "PackGarantie", None)) + self.btn_valider_abo.setText(_translate("Borne", "Valider", None)) + self.btn_desabo.setText(_translate("Borne", "Désabonner", None)) + self.box_recup.setTitle(_translate("Borne", "Récuperer", None)) + self.numeroTicketLabel.setText(_translate("Borne", "Numero Ticket :", None)) + self.btn_recuperer.setText(_translate("Borne", "Récupérer Véhicule", None)) + self.label_aff.setText(_translate("Borne", "

TextLabel

", None)) + self.box_garer.setTitle(_translate("Borne", "Se garer", None)) + self.btn_garer.setText(_translate("Borne", "Garer Véhicule", None)) + self.btn_annuler.setText(_translate("Borne", "Annuler", None)) + self.btn_quitter.setText(_translate("Borne", "Quitter", None)) diff --git a/ui/borne.ui b/ui/borne.ui index a85d651..7057819 100644 --- a/ui/borne.ui +++ b/ui/borne.ui @@ -1,13 +1,13 @@ - Form - + Borne + 0 0 - 400 - 412 + 669 + 579 @@ -16,7 +16,7 @@ - 90 + 140 40 211 27 @@ -26,20 +26,10 @@ Detection Arrivee Voiture - - - - 20 - 80 - 351 - 31 - - - - 170 + 300 10 151 20 @@ -49,117 +39,284 @@ NomParking - + - 60 - 300 - 272 - 85 + 20 + 150 + 331 + 171 - - - - - - - Carte Membre ID - - - - - - - - - - Valider - - - - - - - - - - - Non membre - - - - - - - Valider - - - - - - - PayerAvecCarte - - - - - - + + Identification + + + + + 30 + 60 + 272 + 85 + + + + + + + + + Carte Membre ID + + + + + + + + + + Valider + + + + + + + + + + + + + + 130 + 31 + 91 + 16 + + + + Non identifier + + - + - 70 - 130 - 261 - 91 + 20 + 350 + 331 + 201 - - - - - - - < - - - - - - - Annuler - - - - - - - - - - - > - - - - - - - Valider - - - - - - + + S'abonner + + + + + -1 + 40 + 291 + 91 + + + + + + + Nom + + + + + + + + + + Prenom + + + + + + + Numero carte + + + + + + + + + + + + + + + 0 + 140 + 121 + 20 + + + + PackGarantie + + + + + + 210 + 160 + 87 + 27 + + + + Valider + + + + + + 120 + 160 + 87 + 27 + + + + Désabonner + + + formLayoutWidget + checkBox + btn_valider_abo + btn_desabo + prenomLineEdit + + + + + 380 + 350 + 271 + 121 + + + + Récuperer + + + + + 0 + 40 + 261 + 80 + + + + + + + Numero Ticket : + + + + + + + + + + Récupérer Véhicule + + + + + + + + + + 10 + 90 + 641 + 31 + + + + <html><head/><body><p align="center">TextLabel</p></body></html> + + + + + + 390 + 150 + 231 + 131 + + + + Se garer + + + + + 50 + 60 + 131 + 27 + + + + Garer Véhicule + + + + + + + 390 + 40 + 87 + 27 + + + + Annuler + + + + + + 520 + 540 + 87 + 27 + + + + Quitter + - layoutWidget btn_Voiture - lcdNumber - layoutWidget nomParking + + box_id + box_abo + box_recup + label_aff + box_garer + btn_annuler + btn_quitter diff --git a/ui/creaParking.py b/ui/creaParking.py index e3a7746..f45fc47 100644 --- a/ui/creaParking.py +++ b/ui/creaParking.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'creationParking.ui' # -# Created: Fri Dec 26 21:22:48 2014 +# Created: Mon Jan 5 16:57:56 2015 # by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -52,7 +52,7 @@ class Ui_CreaParking(object): 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.setGeometry(QtCore.QRect(10, 90, 321, 121)) self.tableWidget.setObjectName(_fromUtf8("tableWidget")) self.tableWidget.setColumnCount(3) self.tableWidget.setRowCount(0) @@ -63,41 +63,37 @@ class Ui_CreaParking(object): 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.setGeometry(QtCore.QRect(350, 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.setGeometry(QtCore.QRect(350, 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.layoutWidget2 = QtGui.QWidget(CreaParking) + self.layoutWidget2.setGeometry(QtCore.QRect(52, 12, 291, 56)) + self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2")) + self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget2) self.horizontalLayout.setMargin(0) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.verticalLayout = QtGui.QVBoxLayout() self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) - self.label = QtGui.QLabel(self.widget) + self.label = QtGui.QLabel(self.layoutWidget2) self.label.setObjectName(_fromUtf8("label")) self.verticalLayout.addWidget(self.label) - self.label_2 = QtGui.QLabel(self.widget) - self.label_2.setObjectName(_fromUtf8("label_2")) - self.verticalLayout.addWidget(self.label_2) self.horizontalLayout.addLayout(self.verticalLayout) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) - self.lineEdit_nom = QtGui.QLineEdit(self.widget) + self.lineEdit_nom = QtGui.QLineEdit(self.layoutWidget2) self.lineEdit_nom.setObjectName(_fromUtf8("lineEdit_nom")) self.verticalLayout_2.addWidget(self.lineEdit_nom) - self.lineEdit_nbNiv = QtGui.QLineEdit(self.widget) - self.lineEdit_nbNiv.setObjectName(_fromUtf8("lineEdit_nbNiv")) - self.verticalLayout_2.addWidget(self.lineEdit_nbNiv) self.horizontalLayout.addLayout(self.verticalLayout_2) self.retranslateUi(CreaParking) QtCore.QMetaObject.connectSlotsByName(CreaParking) + CreaParking.setTabOrder(self.lineEdit_nom, self.tableWidget) + CreaParking.setTabOrder(self.tableWidget, self.btn_addRow) + CreaParking.setTabOrder(self.btn_addRow, self.btn_rmRow) + CreaParking.setTabOrder(self.btn_rmRow, self.btn_annuler) + CreaParking.setTabOrder(self.btn_annuler, self.btn_valider) def retranslateUi(self, CreaParking): CreaParking.setWindowTitle(_translate("CreaParking", "Creation Parking", None)) @@ -112,8 +108,6 @@ class Ui_CreaParking(object): 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)) diff --git a/ui/creationParking.ui b/ui/creationParking.ui index 81179ea..c2fe3b3 100644 --- a/ui/creationParking.ui +++ b/ui/creationParking.ui @@ -68,10 +68,10 @@ - 10 - 100 - 301 - 121 + 30 + 130 + 311 + 91 @@ -93,7 +93,7 @@ - 330 + 350 120 41 27 @@ -103,23 +103,10 @@ + - - - - 50 - 70 - 135 - 24 - - - - Places par niveau : - - - 330 + 350 160 41 27 @@ -129,7 +116,7 @@ - - + 52 @@ -148,13 +135,6 @@ - - - - Nombre de niveaux : - - - @@ -162,14 +142,19 @@ - - - + + lineEdit_nom + tableWidget + btn_addRow + btn_rmRow + btn_annuler + btn_valider + diff --git a/ui/main.py b/ui/main.py index 0f1b5e2..ad8652c 100644 --- a/ui/main.py +++ b/ui/main.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'main.ui' # -# Created: Fri Dec 26 17:32:35 2014 +# Created: Mon Jan 12 15:29:56 2015 # by: PyQt4 UI code generator 4.11.3 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(561, 479) + MainWindow.resize(561, 509) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.tabWidget = QtGui.QTabWidget(self.centralwidget) @@ -49,37 +49,32 @@ class Ui_MainWindow(object): self.comboBox.setObjectName(_fromUtf8("comboBox")) self.verticalLayout.addWidget(self.comboBox) self.formLayout_3 = QtGui.QFormLayout() + self.formLayout_3.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) self.formLayout_3.setObjectName(_fromUtf8("formLayout_3")) self.label_13 = QtGui.QLabel(self.tab_2) self.label_13.setObjectName(_fromUtf8("label_13")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.LabelRole, self.label_13) - self.label_14 = QtGui.QLabel(self.tab_2) - self.label_14.setObjectName(_fromUtf8("label_14")) - self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_14) - self.label_15 = QtGui.QLabel(self.tab_2) - self.label_15.setObjectName(_fromUtf8("label_15")) - self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_15) - self.label_16 = QtGui.QLabel(self.tab_2) - self.label_16.setObjectName(_fromUtf8("label_16")) - self.formLayout_3.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_16) - self.label_17 = QtGui.QLabel(self.tab_2) - self.label_17.setObjectName(_fromUtf8("label_17")) - self.formLayout_3.setWidget(4, QtGui.QFormLayout.LabelRole, self.label_17) self.nom = QtGui.QLabel(self.tab_2) self.nom.setObjectName(_fromUtf8("nom")) self.formLayout_3.setWidget(0, QtGui.QFormLayout.FieldRole, self.nom) - self.niveau = QtGui.QLabel(self.tab_2) - self.niveau.setObjectName(_fromUtf8("niveau")) - self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.niveau) + self.label_15 = QtGui.QLabel(self.tab_2) + self.label_15.setObjectName(_fromUtf8("label_15")) + self.formLayout_3.setWidget(1, QtGui.QFormLayout.LabelRole, self.label_15) self.placesParNiveau = QtGui.QLabel(self.tab_2) self.placesParNiveau.setObjectName(_fromUtf8("placesParNiveau")) - self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.placesParNiveau) + self.formLayout_3.setWidget(1, QtGui.QFormLayout.FieldRole, self.placesParNiveau) + self.label_16 = QtGui.QLabel(self.tab_2) + self.label_16.setObjectName(_fromUtf8("label_16")) + self.formLayout_3.setWidget(2, QtGui.QFormLayout.LabelRole, self.label_16) self.placesDispo = QtGui.QLabel(self.tab_2) self.placesDispo.setObjectName(_fromUtf8("placesDispo")) - self.formLayout_3.setWidget(3, QtGui.QFormLayout.FieldRole, self.placesDispo) + self.formLayout_3.setWidget(2, QtGui.QFormLayout.FieldRole, self.placesDispo) + self.label_17 = QtGui.QLabel(self.tab_2) + self.label_17.setObjectName(_fromUtf8("label_17")) + self.formLayout_3.setWidget(3, QtGui.QFormLayout.LabelRole, self.label_17) self.placesSuperAbo = QtGui.QLabel(self.tab_2) self.placesSuperAbo.setObjectName(_fromUtf8("placesSuperAbo")) - self.formLayout_3.setWidget(4, QtGui.QFormLayout.FieldRole, self.placesSuperAbo) + self.formLayout_3.setWidget(3, QtGui.QFormLayout.FieldRole, self.placesSuperAbo) self.verticalLayout.addLayout(self.formLayout_3) self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) @@ -93,9 +88,6 @@ class Ui_MainWindow(object): self.btn_creer = QtGui.QPushButton(self.tab_2) self.btn_creer.setObjectName(_fromUtf8("btn_creer")) self.verticalLayout.addWidget(self.btn_creer) - self.btn_modifier = QtGui.QPushButton(self.tab_2) - self.btn_modifier.setObjectName(_fromUtf8("btn_modifier")) - self.verticalLayout.addWidget(self.btn_modifier) self.btn_supprimer = QtGui.QPushButton(self.tab_2) self.btn_supprimer.setObjectName(_fromUtf8("btn_supprimer")) self.verticalLayout.addWidget(self.btn_supprimer) @@ -105,8 +97,10 @@ class Ui_MainWindow(object): self.tableWidget = QtGui.QTableWidget(self.tab_5) self.tableWidget.setGeometry(QtCore.QRect(60, 20, 431, 351)) self.tableWidget.setObjectName(_fromUtf8("tableWidget")) - self.tableWidget.setColumnCount(0) + self.tableWidget.setColumnCount(1) self.tableWidget.setRowCount(0) + item = QtGui.QTableWidgetItem() + self.tableWidget.setHorizontalHeaderItem(0, item) self.tabWidget.addTab(self.tab_5, _fromUtf8("")) self.tab_3 = QtGui.QWidget() self.tab_3.setObjectName(_fromUtf8("tab_3")) @@ -158,21 +152,20 @@ class Ui_MainWindow(object): self.label.setText(_translate("MainWindow", "Activité :", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Activite", None)) self.label_13.setText(_translate("MainWindow", "Nom :", None)) - self.label_14.setText(_translate("MainWindow", "Niveau :", None)) - self.label_15.setText(_translate("MainWindow", "Places / niveau :", None)) - self.label_16.setText(_translate("MainWindow", "Places disponible :", None)) - self.label_17.setText(_translate("MainWindow", "Places Reserve Super Abo : ", None)) self.nom.setText(_translate("MainWindow", "TextLabel", None)) - self.niveau.setText(_translate("MainWindow", "TextLabel", None)) + self.label_15.setText(_translate("MainWindow", "Places total:", None)) self.placesParNiveau.setText(_translate("MainWindow", "TextLabel", None)) + self.label_16.setText(_translate("MainWindow", "Places disponible :", None)) self.placesDispo.setText(_translate("MainWindow", "TextLabel", None)) + self.label_17.setText(_translate("MainWindow", "Places Reserve Super Abo : ", None)) self.placesSuperAbo.setText(_translate("MainWindow", "TextLabel", None)) self.btn_details.setText(_translate("MainWindow", "Details Places", None)) self.btn_borne.setText(_translate("MainWindow", "Borne", None)) self.btn_creer.setText(_translate("MainWindow", "Créer", None)) - self.btn_modifier.setText(_translate("MainWindow", "Modifier", None)) self.btn_supprimer.setText(_translate("MainWindow", "Supprimer", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Parkings", None)) + item = self.tableWidget.horizontalHeaderItem(0) + item.setText(_translate("MainWindow", "Nouvelle colonne", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Membres", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Services", None)) self.menuFichier.setTitle(_translate("MainWindow", "Fichier", None)) diff --git a/ui/main.ui b/ui/main.ui index e53acad..14dabbe 100644 --- a/ui/main.ui +++ b/ui/main.ui @@ -7,7 +7,7 @@ 0 0 561 - 479 + 509 @@ -24,7 +24,7 @@ - 0 + 1 @@ -64,6 +64,9 @@ + + QFormLayout::AllNonFixedFieldsGrow + @@ -71,34 +74,6 @@ - - - - Niveau : - - - - - - - Places / niveau : - - - - - - - Places disponible : - - - - - - - Places Reserve Super Abo : - - - @@ -106,28 +81,42 @@ - - + + - TextLabel + Places total: - + TextLabel - + + + + Places disponible : + + + + TextLabel - + + + + Places Reserve Super Abo : + + + + TextLabel @@ -161,13 +150,6 @@ - - - - Modifier - - -