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

View File

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

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

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">
<string>&amp;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>&amp;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>

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>