This commit is contained in:
sidya82 2015-02-04 14:20:39 +01:00
parent bf06106e04
commit 952b215c0c
34 changed files with 1301 additions and 586 deletions

View File

@ -5,5 +5,12 @@
<orderEntry type="jdk" jdkName="Python 3.4.1 (/usr/bin/python3.4)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="PackageRequirementsSettings">
<option name="requirementsPath" value="" />
</component>
<component name="TestRunnerService">
<option name="projectConfiguration" value="Nosetests" />
<option name="PROJECT_TEST_RUNNER" value="Nosetests" />
</component>
</module>

View File

@ -8,9 +8,9 @@ __author__ = 'sidya'
if __name__ == "__main__":
c = connexionBDD()
c.initialisationBDD()
c.seDeconnecter()
#c = connexionBDD()
#c.initialisationBDD()
#c.seDeconnecter()
# lancement du controleur principal
main = Main()

View File

@ -1,10 +1,9 @@
from PyQt4 import QtGui
from src.c.SelectService import SelectService
from src.c.Teleporteur import Teleporteur
from src.m.Parking import Placement
from src.m.Client import Client
from src.m.Service import Service
from src.m.Service import Service, TypeService
from src.m.Client import TypeAbonnement
from src.v.Camera import Camera
from src.v.MyQWidget import MyQWidget
@ -16,8 +15,12 @@ __author__ = 'sidya'
class Borne:
"""
Controleur de la vue de la borne permettant l'accès au parking
Controleur de la vue des bornes permettant l'accès au parking
"""
bornes = []
@staticmethod
def MajBornes():
pass
def __init__(self, main, parking):
self.__parking = parking
@ -41,29 +44,54 @@ class Borne:
# Validator
self.__ui.label_aff.setText("Dream park")
self.__ui.nomParking.setText(parking.nom)
self.__ui.label_aff.setStyleSheet("qproperty-alignment: AlignCenter; font-size: 28px")
self.__ui.nomParking.setStyleSheet("qproperty-alignment: AlignCenter; font-size: 28px")
self.nonVoiture()
self.showWindow()
self.__ui.nomParking.setText("Borne " + str(len(self.bornes)+1) + " - Parking : " +parking.nom)
def blockAll(self):
self.__ui.box_abo.setDisabled(True)
self.__ui.box_garer.setDisabled(True)
self.__ui.box_id.setDisabled(True)
self.__ui.box_recup.setDisabled(True)
self.__ui.btn_Voiture.setDisabled(True)
self.__ui.btn_annuler.setDisabled(True)
self.__ui.btn_desabo.setDisabled(True)
def nonVoiture(self):
"""
Met en etat initial de départ sans voiture
:return:
"""
self.__ui.label_aff.setText("Dream park")
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)
self.__ui.box_service.setDisabled(True)
self.__ui.btn_Voiture.setDisabled(False)
self.__ui.btn_desabo.setDisabled(True)
self.__ui.nomLineEdit.setText("")
self.__ui.prenomLineEdit.setText("")
self.__ui.numeroCarteLineEdit.setText("")
self.__ui.checkBox.setChecked(False)
self.__ui.lineEdit_id.setText("")
self.__ui.numeroTicketLineEdit.setText("")
self.__ui.labIdClient.setText("Non identifier")
def newVoiture(self):
"""
Meten etat d'arrive de voiture detecte par la camera
:return:
"""
self.v_actuel = Camera.donnerVoiture()
self.__ui.btn_Voiture.setDisabled(True)
self.__v_actuel = Camera.donnerVoiture()
self.__ui.box_abo.setDisabled(False)
self.__ui.box_garer.setDisabled(False)
self.__ui.box_id.setDisabled(False)
@ -76,18 +104,20 @@ class Borne:
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:
try :
self.__c = Client.get(self.__ui.lineEdit_id.text())
self.__ui.label_aff.setText("Bonjour " + str(self.__c.nom) + " " + str(self.__c.prenom))
# self.__ui.labIdClient.setText(str(self.__c))
self.__ui.labIdClient.setText("Vous étes identifier")
self.__ui.box_id.setDisabled(True)
else:
self.__ui.box_service.setDisabled(False)
self.__ui.btn_desabo.setDisabled(False)
except IndexError :
self.__ui.label_aff.setText("Echec identification")
self.__ui.labIdClient.setText("Non identifier")
def abo(self):
"""
Gestion validation formaulaire d'abonnement
Gestion validation formulaire d'abonnement
:return:
"""
if self.__c != None:
@ -99,16 +129,17 @@ class Borne:
else:
if self.__ui.checkBox.isChecked():
self.__c = Client(None,
self.__ui.nomLineEdit,
self.__ui.prenomLineEdit,
str(self.__ui.nomLineEdit.text()),
str(self.__ui.prenomLineEdit.text()),
"",
TypeAbonnement.SUPER_ABONNE)
else:
self.__c = Client(None,
self.__ui.nomLineEdit,
self.__ui.prenomLineEdit,
str(self.__ui.nomLineEdit.text()),
str(self.__ui.prenomLineEdit.text()),
"",
TypeAbonnement.ABONNE)
print(self.__c)
self.__ui.label_aff.setText("Votre id membre est : " + self.__c.id)
self.__ui.lineEdit_id.setText(self.__c.id)
self.identification()
@ -118,27 +149,29 @@ class Borne:
Gestion de la validation de garer son vehicule
:return:
"""
id = None
if self.__c is None:
p = self.__parking.recherchePlace(self.v_actuel)
if p is None :
self.__ui.label_aff.setText("Aucun Place disponible")
else :
id = Teleporteur.teleporterVoiture(self.v_actuel, p)
self.__ui.label_aff.setText("Votre num ticket est : " + str(id))
self.nonVoiture()
p = self.__parking.recherchePlace(self.__v_actuel)
if p is not None:
id = Teleporteur.teleporterVoiture(self.__v_actuel, p)
else:
if self.__c.abonnement != TypeAbonnement.SUPER_ABONNE:
p = self.__parking.recherchePlace(self.v_actuel)
if p is None :
self.__ui.label_aff.setText("Aucun Place disponible")
else :
id = Teleporteur.teleporterVoiture(self.v_actuel, self.__parking.recherchePlace(self.v_actuel))
self.__w.hide()
self.__child = SelectService(self.__main)
self.__ui.label_aff.setText("Votre num ticket est : " + str(id))
self.nonVoiture()
p = self.__parking.recherchePlace(self.__v_actuel)
if p is not None :
id = Teleporteur.teleporterVoiture(self.__v_actuel, p)
if self.__ui.checkBox_Livraison_2.isChecked():
Service(None, self.__c, p, TypeService.LIVRAISON)
if self.__ui.checkBox_Entretien_2.isChecked():
Service(None, self.__c, p, TypeService.ENTRETIEN)
if self.__ui.checkBox_Maintenance_2.isChecked():
Service(None, self.__c, p, TypeService.MAINTENANCE)
else:
Teleporteur.teleporterVoitureSuperAbonne(self.v_actuel)
Teleporteur.teleporterVoitureSuperAbonne(self.__v_actuel)
if id is not None:
self.nonVoiture()
self.ticketDepot(id)
else:
self.__ui.label_aff.setText("Aucune Place Disponible Pour Votre Véhicule. Devenez Super Abonné!")
def recuperer(self):
@ -149,11 +182,22 @@ class Borne:
try :
p = Placement.get(self.__ui.numeroTicketLineEdit.text())
Teleporteur.teleporterVersSortie(p)
self.__ui.label_aff.setText("Bonne journée")
self.nonVoiture()
self.ticketDepot(id)
except IndexError:
self.__ui.label_aff.setText("Mauvais numero de ticket")
def ticketDepot(self, id):
QtGui.QMessageBox.information(self.__w,
"Ticket",
"Votre numero ticket : " + str(id)
)
def ticketRetrait(self):
QtGui.QMessageBox.information(self.__w,
"Ticket",
"Merci de votre confiance! Bonne journée !"
)
def showWindow(self):
"""
@ -169,9 +213,9 @@ class Borne:
Gestion de sortie de la vue borne
:return:
"""
self.__w.hide()
self.__main.showWindow()
def error(self):
"""
Qdialog message erreur

View File

@ -65,7 +65,7 @@ class CreaParking:
if result == QtGui.QMessageBox.Yes:
self._main.activity("Annulation Creation Parking", self._main.lvl.INFO)
self._w.hide()
#self._w.hide()
self._main.showWindow()
def valider(self):
@ -76,9 +76,12 @@ class CreaParking:
# try:
l = []
for i in range(0, self._ui.tableWidget.rowCount()):
l.append(TypePlace(None,int(self._ui.tableWidget.item(i, 0).text()), int(self._ui.tableWidget.item(i, 1).text()),
int(self._ui.tableWidget.item(i, 2).text())))
p = Parking(self._ui.lineEdit_nom.text(),l)
l.append(TypePlace(None, int(self._ui.tableWidget.item(i, 0).text()),
int(self._ui.tableWidget.item(i, 1).text()),
int(self._ui.tableWidget.item(i, 2).text()),
float(self._ui.tableWidget.item(i, 3).text()),
int(self._ui.tableWidget.item(i, 4).text())))
p = Parking(None, self._ui.lineEdit_nom.text(), l)
self._main.activity("Ajout:" + str(p), self._main.lvl.INFO)
self._w.hide()
self._main.showWindow()

View File

@ -22,9 +22,9 @@ class DetailsPlaces(CreaParking):
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)
self._ui.btn_annuler.setVisible(False)
self._ui.btn_addRow.setVisible(False)
self._ui.btn_rmRow.setVisible(False)
def valider(self):
self._w.hide()

View File

@ -7,7 +7,10 @@ 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.Service import Service
from src.m.Parking import Parking
from src.m.Service import TypeService
from src.m.connexionBDD import connexionBDD
from src.v.MyQMainWindow import MyQMainWindow
from src.v.Ui_MainWindow import Ui_MainWindow
@ -32,7 +35,11 @@ class Main:
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)
self.__ui.btn_borne.clicked.connect(self.afficherBornes)
self.__ui.actionNouveau_2.triggered.connect(self.nouveau)
self.__ui.actionSauvegarder.triggered.connect(self.sauver)
self.__ui.actionCharger.triggered.connect(self.charger)
self.__ui.actionQuitter.triggered.connect(self.quitter)
@ -66,21 +73,40 @@ class Main:
def majListeParking(self):
self.__ui.comboBox.clear()
self.__ui.comboBox.addItem("Selectionner un parking")
for p in Parking.getAll():
for p in Parking.getAllActif():
self.__ui.comboBox.addItem(p.nom)
def selectParking(self):
#onglet detail parking
self.__ui.nom.clear()
self.__ui.placesParNiveau.clear()
self.__ui.placesDispo.clear()
self.__ui.placesSuperAbo.clear()
if self.__ui.comboBox.count() > 1:
p = Parking.getAll()
p = Parking.getAllActif()
self.__ui.nom.setText(p[self.__ui.comboBox.currentIndex() - 1].nom)
self.__ui.placesParNiveau.setText(str(p[self.__ui.comboBox.currentIndex() - 1].nbPlaces))
self.__ui.placesDispo.setText(
str(p[self.__ui.comboBox.currentIndex() - 1].nbPlacesLibresParking))
self.__ui.placesSuperAbo.setText(str(p[self.__ui.comboBox.currentIndex() - 1].nbSuperAbo))
self.__ui.btn_details.setDisabled(False)
self.__ui.btn_supprimer.setDisabled(False)
self.__ui.btn_borne.setDisabled(False)
else:
self.__ui.btn_details.setDisabled(True)
self.__ui.btn_supprimer.setDisabled(True)
self.__ui.btn_borne.setDisabled(True)
#onglet Service
for s in Service.serviceEnCours:
if s.typeService == TypeService.LIVRAISON :
self.__ui.comboBox_livraison.addItem(str(s.id))
if s.typeService == TypeService.ENTRETIEN :
self.__ui.comboBox_entretien.addItem(str(s.id))
if s.typeService == TypeService.MAINTENANCE :
self.__ui.comboBox_maintenance.addItem(str(s.id))
#Onglet Stats
def creerParking(self):
@ -98,23 +124,52 @@ class Main:
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
self.__parkings.remove(self.__parkings[self.__ui.comboBox.currentIndex() - 1])
Parking.remove(Parking.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, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1])
def afficherBornes(self):
if self.__ui.comboBox.currentIndex() != 0:
self.__view.hide()
self.__widgetCourant = DetailsPlaces(self, Parking.getAll()[self.__ui.comboBox.currentIndex() - 1])
Borne.bornes.append(Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1]))
Borne.bornes.append(Borne(self, Parking.getAllActif()[self.__ui.comboBox.currentIndex() - 1]))
def afficherBorne(self):
if self.__ui.comboBox.currentIndex() != 0:
self.__view.hide()
self.__widgetCourant = Borne(self, Parking.getAll()[self.__ui.comboBox.currentIndex() - 1])
def nouveau(self):
result = QtGui.QMessageBox.question(self.__view,
"Confirmer Nouveau...",
"Etes vous sur de vouloir supprimer ?\n"
"(Toutes données non sauvegardées seront perdues)",
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
if result == QtGui.QMessageBox.Yes:
c = connexionBDD()
c.initialisationBDD()
c.seDeconnecter()
Parking.removeAllRam()
self.majListeParking()
def charger(self):
path = QtGui.QFileDialog.getOpenFileName(self.__view,"Charger",".")
if path:
connexionBDD.charger(path)
self.majListeParking()
def sauver(self):
path = QtGui.QFileDialog.getSaveFileName(self.__view,"Sauvegarder",".")
if path:
connexionBDD.sauver(path)
self.majListeParking()
def quitter(self):
self.__view.close()
def showWindow(self):
self.majListeParking()
self.__view.show()
self.__widgetCourant = None # supprime eventuel widget
Borne.bornes = []
self.__view.focusWidget() # reprend le focus sur la fenetre principal

View File

@ -1,55 +0,0 @@
from PyQt4 import QtGui
from src.v.MyQWidget import MyQWidget
from src.v.Ui_Service import Ui_Service
__author__ = 'sidya'
class SelectService:
"""
Controleur de cretion de parking
"""
def __init__(self, main):
self.__main = main
self.__main.activity("Choix Service", self.__main.lvl.INFO)
self._w = MyQWidget(self.__main)
self.__ui = Ui_Service()
self.__ui.setupUi(self._w)
# connect
self.__ui.btn_valider.clicked.connect(self.valider)
# Validator
self.showWindow()
def valider(self):
"""
Gestion validation de formulaire de choix de service
:return:
"""
def showWindow(self):
"""
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 du choix de service ...")
self._w.hide()
self.__main.showWindow()

View File

@ -6,13 +6,16 @@ __author__ = 'sidya'
class Teleporteur:
@staticmethod
def teleporterVoiture(voiture, place):
p = Placement(None,voiture, place,None,None)
p = Placement(None,voiture, place)
place.prendre()
return p.id
@staticmethod
def teleporterVoitureSuperAbonne(voiture):
pass
def teleporterVoitureSuperAbonne(voiture, parking):
place = parking.addPlaceSuperAbo()
p = Placement(None, voiture, place)
return p.id
@staticmethod
def teleporterVersSortie(placement):
placement.end()
placement.end()

View File

@ -1,5 +0,0 @@
__author__ = 'sidya'
class TestAcces:
pass

View File

@ -1,5 +0,0 @@
__author__ = 'sidya'
class TestTeleporteur:
pass

View File

@ -6,40 +6,52 @@ from src.m.connexionBDD import connexionBDD
__author__ = 'sidya'
class Client:
@staticmethod
def get(id):
c = connexionBDD()
r = c.execute("SELECT * FROM client WHERE idClient='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
return Client(id, row["nom"],row["prenom"],row["adresse"], bool(row["typeAbonnement"]))
def __init__(self,id, nom, prenom, adresse, typeAbonnement):
self.__nom = nom
self.__prenom = prenom
self.__typeAbonnement = typeAbonnement
self.__adresse = adresse
if id is None:
self.__nom = nom
self.__prenom = prenom
self.__typeAbonnement = typeAbonnement
self.__adresse = adresse
while True:
id = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in
range(random.randint(1, 10)))
try :
Client.get(id)
Client(id)
except IndexError :
break
self.__id = id
c = connexionBDD()
c.execute("INSERT INTO client (idClient, nom, prenom, adresse, typeAbonnement) VALUES (?,?,?,?,?)",
(str(self.__id), str(self.__nom), str(self.__prenom), "", str(self.__typeAbonnement)))
self.__id = id
c.seDeconnecter()
else:
c = connexionBDD()
r = c.execute("SELECT * FROM client WHERE idClient='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__id = id
self.__nom = row["nom"]
self.__prenom = row["prenom"]
self.__typeAbonnement = row["typeAbonnement"]
self.__adresse = row["adresse"]
def maj(self, nom, prenom, adresse, typeAbonnement):
self.__nom = nom
self.__prenom = prenom
self.__typeAbonnement = typeAbonnement
self.__adresse = adresse
c = connexionBDD()
c.execute("UPDATE client SET nom = ?, prenom = ?, adresse = ?, typeAbonnement = ? WHERE idClient = ?",
(str(self.__nom), str(self.__prenom), "", str(self.__typeAbonnement), str(self.__id)))
c.seDeconnecter()
def desabo(self):
c = connexionBDD()
c.execute("DELETE FROM client WHERE idClient ='"+str(id)+"'")
c.seDeconnecter()
@property
def prenom(self):
@ -54,7 +66,7 @@ class Client:
return self.__id
@property
def adr(self):
def adr(self,nom, prenom, adresse, typeAbonnement):
return self.__adresse
@property

View File

@ -1,6 +1,6 @@
import random
import string
import datetime
import time
from src.m.Voiture import Voiture
from src.m.connexionBDD import connexionBDD
@ -10,30 +10,51 @@ __author__ = 'sidya'
class Parking:
parkings = []
@staticmethod
def get(id):
if len(Parking.parkings) == 0 :
Parking.getAllActif()
for p in Parking.parkings :
if p.id == id :
return p
@staticmethod
def getAll():
def getAllActif():
if len(Parking.parkings) == 0 :
c = connexionBDD()
r = c.execute("SELECT * FROM parking WHERE actif = 1")
rows = r.fetchall()
c.seDeconnecter()
for row in rows :
Parking(row["idParking"], row["nom"], None)
return Parking.parkings
def __init__(self, nom, listeTypePlace):
self.__nom = nom
@staticmethod
def remove(parking):
Parking.parkings.remove(parking)
c = connexionBDD()
c.execute("INSERT INTO parking (nom) VALUES ('"+str(self.__nom)+"')", ())
self.__id = c.lastId()
c.execute("UPDATE parking SET actif = 0 WHERE idParking='"+str(parking.id)+"'")
c.seDeconnecter()
#Crea des places
n = 0
for typePlace in listeTypePlace :
for i in range(typePlace.nombre) :
print(Place(None,self,typePlace,1,n,True,False))
n += 1
@staticmethod
def removeAllRam():
Parking.parkings = []
def __init__(self, id, nom=None, listeTypePlace=None):
self.__nom = nom
if id is None :
c = connexionBDD()
c.execute("INSERT INTO parking (nom) VALUES ('"+str(self.__nom)+"')", ())
self.__id = c.lastId()
#Crea des places
n = 0
for typePlace in listeTypePlace :
for i in range(typePlace.nombre) :
print(Place(None,self,typePlace,n,1,True,False))
n += 1
else :
self.__id = id
self.parkings.append(self)
@property
@ -64,40 +85,47 @@ class Parking:
"""
return Place.placeValide(self.__id, voiture)
def addPlaceSuperAbo(self, parking):
return Place(None, parking, None, None, None, True)
def __str__(self):
return "[Parking : nom = " + self.__nom +"]"
class Place:
@staticmethod
def get(id):
c = connexionBDD()
r = c.execute("SELECT * FROM place WHERE idPlace='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
return Place(id,row["idParking"],row["idTypePlace"],row["niveau"],
row["numero"],row["estLibre"],row["estSuperAbo"])
def __init__(self, id, parking, typePlace, niveau, numero, estLibre, estSuperAbo):
self.__parking = parking
self.__typePlace = typePlace
self.__niveau = niveau
self.__numero = numero
self.__estLibre = estLibre
self.__estSuperAbo = estSuperAbo
def __init__(self, id=None, parking=None, typePlace=None, numero=None, niveau=None,estLibre=True, estSuperAbo=False):
if id is None :
self.__parking = parking
self.__typePlace = typePlace
self.__numero = numero
self.__niveau = niveau
self.__estLibre = estLibre
self.__estSuperAbo = estSuperAbo
c = connexionBDD()
c.execute("INSERT INTO place (idParking, idTypePlace, niveau, numero, estLibre, estSuperAbo) "
"VALUES (?,?,?,?,?,?)",
(self.__parking.id, self.__typePlace.id,self.__niveau,
self.__numero, self.__estLibre, int(self.__estSuperAbo)))
c.execute("INSERT INTO place (idParking, idTypePlace, numero, estLibre, estSuperAbo) "
"VALUES (?,?,?,?,?)",
(self.__parking.id, self.__typePlace.id,
self.__numero, int(self.__estLibre), int(self.__estSuperAbo)))
self.__id = c.lastId()
c.seDeconnecter()
else :
c = connexionBDD()
r = c.execute("SELECT * FROM place WHERE idPlace='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__parking = Parking.get(row["idParking"])
self.__typePlace = TypePlace(row["idTypePlace"])
self.__numero = row["numero"]
self.__estLibre = row["estLibre"]
self.__estSuperAbo = row["estSuperAbo"]
self.__id = id
@property
def id(self):
return self.__id
def prendre(self):
"""
Rend la place indisponible
@ -108,7 +136,7 @@ class Place:
raise Exception("Place déjà prise")
self.__estLibre = False
c = connexionBDD()
c.execute("UPDATE place SET estLibre = 0 WHERE idPlace = ?", (str(self.__id)))
c.execute("UPDATE place SET estLibre = 0 WHERE idPlace ='"+str(self.__id)+"'")
c.seDeconnecter()
def liberer(self):
@ -118,16 +146,23 @@ class Place:
"""
if (self.__estLibre == True):
raise Exception("Impossible de liberer une place vide")
self.__estLibre = False
self.__estLibre = True
c = connexionBDD()
c.execute("UPDATE place SET estLibre = 1 WHERE idPlace = ?", (str(self.__id)))
c.execute("UPDATE place SET estLibre = 1 WHERE idPlace ='"+str(self.__id)+"'")
c.seDeconnecter()
@property
def identification(self):
return TypePlace(self.__typePlace).niveau + ":" + self.__numero
@property
def estlibre(self):
return self.__estLibre
@staticmethod
def nbPlaceParking(idParking):
c = connexionBDD()
print("lol")
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = ?", (str(idParking)))
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = " + str(idParking))
row = r.fetchone()
c.seDeconnecter()
return row[0]
@ -135,7 +170,7 @@ class Place:
@staticmethod
def nbPlaceLibreParking(idParking):
c = connexionBDD()
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = ? AND estLibre = 1", (str(idParking)))
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = "+str(idParking)+" AND estLibre = 1")
row = r.fetchone()
c.seDeconnecter()
return row[0]
@ -143,7 +178,7 @@ class Place:
@staticmethod
def nbSuperAbo(idParking):
c = connexionBDD()
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = ? AND estSuperAbo = 1", (str(idParking)))
r = c.execute("SELECT COUNT(*) FROM place WHERE idParking = "+str(idParking)+" AND estSuperAbo = 1")
row = r.fetchone()
c.seDeconnecter()
return row[0]
@ -160,48 +195,47 @@ class Place:
if row is None :
return None
else :
return Place(row["idPlace"],row["idParking"], row["idtypePlace"],
row["niveau"], row["numero"], bool(row["estLibre"]), bool(row["estSuperAbo"]))
return Place(row["idPlace"],row["idParking"], row["idTypePlace"],
row["numero"], bool(row["estLibre"]), bool(row["estSuperAbo"]))
def __str__(self):
return "[Place : " \
"Parking = " + str(self.__parking) + "," \
"typePlace = " + str(self.__typePlace) + "," \
"niveau = " + str(self.__niveau) + "," \
"numero = " + str(self.__numero) + "," \
"estLibre = " + str(self.__estLibre) + "," \
"estSuperAbo = " + str(self.__estSuperAbo) + "]" \
@property
def id(self):
return self.__id
class TypePlace:
@staticmethod
def get(id):
c = connexionBDD()
r = c.execute("SELECT * FROM typePlace WHERE idTypePlace='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
return TypePlace(id,row["longueur"],row["hauteur"],row["nombre"])
def __init__(self, id ,longueur, hauteur, nombre):
self.__longueur = longueur
self.__hauteur = hauteur
self.__nombre = nombre
def __init__(self, id ,longueur=None, hauteur=None, nombre=None, prix=None, niveau=None):
if id is None :
self.__longueur = longueur
self.__hauteur = hauteur
self.__nombre = nombre
self.__prix = prix
self.__niveau = niveau
c = connexionBDD()
c.execute("INSERT INTO typePlace (longueur,hauteur,nombre) VALUES (?,?,?)",
(self.__longueur, self.__hauteur, self.__nombre))
c.execute("INSERT INTO typePlace (longueur,hauteur,nombre, prix, niveau) VALUES (?,?,?,?,?)",
(self.__longueur, self.__hauteur, self.__nombre,self.__prix, self.__niveau))
self.__id = c.lastId()
c.seDeconnecter()
else:
c = connexionBDD()
r = c.execute("SELECT * FROM typePlace WHERE idTypePlace='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__longueur = row["longueur"]
self.__hauteur = row["hauteur"]
self.__nombre = row["nombre"]
self.__prix = row["prix"]
self.__niveau = row["niveau"]
self.__id = id
@property
@ -220,43 +254,36 @@ class TypePlace:
def nombre(self):
return self.__nombre
@property
def prix(self):
return self.__prix
@property
def niveau(self):
return self.__niveau
def __str__(self):
return "[TypePlace : " \
"id = " + str(self.__id) + "," \
"longueur = " + str(self.__longueur) + "," \
"hauteur = " + str(self.hauteur) + "," \
"nombre = " + str(self.nombre) + "]"
"hauteur = " + str(self.__hauteur) + "," \
"nombre = " + str(self.__nombre) + "," \
"prix = " + str(self.__prix) + "," \
"niveau = " + str(self.__niveau) + "]"
class Placement:
placementsEnCours = []
@staticmethod
def get(id):
c = connexionBDD()
r = c.execute("SELECT * FROM placement WHERE idPlacement='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
print(row["idVoiture"])
return Placement(row["idPlacement"], Voiture.get(row["idVoiture"]), Place.get(row["idPlace"]),
row["debut"], row["fin"])
def __init__(self,id, voiture, place, debut, fin):
def __init__(self, id, voiture=None, place=None, debut=None, fin=None):
"""
Creer un placement
:param voiture: Voiture
:param place: Place
:return:
"""
self.__voiture = voiture
self.__place = place
place.prendre()
self.placementsEnCours.append(self)
if id is None :
self.__debut = datetime.datetime
self.__voiture = voiture
self.__place = place
self.__debut = time.time()
self.__fin = None
while True:
id = ''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in
@ -271,6 +298,14 @@ class Placement:
self.__id = id
c.seDeconnecter()
else:
c = connexionBDD()
r = c.execute("SELECT * FROM placement WHERE idPlacement='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__voiture = row["voiture"]
self.__place = row["place"]
self.__id = id
self.__debut = debut
self.__fin = fin
@ -279,23 +314,20 @@ class Placement:
def id(self):
return self.__id
@property
def place(self):
return self.__place
def end(self):
self.__fin = time.time()
c = connexionBDD()
c.execute("UPDATE placement SET fin='"+str(self.__fin)+"' WHERE idPlacement='"+str(id)+"'")
c.seDeconnecter()
def __str__(self):
return "[Placement : " \
"id = " + self.__id +"," \
"Voiture = " + self.__voiture +"," \
"Place = " + self.__place +"," \
"Debut = " + self.__debut +"," \
"Fin = " + self.__fin +"]"
if __name__ == "__main__" :
c = connexionBDD()
c.initialisationBDD()
c.seDeconnecter()
listeTypePlaces = []
listeTypePlaces.append(TypePlace(None,200, 300,10))
listeTypePlaces.append(TypePlace(None,120, 250,15))
p = Parking("test",listeTypePlaces)
print (p)
"id = " + str(self.__id) +"," \
"Voiture = " + str(self.__voiture) +"," \
"Place = " + str(self.__place) +"," \
"Debut = " + str(self.__debut) +"," \
"Fin = " + str(self.__fin) +"]"

View File

@ -1,4 +1,74 @@
import time
from src.m import Client
from src.m.Parking import Placement
from src.m.connexionBDD import connexionBDD
__author__ = 'sidya'
class Service:
pass
@staticmethod
def getAllEnCours(parking):
c = connexionBDD()
r = c.execute("SELECT * FROM service WHERE dateRealisation = NULL "
"AND idPlacement = (SELECT idPlacement FORM PLACEMENT WHERE "
"idPlace = (SELECT idPlace FROM Place WHERE idParking '"+str(parking.id)+"'))")
rows = r.fetchall()
c.seDeconnecter()
l =[]
for row in rows:
l.append(Service(row["idService"], Client.get(row["idClient"]), Placement.get(row["idPlacement"]),
row["typeService"], row["dateDemande"], row["dateService"], row["dateRealisation"]))
return l
def __init__(self, id, client= None, placement= None, typeService= None,
dateService = None, dateDemande = time.time(), dateRealisation = None):
if id is None :
self.__client = client
self.__placement = placement
self.__typeService = typeService
self.__dateDemande = dateDemande
self.__dateService = dateService
self.__dateRealisation = dateRealisation
c = connexionBDD()
c.execute("INSERT INTO service (idClient,idPlacement, typeService, dateDemande) VALUES (?,?,?,?)",
(str(self.__client.id), str(self.__placement.id), str(self.__typeService), str(self.__dateDemande)))
self.__id = c.lastId()
c.seDeconnecter()
else:
c = connexionBDD()
r = c.execute("SELECT * FROM service WHERE idService='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__id = id
self.__client = row["client"]
self.__placement = row["placement"]
self.__typeService = row["typeService"]
self.__dateDemande = row["dateDemande"]
self.__dateService = row["dateService"]
self.__dateRealisation = row["dateRealisation"]
@property
def id(self):
return self.__id
@property
def typeService(self) :
return self.__typeService
def __str__(self):
return "[Service : " \
"id = " + str(self.__id) +"," \
"Client = " + str(self.__client) +"," \
"TypeService = " + str(self.__typeService) +"," \
"DateDemande = " + str(self.__dateDemande) +"," \
"DateService = " + str(self.__dateService) +"," \
"DateRealisation = " + str(self.__dateRealisation) +"]"
class TypeService:
MAINTENANCE = 1
ENTRETIEN = 2
LIVRAISON = 3

View File

@ -3,31 +3,32 @@ from src.m.connexionBDD import connexionBDD
__author__ = 'sidya'
class Voiture:
@staticmethod
def get(id):
c = connexionBDD()
r = c.execute("SELECT * FROM voiture WHERE idVoiture='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
return Voiture(id,row["longueur"],row["hauteur"],row["imma"], bool(row["estDansParking"]))
def __init__(self, longueur, hauteur, imma, estDansParking):
self.__longueur = longueur
self.__hauteur = hauteur
self.__imma = imma
self.__estDansParking = estDansParking
def __init__(self, id, idClient=None, longueur=None, hauteur=None, imma=None, estDansParking=False):
if id is None :
self.__idClient = idClient
self.__longueur = longueur
self.__hauteur = hauteur
self.__imma = imma
self.__estDansParking = estDansParking
c = connexionBDD()
c.execute("INSERT INTO voiture (longueur,hauteur,imma, estDansParking) VALUES (?,?,?,?)",
c.execute("INSERT INTO voiture (longueur, hauteur, imma, estDansParking) VALUES (?,?,?,?)",
(self.__longueur, self.__hauteur, self.__imma, int(self.__estDansParking)))
self.__id = c.lastId()
c.seDeconnecter()
else:
c = connexionBDD()
r = c.execute("SELECT * FROM voiture WHERE idVoiture='"+str(id)+"'")
row = r.fetchone()
if row is None :
raise IndexError("Invalid id")
c.seDeconnecter()
self.__id = id
self.__idClient = row["idClient"]
self.__longueur = row["longueur"]
self.__hauteur = row["hauteur"]
self.__imma = row["imma"]
self.__estDansParking = row["estDansParking"]
@property
def id(self):
@ -43,7 +44,7 @@ class Voiture:
@property
def immatriculation(self):
return self.__immatriculation
return self.__imma
@property
def estDansParking(self):
@ -51,7 +52,8 @@ class Voiture:
def __str__(self):
return "[Voiture :" \
" longueur = " +self.__longueur + ", " \
" hauteur = " +self.__hauteur + ", " \
" imma = " +self.__imma + ", " \
" estDansParking = " +self.__estDansParking + "]"
" id = " + str(self.__id) + ", " \
" longueur = " + str(self.__longueur) + ", " \
" hauteur = " + str(self.__hauteur) + ", " \
" imma = " + str(self.__imma) + ", " \
" estDansParking = " + str(self.__estDansParking)+"]"

View File

@ -1,14 +1,26 @@
from shutil import copyfile
__author__ = 'sidya'
import sqlite3
class connexionBDD:
__chemin = "m/BDDprojetPython.sq3"
__sql = "m/table.sql"
def __init__(self):
self.__chemin = "m/BDDprojetPython.sq3"
self.__conn = sqlite3.connect(self.__chemin)
try:
with open(self.__chemin):
pass
except IOError:
self.__conn = sqlite3.connect(connexionBDD.__chemin)
self.__conn.row_factory = sqlite3.Row
self.__cur = self.__conn.cursor()
self.initialisationBDD()
self.__conn = sqlite3.connect(connexionBDD.__chemin)
self.__conn.row_factory = sqlite3.Row
self.__cur = self.__conn.cursor()
def execute(self, req, param = ()):
r = None
#try:
@ -26,7 +38,15 @@ class connexionBDD:
self.__conn.close()
def initialisationBDD(self):
with open("m/table.sql") as f:
with open(self.__sql) as f:
sql = f.read()
self.__conn.executescript(sql)
self.__conn.commit()
@staticmethod
def sauver(path):
copyfile(connexionBDD.chemin, path)
@staticmethod
def charger(path):
copyfile(path, connexionBDD.chemin)

View File

@ -1,75 +1,77 @@
DROP TABLE IF EXISTS service;
DROP TABLE IF EXISTS contrat;
DROP TABLE IF EXISTS voiture;
DROP TABLE IF EXISTS client;
DROP TABLE IF EXISTS abonnement;
DROP TABLE IF EXISTS placement;
DROP TABLE IF EXISTS voiture;
DROP TABLE IF EXISTS place;
DROP TABLE IF EXISTS parking;
DROP TABLE IF EXISTS typePlace;
CREATE TABLE parking (
idParking INTEGER PRIMARY KEY ,
nom VARCHAR(30)
);
idParking INTEGER PRIMARY KEY,
nom VARCHAR(30),
actif INTEGER(1) DEFAULT 1
);
CREATE TABLE typePlace (
idTypePlace INTEGER PRIMARY KEY ,
longueur INTEGER ,
hauteur INTEGER ,
nombre INTEGER
idTypePlace INTEGER PRIMARY KEY,
longueur INTEGER,
hauteur INTEGER,
nombre INTEGER,
prix FLOAT,
niveau INTEGER
);
CREATE TABLE place (
idPlace INTEGER PRIMARY KEY ,
idParking INTEGER ,
idTypePlace INTEGER ,
niveau INTEGER ,
numero INTEGER ,
idPlace INTEGER PRIMARY KEY,
idParking INTEGER,
idTypePlace INTEGER,
numero INTEGER,
estLibre INTEGER(1),
estSuperAbo INTEGER(1),
FOREIGN KEY (idParking) REFERENCES parking(id),
FOREIGN KEY (idTypePlace) REFERENCES typePlace(id)
FOREIGN KEY (idParking) REFERENCES parking(idParking),
FOREIGN KEY (idTypePlace) REFERENCES typePlace(idTypePlace)
);
CREATE TABLE voiture (
idVoiture INTEGER PRIMARY KEY ,
hauteur INTEGER ,
longueur INTEGER ,
imma VARCHAR(10),
estDansParking INTEGER(1)
);
CREATE TABLE placement (
idPlacement VARCHAR(10) PRIMARY KEY ,
idVoiture INTEGER ,
idPlace INTEGER ,
debut DATE,
fin DATE,
FOREIGN KEY (idVoiture) REFERENCES voiture(id),
FOREIGN KEY (idPlace) REFERENCES place(id)
idPlacement VARCHAR(10) PRIMARY KEY,
idVoiture INTEGER,
idPlace INTEGER,
debut TIMESTAMP,
fin TIMESTAMP,
FOREIGN KEY (idVoiture) REFERENCES voiture(idVoiture),
FOREIGN KEY (idPlace) REFERENCES place(idPlace)
);
CREATE TABLE client (
idClient VARCHAR(10) PRIMARY KEY ,
idClient VARCHAR(10) PRIMARY KEY,
nom VARCHAR(20),
prenom VARCHAR(20),
adresse VARCHAR(50),
typeAbonnement INTEGER
);
CREATE TABLE voiture (
idVoiture INTEGER PRIMARY KEY,
idClient VARCHAR(10),
hauteur INTEGER,
longueur INTEGER,
imma VARCHAR(10),
estDansParking INTEGER(1)
);
CREATE TABLE service (
idService INTEGER PRIMARY KEY ,
idService INTEGER PRIMARY KEY,
idClient VARCHAR(10),
dateDemande DATE,
dateService DATE,
dateRealisation DATE,
rapport VARCHAR(255),
FOREIGN KEY (idClient) REFERENCES client(id)
idPlacement VARCHAR(10),
typeService INTEGER,
dateDemande TIMESTAMP,
dateService TIMESTAMP,
dateRealisation TIMESTAMP
FOREIGN KEY (idClient) REFERENCES client(idClient),
FOREIGN KEY (idPlacement) REFERENCES placement(idPlacement)
);

9
src/m/test/TestClient.py Normal file
View File

@ -0,0 +1,9 @@
__author__ = 'sidya'
from nose.tools import assert_equal
from src.m.Parking import Parking, TypePlace, Place
class TestClient :
def TestClient(self):
pass

74
src/m/test/TestParking.py Normal file
View File

@ -0,0 +1,74 @@
__author__ = 'sidya'
from nose.tools import assert_equal
from src.m.Parking import Parking, TypePlace, Place
class TestParking :
def TestParking(self):
p = Parking(None,"test",[TypePlace(None,220,200,4,2.5,1),TypePlace(None,200,130,5,2.5,1)])
id = p.id
assert_equal(p.nbPlacesLibresParking, 9, "Nombre de place libre non valide")
assert_equal(p.nbPlaces, 9, "Nombre de place non valide")
assert_equal(p.nbSuperAbo, 0, "Nombre de place super abo")
def TestRecherchePlace(self):
pass
class TestPlace :
def TestPlace(self):
t1 =TypePlace(None,220,200,4,2.5,1)
parking = Parking(None,"test",[t1])
p = Place(None,parking,t1,2,1)
def TestPrendreLiberer(self):
t1 = TypePlace(None,220,200,4,2.5,1)
parking = Parking(None,"test",[t1])
p = Place(None,parking,t1,2,1)
assert_equal(p.estlibre, True, "La place devrait etre libre")
p.prendre()
assert_equal(p.estlibre, False, "La place ne devrait ne pas etre libre")
try:
p.prendre()
assert_equal(True, False, "Une place prise ne peut pas a nouveau prise")
except Exception :
pass
p.liberer()
assert_equal(p.estlibre, True, "La place devrait etre libre")
try:
p.liberer()
assert_equal(True, False, "Une place libre ne peut pas a nouveau liberée")
except Exception :
pass
class TestTypePlace :
def TestTypePlace(self):
#Creation
t = TypePlace(None,220,200,4,2.5,1)
assert_equal(t.longueur, 220, "Valeur non attendue pour la longueur")
assert_equal(t.hauteur, 200,"Valeur non attendue pour la hauteur")
assert_equal(t.nombre,4,"Valeur non attendue pour le nombre de place")
assert_equal(t.prix, 2.5,"Valeur non attendue pour le prix")
assert_equal(t.niveau, 1, "Valeur non attendue pour le niveau")
id = t.id
#Recuperer un TypePlace Non existant
try:
t = TypePlace("aaaa")
assert_equal(True, False, "Un id invalide pour une type de place doit lever une exection")
except IndexError :
pass
#Recuperer un TypePlace existant
try:
t = TypePlace(id)
except IndexError :
assert_equal(True, False, "Un id valide pour une type de place ne doit pas lever une exection")

10
src/m/test/TestService.py Normal file
View File

@ -0,0 +1,10 @@
from src.m.Service import Service
__author__ = 'sidya'
from nose.tools import assert_equal
class TestService :
def TestService(self):
pass

28
src/m/test/TestVoiture.py Normal file
View File

@ -0,0 +1,28 @@
from src.m.Voiture import Voiture
__author__ = 'sidya'
from nose.tools import assert_equal
class TestVoiture :
def TestVoiture(self):
v = Voiture(None,None,120,100,"IMMA")
assert_equal(v.longueur, 120, "Ne retourne pas la longueur attendue")
assert_equal(v.hauteur, 100, "Ne retourne pas la hateur attendue")
assert_equal(v.immatriculation, "IMMA", "Ne retourne pas l'immatriculation attendue")
id = v.id
#Recuperer une Voiture Non existant
try:
t = Voiture("aaaa")
assert_equal(True, False, "Un id invalide pour une voiture doit lever une exection")
except IndexError :
pass
#Recuperer un Voiture existant
try:
t = Voiture(id)
except IndexError :
assert_equal(True, False, "Un id valide pour une voiture ne doit pas lever une exection")

View File

@ -10,7 +10,7 @@ __author__ = 'sidya'
class Camera:
@classmethod
def donnerVoiture(self):
v = Voiture(random.randint(150, 300), random.randint(100, 200), ''.join(
v = Voiture(None, None, 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))),False)
return v

View File

@ -11,12 +11,9 @@ 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)",
"Etes vous sur de vouloir quitter ?\n",
QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
event.ignore()
if result == QtGui.QMessageBox.Yes:
event.accept()
self.__main.showWindow()
self.w = QtGui.QWidget
self.__main.showWindow()

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'borne.ui'
#
# Created: Mon Jan 12 14:40:36 2015
# by: PyQt4 UI code generator 4.11.3
# Created: Sun Feb 1 14:38:43 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -17,23 +17,21 @@ 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_Borne(object):
def setupUi(self, Borne):
Borne.setObjectName(_fromUtf8("Borne"))
Borne.resize(669, 579)
Borne.resize(809, 579)
self.btn_Voiture = QtGui.QPushButton(Borne)
self.btn_Voiture.setGeometry(QtCore.QRect(140, 40, 211, 27))
self.btn_Voiture.setGeometry(QtCore.QRect(30, 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.setGeometry(QtCore.QRect(10, 10, 791, 20))
self.nomParking.setObjectName(_fromUtf8("nomParking"))
self.box_id = QtGui.QGroupBox(Borne)
self.box_id.setGeometry(QtCore.QRect(20, 150, 331, 171))
@ -60,7 +58,7 @@ class Ui_Borne(object):
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.horizontalLayout.addLayout(self.verticalLayout)
self.labIdClient = QtGui.QLabel(self.box_id)
self.labIdClient.setGeometry(QtCore.QRect(130, 31, 91, 16))
self.labIdClient.setGeometry(QtCore.QRect(30, 31, 261, 20))
self.labIdClient.setObjectName(_fromUtf8("labIdClient"))
self.box_abo = QtGui.QGroupBox(Borne)
self.box_abo.setGeometry(QtCore.QRect(20, 350, 331, 201))
@ -99,12 +97,13 @@ class Ui_Borne(object):
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.setGeometry(QtCore.QRect(380, 350, 401, 171))
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.setGeometry(QtCore.QRect(0, 40, 341, 61))
self.formLayoutWidget_2.setObjectName(_fromUtf8("formLayoutWidget_2"))
self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_2)
self.formLayout_2.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
self.formLayout_2.setMargin(0)
self.formLayout_2.setObjectName(_fromUtf8("formLayout_2"))
self.numeroTicketLabel = QtGui.QLabel(self.formLayoutWidget_2)
@ -116,29 +115,87 @@ class Ui_Borne(object):
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.pushButton = QtGui.QPushButton(self.box_recup)
self.pushButton.setGeometry(QtCore.QRect(240, 130, 101, 27))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.label_aff = QtGui.QLabel(Borne)
self.label_aff.setGeometry(QtCore.QRect(10, 90, 641, 31))
self.label_aff.setGeometry(QtCore.QRect(10, 90, 791, 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.setGeometry(QtCore.QRect(340, 140, 471, 201))
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.setGeometry(QtCore.QRect(290, 170, 131, 27))
self.btn_garer.setObjectName(_fromUtf8("btn_garer"))
self.box_service = QtGui.QGroupBox(self.box_garer)
self.box_service.setGeometry(QtCore.QRect(10, 20, 521, 151))
self.box_service.setObjectName(_fromUtf8("box_service"))
self.dateTimeEdit = QtGui.QDateTimeEdit(self.box_service)
self.dateTimeEdit.setGeometry(QtCore.QRect(320, 30, 121, 23))
self.dateTimeEdit.setObjectName(_fromUtf8("dateTimeEdit"))
self.layoutWidget_2 = QtGui.QWidget(self.box_service)
self.layoutWidget_2.setGeometry(QtCore.QRect(20, 20, 109, 121))
self.layoutWidget_2.setObjectName(_fromUtf8("layoutWidget_2"))
self.verticalLayout_4 = QtGui.QVBoxLayout(self.layoutWidget_2)
self.verticalLayout_4.setMargin(0)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.checkBox_Livraison_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Livraison_2.setObjectName(_fromUtf8("checkBox_Livraison_2"))
self.verticalLayout_4.addWidget(self.checkBox_Livraison_2)
self.checkBox_Maintenance_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Maintenance_2.setObjectName(_fromUtf8("checkBox_Maintenance_2"))
self.verticalLayout_4.addWidget(self.checkBox_Maintenance_2)
self.checkBox_Entretien_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Entretien_2.setObjectName(_fromUtf8("checkBox_Entretien_2"))
self.verticalLayout_4.addWidget(self.checkBox_Entretien_2)
self.formLayoutWidget_3 = QtGui.QWidget(self.box_service)
self.formLayoutWidget_3.setGeometry(QtCore.QRect(130, 30, 181, 41))
self.formLayoutWidget_3.setObjectName(_fromUtf8("formLayoutWidget_3"))
self.formLayout_4 = QtGui.QFormLayout(self.formLayoutWidget_3)
self.formLayout_4.setMargin(0)
self.formLayout_4.setObjectName(_fromUtf8("formLayout_4"))
self.lieuLabel_2 = QtGui.QLabel(self.formLayoutWidget_3)
self.lieuLabel_2.setObjectName(_fromUtf8("lieuLabel_2"))
self.formLayout_4.setWidget(0, QtGui.QFormLayout.LabelRole, self.lieuLabel_2)
self.lieuLineEdit_2 = QtGui.QLineEdit(self.formLayoutWidget_3)
self.lieuLineEdit_2.setObjectName(_fromUtf8("lieuLineEdit_2"))
self.formLayout_4.setWidget(0, QtGui.QFormLayout.FieldRole, self.lieuLineEdit_2)
self.btn_annuler = QtGui.QPushButton(Borne)
self.btn_annuler.setGeometry(QtCore.QRect(390, 40, 87, 27))
self.btn_annuler.setGeometry(QtCore.QRect(290, 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.lcdNumber = QtGui.QLCDNumber(Borne)
self.lcdNumber.setGeometry(QtCore.QRect(590, 10, 171, 61))
self.lcdNumber.setObjectName(_fromUtf8("lcdNumber"))
self.retranslateUi(Borne)
QtCore.QMetaObject.connectSlotsByName(Borne)
Borne.setTabOrder(self.btn_Voiture, self.btn_annuler)
Borne.setTabOrder(self.btn_annuler, self.lineEdit_id)
Borne.setTabOrder(self.lineEdit_id, self.btn_validerID)
Borne.setTabOrder(self.btn_validerID, self.nomLineEdit)
Borne.setTabOrder(self.nomLineEdit, self.prenomLineEdit)
Borne.setTabOrder(self.prenomLineEdit, self.numeroCarteLineEdit)
Borne.setTabOrder(self.numeroCarteLineEdit, self.checkBox)
Borne.setTabOrder(self.checkBox, self.btn_desabo)
Borne.setTabOrder(self.btn_desabo, self.btn_valider_abo)
Borne.setTabOrder(self.btn_valider_abo, self.checkBox_Livraison_2)
Borne.setTabOrder(self.checkBox_Livraison_2, self.lieuLineEdit_2)
Borne.setTabOrder(self.lieuLineEdit_2, self.dateTimeEdit)
Borne.setTabOrder(self.dateTimeEdit, self.checkBox_Maintenance_2)
Borne.setTabOrder(self.checkBox_Maintenance_2, self.checkBox_Entretien_2)
Borne.setTabOrder(self.checkBox_Entretien_2, self.btn_garer)
Borne.setTabOrder(self.btn_garer, self.numeroTicketLineEdit)
Borne.setTabOrder(self.numeroTicketLineEdit, self.btn_recuperer)
Borne.setTabOrder(self.btn_recuperer, self.pushButton)
Borne.setTabOrder(self.pushButton, self.btn_quitter)
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.nomParking.setText(_translate("Borne", "<html><head/><body><p align=\"center\">NomParking</p></body></html>", 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))
@ -146,17 +203,22 @@ class Ui_Borne(object):
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.numeroCarteLabel.setText(_translate("Borne", "CB", 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", "<html><head/><body><p align=\"center\">TextLabel</p></body></html>", None))
self.pushButton.setText(_translate("Borne", "Payer", None))
self.label_aff.setText(_translate("Borne", "<html><head/><body><p align=\"center\">TextLabel</p></body></html>", None))
self.box_garer.setTitle(_translate("Borne", "Se garer", None))
self.btn_garer.setText(_translate("Borne", "Garer Véhicule", None))
self.box_service.setTitle(_translate("Borne", "Service (Abonnée seulement)", None))
self.checkBox_Livraison_2.setText(_translate("Borne", "Livraison", None))
self.checkBox_Maintenance_2.setText(_translate("Borne", "Maintenance", None))
self.checkBox_Entretien_2.setText(_translate("Borne", "Entretien", None))
self.lieuLabel_2.setText(_translate("Borne", "Lieu", None))
self.btn_annuler.setText(_translate("Borne", "Annuler", None))
self.btn_quitter.setText(_translate("Borne", "Quitter", None))

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'creationParking.ui'
#
# Created: Mon Jan 5 16:57:56 2015
# by: PyQt4 UI code generator 4.11.3
# Created: Sat Jan 17 15:11:03 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -17,20 +17,18 @@ 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"))
CreaParking.resize(400, 300)
CreaParking.resize(622, 300)
self.layoutWidget = QtGui.QWidget(CreaParking)
self.layoutWidget.setGeometry(QtCore.QRect(90, 270, 201, 29))
self.layoutWidget.setGeometry(QtCore.QRect(230, 260, 201, 29))
self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.layoutWidget)
self.horizontalLayout_2.setMargin(0)
@ -42,7 +40,7 @@ class Ui_CreaParking(object):
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.setGeometry(QtCore.QRect(200, 230, 275, 25))
self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
self.horizontalLayout_3 = QtGui.QHBoxLayout(self.layoutWidget1)
self.horizontalLayout_3.setMargin(0)
@ -54,9 +52,9 @@ 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, 90, 321, 121))
self.tableWidget.setGeometry(QtCore.QRect(30, 100, 521, 121))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
self.tableWidget.setColumnCount(3)
self.tableWidget.setColumnCount(5)
self.tableWidget.setRowCount(0)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
@ -64,14 +62,18 @@ class Ui_CreaParking(object):
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, item)
self.btn_addRow = QtGui.QPushButton(CreaParking)
self.btn_addRow.setGeometry(QtCore.QRect(350, 120, 41, 27))
self.btn_addRow.setGeometry(QtCore.QRect(570, 120, 41, 27))
self.btn_addRow.setObjectName(_fromUtf8("btn_addRow"))
self.btn_rmRow = QtGui.QPushButton(CreaParking)
self.btn_rmRow.setGeometry(QtCore.QRect(350, 160, 41, 27))
self.btn_rmRow.setGeometry(QtCore.QRect(570, 170, 41, 27))
self.btn_rmRow.setObjectName(_fromUtf8("btn_rmRow"))
self.layoutWidget2 = QtGui.QWidget(CreaParking)
self.layoutWidget2.setGeometry(QtCore.QRect(52, 12, 291, 56))
self.layoutWidget2.setGeometry(QtCore.QRect(180, 20, 291, 56))
self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2"))
self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget2)
self.horizontalLayout.setMargin(0)
@ -104,11 +106,15 @@ class Ui_CreaParking(object):
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.setText(_translate("CreaParking", "Hauteur (cm)", None))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("CreaParking", "Longueur", None))
item.setText(_translate("CreaParking", "Longueur (cm)", None))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("CreaParking", "Nombre", None))
item = self.tableWidget.horizontalHeaderItem(3)
item.setText(_translate("CreaParking", "Etage", None))
item = self.tableWidget.horizontalHeaderItem(4)
item.setText(_translate("CreaParking", "Prix (€)", None))
self.btn_addRow.setText(_translate("CreaParking", "+", None))
self.btn_rmRow.setText(_translate("CreaParking", "-", None))
self.label.setText(_translate("CreaParking", "Nom :", None))

View File

@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'main.ui'
#
# Created: Mon Jan 12 15:29:56 2015
# by: PyQt4 UI code generator 4.11.3
# Created: Thu Jan 22 09:11:44 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -17,22 +17,20 @@ 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_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(561, 509)
MainWindow.resize(601, 596)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 561, 441))
self.tabWidget.setGeometry(QtCore.QRect(20, 40, 561, 501))
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
@ -47,9 +45,6 @@ class Ui_MainWindow(object):
self.tab_2.setObjectName(_fromUtf8("tab_2"))
self.verticalLayout = QtGui.QVBoxLayout(self.tab_2)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.comboBox = QtGui.QComboBox(self.tab_2)
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"))
@ -94,22 +89,54 @@ class Ui_MainWindow(object):
self.btn_supprimer.setObjectName(_fromUtf8("btn_supprimer"))
self.verticalLayout.addWidget(self.btn_supprimer)
self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
self.tab_5 = QtGui.QWidget()
self.tab_5.setObjectName(_fromUtf8("tab_5"))
self.tableWidget = QtGui.QTableWidget(self.tab_5)
self.tableWidget.setGeometry(QtCore.QRect(60, 20, 431, 351))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
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"))
self.groupBox = QtGui.QGroupBox(self.tab_3)
self.groupBox.setGeometry(QtCore.QRect(30, 60, 501, 111))
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.comboBox_maintenance = QtGui.QComboBox(self.groupBox)
self.comboBox_maintenance.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_maintenance.setObjectName(_fromUtf8("comboBox_maintenance"))
self.btn_effectuer_maintenance = QtGui.QPushButton(self.groupBox)
self.btn_effectuer_maintenance.setGeometry(QtCore.QRect(326, 70, 161, 27))
self.btn_effectuer_maintenance.setObjectName(_fromUtf8("btn_effectuer_maintenance"))
self.groupBox_2 = QtGui.QGroupBox(self.tab_3)
self.groupBox_2.setGeometry(QtCore.QRect(30, 180, 501, 101))
self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
self.comboBox_entretien = QtGui.QComboBox(self.groupBox_2)
self.comboBox_entretien.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_entretien.setObjectName(_fromUtf8("comboBox_entretien"))
self.btn_effectuer_entretien = QtGui.QPushButton(self.groupBox_2)
self.btn_effectuer_entretien.setGeometry(QtCore.QRect(326, 60, 161, 27))
self.btn_effectuer_entretien.setObjectName(_fromUtf8("btn_effectuer_entretien"))
self.groupBox_3 = QtGui.QGroupBox(self.tab_3)
self.groupBox_3.setGeometry(QtCore.QRect(30, 290, 511, 111))
self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
self.comboBox_livraison = QtGui.QComboBox(self.groupBox_3)
self.comboBox_livraison.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_livraison.setObjectName(_fromUtf8("comboBox_livraison"))
self.btn_effectuer_livraison = QtGui.QPushButton(self.groupBox_3)
self.btn_effectuer_livraison.setGeometry(QtCore.QRect(326, 70, 161, 27))
self.btn_effectuer_livraison.setObjectName(_fromUtf8("btn_effectuer_livraison"))
self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.label_2 = QtGui.QLabel(self.tab_4)
self.label_2.setGeometry(QtCore.QRect(40, 80, 161, 16))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label_3 = QtGui.QLabel(self.tab_4)
self.label_3.setGeometry(QtCore.QRect(40, 110, 161, 16))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.label_4 = QtGui.QLabel(self.tab_4)
self.label_4.setGeometry(QtCore.QRect(40, 140, 241, 16))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
self.comboBox = QtGui.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(40, 10, 539, 27))
self.comboBox.setObjectName(_fromUtf8("comboBox"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 561, 25))
self.menubar.setGeometry(QtCore.QRect(0, 0, 601, 25))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuFichier = QtGui.QMenu(self.menubar)
self.menuFichier.setObjectName(_fromUtf8("menuFichier"))
@ -137,7 +164,10 @@ class Ui_MainWindow(object):
self.actionQuitter.setObjectName(_fromUtf8("actionQuitter"))
self.action = QtGui.QAction(MainWindow)
self.action.setObjectName(_fromUtf8("action"))
self.actionNouveau_2 = QtGui.QAction(MainWindow)
self.actionNouveau_2.setObjectName(_fromUtf8("actionNouveau_2"))
self.menuFichier.addAction(self.actionCharger)
self.menuFichier.addAction(self.actionNouveau_2)
self.menuFichier.addAction(self.actionSauvegarder)
self.menuFichier.addSeparator()
self.menuFichier.addAction(self.actionQuitter)
@ -146,7 +176,7 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menuA_propos.menuAction())
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(1)
self.tabWidget.setCurrentIndex(2)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
@ -166,10 +196,17 @@ class Ui_MainWindow(object):
self.btn_creer.setText(_translate("MainWindow", "Créer", 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.groupBox.setTitle(_translate("MainWindow", "Maintenance", None))
self.btn_effectuer_maintenance.setText(_translate("MainWindow", "Effectuer Maintenance", None))
self.groupBox_2.setTitle(_translate("MainWindow", "Entretien", None))
self.btn_effectuer_entretien.setText(_translate("MainWindow", "Effectuer Entretien", None))
self.groupBox_3.setTitle(_translate("MainWindow", "Livraison", None))
self.btn_effectuer_livraison.setText(_translate("MainWindow", "Effectuer Livraison", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Services", None))
self.label_2.setText(_translate("MainWindow", "Frequentation par jour", None))
self.label_3.setText(_translate("MainWindow", "Frequentation par mois", None))
self.label_4.setText(_translate("MainWindow", "Duree moyenne de stationnement ", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "Stats", None))
self.menuFichier.setTitle(_translate("MainWindow", "Fichier", None))
self.menuA_propos.setTitle(_translate("MainWindow", "A propos", None))
self.actionCharger.setText(_translate("MainWindow", "Charger", None))
@ -181,4 +218,5 @@ class Ui_MainWindow(object):
self.actionAjouter.setText(_translate("MainWindow", "Ajouter", None))
self.actionQuitter.setText(_translate("MainWindow", "Quitter", None))
self.action.setText(_translate("MainWindow", "?", None))
self.actionNouveau_2.setText(_translate("MainWindow", "Nouveau", None))

View File

@ -1,6 +0,0 @@
__author__ = 'sidya'
class Panneau:
def afficherNbPlaceDisponible(self, parking):
print(parking.nbPlacesLibresParking())

View File

@ -1,78 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'service.ui'
#
# Created: Mon Jan 12 17:07:46 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s
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_Service(object):
def setupUi(self, Service):
Service.setObjectName(_fromUtf8("Service"))
Service.resize(469, 221)
self.btn_valider = QtGui.QPushButton(Service)
self.btn_valider.setGeometry(QtCore.QRect(260, 180, 87, 27))
self.btn_valider.setObjectName(_fromUtf8("btn_valider"))
self.dateTimeEdit = QtGui.QDateTimeEdit(Service)
self.dateTimeEdit.setGeometry(QtCore.QRect(330, 60, 121, 23))
self.dateTimeEdit.setObjectName(_fromUtf8("dateTimeEdit"))
self.btn_annuler = QtGui.QPushButton(Service)
self.btn_annuler.setGeometry(QtCore.QRect(120, 180, 87, 27))
self.btn_annuler.setObjectName(_fromUtf8("btn_annuler"))
self.formLayoutWidget = QtGui.QWidget(Service)
self.formLayoutWidget.setGeometry(QtCore.QRect(160, 60, 160, 41))
self.formLayoutWidget.setObjectName(_fromUtf8("formLayoutWidget"))
self.formLayout = QtGui.QFormLayout(self.formLayoutWidget)
self.formLayout.setMargin(0)
self.formLayout.setObjectName(_fromUtf8("formLayout"))
self.lieuLabel = QtGui.QLabel(self.formLayoutWidget)
self.lieuLabel.setObjectName(_fromUtf8("lieuLabel"))
self.formLayout.setWidget(0, QtGui.QFormLayout.LabelRole, self.lieuLabel)
self.lieuLineEdit = QtGui.QLineEdit(self.formLayoutWidget)
self.lieuLineEdit.setObjectName(_fromUtf8("lieuLineEdit"))
self.formLayout.setWidget(0, QtGui.QFormLayout.FieldRole, self.lieuLineEdit)
self.widget = QtGui.QWidget(Service)
self.widget.setGeometry(QtCore.QRect(50, 50, 109, 121))
self.widget.setObjectName(_fromUtf8("widget"))
self.verticalLayout = QtGui.QVBoxLayout(self.widget)
self.verticalLayout.setMargin(0)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.checkBox_Livraison = QtGui.QCheckBox(self.widget)
self.checkBox_Livraison.setObjectName(_fromUtf8("checkBox_Livraison"))
self.verticalLayout.addWidget(self.checkBox_Livraison)
self.checkBox_Maintenance = QtGui.QCheckBox(self.widget)
self.checkBox_Maintenance.setObjectName(_fromUtf8("checkBox_Maintenance"))
self.verticalLayout.addWidget(self.checkBox_Maintenance)
self.checkBox_Entretien = QtGui.QCheckBox(self.widget)
self.checkBox_Entretien.setObjectName(_fromUtf8("checkBox_Entretien"))
self.verticalLayout.addWidget(self.checkBox_Entretien)
self.retranslateUi(Service)
QtCore.QMetaObject.connectSlotsByName(Service)
def retranslateUi(self, Service):
Service.setWindowTitle(_translate("Service", "Form", None))
self.btn_valider.setText(_translate("Service", "Valider", None))
self.btn_annuler.setText(_translate("Service", "Annuler", None))
self.lieuLabel.setText(_translate("Service", "Lieu", None))
self.checkBox_Livraison.setText(_translate("Service", "Livraison", None))
self.checkBox_Maintenance.setText(_translate("Service", "Maintenance", None))
self.checkBox_Entretien.setText(_translate("Service", "Entretien", None))

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'borne.ui'
#
# Created: Mon Jan 12 14:40:36 2015
# Created: Sun Feb 1 14:38:43 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -26,12 +26,12 @@ except AttributeError:
class Ui_Borne(object):
def setupUi(self, Borne):
Borne.setObjectName(_fromUtf8("Borne"))
Borne.resize(669, 579)
Borne.resize(809, 579)
self.btn_Voiture = QtGui.QPushButton(Borne)
self.btn_Voiture.setGeometry(QtCore.QRect(140, 40, 211, 27))
self.btn_Voiture.setGeometry(QtCore.QRect(30, 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.setGeometry(QtCore.QRect(10, 10, 791, 20))
self.nomParking.setObjectName(_fromUtf8("nomParking"))
self.box_id = QtGui.QGroupBox(Borne)
self.box_id.setGeometry(QtCore.QRect(20, 150, 331, 171))
@ -58,7 +58,7 @@ class Ui_Borne(object):
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.horizontalLayout.addLayout(self.verticalLayout)
self.labIdClient = QtGui.QLabel(self.box_id)
self.labIdClient.setGeometry(QtCore.QRect(130, 31, 91, 16))
self.labIdClient.setGeometry(QtCore.QRect(30, 31, 261, 20))
self.labIdClient.setObjectName(_fromUtf8("labIdClient"))
self.box_abo = QtGui.QGroupBox(Borne)
self.box_abo.setGeometry(QtCore.QRect(20, 350, 331, 201))
@ -97,12 +97,13 @@ class Ui_Borne(object):
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.setGeometry(QtCore.QRect(380, 350, 401, 171))
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.setGeometry(QtCore.QRect(0, 40, 341, 61))
self.formLayoutWidget_2.setObjectName(_fromUtf8("formLayoutWidget_2"))
self.formLayout_2 = QtGui.QFormLayout(self.formLayoutWidget_2)
self.formLayout_2.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
self.formLayout_2.setMargin(0)
self.formLayout_2.setObjectName(_fromUtf8("formLayout_2"))
self.numeroTicketLabel = QtGui.QLabel(self.formLayoutWidget_2)
@ -114,29 +115,91 @@ class Ui_Borne(object):
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.pushButton = QtGui.QPushButton(self.box_recup)
self.pushButton.setGeometry(QtCore.QRect(240, 130, 101, 27))
self.pushButton.setObjectName(_fromUtf8("pushButton"))
self.label_aff = QtGui.QLabel(Borne)
self.label_aff.setGeometry(QtCore.QRect(10, 90, 641, 31))
self.label_aff.setGeometry(QtCore.QRect(10, 90, 791, 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.setGeometry(QtCore.QRect(340, 140, 471, 201))
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.setGeometry(QtCore.QRect(290, 170, 131, 27))
self.btn_garer.setObjectName(_fromUtf8("btn_garer"))
self.box_service = QtGui.QGroupBox(self.box_garer)
self.box_service.setGeometry(QtCore.QRect(10, 20, 521, 151))
self.box_service.setObjectName(_fromUtf8("box_service"))
self.dateTimeEdit = QtGui.QDateTimeEdit(self.box_service)
self.dateTimeEdit.setGeometry(QtCore.QRect(320, 30, 121, 23))
self.dateTimeEdit.setObjectName(_fromUtf8("dateTimeEdit"))
self.layoutWidget_2 = QtGui.QWidget(self.box_service)
self.layoutWidget_2.setGeometry(QtCore.QRect(20, 20, 109, 121))
self.layoutWidget_2.setObjectName(_fromUtf8("layoutWidget_2"))
self.verticalLayout_4 = QtGui.QVBoxLayout(self.layoutWidget_2)
self.verticalLayout_4.setMargin(0)
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
self.checkBox_Livraison_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Livraison_2.setObjectName(_fromUtf8("checkBox_Livraison_2"))
self.verticalLayout_4.addWidget(self.checkBox_Livraison_2)
self.checkBox_Maintenance_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Maintenance_2.setObjectName(_fromUtf8("checkBox_Maintenance_2"))
self.verticalLayout_4.addWidget(self.checkBox_Maintenance_2)
self.checkBox_Entretien_2 = QtGui.QCheckBox(self.layoutWidget_2)
self.checkBox_Entretien_2.setObjectName(_fromUtf8("checkBox_Entretien_2"))
self.verticalLayout_4.addWidget(self.checkBox_Entretien_2)
self.formLayoutWidget_3 = QtGui.QWidget(self.box_service)
self.formLayoutWidget_3.setGeometry(QtCore.QRect(130, 30, 181, 41))
self.formLayoutWidget_3.setObjectName(_fromUtf8("formLayoutWidget_3"))
self.formLayout_4 = QtGui.QFormLayout(self.formLayoutWidget_3)
self.formLayout_4.setMargin(0)
self.formLayout_4.setObjectName(_fromUtf8("formLayout_4"))
self.lieuLabel_2 = QtGui.QLabel(self.formLayoutWidget_3)
self.lieuLabel_2.setObjectName(_fromUtf8("lieuLabel_2"))
self.formLayout_4.setWidget(0, QtGui.QFormLayout.LabelRole, self.lieuLabel_2)
self.lieuLineEdit_2 = QtGui.QLineEdit(self.formLayoutWidget_3)
self.lieuLineEdit_2.setObjectName(_fromUtf8("lieuLineEdit_2"))
self.formLayout_4.setWidget(0, QtGui.QFormLayout.FieldRole, self.lieuLineEdit_2)
self.btn_annuler = QtGui.QPushButton(Borne)
self.btn_annuler.setGeometry(QtCore.QRect(390, 40, 87, 27))
self.btn_annuler.setGeometry(QtCore.QRect(290, 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.lcdNumber = QtGui.QLCDNumber(Borne)
self.lcdNumber.setGeometry(QtCore.QRect(590, 10, 171, 61))
self.lcdNumber.setObjectName(_fromUtf8("lcdNumber"))
self.retranslateUi(Borne)
QtCore.QMetaObject.connectSlotsByName(Borne)
Borne.setTabOrder(self.btn_Voiture, self.btn_annuler)
Borne.setTabOrder(self.btn_annuler, self.lineEdit_id)
Borne.setTabOrder(self.lineEdit_id, self.btn_validerID)
Borne.setTabOrder(self.btn_validerID, self.nomLineEdit)
Borne.setTabOrder(self.nomLineEdit, self.prenomLineEdit)
Borne.setTabOrder(self.prenomLineEdit, self.numeroCarteLineEdit)
Borne.setTabOrder(self.numeroCarteLineEdit, self.checkBox)
Borne.setTabOrder(self.checkBox, self.btn_desabo)
Borne.setTabOrder(self.btn_desabo, self.btn_valider_abo)
Borne.setTabOrder(self.btn_valider_abo, self.checkBox_Livraison_2)
Borne.setTabOrder(self.checkBox_Livraison_2, self.lieuLineEdit_2)
Borne.setTabOrder(self.lieuLineEdit_2, self.dateTimeEdit)
Borne.setTabOrder(self.dateTimeEdit, self.checkBox_Maintenance_2)
Borne.setTabOrder(self.checkBox_Maintenance_2, self.checkBox_Entretien_2)
Borne.setTabOrder(self.checkBox_Entretien_2, self.btn_garer)
Borne.setTabOrder(self.btn_garer, self.numeroTicketLineEdit)
Borne.setTabOrder(self.numeroTicketLineEdit, self.btn_recuperer)
Borne.setTabOrder(self.btn_recuperer, self.pushButton)
Borne.setTabOrder(self.pushButton, self.btn_quitter)
Borne.setTabOrder(self.btn_quitter, Borne.checkBox_Livraison)
Borne.setTabOrder(Borne.checkBox_Livraison, Borne.checkBox_Maintenance)
Borne.setTabOrder(Borne.checkBox_Maintenance, Borne.checkBox_Entretien)
Borne.setTabOrder(Borne.checkBox_Entretien, Borne.lieuLineEdit)
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.nomParking.setText(_translate("Borne", "<html><head/><body><p align=\"center\">NomParking</p></body></html>", 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))
@ -144,16 +207,22 @@ class Ui_Borne(object):
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.numeroCarteLabel.setText(_translate("Borne", "CB", 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.pushButton.setText(_translate("Borne", "Payer", None))
self.label_aff.setText(_translate("Borne", "<html><head/><body><p align=\"center\">TextLabel</p></body></html>", None))
self.box_garer.setTitle(_translate("Borne", "Se garer", None))
self.btn_garer.setText(_translate("Borne", "Garer Véhicule", None))
self.box_service.setTitle(_translate("Borne", "Service (Abonnée seulement)", None))
self.checkBox_Livraison_2.setText(_translate("Borne", "Livraison", None))
self.checkBox_Maintenance_2.setText(_translate("Borne", "Maintenance", None))
self.checkBox_Entretien_2.setText(_translate("Borne", "Entretien", None))
self.lieuLabel_2.setText(_translate("Borne", "Lieu", None))
self.btn_annuler.setText(_translate("Borne", "Annuler", None))
self.btn_quitter.setText(_translate("Borne", "Quitter", None))

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>669</width>
<width>809</width>
<height>579</height>
</rect>
</property>
@ -16,7 +16,7 @@
<widget class="QPushButton" name="btn_Voiture">
<property name="geometry">
<rect>
<x>140</x>
<x>30</x>
<y>40</y>
<width>211</width>
<height>27</height>
@ -29,14 +29,14 @@
<widget class="QLabel" name="nomParking">
<property name="geometry">
<rect>
<x>300</x>
<x>10</x>
<y>10</y>
<width>151</width>
<width>791</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>NomParking</string>
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;NomParking&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
<widget class="QGroupBox" name="box_id">
@ -90,10 +90,10 @@
<widget class="QLabel" name="labIdClient">
<property name="geometry">
<rect>
<x>130</x>
<x>30</x>
<y>31</y>
<width>91</width>
<height>16</height>
<width>261</width>
<height>20</height>
</rect>
</property>
<property name="text">
@ -143,7 +143,7 @@
<item row="2" column="0">
<widget class="QLabel" name="numeroCarteLabel">
<property name="text">
<string>Numero carte</string>
<string>CB</string>
</property>
</widget>
</item>
@ -194,19 +194,14 @@
<string>Désabonner</string>
</property>
</widget>
<zorder>formLayoutWidget</zorder>
<zorder>checkBox</zorder>
<zorder>btn_valider_abo</zorder>
<zorder>btn_desabo</zorder>
<zorder>prenomLineEdit</zorder>
</widget>
<widget class="QGroupBox" name="box_recup">
<property name="geometry">
<rect>
<x>380</x>
<y>350</y>
<width>271</width>
<height>121</height>
<width>401</width>
<height>171</height>
</rect>
</property>
<property name="title">
@ -217,11 +212,14 @@
<rect>
<x>0</x>
<y>40</y>
<width>261</width>
<height>80</height>
<width>341</width>
<height>61</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="numeroTicketLabel">
<property name="text">
@ -241,13 +239,26 @@
</item>
</layout>
</widget>
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>240</x>
<y>130</y>
<width>101</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Payer</string>
</property>
</widget>
</widget>
<widget class="QLabel" name="label_aff">
<property name="geometry">
<rect>
<x>10</x>
<y>90</y>
<width>641</width>
<width>791</width>
<height>31</height>
</rect>
</property>
@ -258,10 +269,10 @@
<widget class="QGroupBox" name="box_garer">
<property name="geometry">
<rect>
<x>390</x>
<y>150</y>
<width>231</width>
<height>131</height>
<x>340</x>
<y>140</y>
<width>471</width>
<height>201</height>
</rect>
</property>
<property name="title">
@ -270,8 +281,8 @@
<widget class="QPushButton" name="btn_garer">
<property name="geometry">
<rect>
<x>50</x>
<y>60</y>
<x>290</x>
<y>170</y>
<width>131</width>
<height>27</height>
</rect>
@ -280,11 +291,91 @@
<string>Garer Véhicule</string>
</property>
</widget>
<widget class="QGroupBox" name="box_service">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>521</width>
<height>151</height>
</rect>
</property>
<property name="title">
<string>Service (Abonnée seulement)</string>
</property>
<widget class="QDateTimeEdit" name="dateTimeEdit">
<property name="geometry">
<rect>
<x>320</x>
<y>30</y>
<width>121</width>
<height>23</height>
</rect>
</property>
</widget>
<widget class="QWidget" name="layoutWidget_2">
<property name="geometry">
<rect>
<x>20</x>
<y>20</y>
<width>109</width>
<height>121</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="checkBox_Livraison_2">
<property name="text">
<string>Livraison</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_Maintenance_2">
<property name="text">
<string>Maintenance</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_Entretien_2">
<property name="text">
<string>Entretien</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="formLayoutWidget_3">
<property name="geometry">
<rect>
<x>130</x>
<y>30</y>
<width>181</width>
<height>41</height>
</rect>
</property>
<layout class="QFormLayout" name="formLayout_4">
<item row="0" column="0">
<widget class="QLabel" name="lieuLabel_2">
<property name="text">
<string>Lieu</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lieuLineEdit_2"/>
</item>
</layout>
</widget>
</widget>
<zorder>box_service</zorder>
<zorder>btn_garer</zorder>
</widget>
<widget class="QPushButton" name="btn_annuler">
<property name="geometry">
<rect>
<x>390</x>
<x>290</x>
<y>40</y>
<width>87</width>
<height>27</height>
@ -307,17 +398,43 @@
<string>Quitter</string>
</property>
</widget>
<zorder>btn_Voiture</zorder>
<zorder>nomParking</zorder>
<zorder></zorder>
<zorder>box_id</zorder>
<zorder>box_abo</zorder>
<zorder>box_recup</zorder>
<zorder>label_aff</zorder>
<zorder>box_garer</zorder>
<zorder>btn_annuler</zorder>
<zorder>btn_quitter</zorder>
<widget class="QLCDNumber" name="lcdNumber">
<property name="geometry">
<rect>
<x>590</x>
<y>10</y>
<width>171</width>
<height>61</height>
</rect>
</property>
</widget>
</widget>
<tabstops>
<tabstop>btn_Voiture</tabstop>
<tabstop>btn_annuler</tabstop>
<tabstop>lineEdit_id</tabstop>
<tabstop>btn_validerID</tabstop>
<tabstop>nomLineEdit</tabstop>
<tabstop>prenomLineEdit</tabstop>
<tabstop>numeroCarteLineEdit</tabstop>
<tabstop>checkBox</tabstop>
<tabstop>btn_desabo</tabstop>
<tabstop>btn_valider_abo</tabstop>
<tabstop>checkBox_Livraison_2</tabstop>
<tabstop>lieuLineEdit_2</tabstop>
<tabstop>dateTimeEdit</tabstop>
<tabstop>checkBox_Maintenance_2</tabstop>
<tabstop>checkBox_Entretien_2</tabstop>
<tabstop>btn_garer</tabstop>
<tabstop>numeroTicketLineEdit</tabstop>
<tabstop>btn_recuperer</tabstop>
<tabstop>pushButton</tabstop>
<tabstop>btn_quitter</tabstop>
<tabstop>checkBox_Livraison</tabstop>
<tabstop>checkBox_Maintenance</tabstop>
<tabstop>checkBox_Entretien</tabstop>
<tabstop>lieuLineEdit</tabstop>
</tabstops>
<resources/>
<connections/>
</ui>

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'creationParking.ui'
#
# Created: Mon Jan 5 16:57:56 2015
# Created: Sat Jan 17 15:11:03 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -26,9 +26,9 @@ except AttributeError:
class Ui_CreaParking(object):
def setupUi(self, CreaParking):
CreaParking.setObjectName(_fromUtf8("CreaParking"))
CreaParking.resize(400, 300)
CreaParking.resize(622, 300)
self.layoutWidget = QtGui.QWidget(CreaParking)
self.layoutWidget.setGeometry(QtCore.QRect(90, 270, 201, 29))
self.layoutWidget.setGeometry(QtCore.QRect(230, 260, 201, 29))
self.layoutWidget.setObjectName(_fromUtf8("layoutWidget"))
self.horizontalLayout_2 = QtGui.QHBoxLayout(self.layoutWidget)
self.horizontalLayout_2.setMargin(0)
@ -40,7 +40,7 @@ class Ui_CreaParking(object):
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.setGeometry(QtCore.QRect(200, 230, 275, 25))
self.layoutWidget1.setObjectName(_fromUtf8("layoutWidget1"))
self.horizontalLayout_3 = QtGui.QHBoxLayout(self.layoutWidget1)
self.horizontalLayout_3.setMargin(0)
@ -52,9 +52,9 @@ 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, 90, 321, 121))
self.tableWidget.setGeometry(QtCore.QRect(30, 100, 521, 121))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
self.tableWidget.setColumnCount(3)
self.tableWidget.setColumnCount(5)
self.tableWidget.setRowCount(0)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, item)
@ -62,14 +62,18 @@ class Ui_CreaParking(object):
self.tableWidget.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(2, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(3, item)
item = QtGui.QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(4, item)
self.btn_addRow = QtGui.QPushButton(CreaParking)
self.btn_addRow.setGeometry(QtCore.QRect(350, 120, 41, 27))
self.btn_addRow.setGeometry(QtCore.QRect(570, 120, 41, 27))
self.btn_addRow.setObjectName(_fromUtf8("btn_addRow"))
self.btn_rmRow = QtGui.QPushButton(CreaParking)
self.btn_rmRow.setGeometry(QtCore.QRect(350, 160, 41, 27))
self.btn_rmRow.setGeometry(QtCore.QRect(570, 170, 41, 27))
self.btn_rmRow.setObjectName(_fromUtf8("btn_rmRow"))
self.layoutWidget2 = QtGui.QWidget(CreaParking)
self.layoutWidget2.setGeometry(QtCore.QRect(52, 12, 291, 56))
self.layoutWidget2.setGeometry(QtCore.QRect(180, 20, 291, 56))
self.layoutWidget2.setObjectName(_fromUtf8("layoutWidget2"))
self.horizontalLayout = QtGui.QHBoxLayout(self.layoutWidget2)
self.horizontalLayout.setMargin(0)
@ -102,12 +106,17 @@ class Ui_CreaParking(object):
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.setText(_translate("CreaParking", "Hauteur (cm)", None))
item = self.tableWidget.horizontalHeaderItem(1)
item.setText(_translate("CreaParking", "Longueur", None))
item.setText(_translate("CreaParking", "Longueur (cm)", None))
item = self.tableWidget.horizontalHeaderItem(2)
item.setText(_translate("CreaParking", "Nombre", None))
item = self.tableWidget.horizontalHeaderItem(3)
item.setText(_translate("CreaParking", "Etage", None))
item = self.tableWidget.horizontalHeaderItem(4)
item.setText(_translate("CreaParking", "Prix (€)", None))
self.btn_addRow.setText(_translate("CreaParking", "+", None))
self.btn_rmRow.setText(_translate("CreaParking", "-", None))
self.label.setText(_translate("CreaParking", "Nom :", None))

View File

@ -6,7 +6,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<width>622</width>
<height>300</height>
</rect>
</property>
@ -16,8 +16,8 @@
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>90</x>
<y>270</y>
<x>230</x>
<y>260</y>
<width>201</width>
<height>29</height>
</rect>
@ -42,7 +42,7 @@
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>60</x>
<x>200</x>
<y>230</y>
<width>275</width>
<height>25</height>
@ -69,19 +69,19 @@
<property name="geometry">
<rect>
<x>30</x>
<y>130</y>
<width>311</width>
<height>91</height>
<y>100</y>
<width>521</width>
<height>121</height>
</rect>
</property>
<column>
<property name="text">
<string>Hauteur</string>
<string>Hauteur (cm)</string>
</property>
</column>
<column>
<property name="text">
<string>Longueur</string>
<string>Longueur (cm)</string>
</property>
</column>
<column>
@ -89,11 +89,21 @@
<string>Nombre</string>
</property>
</column>
<column>
<property name="text">
<string>Etage</string>
</property>
</column>
<column>
<property name="text">
<string>Prix (€)</string>
</property>
</column>
</widget>
<widget class="QPushButton" name="btn_addRow">
<property name="geometry">
<rect>
<x>350</x>
<x>570</x>
<y>120</y>
<width>41</width>
<height>27</height>
@ -106,8 +116,8 @@
<widget class="QPushButton" name="btn_rmRow">
<property name="geometry">
<rect>
<x>350</x>
<y>160</y>
<x>570</x>
<y>170</y>
<width>41</width>
<height>27</height>
</rect>
@ -119,8 +129,8 @@
<widget class="QWidget" name="layoutWidget">
<property name="geometry">
<rect>
<x>52</x>
<y>12</y>
<x>180</x>
<y>20</y>
<width>291</width>
<height>56</height>
</rect>

View File

@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'main.ui'
#
# Created: Mon Jan 12 15:29:56 2015
# Created: Thu Jan 22 09:11:44 2015
# by: PyQt4 UI code generator 4.11.3
#
# WARNING! All changes made in this file will be lost!
@ -26,11 +26,11 @@ except AttributeError:
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(561, 509)
MainWindow.resize(601, 596)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 561, 441))
self.tabWidget.setGeometry(QtCore.QRect(20, 40, 561, 501))
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
@ -45,9 +45,6 @@ class Ui_MainWindow(object):
self.tab_2.setObjectName(_fromUtf8("tab_2"))
self.verticalLayout = QtGui.QVBoxLayout(self.tab_2)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.comboBox = QtGui.QComboBox(self.tab_2)
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"))
@ -92,22 +89,54 @@ class Ui_MainWindow(object):
self.btn_supprimer.setObjectName(_fromUtf8("btn_supprimer"))
self.verticalLayout.addWidget(self.btn_supprimer)
self.tabWidget.addTab(self.tab_2, _fromUtf8(""))
self.tab_5 = QtGui.QWidget()
self.tab_5.setObjectName(_fromUtf8("tab_5"))
self.tableWidget = QtGui.QTableWidget(self.tab_5)
self.tableWidget.setGeometry(QtCore.QRect(60, 20, 431, 351))
self.tableWidget.setObjectName(_fromUtf8("tableWidget"))
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"))
self.groupBox = QtGui.QGroupBox(self.tab_3)
self.groupBox.setGeometry(QtCore.QRect(30, 60, 501, 111))
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.comboBox_maintenance = QtGui.QComboBox(self.groupBox)
self.comboBox_maintenance.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_maintenance.setObjectName(_fromUtf8("comboBox_maintenance"))
self.btn_effectuer_maintenance = QtGui.QPushButton(self.groupBox)
self.btn_effectuer_maintenance.setGeometry(QtCore.QRect(326, 70, 161, 27))
self.btn_effectuer_maintenance.setObjectName(_fromUtf8("btn_effectuer_maintenance"))
self.groupBox_2 = QtGui.QGroupBox(self.tab_3)
self.groupBox_2.setGeometry(QtCore.QRect(30, 180, 501, 101))
self.groupBox_2.setObjectName(_fromUtf8("groupBox_2"))
self.comboBox_entretien = QtGui.QComboBox(self.groupBox_2)
self.comboBox_entretien.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_entretien.setObjectName(_fromUtf8("comboBox_entretien"))
self.btn_effectuer_entretien = QtGui.QPushButton(self.groupBox_2)
self.btn_effectuer_entretien.setGeometry(QtCore.QRect(326, 60, 161, 27))
self.btn_effectuer_entretien.setObjectName(_fromUtf8("btn_effectuer_entretien"))
self.groupBox_3 = QtGui.QGroupBox(self.tab_3)
self.groupBox_3.setGeometry(QtCore.QRect(30, 290, 511, 111))
self.groupBox_3.setObjectName(_fromUtf8("groupBox_3"))
self.comboBox_livraison = QtGui.QComboBox(self.groupBox_3)
self.comboBox_livraison.setGeometry(QtCore.QRect(10, 20, 481, 27))
self.comboBox_livraison.setObjectName(_fromUtf8("comboBox_livraison"))
self.btn_effectuer_livraison = QtGui.QPushButton(self.groupBox_3)
self.btn_effectuer_livraison.setGeometry(QtCore.QRect(326, 70, 161, 27))
self.btn_effectuer_livraison.setObjectName(_fromUtf8("btn_effectuer_livraison"))
self.tabWidget.addTab(self.tab_3, _fromUtf8(""))
self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.label_2 = QtGui.QLabel(self.tab_4)
self.label_2.setGeometry(QtCore.QRect(40, 80, 161, 16))
self.label_2.setObjectName(_fromUtf8("label_2"))
self.label_3 = QtGui.QLabel(self.tab_4)
self.label_3.setGeometry(QtCore.QRect(40, 110, 161, 16))
self.label_3.setObjectName(_fromUtf8("label_3"))
self.label_4 = QtGui.QLabel(self.tab_4)
self.label_4.setGeometry(QtCore.QRect(40, 140, 241, 16))
self.label_4.setObjectName(_fromUtf8("label_4"))
self.tabWidget.addTab(self.tab_4, _fromUtf8(""))
self.comboBox = QtGui.QComboBox(self.centralwidget)
self.comboBox.setGeometry(QtCore.QRect(40, 10, 539, 27))
self.comboBox.setObjectName(_fromUtf8("comboBox"))
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 561, 25))
self.menubar.setGeometry(QtCore.QRect(0, 0, 601, 25))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuFichier = QtGui.QMenu(self.menubar)
self.menuFichier.setObjectName(_fromUtf8("menuFichier"))
@ -135,7 +164,10 @@ class Ui_MainWindow(object):
self.actionQuitter.setObjectName(_fromUtf8("actionQuitter"))
self.action = QtGui.QAction(MainWindow)
self.action.setObjectName(_fromUtf8("action"))
self.actionNouveau_2 = QtGui.QAction(MainWindow)
self.actionNouveau_2.setObjectName(_fromUtf8("actionNouveau_2"))
self.menuFichier.addAction(self.actionCharger)
self.menuFichier.addAction(self.actionNouveau_2)
self.menuFichier.addAction(self.actionSauvegarder)
self.menuFichier.addSeparator()
self.menuFichier.addAction(self.actionQuitter)
@ -144,7 +176,7 @@ class Ui_MainWindow(object):
self.menubar.addAction(self.menuA_propos.menuAction())
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(1)
self.tabWidget.setCurrentIndex(2)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
@ -164,10 +196,17 @@ class Ui_MainWindow(object):
self.btn_creer.setText(_translate("MainWindow", "Créer", 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.groupBox.setTitle(_translate("MainWindow", "Maintenance", None))
self.btn_effectuer_maintenance.setText(_translate("MainWindow", "Effectuer Maintenance", None))
self.groupBox_2.setTitle(_translate("MainWindow", "Entretien", None))
self.btn_effectuer_entretien.setText(_translate("MainWindow", "Effectuer Entretien", None))
self.groupBox_3.setTitle(_translate("MainWindow", "Livraison", None))
self.btn_effectuer_livraison.setText(_translate("MainWindow", "Effectuer Livraison", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Services", None))
self.label_2.setText(_translate("MainWindow", "Frequentation par jour", None))
self.label_3.setText(_translate("MainWindow", "Frequentation par mois", None))
self.label_4.setText(_translate("MainWindow", "Duree moyenne de stationnement ", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("MainWindow", "Stats", None))
self.menuFichier.setTitle(_translate("MainWindow", "Fichier", None))
self.menuA_propos.setTitle(_translate("MainWindow", "A propos", None))
self.actionCharger.setText(_translate("MainWindow", "Charger", None))
@ -179,4 +218,5 @@ class Ui_MainWindow(object):
self.actionAjouter.setText(_translate("MainWindow", "Ajouter", None))
self.actionQuitter.setText(_translate("MainWindow", "Quitter", None))
self.action.setText(_translate("MainWindow", "?", None))
self.actionNouveau_2.setText(_translate("MainWindow", "Nouveau", None))

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>561</width>
<height>509</height>
<width>601</width>
<height>596</height>
</rect>
</property>
<property name="windowTitle">
@ -17,10 +17,10 @@
<widget class="QTabWidget" name="tabWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<x>20</x>
<y>40</y>
<width>561</width>
<height>441</height>
<height>501</height>
</rect>
</property>
<property name="currentIndex">
@ -59,9 +59,6 @@
<string>Parkings</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QComboBox" name="comboBox"/>
</item>
<item>
<layout class="QFormLayout" name="formLayout_3">
<property name="fieldGrowthPolicy">
@ -159,31 +156,173 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_5">
<attribute name="title">
<string>Membres</string>
</attribute>
<widget class="QTableWidget" name="tableWidget">
<property name="geometry">
<rect>
<x>60</x>
<y>20</y>
<width>431</width>
<height>351</height>
</rect>
</property>
<column>
<property name="text">
<string>Nouvelle colonne</string>
</property>
</column>
</widget>
</widget>
<widget class="QWidget" name="tab_3">
<attribute name="title">
<string>Services</string>
</attribute>
<widget class="QGroupBox" name="groupBox">
<property name="geometry">
<rect>
<x>30</x>
<y>60</y>
<width>501</width>
<height>111</height>
</rect>
</property>
<property name="title">
<string>Maintenance</string>
</property>
<widget class="QComboBox" name="comboBox_maintenance">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>481</width>
<height>27</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="btn_effectuer_maintenance">
<property name="geometry">
<rect>
<x>326</x>
<y>70</y>
<width>161</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Effectuer Maintenance</string>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_2">
<property name="geometry">
<rect>
<x>30</x>
<y>180</y>
<width>501</width>
<height>101</height>
</rect>
</property>
<property name="title">
<string>Entretien</string>
</property>
<widget class="QComboBox" name="comboBox_entretien">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>481</width>
<height>27</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="btn_effectuer_entretien">
<property name="geometry">
<rect>
<x>326</x>
<y>60</y>
<width>161</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Effectuer Entretien</string>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="groupBox_3">
<property name="geometry">
<rect>
<x>30</x>
<y>290</y>
<width>511</width>
<height>111</height>
</rect>
</property>
<property name="title">
<string>Livraison</string>
</property>
<widget class="QComboBox" name="comboBox_livraison">
<property name="geometry">
<rect>
<x>10</x>
<y>20</y>
<width>481</width>
<height>27</height>
</rect>
</property>
</widget>
<widget class="QPushButton" name="btn_effectuer_livraison">
<property name="geometry">
<rect>
<x>326</x>
<y>70</y>
<width>161</width>
<height>27</height>
</rect>
</property>
<property name="text">
<string>Effectuer Livraison</string>
</property>
</widget>
</widget>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Stats</string>
</attribute>
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>40</x>
<y>80</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Frequentation par jour</string>
</property>
</widget>
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>40</x>
<y>110</y>
<width>161</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Frequentation par mois</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<property name="geometry">
<rect>
<x>40</x>
<y>140</y>
<width>241</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Duree moyenne de stationnement </string>
</property>
</widget>
</widget>
</widget>
<widget class="QComboBox" name="comboBox">
<property name="geometry">
<rect>
<x>40</x>
<y>10</y>
<width>539</width>
<height>27</height>
</rect>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
@ -191,7 +330,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>561</width>
<width>601</width>
<height>25</height>
</rect>
</property>
@ -199,6 +338,7 @@
<property name="title">
<string>Fichier</string>
</property>
<addaction name="actionNouveau_2"/>
<addaction name="actionCharger"/>
<addaction name="actionSauvegarder"/>
<addaction name="separator"/>
@ -259,6 +399,11 @@
<string>?</string>
</property>
</action>
<action name="actionNouveau_2">
<property name="text">
<string>Nouveau</string>
</property>
</action>
</widget>
<resources/>
<connections/>