From cb5ee1b9bbe131e997b0299534139bb9ef69cdec Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Tue, 14 Mar 2023 10:11:00 +0100 Subject: [PATCH] Add configuration window and many minor change. * src/config.py: Application config class. * src/pamhyr.py: Add app config. * src/view/ASubWindow.py: Add some methods. * src/view/ConfigureWindow.py: New app sub window. * src/view/MainWindow.py: Minor change. * src/view/ui/ConfigureDialog.ui: New ui. * src/view/ui/MainWindow.ui: Start rename some component. * src/view/ui/MainWindow_old.ui: Old version of main UI. --- src/config.py | 51 ++ src/model/AModelComponent.py | 10 + src/pamhyr.py | 6 +- src/view/ASubWindow.py | 114 ++++- src/view/ConfigureWindow.py | 95 ++++ src/view/MainWindow.py | 65 ++- src/view/ui/ConfigureDialog.ui | 369 ++++++++++++++ src/view/ui/MainWindow.ui | 116 +++-- src/view/ui/MainWindow_old.ui | 908 +++++++++++++++++++++++++++++++++ 9 files changed, 1672 insertions(+), 62 deletions(-) create mode 100644 src/config.py create mode 100644 src/model/AModelComponent.py create mode 100644 src/view/ConfigureWindow.py create mode 100644 src/view/ui/ConfigureDialog.ui create mode 100644 src/view/ui/MainWindow_old.ui diff --git a/src/config.py b/src/config.py new file mode 100644 index 00000000..26416b78 --- /dev/null +++ b/src/config.py @@ -0,0 +1,51 @@ +# -*- coding: utf-8 -*- + +import os +import pickle + +config_dir = "/.cache/pamhyr/" +config_file = "config.pkl" + +class Config(object): + def __init__(self): + super(Config, self).__init__() + + self.filename = Config.filename() + self.set_default_value() + + def set_default_value(self): + # Mage + self.mage_path = "" + self.mage_extract_path = "" + self.mailleur_path = "" + + # Const + self.manning = False + self.segment = 1000 + self.max_listing = 500000 + + # Backup + self.backup_enable = True + self.backup_path = "" + self.backup_frequence = "00:05:00" + self.backup_max = 10 + + @classmethod + def filename(cls): + return os.environ["HOME"] + config_dir + config_file + + def save(self): + os.makedirs(os.path.dirname(self.filename), exist_ok=True) + with open(self.filename, 'wb') as out_file: + pickle.dump(self, out_file) + + @classmethod + def load(cls): + filename = cls.filename() + if os.path.isfile(filename): + with open(filename, 'rb') as in_file: + me = pickle.load(in_file) + return me + else: + print("config: New config") + return cls() diff --git a/src/model/AModelComponent.py b/src/model/AModelComponent.py new file mode 100644 index 00000000..3da2aa6c --- /dev/null +++ b/src/model/AModelComponent.py @@ -0,0 +1,10 @@ +# -*- coding: utf-8 -*- + +class AbstractModelComponent(object): + def __init__(self): + super(AbstractModelComponent, self).__init__() + + def new(self, filename): + + + def export(self, filename): diff --git a/src/pamhyr.py b/src/pamhyr.py index 1d7cf0e5..ec9f74f0 100755 --- a/src/pamhyr.py +++ b/src/pamhyr.py @@ -4,12 +4,16 @@ import sys from PyQt5.QtWidgets import QApplication + +from config import Config from view.MainWindow import ApplicationWindow from model.Study import Study def main(): + conf = Config.load() + app = QApplication(sys.argv) - application = ApplicationWindow() + application = ApplicationWindow(conf=conf) application.show() sys.exit(app.exec_()) diff --git a/src/view/ASubWindow.py b/src/view/ASubWindow.py index 2739a6a2..3f01e02c 100644 --- a/src/view/ASubWindow.py +++ b/src/view/ASubWindow.py @@ -5,7 +5,11 @@ import os from PyQt5.QtWidgets import ( QMainWindow, QApplication, QDesktopWidget, QMdiArea, QMdiSubWindow, QDialog, - QPushButton + QPushButton, QLineEdit, QCheckBox, + QTimeEdit, QSpinBox +) +from PyQt5.QtCore import ( + QTime, ) from PyQt5.uic import loadUi @@ -23,3 +27,111 @@ class ASubWindow(QDialog): def closeEvent(self, event): if not self.parent is None: self.parent.sub_win_del(self.name) + + # Commun use features + + def find(self, qtype, name): + """Find an ui component + + Args: + qtype: Type of QT component + name: Name for component + + Returns: + return the component + """ + return self.ui.findChild(qtype, name) + + def set_line_edit_text(self, name:str, text:str): + """Set text of line edit component + + Args: + line_edit: The line edit component name + text: The text + + Returns: + Nothing + """ + self.find(QLineEdit, name).setText(text) + + def get_line_edit_text(self, name:str): + """Get text of line edit component + + Args: + line_edit: The line edit component name + + Returns: + Text + """ + return self.find(QLineEdit, name).text() + + def set_check_box(self, name:str, checked:bool): + """Set status of checkbox component + + Args: + name: The check box component name + checked: Bool + + Returns: + Nothing + """ + self.find(QCheckBox, name).setChecked(checked) + + def get_check_box(self, name:str): + """Get status of checkbox component + + Args: + name: The check box component name + + Returns: + Status of checkbox (bool) + """ + return self.find(QCheckBox, name).isChecked() + + + def set_time_edit(self, name:str, time:str): + """Set time of timeedit component + + Args: + name: The timeedit component name + time: The new time in format "HH:mm:ss" + + Returns: + Nothing + """ + qtime = QTime.fromString(time) + self.find(QTimeEdit, name).setTime(qtime) + + def get_time_edit(self, name:str): + """Get time of timeedit component + + Args: + name: The timeedit component name + + Returns: + The time of timeedit in format "HH:mm:ss" + """ + return self.find(QTimeEdit, name).time().toString() + + def set_spin_box(self, name:str, value:int): + """Set value of spinbox component + + Args: + name: The spinbox component name + value: The new value + + Returns: + Nothing + """ + self.find(QSpinBox, name).setValue(value) + + def get_spin_box(self, name:str): + """Get time of spin box component + + Args: + name: The spin box component + + Returns: + The value of spin box + """ + return self.find(QSpinBox, name).value() diff --git a/src/view/ConfigureWindow.py b/src/view/ConfigureWindow.py new file mode 100644 index 00000000..c633c2ce --- /dev/null +++ b/src/view/ConfigureWindow.py @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- + +from config import Config +from view.ASubWindow import ASubWindow +from PyQt5.QtWidgets import ( + QDialogButtonBox, QPushButton, QLineEdit, + QFileDialog, +) + +class ConfigureWindow(ASubWindow): + def __init__(self, conf=None, title="Configure", parent=None): + super(ConfigureWindow, self).__init__(name=title, ui="ConfigureDialog", parent=parent) + self.ui.setWindowTitle(title) + + if conf is None: + self.conf = Config() + else: + self.conf = conf + + # MAGE + self.set_line_edit_text("lineEdit_exec_mage", self.conf.mage_path) + self.set_line_edit_text("lineEdit_exec_mage_extract", self.conf.mage_extract_path) + self.set_line_edit_text("lineEdit_exec_mailleur", self.conf.mailleur_path) + + # Const + self.set_check_box("checkBox_manning", self.conf.manning) + self.set_line_edit_text("lineEdit_segment", str(self.conf.segment)) + self.set_line_edit_text("lineEdit_max_listing", str(self.conf.max_listing)) + + # Backup + self.set_check_box("checkBox_backup", self.conf.backup_enable) + self.set_line_edit_text("lineEdit_backup_path", self.conf.backup_path) + self.set_time_edit("timeEdit_backup_frequence", self.conf.backup_frequence) + self.set_spin_box("spinBox_backup_max", self.conf.backup_max) + + self.connect() + + def connect(self): + # File button + buttons = { + "pushButton_exec_mage": lambda: self.file_dialog("exec_mage", True), + "pushButton_exec_mage_extract": lambda: self.file_dialog("exec_mage_extract", True), + "pushButton_exec_mailleur": lambda: self.file_dialog("exec_mailleur", True), + "pushButton_backup_path": lambda: self.file_dialog("backup_path", False), + } + + for button in buttons: + self.find(QPushButton, button).clicked.connect(buttons[button]) + + def accept(self): + # MAGE + self.conf.mage_path = self.get_line_edit_text("lineEdit_exec_mage") + self.conf.mage_extract_path = self.get_line_edit_text("lineEdit_exec_mage_extract") + self.conf.mailleur_path = self.get_line_edit_text("lineEdit_exec_mailleur") + + # Const + self.conf.manning = self.get_check_box("checkBox_manning") + self.conf.segment = self.get_line_edit_text("lineEdit_segment") + self.conf.max_listing = self.get_line_edit_text("lineEdit_max_listing") + + # Backup + self.conf.backup_enable = self.get_check_box("checkBox_backup") + self.conf.backup_path = self.get_line_edit_text("lineEdit_backup_path") + self.conf.backup_frequence = self.get_time_edit("timeEdit_backup_frequence") + self.conf.backup_max = self.get_spin_box("spinBox_backup_max") + + self.end() + + def reject(self): + # Nothing todo + self.end() + + def end(self): + self.conf.save() + self.close() + + def file_dialog(self, line_edit, select_file): + dialog = QFileDialog(self) + if select_file: + mode = QFileDialog.FileMode.ExistingFile + else: + mode = QFileDialog.FileMode.Directory + + dialog.setFileMode(mode) + + if dialog.exec_(): + file_names = dialog.selectedFiles() + if len(file_names) != 1: + print("pas bien") + else: + if line_edit != "": + self.set_line_edit_text( + f"lineEdit_{line_edit}", + file_names[0] + ) diff --git a/src/view/MainWindow.py b/src/view/MainWindow.py index 66fbbac0..b13bebf0 100644 --- a/src/view/MainWindow.py +++ b/src/view/MainWindow.py @@ -10,6 +10,7 @@ from PyQt5.uic import loadUi from view.ListedSubWindow import ListedSubWindow from view.DummyWindow import DummyWindow +from view.ConfigureWindow import ConfigureWindow from view.AboutWindow import AboutWindow from model.Study import Study @@ -43,14 +44,17 @@ action = ( ) class ApplicationWindow(QMainWindow, ListedSubWindow): - def __init__(self): + def __init__(self, conf=None): super(ApplicationWindow, self).__init__() + # App Configuration + self.conf = conf + # Model self.model = None # UI self.ui = loadUi( - os.path.join(os.path.dirname(__file__), "ui", "MainWindow.ui"), + os.path.join(os.path.dirname(__file__), "ui", "MainWindow_old.ui"), self ) @@ -58,15 +62,27 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): self.default_style() def enable_actions(self, action:str, enable:bool): + """Enable of disable an action componant + + Args: + action: Action to enable/disable + enable: True to Enable, or False to disable + + Returns: + Nothing + """ self.ui.findChild(QAction, action).setEnabled(enable) def init_callback(self): - """ - Connect action to callback function. + """Connect action to callback function + + Returns: + Nothing """ actions = { # Menu action "actionA_propos": self.open_about, + "actionConfiguration_de_Pamhyr": self.open_configure, # ToolBar action "actionquitter_application": self.close, "actionOuvrir_une_tude": self.dummy_model, @@ -93,6 +109,11 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): .triggered.connect(actions[action]) def default_style(self): + """Set default window style + + Returns: + Nothing + """ self.update_enable_action() # Maximise window self.showMaximized() @@ -113,15 +134,22 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): self.update_enable_action() def update_enable_action(self): - no_model = self.model is None + """Update status of action componante - if no_model: - for action in define_model_action + other_model_action: - self.enable_actions(action, False) + Update status of action componant, enable or disable in + function of model state + + Returns: + Nothing + """ + no_model = self.model is None for action in no_model_action: self.enable_actions(action, no_model) + for action in define_model_action + other_model_action: + self.enable_actions(action, not no_model) + for action in model_action: self.enable_actions(action, not no_model) @@ -129,7 +157,25 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): # SUBWINDOW # ############# + def open_configure(self): + """Open configure window + + Open PamHyr configure window + + Returns: + Nothing + """ + self.config = ConfigureWindow(conf=self.conf, parent=self) + self.config.show() + def open_about(self): + """Open about window + + Open a new window with information about PamHyr + + Returns: + Nothing + """ self.about = AboutWindow(parent=self) self.about.show() @@ -139,9 +185,6 @@ class ApplicationWindow(QMainWindow, ListedSubWindow): ############### def open_dummy(self, title="Dummy"): - """ - Open a dummy dialog window. - """ self.dummy = DummyWindow( title=title if type(title) is str else "Dummy", parent=self diff --git a/src/view/ui/ConfigureDialog.ui b/src/view/ui/ConfigureDialog.ui new file mode 100644 index 00000000..b8316907 --- /dev/null +++ b/src/view/ui/ConfigureDialog.ui @@ -0,0 +1,369 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>Dialog</class> + <widget class="QDialog" name="Dialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>770</width> + <height>351</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <widget class="QWidget" name=""> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>751</width> + <height>321</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QGroupBox" name="groupBox"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="title"> + <string>Executable</string> + </property> + <widget class="QWidget" name="layoutWidget"> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>351</width> + <height>111</height> + </rect> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>MAGE</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>MAGE_Extraire</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Mailleur</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QLineEdit" name="lineEdit_exec_mage"/> + </item> + <item> + <widget class="QPushButton" name="pushButton_exec_mage"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/open.png</normaloff>ressources/open.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QLineEdit" name="lineEdit_exec_mage_extract"/> + </item> + <item> + <widget class="QPushButton" name="pushButton_exec_mage_extract"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/open.png</normaloff>ressources/open.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QLineEdit" name="lineEdit_exec_mailleur"/> + </item> + <item> + <widget class="QPushButton" name="pushButton_exec_mailleur"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/open.png</normaloff>ressources/open.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + </widget> + </item> + <item row="0" column="1" rowspan="2"> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>BackUp</string> + </property> + <widget class="QWidget" name=""> + <property name="geometry"> + <rect> + <x>10</x> + <y>20</y> + <width>343</width> + <height>125</height> + </rect> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <item> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Sauvegarde automatique</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>Chemin</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Frequence</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Max. archives</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <widget class="QCheckBox" name="checkBox_backup"> + <property name="text"> + <string>Activé</string> + </property> + <property name="tristate"> + <bool>false</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QLineEdit" name="lineEdit_backup_path"/> + </item> + <item> + <widget class="QPushButton" name="pushButton_backup_path"> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/open.png</normaloff>ressources/open.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QTimeEdit" name="timeEdit_backup_frequence"> + <property name="minimumTime"> + <time> + <hour>0</hour> + <minute>1</minute> + <second>0</second> + </time> + </property> + <property name="displayFormat"> + <string>HH:mm:ss</string> + </property> + <property name="timeSpec"> + <enum>Qt::LocalTime</enum> + </property> + <property name="time"> + <time> + <hour>0</hour> + <minute>5</minute> + <second>0</second> + </time> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="spinBox_backup_max"> + <property name="minimum"> + <number>1</number> + </property> + <property name="value"> + <number>10</number> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </widget> + </item> + <item row="1" column="0"> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Constante numérique</string> + </property> + <widget class="QWidget" name=""> + <property name="geometry"> + <rect> + <x>10</x> + <y>30</y> + <width>268</width> + <height>93</height> + </rect> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Frottement</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>Nombre de segment</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Taille max. du listing</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="checkBox_manning"> + <property name="text"> + <string>Manning</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_segment"> + <property name="text"> + <string>1000</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="lineEdit_max_listing"> + <property name="text"> + <string>500000</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> + </property> + </widget> + </item> + </layout> + </widget> + </widget> + <resources/> + <connections> + <connection> + <sender>buttonBox</sender> + <signal>accepted()</signal> + <receiver>Dialog</receiver> + <slot>accept()</slot> + <hints> + <hint type="sourcelabel"> + <x>248</x> + <y>254</y> + </hint> + <hint type="destinationlabel"> + <x>157</x> + <y>274</y> + </hint> + </hints> + </connection> + <connection> + <sender>buttonBox</sender> + <signal>rejected()</signal> + <receiver>Dialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel"> + <x>316</x> + <y>260</y> + </hint> + <hint type="destinationlabel"> + <x>286</x> + <y>274</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/src/view/ui/MainWindow.ui b/src/view/ui/MainWindow.ui index 1a014058..d9c42155 100644 --- a/src/view/ui/MainWindow.ui +++ b/src/view/ui/MainWindow.ui @@ -75,33 +75,33 @@ <property name="title"> <string>&Fichier</string> </property> - <addaction name="actionR_seau"/> - <addaction name="actionNouvelle_tude_RubarBE"/> + <addaction name="m_a_new_mage"/> + <addaction name="m_a_new_rubarbe"/> <addaction name="separator"/> - <addaction name="actionOuvrir_une_tude_2"/> + <addaction name="m_a_open"/> <addaction name="separator"/> - <addaction name="actionImporter_un_jeu_de_donn_es_MAGE"/> - <addaction name="actionImporter_un_jeu_de_donn_es_RubarBE"/> + <addaction name="m_a_import_mage"/> + <addaction name="m_a_import_rubarbe"/> <addaction name="separator"/> <addaction name="separator"/> - <addaction name="actionFermer"/> + <addaction name="m_a_close"/> <addaction name="separator"/> - <addaction name="actionEnregistrer"/> - <addaction name="actionEnregistrer_2"/> - <addaction name="actionEnregistrer_sous"/> - <addaction name="actionArchiver"/> + <addaction name="m_a_save_maille"/> + <addaction name="m_a_save"/> + <addaction name="m_a_save_as"/> + <addaction name="m_a_archive"/> <addaction name="separator"/> <addaction name="separator"/> - <addaction name="actionConfiguration_de_Pamhyr"/> + <addaction name="m_a_config"/> <addaction name="separator"/> - <addaction name="actionQuitter"/> + <addaction name="m_a_quit"/> <addaction name="separator"/> </widget> <widget class="QMenu" name="menu_R_seau"> <property name="title"> <string>&Réseau</string> </property> - <addaction name="actionEditer_le_r_seau"/> + <addaction name="m_a_edit_network"/> </widget> <widget class="QMenu" name="menuG_om_trie"> <property name="title"> @@ -115,22 +115,22 @@ <property name="title"> <string>Profil en travers</string> </property> - <addaction name="actionAbscisse_Cote"/> - <addaction name="actionXYZ"/> + <addaction name="m_a_abscisse_cote"/> + <addaction name="m_a_XYZ"/> </widget> <addaction name="menuProfil_en_travers"/> </widget> - <addaction name="action_diter_la_g_om_trie"/> + <addaction name="m_a_edit_geometry"/> <addaction name="separator"/> - <addaction name="actionImporter_la_g_om_trie"/> - <addaction name="actionExporter_la_g_om_trie"/> + <addaction name="m_a_import_geometry"/> + <addaction name="m_a_export_geometry"/> <addaction name="separator"/> - <addaction name="actionLancer_le_mailleur_externe"/> - <addaction name="actionChoix_du_maileur_par_bief"/> - <addaction name="actionVisulaiser_la_g_om_trie_maill_e"/> - <addaction name="actionExporter_le_maillage"/> - <addaction name="actionSupprimer_le_maillage_du_bief_courant"/> - <addaction name="actionSupprimer_l_ensemble_du_maillage"/> + <addaction name="m_a_run_mailler"/> + <addaction name="m_a_choose_maillieur_by_bief"/> + <addaction name="m_a_view_maille"/> + <addaction name="m_a_export_maillage"/> + <addaction name="m_a_delete_maillage_for_current_bief"/> + <addaction name="m_a_delete_maillage"/> <addaction name="separator"/> <addaction name="separator"/> <addaction name="menuComparer"/> @@ -302,7 +302,7 @@ <addaction name="actionOuvrages"/> <addaction name="separator"/> </widget> - <action name="actionR_seau"> + <action name="m_a_new_mage"> <property name="checkable"> <bool>false</bool> </property> @@ -332,7 +332,7 @@ <string>Ouvrir une étude</string> </property> </action> - <action name="actionNouvelle_tude_RubarBE"> + <action name="m_a_new_rubarbe"> <property name="text"> <string>Nouvelle étude RubarBE</string> </property> @@ -340,7 +340,7 @@ <string>Ctrl+R</string> </property> </action> - <action name="actionOuvrir_une_tude_2"> + <action name="m_a_open"> <property name="icon"> <iconset> <normalon>ressources/open.png</normalon> @@ -353,7 +353,7 @@ <string>Ctrl+O</string> </property> </action> - <action name="actionImporter_un_jeu_de_donn_es_MAGE"> + <action name="m_a_import_mage"> <property name="text"> <string>Importer un jeu de données MAGE</string> </property> @@ -361,12 +361,12 @@ <string/> </property> </action> - <action name="actionImporter_un_jeu_de_donn_es_RubarBE"> + <action name="m_a_import_rubarbe"> <property name="text"> <string>Importer un jeu de données RubarBE</string> </property> </action> - <action name="actionFermer"> + <action name="m_a_close"> <property name="icon"> <iconset> <normaloff>../ressources/menu/gtk-close.png</normaloff>../ressources/menu/gtk-close.png</iconset> @@ -375,7 +375,7 @@ <string>Fermer</string> </property> </action> - <action name="actionEnregistrer"> + <action name="m_a_save_maille"> <property name="checkable"> <bool>true</bool> </property> @@ -386,7 +386,7 @@ <string>Enregistrer le maillage</string> </property> </action> - <action name="actionEnregistrer_2"> + <action name="m_a_save"> <property name="icon"> <iconset> <normaloff>ressources/gtk-save.png</normaloff>ressources/gtk-save.png</iconset> @@ -398,7 +398,7 @@ <string>Ctrl+S</string> </property> </action> - <action name="actionEnregistrer_sous"> + <action name="m_a_save_as"> <property name="icon"> <iconset> <normaloff>ressources/gtk-save-as.png</normaloff>ressources/gtk-save-as.png</iconset> @@ -410,17 +410,17 @@ <string>Ctrl+Shift+S</string> </property> </action> - <action name="actionArchiver"> + <action name="m_a_archive"> <property name="text"> <string>Archiver</string> </property> </action> - <action name="actionConfiguration_de_Pamhyr"> + <action name="m_a_config"> <property name="text"> <string>Configuration de Pamhyr</string> </property> </action> - <action name="actionQuitter"> + <action name="m_a_quit"> <property name="icon"> <iconset> <normaloff>../ressources/menu/gtk-quit.png</normaloff>../ressources/menu/gtk-quit.png</iconset> @@ -432,62 +432,74 @@ <string>Ctrl+F4</string> </property> </action> - <action name="actionEditer_le_r_seau"> + <action name="m_a_edit_network"> <property name="text"> <string> Éditer le réseau</string> </property> </action> - <action name="action_diter_la_g_om_trie"> + <action name="m_a_edit_geometry"> <property name="text"> <string>Éditer la géométrie </string> </property> </action> - <action name="actionImporter_la_g_om_trie"> + <action name="m_a_import_geometry"> <property name="text"> <string>Importer une géométrie</string> </property> </action> - <action name="actionExporter_la_g_om_trie"> + <action name="m_a_export_geometry"> <property name="text"> <string>Exporter la géométrie</string> </property> </action> - <action name="actionLancer_le_mailleur_externe"> + <action name="m_a_run_mailler"> <property name="text"> <string>Lancer le mailleur externe</string> </property> </action> - <action name="actionChoix_du_maileur_par_bief"> + <action name="m_a_choose_maillieur_by_bief"> <property name="text"> <string>Choix du mailleur par bief</string> </property> </action> - <action name="actionVisulaiser_la_g_om_trie_maill_e"> + <action name="m_a_view_maille"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="text"> <string>Visualiser la géométrie maillée</string> </property> </action> - <action name="actionExporter_le_maillage"> + <action name="m_a_export_maillage"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="text"> <string>Exporter le maillage </string> </property> </action> - <action name="actionSupprimer_le_maillage_du_bief_courant"> + <action name="m_a_delete_maillage_for_current_bief"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="text"> <string>Supprimer le maillage du bief courant</string> </property> </action> - <action name="actionSupprimer_l_ensemble_du_maillage"> + <action name="m_a_delete_maillage"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="text"> <string>Supprimer l'ensemble des maillages</string> </property> </action> - <action name="actionAbscisse_Cote"> + <action name="m_a_abscisse_cote"> <property name="text"> <string>Abscisse - Cote</string> </property> </action> - <action name="actionXYZ"> + <action name="m_a_XYZ"> <property name="text"> <string>XYZ</string> </property> @@ -705,7 +717,7 @@ <string>Enrégistrer étude en cours (Ctrl+S)</string> </property> <property name="shortcut"> - <string>Ctrl+S</string> + <string/> </property> </action> <action name="actionfermer_etude_en_cours"> @@ -754,6 +766,9 @@ </property> </action> <action name="actioninterrompt_simulation_en_cours"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="icon"> <iconset> <normaloff>ressources/gtk-stop.png</normaloff>ressources/gtk-stop.png</iconset> @@ -781,6 +796,9 @@ </property> </action> <action name="actionafficher_listings_simulation"> + <property name="enabled"> + <bool>false</bool> + </property> <property name="icon"> <iconset> <normaloff>ressources/gnome-stock-edit.png</normaloff>ressources/gnome-stock-edit.png</iconset> diff --git a/src/view/ui/MainWindow_old.ui b/src/view/ui/MainWindow_old.ui new file mode 100644 index 00000000..3824a981 --- /dev/null +++ b/src/view/ui/MainWindow_old.ui @@ -0,0 +1,908 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MainWindow</class> + <widget class="QMainWindow" name="MainWindow"> + <property name="windowModality"> + <enum>Qt::ApplicationModal</enum> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>850</width> + <height>646</height> + </rect> + </property> + <property name="font"> + <font> + <family>Serif</family> + <weight>75</weight> + <bold>true</bold> + <kerning>false</kerning> + </font> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="contextMenuPolicy"> + <enum>Qt::NoContextMenu</enum> + </property> + <property name="acceptDrops"> + <bool>true</bool> + </property> + <property name="windowTitle"> + <string>PAMHYR</string> + </property> + <property name="windowIcon"> + <iconset> + <normaloff>ressources/M_icon.png</normaloff>ressources/M_icon.png</iconset> + </property> + <property name="layoutDirection"> + <enum>Qt::LeftToRight</enum> + </property> + <property name="autoFillBackground"> + <bool>false</bool> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="documentMode"> + <bool>false</bool> + </property> + <widget class="QWidget" name="centralwidget"> + <property name="contextMenuPolicy"> + <enum>Qt::NoContextMenu</enum> + </property> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>850</width> + <height>23</height> + </rect> + </property> + <property name="font"> + <font> + <family>Sans Serif</family> + </font> + </property> + <widget class="QMenu" name="menu_File"> + <property name="title"> + <string>&Fichier</string> + </property> + <addaction name="actionR_seau"/> + <addaction name="actionNouvelle_tude_RubarBE"/> + <addaction name="separator"/> + <addaction name="actionOuvrir_une_tude_2"/> + <addaction name="separator"/> + <addaction name="actionImporter_un_jeu_de_donn_es_MAGE"/> + <addaction name="actionImporter_un_jeu_de_donn_es_RubarBE"/> + <addaction name="separator"/> + <addaction name="separator"/> + <addaction name="actionFermer"/> + <addaction name="separator"/> + <addaction name="actionEnregistrer"/> + <addaction name="actionEnregistrer_2"/> + <addaction name="actionEnregistrer_sous"/> + <addaction name="actionArchiver"/> + <addaction name="separator"/> + <addaction name="separator"/> + <addaction name="actionConfiguration_de_Pamhyr"/> + <addaction name="separator"/> + <addaction name="actionQuitter"/> + <addaction name="separator"/> + </widget> + <widget class="QMenu" name="menu_R_seau"> + <property name="title"> + <string>&Réseau</string> + </property> + <addaction name="actionEditer_le_r_seau"/> + </widget> + <widget class="QMenu" name="menuG_om_trie"> + <property name="title"> + <string>&Géométrie</string> + </property> + <widget class="QMenu" name="menuComparer"> + <property name="title"> + <string>Comparer</string> + </property> + <widget class="QMenu" name="menuProfil_en_travers"> + <property name="title"> + <string>Profil en travers</string> + </property> + <addaction name="actionAbscisse_Cote"/> + <addaction name="actionXYZ"/> + </widget> + <addaction name="menuProfil_en_travers"/> + </widget> + <addaction name="action_diter_la_g_om_trie"/> + <addaction name="separator"/> + <addaction name="actionImporter_la_g_om_trie"/> + <addaction name="actionExporter_la_g_om_trie"/> + <addaction name="separator"/> + <addaction name="actionLancer_le_mailleur_externe"/> + <addaction name="actionChoix_du_maileur_par_bief"/> + <addaction name="actionVisulaiser_la_g_om_trie_maill_e"/> + <addaction name="actionExporter_le_maillage"/> + <addaction name="actionSupprimer_le_maillage_du_bief_courant"/> + <addaction name="actionSupprimer_l_ensemble_du_maillage"/> + <addaction name="separator"/> + <addaction name="separator"/> + <addaction name="menuComparer"/> + </widget> + <widget class="QMenu" name="menu_x_cuter"> + <property name="title"> + <string>&Exécuter</string> + </property> + <widget class="QMenu" name="menuSous_tude_Rubar3"> + <property name="title"> + <string>Sous-étude Rubar3</string> + </property> + <addaction name="actionOuvrir"/> + <addaction name="actionFermer_2"/> + </widget> + <addaction name="actionParam_tres_num_riques_du_solveur_MAGE"/> + <addaction name="actionSolveur_MAGE"/> + <addaction name="actionStop_solveur"/> + <addaction name="actionAfficher_les_listings"/> + <addaction name="actionGestion_de_r_pertoire_de_simulation"/> + <addaction name="separator"/> + <addaction name="menuSous_tude_Rubar3"/> + </widget> + <widget class="QMenu" name="menu_Hydraulique"> + <property name="title"> + <string>&Hydraulique</string> + </property> + <addaction name="actionConditions_aux_limites_Apports_lat_raux"/> + <addaction name="separator"/> + <addaction name="actionConditions_initiales"/> + <addaction name="actionActiver_D_sactiver_l_export"/> + <addaction name="actionImporter_l_tat_final_comme_tat_initial"/> + <addaction name="separator"/> + <addaction name="action_dition_des"/> + <addaction name="action_dition_des_Apports_Lat_raux"/> + <addaction name="action_dition_des_d_versements"/> + <addaction name="separator"/> + <addaction name="action_dition_des_ouvrages_en_travers"/> + </widget> + <widget class="QMenu" name="menuGraphiques"> + <property name="title"> + <string>&Graphiques</string> + </property> + <addaction name="actionHydrogramme"/> + <addaction name="actionLimnigramme"/> + <addaction name="actionLigne_d_eau"/> + <addaction name="actionLigne_d_eau_finale"/> + <addaction name="actionLigne_d_eau_enveloppe"/> + <addaction name="actionVitesse_Pk_t_fix"/> + <addaction name="actionVitesse_t_Pk_fix"/> + <addaction name="actionCharge_hydraulique_Pk_t_fix"/> + <addaction name="actionCharge_hydraulique_t_Pk_fix"/> + <addaction name="actionVoir_l_animation_MAGE"/> + <addaction name="actionAutres_r_sulats_MAGE"/> + </widget> + <widget class="QMenu" name="menuCartographie"> + <property name="title"> + <string>&Cartographie</string> + </property> + <addaction name="actionCartographier_le_bief_courant"/> + </widget> + <widget class="QMenu" name="menuAide"> + <property name="title"> + <string>&Aide</string> + </property> + <addaction name="actionAide_de_PAMHYR"/> + <addaction name="actionAide_de_MAGE"/> + <addaction name="actionA_propos"/> + </widget> + <addaction name="menu_File"/> + <addaction name="menu_R_seau"/> + <addaction name="menuG_om_trie"/> + <addaction name="menu_Hydraulique"/> + <addaction name="menu_x_cuter"/> + <addaction name="menuGraphiques"/> + <addaction name="menuCartographie"/> + <addaction name="menuAide"/> + </widget> + <widget class="QStatusBar" name="statusbar"/> + <widget class="QToolBar" name="toolBar"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <weight>50</weight> + <bold>false</bold> + <kerning>true</kerning> + </font> + </property> + <property name="mouseTracking"> + <bool>true</bool> + </property> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="contextMenuPolicy"> + <enum>Qt::NoContextMenu</enum> + </property> + <property name="windowTitle"> + <string>toolBar</string> + </property> + <property name="whatsThis"> + <string/> + </property> + <property name="autoFillBackground"> + <bool>true</bool> + </property> + <property name="movable"> + <bool>true</bool> + </property> + <property name="floatable"> + <bool>false</bool> + </property> + <attribute name="toolBarArea"> + <enum>TopToolBarArea</enum> + </attribute> + <attribute name="toolBarBreak"> + <bool>false</bool> + </attribute> + <addaction name="actionOuvrir_une_tude"/> + <addaction name="actionenregistrer_etude_en_cours"/> + <addaction name="actionfermer_etude_en_cours"/> + <addaction name="actionquitter_application"/> + <addaction name="actionlancer_solveur"/> + <addaction name="actioninterrompt_simulation_en_cours"/> + <addaction name="actionafficher_listings_simulation"/> + <addaction name="separator"/> + <addaction name="actionReseau"/> + <addaction name="actionGeometrie"/> + <addaction name="actionMaillage"/> + <addaction name="actionlancer_mailleur_externe"/> + </widget> + <widget class="QToolBar" name="toolBar_2"> + <property name="font"> + <font> + <family>Sans Serif</family> + <pointsize>9</pointsize> + <weight>50</weight> + <italic>false</italic> + <bold>false</bold> + </font> + </property> + <property name="windowTitle"> + <string>toolBar_2</string> + </property> + <attribute name="toolBarArea"> + <enum>TopToolBarArea</enum> + </attribute> + <attribute name="toolBarBreak"> + <bool>true</bool> + </attribute> + <addaction name="actionCond_Limites"/> + <addaction name="separator"/> + <addaction name="actionApp_Lat_raux"/> + <addaction name="separator"/> + <addaction name="actionDeversements"/> + <addaction name="separator"/> + <addaction name="actionTroncons"/> + <addaction name="separator"/> + <addaction name="actionFrottements"/> + <addaction name="separator"/> + <addaction name="actionOuvrages"/> + <addaction name="separator"/> + </widget> + <action name="actionR_seau"> + <property name="checkable"> + <bool>false</bool> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/edit.png</normaloff>ressources/edit.png</iconset> + </property> + <property name="text"> + <string>Nouvelle étude MAGE</string> + </property> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="shortcut"> + <string>Ctrl+N</string> + </property> + </action> + <action name="actionOuvrir_une_tude"> + <property name="icon"> + <iconset> + <normaloff>ressources/open.png</normaloff>ressources/open.png</iconset> + </property> + <property name="text"> + <string>Ouvrir une étude</string> + </property> + </action> + <action name="actionNouvelle_tude_RubarBE"> + <property name="text"> + <string>Nouvelle étude RubarBE</string> + </property> + <property name="shortcut"> + <string>Ctrl+R</string> + </property> + </action> + <action name="actionOuvrir_une_tude_2"> + <property name="icon"> + <iconset> + <normalon>ressources/open.png</normalon> + </iconset> + </property> + <property name="text"> + <string>Ouvrir une étude</string> + </property> + <property name="shortcut"> + <string>Ctrl+O</string> + </property> + </action> + <action name="actionImporter_un_jeu_de_donn_es_MAGE"> + <property name="text"> + <string>Importer un jeu de données MAGE</string> + </property> + <property name="statusTip"> + <string/> + </property> + </action> + <action name="actionImporter_un_jeu_de_donn_es_RubarBE"> + <property name="text"> + <string>Importer un jeu de données RubarBE</string> + </property> + </action> + <action name="actionFermer"> + <property name="icon"> + <iconset> + <normaloff>../ressources/menu/gtk-close.png</normaloff>../ressources/menu/gtk-close.png</iconset> + </property> + <property name="text"> + <string>Fermer</string> + </property> + </action> + <action name="actionEnregistrer"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Enregistrer le maillage</string> + </property> + </action> + <action name="actionEnregistrer_2"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-save.png</normaloff>ressources/gtk-save.png</iconset> + </property> + <property name="text"> + <string>Enregistrer</string> + </property> + <property name="shortcut"> + <string>Ctrl+S</string> + </property> + </action> + <action name="actionEnregistrer_sous"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-save-as.png</normaloff>ressources/gtk-save-as.png</iconset> + </property> + <property name="text"> + <string>Enregistrer sous ...</string> + </property> + <property name="shortcut"> + <string>Ctrl+Shift+S</string> + </property> + </action> + <action name="actionArchiver"> + <property name="text"> + <string>Archiver</string> + </property> + </action> + <action name="actionConfiguration_de_Pamhyr"> + <property name="text"> + <string>Configuration de Pamhyr</string> + </property> + </action> + <action name="actionQuitter"> + <property name="icon"> + <iconset> + <normaloff>../ressources/menu/gtk-quit.png</normaloff>../ressources/menu/gtk-quit.png</iconset> + </property> + <property name="text"> + <string>Quitter</string> + </property> + <property name="shortcut"> + <string>Ctrl+F4</string> + </property> + </action> + <action name="actionEditer_le_r_seau"> + <property name="text"> + <string> Éditer le réseau</string> + </property> + </action> + <action name="action_diter_la_g_om_trie"> + <property name="text"> + <string>Éditer la géométrie </string> + </property> + </action> + <action name="actionImporter_la_g_om_trie"> + <property name="text"> + <string>Importer une géométrie</string> + </property> + </action> + <action name="actionExporter_la_g_om_trie"> + <property name="text"> + <string>Exporter la géométrie</string> + </property> + </action> + <action name="actionLancer_le_mailleur_externe"> + <property name="text"> + <string>Lancer le mailleur externe</string> + </property> + </action> + <action name="actionChoix_du_maileur_par_bief"> + <property name="text"> + <string>Choix du mailleur par bief</string> + </property> + </action> + <action name="actionVisulaiser_la_g_om_trie_maill_e"> + <property name="text"> + <string>Visualiser la géométrie maillée</string> + </property> + </action> + <action name="actionExporter_le_maillage"> + <property name="text"> + <string>Exporter le maillage </string> + </property> + </action> + <action name="actionSupprimer_le_maillage_du_bief_courant"> + <property name="text"> + <string>Supprimer le maillage du bief courant</string> + </property> + </action> + <action name="actionSupprimer_l_ensemble_du_maillage"> + <property name="text"> + <string>Supprimer l'ensemble des maillages</string> + </property> + </action> + <action name="actionAbscisse_Cote"> + <property name="text"> + <string>Abscisse - Cote</string> + </property> + </action> + <action name="actionXYZ"> + <property name="text"> + <string>XYZ</string> + </property> + </action> + <action name="actionParam_tres_num_riques_du_solveur_MAGE"> + <property name="text"> + <string>Paramètres numériques du solveur MAGE</string> + </property> + </action> + <action name="actionConditions_aux_limites_Apports_lat_raux"> + <property name="text"> + <string>Conditions aux Limites & Apports Ponctuels</string> + </property> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + </action> + <action name="actionConditions_initiales"> + <property name="text"> + <string>Conditions initiales</string> + </property> + </action> + <action name="actionActiver_D_sactiver_l_export"> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="text"> + <string>Activer/Désactiver l'export des conditions initiales</string> + </property> + </action> + <action name="actionImporter_l_tat_final_comme_tat_initial"> + <property name="text"> + <string>Importer l'état final comme état initial</string> + </property> + </action> + <action name="action_dition_des"> + <property name="text"> + <string>Édition des Frottements</string> + </property> + </action> + <action name="action_dition_des_Apports_Lat_raux"> + <property name="text"> + <string>Édition des Apports Latéraux</string> + </property> + </action> + <action name="action_dition_des_d_versements"> + <property name="text"> + <string>Édition des déversements</string> + </property> + </action> + <action name="action_dition_des_Tron_ons"> + <property name="text"> + <string>Édition des Tronçons</string> + </property> + </action> + <action name="action_dition_des_ouvrages_en_travers"> + <property name="text"> + <string>Édition des ouvrages en travers</string> + </property> + </action> + <action name="actionSolveur_MAGE"> + <property name="text"> + <string>Solveur MAGE</string> + </property> + </action> + <action name="actionStop_solveur"> + <property name="text"> + <string>Stop Solveur</string> + </property> + </action> + <action name="actionAfficher_les_listings"> + <property name="text"> + <string>Afficher les listings</string> + </property> + </action> + <action name="actionGestion_de_r_pertoire_de_simulation"> + <property name="text"> + <string>Gestion des répertoires de simulation</string> + </property> + </action> + <action name="actionOuvrir"> + <property name="text"> + <string>Ouvrir</string> + </property> + </action> + <action name="actionFermer_2"> + <property name="text"> + <string>Fermer</string> + </property> + </action> + <action name="actionHydrogramme"> + <property name="text"> + <string>Hydrogramme</string> + </property> + <property name="font"> + <font> + <family>Ubuntu</family> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + </action> + <action name="actionLimnigramme"> + <property name="text"> + <string>Limnigramme</string> + </property> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + </action> + <action name="actionLigne_d_eau"> + <property name="text"> + <string>Ligne d'eau</string> + </property> + </action> + <action name="actionLigne_d_eau_finale"> + <property name="text"> + <string>Ligne d'eau finale</string> + </property> + </action> + <action name="actionLigne_d_eau_enveloppe"> + <property name="text"> + <string>Ligne d'eau enveloppe</string> + </property> + </action> + <action name="actionVitesse_Pk_t_fix"> + <property name="text"> + <string>Vitesse(Pk) à t fixé</string> + </property> + </action> + <action name="actionVitesse_t_Pk_fix"> + <property name="text"> + <string>Vitesse(t) à Pk fixé</string> + </property> + </action> + <action name="actionCharge_hydraulique_Pk_t_fix"> + <property name="text"> + <string>Charge hydraulique(Pk) à t fixé</string> + </property> + </action> + <action name="actionCharge_hydraulique_t_Pk_fix"> + <property name="text"> + <string>Charge hydraulique(t) à Pk fixé</string> + </property> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + </action> + <action name="actionVoir_l_animation_MAGE"> + <property name="text"> + <string>Voir l'animation (MAGE)</string> + </property> + </action> + <action name="actionAutres_r_sulats_MAGE"> + <property name="text"> + <string>Autres résulats MAGE</string> + </property> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + </action> + <action name="actionCartographier_le_bief_courant"> + <property name="text"> + <string>Cartographier le bief courant</string> + </property> + </action> + <action name="actionAide_de_PAMHYR"> + <property name="text"> + <string>Aide de PAMHYR</string> + </property> + </action> + <action name="actionAide_de_MAGE"> + <property name="text"> + <string>Aide de MAGE</string> + </property> + </action> + <action name="actionA_propos"> + <property name="text"> + <string>À propos</string> + </property> + </action> + <action name="actionouvrir"> + <property name="icon"> + <iconset> + <normaloff>../ressources/menu/open.png</normaloff>../ressources/menu/open.png</iconset> + </property> + <property name="text"> + <string>ouvrir</string> + </property> + <property name="toolTip"> + <string>Ouvrir une étude</string> + </property> + </action> + <action name="actionenregistrer_etude_en_cours"> + <property name="icon"> + <iconset> + <normaloff>ressources/save.png</normaloff>ressources/save.png</iconset> + </property> + <property name="text"> + <string>enregistrer_etude_en_cours</string> + </property> + <property name="toolTip"> + <string>Enrégistrer étude en cours (Ctrl+S)</string> + </property> + <property name="shortcut"> + <string/> + </property> + </action> + <action name="actionfermer_etude_en_cours"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-close.png</normaloff>ressources/gtk-close.png</iconset> + </property> + <property name="text"> + <string>fermer_etude_en_cours</string> + </property> + <property name="toolTip"> + <string>Fermer étude en cours (Ctrl+F)</string> + </property> + <property name="shortcut"> + <string>Ctrl+F</string> + </property> + </action> + <action name="actionquitter_application"> + <property name="icon"> + <iconset> + <normaloff>ressources/exit_bis.png</normaloff>ressources/exit_bis.png</iconset> + </property> + <property name="text"> + <string>quitter_application</string> + </property> + <property name="toolTip"> + <string>Quitter l'application (Ctrl+Q)</string> + </property> + <property name="shortcut"> + <string>Ctrl+Q</string> + </property> + </action> + <action name="actionlancer_solveur"> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-execute.png</normaloff>ressources/gtk-execute.png</iconset> + </property> + <property name="text"> + <string>lancer_solveur</string> + </property> + <property name="toolTip"> + <string>Lancer le solveur pour réaliser une simulation</string> + </property> + <property name="shortcut"> + <string>Ctrl+X</string> + </property> + </action> + <action name="actioninterrompt_simulation_en_cours"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/gtk-stop.png</normaloff>ressources/gtk-stop.png</iconset> + </property> + <property name="text"> + <string>interrompt_simulation_en_cours</string> + </property> + <property name="toolTip"> + <string>Interrompt la simulation en cours</string> + </property> + <property name="shortcut"> + <string>Ctrl+C</string> + </property> + </action> + <action name="actionlancer_mailleur_externe"> + <property name="icon"> + <iconset> + <normaloff>ressources/gnome-stock-insert-table.png</normaloff>ressources/gnome-stock-insert-table.png</iconset> + </property> + <property name="text"> + <string>lancer_mailleur_externe</string> + </property> + <property name="toolTip"> + <string>Lancer le mailleur externe sur la géométrie du bief courant</string> + </property> + </action> + <action name="actionafficher_listings_simulation"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="icon"> + <iconset> + <normaloff>ressources/gnome-stock-edit.png</normaloff>ressources/gnome-stock-edit.png</iconset> + </property> + <property name="text"> + <string>afficher_listings_simulation</string> + </property> + <property name="toolTip"> + <string>Aficher les listings de la simulation courante</string> + </property> + </action> + <action name="actionReseau"> + <property name="icon"> + <iconset> + <normaloff>ressources/reseau3_24.png</normaloff>ressources/reseau3_24.png</iconset> + </property> + <property name="text"> + <string>Réseau</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur de la topologie du réseau</string> + </property> + </action> + <action name="actionGeometrie"> + <property name="icon"> + <iconset> + <normaloff>ressources/geometrie0.png</normaloff>ressources/geometrie0.png</iconset> + </property> + <property name="text"> + <string>Géométrie</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur de géométrie</string> + </property> + </action> + <action name="actionMaillage"> + <property name="icon"> + <iconset> + <normaloff>ressources/mailles-50.png</normaloff>ressources/mailles-50.png</iconset> + </property> + <property name="text"> + <string>Maillage</string> + </property> + <property name="toolTip"> + <string>Afficher le maillage</string> + </property> + </action> + <action name="actionCond_Limites"> + <property name="text"> + <string>Cond. Limites</string> + </property> + <property name="toolTip"> + <string>Ouvir l'éditeur des Conditions aux Limites & Apports Ponctuels</string> + </property> + <property name="font"> + <font/> + </property> + </action> + <action name="actionApp_Lat_raux"> + <property name="text"> + <string>App. Latéraux</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur des Apports Latéraux Distribués</string> + </property> + </action> + <action name="actionDeversements"> + <property name="text"> + <string>Déversements</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur des Déversements Latéraux</string> + </property> + </action> + <action name="actionTroncons"> + <property name="text"> + <string>Tronçons</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur des tronçons pour les frottements et Apports Latéraux</string> + </property> + </action> + <action name="actionFrottements"> + <property name="text"> + <string>Frottements</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur des frottements au fond</string> + </property> + </action> + <action name="actionOuvrages"> + <property name="text"> + <string>Ouvrages</string> + </property> + <property name="toolTip"> + <string>Ouvrir l'éditeur des ouvrages (seuils, vannes, etc.), singularités et pompes</string> + </property> + </action> + </widget> + <resources/> + <connections> + <connection> + <sender>MainWindow</sender> + <signal>customContextMenuRequested(QPoint)</signal> + <receiver>MainWindow</receiver> + <slot>showMaximized()</slot> + <hints> + <hint type="sourcelabel"> + <x>346</x> + <y>301</y> + </hint> + <hint type="destinationlabel"> + <x>346</x> + <y>301</y> + </hint> + </hints> + </connection> + </connections> +</ui> -- GitLab