mainwindow_ui_profile.py 15.67 KiB
# -*- coding: utf-8 -*-

import os.path

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt, QSize
from PyQt5.QtWidgets import (
    QTableView, QAbstractItemView, QHeaderView
)

from View.Plot import MplCanvas, navigation_toolbar_2qt

file_path = os.path.abspath(os.path.dirname(__file__))
icon_path = f"{os.path.dirname(os.path.dirname(file_path))}/View/ui/ressources/"

class Ui_MainWindow(object):
    def setupUi(self, MainWindowProfile):
        MainWindowProfile.setObjectName("MainWindowProfile")
        MainWindowProfile.resize(1089, 699)
        self.centralwidget = QtWidgets.QWidget(MainWindowProfile)
        self.centralwidget.setObjectName("centralwidget")
        self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.centralwidget)
        self.horizontalLayout_2.setObjectName("horizontalLayout_2")
        self.splitter = QtWidgets.QSplitter(self.centralwidget)
        self.splitter.setOrientation(Qt.Horizontal)
        self.splitter.setObjectName("splitter")
        self.widget = QtWidgets.QWidget(self.splitter)
        self.widget.setObjectName("widget")
        self.verticalLayout_left = QtWidgets.QVBoxLayout(self.widget)
        self.verticalLayout_left.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_left.setObjectName("verticalLayout_left")

        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")

        btn_size = QSize(30, 30)

        self.btn_add = QtWidgets.QPushButton(self.widget)
        self.btn_add.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_add.setText("")
        self.btn_add.setObjectName("btn_add")
        icon_btn_add = QtGui.QIcon()
        icon_btn_add.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-add.png"))
        self.btn_add.setIcon(icon_btn_add)
        self.btn_add.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_add)

        self.btn_delete = QtWidgets.QPushButton(self.widget)
        self.btn_delete.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_delete.setText("")
        self.btn_delete.setObjectName("btn_delete")
        icon_btn_delete = QtGui.QIcon()
        icon_btn_delete.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-remove.png"))
        self.btn_delete.setIcon(icon_btn_delete)
        self.btn_delete.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_delete)

        self.btn_sort_asc_x = QtWidgets.QPushButton(self.widget)
        self.btn_sort_asc_x.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_sort_asc_x.setText("")
        self.btn_sort_asc_x.setObjectName("btn_sort_asc_x")
        icon_btn_sort_asc_x = QtGui.QIcon()
        icon_btn_sort_asc_x.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-sort-ascending.png"))
        self.btn_sort_asc_x.setIcon(icon_btn_sort_asc_x)
        self.btn_sort_asc_x.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_sort_asc_x)

        self.btn_sort_desc_x = QtWidgets.QPushButton(self.widget)
        self.btn_sort_desc_x.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_sort_desc_x.setText("")
        self.btn_sort_desc_x.setObjectName("btn_sort_desc_x")
        icon_btn_sort_desc_x = QtGui.QIcon()
        icon_btn_sort_desc_x.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-sort-descending.png"))
        self.btn_sort_desc_x.setIcon(icon_btn_sort_desc_x)
        self.btn_sort_desc_x.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_sort_desc_x)

        self.btn_sort_asc_y = QtWidgets.QPushButton(self.widget)
        self.btn_sort_asc_y.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_sort_asc_y.setText("")
        self.btn_sort_asc_y.setObjectName("btn_sort_asc_y")
        icon_btn_sort_asc_y = QtGui.QIcon()
        icon_btn_sort_asc_y.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-sort-ascending.png"))
        self.btn_sort_asc_y.setIcon(icon_btn_sort_asc_y)
        self.btn_sort_asc_y.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_sort_asc_y)

        self.btn_sort_desc_y = QtWidgets.QPushButton(self.widget)
        self.btn_sort_desc_y.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_sort_desc_y.setText("")
        self.btn_sort_desc_y.setObjectName("btn_sort_desc_y")
        icon_btn_sort_desc_y = QtGui.QIcon()
        icon_btn_sort_desc_y.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-sort-descending.png"))
        self.btn_sort_desc_y.setIcon(icon_btn_sort_desc_y)
        self.btn_sort_desc_y.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_sort_desc_y)

        self.btn_move_up = QtWidgets.QPushButton(self.widget)
        self.btn_move_up.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_move_up.setText("")
        self.btn_move_up.setObjectName("btn_move_up")
        icon_btn_move_up = QtGui.QIcon()
        icon_btn_move_up.addPixmap(
            QtGui.QPixmap(f"{icon_path}up.png"))
        self.btn_move_up.setIcon(icon_btn_move_up)
        self.btn_move_up.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_move_up)

        self.btn_move_down = QtWidgets.QPushButton(self.widget)
        self.btn_move_down.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_move_down.setText("")
        self.btn_move_down.setObjectName("btn_move_down")
        icon_btn_move_down = QtGui.QIcon()
        icon_btn_move_down.addPixmap(
            QtGui.QPixmap(f"{icon_path}down.png"))
        self.btn_move_down.setIcon(icon_btn_move_down)
        self.btn_move_down.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_move_down)

        self.btn_export = QtWidgets.QPushButton(self.widget)
        self.btn_export.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_export.setText("")
        self.btn_export.setObjectName("btn_export")
        icon_btn_export = QtGui.QIcon()
        icon_btn_export.addPixmap(
            QtGui.QPixmap(f"{icon_path}export.png"))
        self.btn_export.setIcon(icon_btn_export)
        self.btn_export.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_export)

        self.btn_copy = QtWidgets.QPushButton(self.widget)
        self.btn_copy.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_copy.setText("")
        self.btn_copy.setObjectName("btn_copy")
        icon_btn_copy = QtGui.QIcon()
        icon_btn_copy.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-copy.png"))
        self.btn_copy.setIcon(icon_btn_copy)
        self.btn_copy.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_copy)

        self.btn_paste = QtWidgets.QPushButton(self.widget)
        self.btn_paste.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_paste.setText("")
        self.btn_paste.setObjectName("btn_paste")
        icon_btn_paste = QtGui.QIcon()
        icon_btn_paste.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-paste.png"))
        self.btn_paste.setIcon(icon_btn_paste)
        self.btn_paste.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_paste)

        self.btn_check = QtWidgets.QPushButton(self.widget)
        self.btn_check.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_check.setText("")
        self.btn_check.setObjectName("btn_check")
        icon_btn_check = QtGui.QIcon()
        icon_btn_check.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-apply.png"))
        self.btn_check.setIcon(icon_btn_check)
        self.btn_check.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_check)

        self.btn_go_back = QtWidgets.QPushButton(self.widget)
        self.btn_go_back.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_go_back.setText("")
        self.btn_go_back.setObjectName("btn_go_back")
        icon_btn_go_back = QtGui.QIcon()
        icon_btn_go_back.addPixmap(
            QtGui.QPixmap(f"{icon_path}gtk-undo.png"))
        self.btn_go_back.setIcon(icon_btn_go_back)
        self.btn_go_back.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_go_back)

        self.btn_reset = QtWidgets.QPushButton(self.widget)
        self.btn_reset.setMaximumSize(QtCore.QSize(30, 30))
        self.btn_reset.setText("")
        self.btn_reset.setObjectName("btn_reset")
        icon_btn_reset = QtGui.QIcon()
        icon_btn_reset.addPixmap(
            QtGui.QPixmap(f"{icon_path}cancel.png"))
        self.btn_reset.setIcon(icon_btn_reset)
        self.btn_reset.setIconSize(btn_size)
        self.horizontalLayout.addWidget(self.btn_reset)

        spacerItem = QtWidgets.QSpacerItem(
            30, 30,
            QtWidgets.QSizePolicy.Expanding,
            QtWidgets.QSizePolicy.Minimum
        )
        self.horizontalLayout.addItem(spacerItem)

        self.verticalLayout_left.addLayout(self.horizontalLayout)

        self.tableView = QTableView(self.widget)
        self.tableView.setStyleSheet(
            " QTableView { border: 1px solid black;\n"
            "                                gridline-color: blue;\n"
            "                                border-radius: 2px;\n"
            "                                border-style: solid;\n"
            "                                background-color: #EEF6FC; \n"
            "                                selection-background-color: #218ede;\n"
            "                                font-size: 11.5px;\n"
            "                                font-family: Helvetica\n"
            "\n"
            "                   }"
        )
        self.tableView.setObjectName("tableView")
        self.tableView.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.tableView.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
        self.tableView.resizeColumnsToContents()
        self.tableView.resizeRowsToContents()
        self.tableView.setAlternatingRowColors(True)
        self.tableView.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
        self.verticalLayout_left.addWidget(self.tableView)

        self.widget1 = QtWidgets.QWidget(self.splitter)
        self.widget1.setObjectName("widget1")

        self.verticalLayout_right = QtWidgets.QVBoxLayout(self.widget1)
        self.verticalLayout_right.setContentsMargins(0, 0, 0, 0)
        self.verticalLayout_right.setObjectName("verticalLayout_right")

        self.label_graphic_help = QtWidgets.QLabel(self.widget1)
        self.label_graphic_help.setMaximumSize(QtCore.QSize(16777215, 25))
        self.label_graphic_help.setBaseSize(QtCore.QSize(0, 30))
        self.label_graphic_help.setStyleSheet(
            "QLabel { border: 1px solid blue;\n"
            "                                gridline-color: blue;\n"
            "                                border-radius: 3px;\n"
            "                                border-style: solid;\n"
            "                                background-color: #EEF6FC; \n"
            "                                selection-background-color: black;\n"
            "                                font-size: 11px;\n"
            "                                font-family: Helvetica\n"
            "}"
        )
        self.label_graphic_help.setObjectName("label_graphic_help")
        self.verticalLayout_right.addWidget(self.label_graphic_help)

        self.my_canvas = MplCanvas.MplCanvas(width=5, height=4, dpi=100)
        self.my_canvas.setObjectName("my_canvas")

        self.my_toolbar = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
            self.my_canvas, self.widget1
        )
        self.my_toolbar.setStyleSheet(
            "QToolBar{ border: 1px solid darkGray;\n"
            "                                gridline-color: blue;\n"
            "                                border-radius: 4px;\n"
            "                                border-style: solid;\n"
            "                                background-color: #EEF6FC; \n"
            "                                selection-background-color: #218ede;\n"
            "                                font-size: 12px;\n"
            "                                font-family: Helvetica\n"
            "\n"
            "                   }"
        )

        self.verticalLayout_right.addWidget(self.my_toolbar)
        self.verticalLayout_right.addWidget(self.my_canvas)
        self.horizontalLayout_2.addWidget(self.splitter)

        MainWindowProfile.setCentralWidget(self.centralwidget)

        self.menubar = QtWidgets.QMenuBar(MainWindowProfile)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 1089, 20))
        self.menubar.setObjectName("menubar")
        MainWindowProfile.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindowProfile)
        self.statusbar.setObjectName("statusbar")
        MainWindowProfile.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindowProfile)
        QtCore.QMetaObject.connectSlotsByName(MainWindowProfile)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindowProfile", "MainWindowProfile"))
        self.btn_add.setToolTip(_translate("MainWindowProfile", "Insérer un point"))
        self.btn_delete.setToolTip(
            _translate("MainWindowProfile", "Supprimer le/les point(s) sélectionnés"))
        self.btn_sort_asc_x.setToolTip(
            _translate("MainWindowProfile", "Trier les points par ordre croissant de X"))
        self.btn_sort_desc_x.setToolTip(
            _translate("MainWindowProfile", "Trier les points par ordre décroissant de X"))
        self.btn_sort_asc_y.setToolTip(_translate("MainWindowProfile",
                                                  "Trier les points par ordre croissant de Y"
                                                  ))
        self.btn_sort_desc_y.setToolTip(_translate("MainWindowProfile",
                                                   "Trier les points par ordre décroissant de Y"))
        self.btn_move_up.setToolTip(_translate("MainWindowProfile",
                                               "Décaler le point sélectionné vers le haut"))
        self.btn_move_down.setToolTip(_translate("MainWindowProfile",
                                                 "Décaler le point sélectionné vers le bas"))
        self.btn_export.setToolTip(_translate("MainWindowProfile",
                                              "Exporter (dans un fichier) les points du profil au format tabulé"))
        self.btn_copy.setToolTip(
            _translate("MainWindowProfile", "Copier la sélection au format tabulé"))
        self.btn_paste.setToolTip(_translate("MainWindowProfile",
                                             "Coller la sélection depuis le presse-papier au format tabulé"))
        self.btn_check.setToolTip(_translate("MainWindowProfile",
                                             "Vérifier la validité de la saisie et garder ou pas les modifications "
                                             "apportées"))
        self.btn_go_back.setToolTip(_translate("MainWindowProfile",
                                               "Annuler toutes les modifications depuis la dernière validation"))
        self.btn_reset.setToolTip(_translate("MainWindowProfile",
                                             "Annuler toutes les modifications et revenir à l\'état initial"))
        self.label_graphic_help.setToolTip(_translate("MainWindowProfile",
                                                      "Ligne d'eau : \n \tZ : Cote (m) \n \tA : Aire mouillée ("
                                                      "m\u00B2) \n \tp : "
                                                      "Périmètre mouillé (m) \n \tL : Largeur au miroir (m)"))
        self.label_graphic_help.setText(
            _translate("MainWindowProfile", "\'Maj + Clic\' : Ligne d\'eau & \'Ctrl + Clic\' : "
                                            "Sélectionner des points"))