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.
mesh
Pierre-Antoine Rouby 2023-03-14 10:11:00 +01:00
parent 8f87bd7339
commit cb5ee1b9bb
9 changed files with 1672 additions and 62 deletions

51
src/config.py Normal file
View File

@ -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()

View File

@ -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):

View File

@ -4,12 +4,16 @@
import sys import sys
from PyQt5.QtWidgets import QApplication from PyQt5.QtWidgets import QApplication
from config import Config
from view.MainWindow import ApplicationWindow from view.MainWindow import ApplicationWindow
from model.Study import Study from model.Study import Study
def main(): def main():
conf = Config.load()
app = QApplication(sys.argv) app = QApplication(sys.argv)
application = ApplicationWindow() application = ApplicationWindow(conf=conf)
application.show() application.show()
sys.exit(app.exec_()) sys.exit(app.exec_())

View File

@ -5,7 +5,11 @@ import os
from PyQt5.QtWidgets import ( from PyQt5.QtWidgets import (
QMainWindow, QApplication, QDesktopWidget, QMainWindow, QApplication, QDesktopWidget,
QMdiArea, QMdiSubWindow, QDialog, QMdiArea, QMdiSubWindow, QDialog,
QPushButton QPushButton, QLineEdit, QCheckBox,
QTimeEdit, QSpinBox
)
from PyQt5.QtCore import (
QTime,
) )
from PyQt5.uic import loadUi from PyQt5.uic import loadUi
@ -23,3 +27,111 @@ class ASubWindow(QDialog):
def closeEvent(self, event): def closeEvent(self, event):
if not self.parent is None: if not self.parent is None:
self.parent.sub_win_del(self.name) 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()

View File

@ -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]
)

View File

@ -10,6 +10,7 @@ from PyQt5.uic import loadUi
from view.ListedSubWindow import ListedSubWindow from view.ListedSubWindow import ListedSubWindow
from view.DummyWindow import DummyWindow from view.DummyWindow import DummyWindow
from view.ConfigureWindow import ConfigureWindow
from view.AboutWindow import AboutWindow from view.AboutWindow import AboutWindow
from model.Study import Study from model.Study import Study
@ -43,14 +44,17 @@ action = (
) )
class ApplicationWindow(QMainWindow, ListedSubWindow): class ApplicationWindow(QMainWindow, ListedSubWindow):
def __init__(self): def __init__(self, conf=None):
super(ApplicationWindow, self).__init__() super(ApplicationWindow, self).__init__()
# App Configuration
self.conf = conf
# Model # Model
self.model = None self.model = None
# UI # UI
self.ui = loadUi( 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 self
) )
@ -58,15 +62,27 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
self.default_style() self.default_style()
def enable_actions(self, action:str, enable:bool): 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) self.ui.findChild(QAction, action).setEnabled(enable)
def init_callback(self): def init_callback(self):
""" """Connect action to callback function
Connect action to callback function.
Returns:
Nothing
""" """
actions = { actions = {
# Menu action # Menu action
"actionA_propos": self.open_about, "actionA_propos": self.open_about,
"actionConfiguration_de_Pamhyr": self.open_configure,
# ToolBar action # ToolBar action
"actionquitter_application": self.close, "actionquitter_application": self.close,
"actionOuvrir_une_tude": self.dummy_model, "actionOuvrir_une_tude": self.dummy_model,
@ -93,6 +109,11 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
.triggered.connect(actions[action]) .triggered.connect(actions[action])
def default_style(self): def default_style(self):
"""Set default window style
Returns:
Nothing
"""
self.update_enable_action() self.update_enable_action()
# Maximise window # Maximise window
self.showMaximized() self.showMaximized()
@ -113,15 +134,22 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
self.update_enable_action() self.update_enable_action()
def update_enable_action(self): def update_enable_action(self):
no_model = self.model is None """Update status of action componante
if no_model: Update status of action componant, enable or disable in
for action in define_model_action + other_model_action: function of model state
self.enable_actions(action, False)
Returns:
Nothing
"""
no_model = self.model is None
for action in no_model_action: for action in no_model_action:
self.enable_actions(action, no_model) 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: for action in model_action:
self.enable_actions(action, not no_model) self.enable_actions(action, not no_model)
@ -129,7 +157,25 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
# SUBWINDOW # # 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): def open_about(self):
"""Open about window
Open a new window with information about PamHyr
Returns:
Nothing
"""
self.about = AboutWindow(parent=self) self.about = AboutWindow(parent=self)
self.about.show() self.about.show()
@ -139,9 +185,6 @@ class ApplicationWindow(QMainWindow, ListedSubWindow):
############### ###############
def open_dummy(self, title="Dummy"): def open_dummy(self, title="Dummy"):
"""
Open a dummy dialog window.
"""
self.dummy = DummyWindow( self.dummy = DummyWindow(
title=title if type(title) is str else "Dummy", title=title if type(title) is str else "Dummy",
parent=self parent=self

View File

@ -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>

View File

@ -75,33 +75,33 @@
<property name="title"> <property name="title">
<string>&amp;Fichier</string> <string>&amp;Fichier</string>
</property> </property>
<addaction name="actionR_seau"/> <addaction name="m_a_new_mage"/>
<addaction name="actionNouvelle_tude_RubarBE"/> <addaction name="m_a_new_rubarbe"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionOuvrir_une_tude_2"/> <addaction name="m_a_open"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionImporter_un_jeu_de_donn_es_MAGE"/> <addaction name="m_a_import_mage"/>
<addaction name="actionImporter_un_jeu_de_donn_es_RubarBE"/> <addaction name="m_a_import_rubarbe"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionFermer"/> <addaction name="m_a_close"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionEnregistrer"/> <addaction name="m_a_save_maille"/>
<addaction name="actionEnregistrer_2"/> <addaction name="m_a_save"/>
<addaction name="actionEnregistrer_sous"/> <addaction name="m_a_save_as"/>
<addaction name="actionArchiver"/> <addaction name="m_a_archive"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionConfiguration_de_Pamhyr"/> <addaction name="m_a_config"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionQuitter"/> <addaction name="m_a_quit"/>
<addaction name="separator"/> <addaction name="separator"/>
</widget> </widget>
<widget class="QMenu" name="menu_R_seau"> <widget class="QMenu" name="menu_R_seau">
<property name="title"> <property name="title">
<string>&amp;Réseau</string> <string>&amp;Réseau</string>
</property> </property>
<addaction name="actionEditer_le_r_seau"/> <addaction name="m_a_edit_network"/>
</widget> </widget>
<widget class="QMenu" name="menuG_om_trie"> <widget class="QMenu" name="menuG_om_trie">
<property name="title"> <property name="title">
@ -115,22 +115,22 @@
<property name="title"> <property name="title">
<string>Profil en travers</string> <string>Profil en travers</string>
</property> </property>
<addaction name="actionAbscisse_Cote"/> <addaction name="m_a_abscisse_cote"/>
<addaction name="actionXYZ"/> <addaction name="m_a_XYZ"/>
</widget> </widget>
<addaction name="menuProfil_en_travers"/> <addaction name="menuProfil_en_travers"/>
</widget> </widget>
<addaction name="action_diter_la_g_om_trie"/> <addaction name="m_a_edit_geometry"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionImporter_la_g_om_trie"/> <addaction name="m_a_import_geometry"/>
<addaction name="actionExporter_la_g_om_trie"/> <addaction name="m_a_export_geometry"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="actionLancer_le_mailleur_externe"/> <addaction name="m_a_run_mailler"/>
<addaction name="actionChoix_du_maileur_par_bief"/> <addaction name="m_a_choose_maillieur_by_bief"/>
<addaction name="actionVisulaiser_la_g_om_trie_maill_e"/> <addaction name="m_a_view_maille"/>
<addaction name="actionExporter_le_maillage"/> <addaction name="m_a_export_maillage"/>
<addaction name="actionSupprimer_le_maillage_du_bief_courant"/> <addaction name="m_a_delete_maillage_for_current_bief"/>
<addaction name="actionSupprimer_l_ensemble_du_maillage"/> <addaction name="m_a_delete_maillage"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="menuComparer"/> <addaction name="menuComparer"/>
@ -302,7 +302,7 @@
<addaction name="actionOuvrages"/> <addaction name="actionOuvrages"/>
<addaction name="separator"/> <addaction name="separator"/>
</widget> </widget>
<action name="actionR_seau"> <action name="m_a_new_mage">
<property name="checkable"> <property name="checkable">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -332,7 +332,7 @@
<string>Ouvrir une étude</string> <string>Ouvrir une étude</string>
</property> </property>
</action> </action>
<action name="actionNouvelle_tude_RubarBE"> <action name="m_a_new_rubarbe">
<property name="text"> <property name="text">
<string>Nouvelle étude RubarBE</string> <string>Nouvelle étude RubarBE</string>
</property> </property>
@ -340,7 +340,7 @@
<string>Ctrl+R</string> <string>Ctrl+R</string>
</property> </property>
</action> </action>
<action name="actionOuvrir_une_tude_2"> <action name="m_a_open">
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normalon>ressources/open.png</normalon> <normalon>ressources/open.png</normalon>
@ -353,7 +353,7 @@
<string>Ctrl+O</string> <string>Ctrl+O</string>
</property> </property>
</action> </action>
<action name="actionImporter_un_jeu_de_donn_es_MAGE"> <action name="m_a_import_mage">
<property name="text"> <property name="text">
<string>Importer un jeu de données MAGE</string> <string>Importer un jeu de données MAGE</string>
</property> </property>
@ -361,12 +361,12 @@
<string/> <string/>
</property> </property>
</action> </action>
<action name="actionImporter_un_jeu_de_donn_es_RubarBE"> <action name="m_a_import_rubarbe">
<property name="text"> <property name="text">
<string>Importer un jeu de données RubarBE</string> <string>Importer un jeu de données RubarBE</string>
</property> </property>
</action> </action>
<action name="actionFermer"> <action name="m_a_close">
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>../ressources/menu/gtk-close.png</normaloff>../ressources/menu/gtk-close.png</iconset> <normaloff>../ressources/menu/gtk-close.png</normaloff>../ressources/menu/gtk-close.png</iconset>
@ -375,7 +375,7 @@
<string>Fermer</string> <string>Fermer</string>
</property> </property>
</action> </action>
<action name="actionEnregistrer"> <action name="m_a_save_maille">
<property name="checkable"> <property name="checkable">
<bool>true</bool> <bool>true</bool>
</property> </property>
@ -386,7 +386,7 @@
<string>Enregistrer le maillage</string> <string>Enregistrer le maillage</string>
</property> </property>
</action> </action>
<action name="actionEnregistrer_2"> <action name="m_a_save">
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>ressources/gtk-save.png</normaloff>ressources/gtk-save.png</iconset> <normaloff>ressources/gtk-save.png</normaloff>ressources/gtk-save.png</iconset>
@ -398,7 +398,7 @@
<string>Ctrl+S</string> <string>Ctrl+S</string>
</property> </property>
</action> </action>
<action name="actionEnregistrer_sous"> <action name="m_a_save_as">
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>ressources/gtk-save-as.png</normaloff>ressources/gtk-save-as.png</iconset> <normaloff>ressources/gtk-save-as.png</normaloff>ressources/gtk-save-as.png</iconset>
@ -410,17 +410,17 @@
<string>Ctrl+Shift+S</string> <string>Ctrl+Shift+S</string>
</property> </property>
</action> </action>
<action name="actionArchiver"> <action name="m_a_archive">
<property name="text"> <property name="text">
<string>Archiver</string> <string>Archiver</string>
</property> </property>
</action> </action>
<action name="actionConfiguration_de_Pamhyr"> <action name="m_a_config">
<property name="text"> <property name="text">
<string>Configuration de Pamhyr</string> <string>Configuration de Pamhyr</string>
</property> </property>
</action> </action>
<action name="actionQuitter"> <action name="m_a_quit">
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>../ressources/menu/gtk-quit.png</normaloff>../ressources/menu/gtk-quit.png</iconset> <normaloff>../ressources/menu/gtk-quit.png</normaloff>../ressources/menu/gtk-quit.png</iconset>
@ -432,62 +432,74 @@
<string>Ctrl+F4</string> <string>Ctrl+F4</string>
</property> </property>
</action> </action>
<action name="actionEditer_le_r_seau"> <action name="m_a_edit_network">
<property name="text"> <property name="text">
<string> Éditer le réseau</string> <string> Éditer le réseau</string>
</property> </property>
</action> </action>
<action name="action_diter_la_g_om_trie"> <action name="m_a_edit_geometry">
<property name="text"> <property name="text">
<string>Éditer la géométrie </string> <string>Éditer la géométrie </string>
</property> </property>
</action> </action>
<action name="actionImporter_la_g_om_trie"> <action name="m_a_import_geometry">
<property name="text"> <property name="text">
<string>Importer une géométrie</string> <string>Importer une géométrie</string>
</property> </property>
</action> </action>
<action name="actionExporter_la_g_om_trie"> <action name="m_a_export_geometry">
<property name="text"> <property name="text">
<string>Exporter la géométrie</string> <string>Exporter la géométrie</string>
</property> </property>
</action> </action>
<action name="actionLancer_le_mailleur_externe"> <action name="m_a_run_mailler">
<property name="text"> <property name="text">
<string>Lancer le mailleur externe</string> <string>Lancer le mailleur externe</string>
</property> </property>
</action> </action>
<action name="actionChoix_du_maileur_par_bief"> <action name="m_a_choose_maillieur_by_bief">
<property name="text"> <property name="text">
<string>Choix du mailleur par bief</string> <string>Choix du mailleur par bief</string>
</property> </property>
</action> </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"> <property name="text">
<string>Visualiser la géométrie maillée</string> <string>Visualiser la géométrie maillée</string>
</property> </property>
</action> </action>
<action name="actionExporter_le_maillage"> <action name="m_a_export_maillage">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text"> <property name="text">
<string>Exporter le maillage </string> <string>Exporter le maillage </string>
</property> </property>
</action> </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"> <property name="text">
<string>Supprimer le maillage du bief courant</string> <string>Supprimer le maillage du bief courant</string>
</property> </property>
</action> </action>
<action name="actionSupprimer_l_ensemble_du_maillage"> <action name="m_a_delete_maillage">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text"> <property name="text">
<string>Supprimer l'ensemble des maillages</string> <string>Supprimer l'ensemble des maillages</string>
</property> </property>
</action> </action>
<action name="actionAbscisse_Cote"> <action name="m_a_abscisse_cote">
<property name="text"> <property name="text">
<string>Abscisse - Cote</string> <string>Abscisse - Cote</string>
</property> </property>
</action> </action>
<action name="actionXYZ"> <action name="m_a_XYZ">
<property name="text"> <property name="text">
<string>XYZ</string> <string>XYZ</string>
</property> </property>
@ -705,7 +717,7 @@
<string>Enrégistrer étude en cours (Ctrl+S)</string> <string>Enrégistrer étude en cours (Ctrl+S)</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>Ctrl+S</string> <string/>
</property> </property>
</action> </action>
<action name="actionfermer_etude_en_cours"> <action name="actionfermer_etude_en_cours">
@ -754,6 +766,9 @@
</property> </property>
</action> </action>
<action name="actioninterrompt_simulation_en_cours"> <action name="actioninterrompt_simulation_en_cours">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>ressources/gtk-stop.png</normaloff>ressources/gtk-stop.png</iconset> <normaloff>ressources/gtk-stop.png</normaloff>ressources/gtk-stop.png</iconset>
@ -781,6 +796,9 @@
</property> </property>
</action> </action>
<action name="actionafficher_listings_simulation"> <action name="actionafficher_listings_simulation">
<property name="enabled">
<bool>false</bool>
</property>
<property name="icon"> <property name="icon">
<iconset> <iconset>
<normaloff>ressources/gnome-stock-edit.png</normaloff>ressources/gnome-stock-edit.png</iconset> <normaloff>ressources/gnome-stock-edit.png</normaloff>ressources/gnome-stock-edit.png</iconset>

View File

@ -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>&amp;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>&amp;Réseau</string>
</property>
<addaction name="actionEditer_le_r_seau"/>
</widget>
<widget class="QMenu" name="menuG_om_trie">
<property name="title">
<string>&amp;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>&amp;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>&amp;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>&amp;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>&amp;Cartographie</string>
</property>
<addaction name="actionCartographier_le_bief_courant"/>
</widget>
<widget class="QMenu" name="menuAide">
<property name="title">
<string>&amp;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 &amp; 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 &amp; 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>