
#!/usr/bin/env python3
# -*-coding:utf-8 -*

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QToolTip,
QPushButton, QGridLayout,QLabel,QLineEdit,QGroupBox)
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QCoreApplication

class Example(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()


    def initUI(self):
        #Définition des labels
        labUrl = QLabel('URL du pack Osm')
        labUrl.setToolTip('URL de type Geofabrik')

        labNameExport = QLabel('nom du fichier d\'export.<br>SANS EXTENSION')
        labNameExport.setToolTip('pas d\'extension: exemple : .osm')

        labNameDb = QLabel('nom de la base.')
        labNameDb.setToolTip('pas le nom du shéma')

        labBbox = QLabel('emprise de la bbox.')
        labBbox.setToolTip('format X,X,X,X')

        labUser = QLabel('nom de l\'utilisateur de la base')


        #Définition des QLineEdit.
        urlEdit = QLineEdit()
        urlEdit.setPlaceholderText('http://download.geofabrik.de/europe/france/rhone-alpes-latest.osm.pbf')

        nameExpEdit = QLineEdit()
        nameExpEdit.setPlaceholderText('monexport')

        nameDbEdit = QLineEdit()
        nameDbEdit.setPlaceholderText('postgres')

        bboxEdit = QLineEdit()
        bboxEdit.setPlaceholderText('4.7866,45.742,4.8964,45.782')

        userEdit = QLineEdit()
        userEdit.setPlaceholderText('Smith')

        #Définition des grilles
        bigGrid = QGridLayout()
        bigGrid.setSpacing(10)
        #+ ajout d une box
        fieldsBox = QGroupBox("Options d\'import")
        fieldGrid = QGridLayout()
        fieldGrid.setSpacing(5)

        fieldGrid.addWidget(labUrl,1,0)
        fieldGrid.addWidget(urlEdit,1,1)

        fieldGrid.addWidget(labNameExport,2,0)
        fieldGrid.addWidget(nameExpEdit,2,1)

        fieldGrid.addWidget(labNameDb,3,0)
        fieldGrid.addWidget(nameDbEdit,3,1)

        fieldGrid.addWidget(labBbox,4,0)
        fieldGrid.addWidget(bboxEdit,4,1)

        fieldGrid.addWidget(labUser,5,0)
        fieldGrid.addWidget(userEdit,5,1)

        fieldsBox.setLayout(fieldGrid)

        bigGrid.addWidget(fieldsBox,0,0,1,2)

        #Définition des boutons
        btnRecup = QPushButton('Récupérer', self)
        btnRecup.setToolTip('Récupérer <br><b>la donnée</b>')
        btnRecup.resize(btnRecup.sizeHint())

        btnSimpleTransav = QPushButton('Import de la donnée déjà téléchargée.', self)
        btnSimpleTransav.setToolTip('ne concerne que la donnée du jour')
        btnSimpleTransav.resize(btnSimpleTransav.sizeHint())

        btnTransav = QPushButton('Import complet', self)
        btnTransav.setToolTip('Opération de téléchargement et d\'import')
        btnTransav.resize(btnTransav.sizeHint())

        bigGrid.addWidget(btnRecup,1,0)
        bigGrid.addWidget(btnSimpleTransav,1,1)
        bigGrid.addWidget(btnTransav,2,0,1,2)

        self.setLayout(bigGrid)
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('osm2pgsql')
        self.show()

    def transmettre(self):
        pass


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
