AnalyseMorphologique/utils/gui/pyqt/main_window/MainWindow.ui
Djalim Simaila f0de315d30 🐛 fix(data_processing.py): add missing computation of L in get_advanced_data function
 feat(data_processing.py): add raw_data parameter to get_advanced_data function to improve flexibility
The L variable was not being computed in the get_advanced_data function, which is necessary for the calculation of the tortuosity. The raw_data parameter was added to the get_advanced_data function to improve flexibility and allow for more advanced calculations to be performed.

🐛 fix(input.py): add filename attribute to ScannedObject class
The filename attribute was not being set in the ScannedObject class, which is necessary for generating the output file headers.

 feat(output.py): add function to generate headers for output file
The generate_headers function was added to generate the headers for the output file. The headers include the filename, date, version, discretisation method, and whether the data was verticalised.

🚀 chore(MainWindow.py): enable process_advanced_data function

🎨 style(MainWindow.ui, UI_MainWindow.py): adjust GUI layout and label text for better user experience
The GUI layout has been adjusted to improve the user experience. The window width has been reduced from 1419 to 1336 pixels to better fit the screen. The minimum and maximum sizes of the MainSettings widget have been increased from 518 to 600 pixels to allow for more space for the labels. The labels have been updated to include the units of measurement to improve clarity.

🐛 fix(AdvancedDataWorker.py): add raw_data parameter to __init__ method
 feat(AdvancedDataWorker.py): add support for raw data processing in get_advanced_data method
The AdvancedDataWorker class now has a raw_data parameter in its __init__ method, which is used in the get_advanced_data method. This allows for raw data processing in addition to the existing discrete data processing.

🐛 fix(DiscreteDataWorker.py): generate headers before formatting data
 feat(DiscreteDataWorker.py): add support for generating headers in output file
The DiscreteDataWorker class now generates headers for the output file if the add_headers setting is enabled. The headers are generated before formatting the data to ensure that the headers are included in the output file.

🐛 fix(PreProcessWorker.py): set filename of ScannedObject
The PreProcessWorker class now sets the filename of the ScannedObject to the basename

🎨 style(UI_Settings.py): reorganize widgets in the settings UI for better readability
🐛 fix(data_extraction.py): fix standard deviation calculation to use unbiased estimator
🔧 chore(SettingManager.py): add "add_headers" setting with default value of True
The changes in UI_Settings.py are purely cosmetic and do not affect the functionality of the code. The fix in data_extraction.py corrects the standard deviation calculation to use the unbiased estimator. The addition of the "add_headers" setting in SettingManager.py allows for the addition of headers to output files.
2023-05-26 13:38:18 +02:00

1139 lines
45 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1336</width>
<height>842</height>
</rect>
</property>
<property name="windowTitle">
<string>Analyse Morphologique</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QWidget" name="MainSettings" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>600</width>
<height>794</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>600</width>
<height>16777215</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<widget class="QTabWidget" name="SettingsTab">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="parameters">
<attribute name="title">
<string>Parametres</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_14">
<item row="0" column="0">
<layout class="QVBoxLayout" name="MainSettingsLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="input_file_label">
<property name="text">
<string>Chemin du fichier .obj</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="input_file_choose_btn">
<property name="text">
<string>Choisir le fichier</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPlainTextEdit" name="input_file_path"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="output_folder_label">
<property name="text">
<string>Repertoire de sortie</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="output_folder_choose_btn">
<property name="text">
<string>Choisir le repertoire</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPlainTextEdit" name="output_folder_path"/>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="output_file_prefix_label">
<property name="text">
<string>Préfix du fichier de sortie</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="output_file_prefix"/>
</item>
</layout>
</item>
<item alignment="Qt::AlignHCenter">
<widget class="QLabel" name="discretisation_label">
<property name="text">
<string>Discretisation (en mm)</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="discretisation_value_selector">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="analyse_progress_bar">
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="graphs_params_layout">
<item>
<widget class="QCheckBox" name="show_graph_checkbox">
<property name="text">
<string>afficher les graphes</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Nombre de graphes :</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="graph_nb_spinbox">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QPushButton" name="start_analyse_button">
<property name="text">
<string>Analyser le fichier</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="status_text">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="values">
<attribute name="title">
<string>Valeurs</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_15">
<item row="0" column="0">
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>513</width>
<height>887</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QGridLayout" name="gridLayout_16">
<item row="2" column="0">
<widget class="QPushButton" name="refresh_morphological_indicators">
<property name="text">
<string>Recalculer les indicateurs morphologiques</string>
</property>
</widget>
</item>
<item row="0" column="0">
<layout class="QFormLayout" name="formLayout">
<item row="1" column="0">
<widget class="QLabel" name="layer_label">
<property name="text">
<string>Numero de la couche a traiter :</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="layer_ComboBox"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="interval_size_label">
<property name="text">
<string>Taille de l'intervale en mm</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="interval_size">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="x_mean_label">
<property name="text">
<string>X moyen en mm</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QDoubleSpinBox" name="x_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="y_mean_label">
<property name="text">
<string>Y Moyen en mm</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="y_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="z_mean_label">
<property name="text">
<string>Z Moyen en mm</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="z_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="r_mean_label">
<property name="text">
<string>Rayon moyen en mm</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QDoubleSpinBox" name="r_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="sigma_r_label">
<property name="text">
<string>Ecart type des rayons (σR) en rad</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QDoubleSpinBox" name="sigma_r">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="9" column="0">
<widget class="QLabel" name="tortuosity_label">
<property name="text">
<string>Tortuosité : T</string>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QDoubleSpinBox" name="tortuosity">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="volume_label">
<property name="text">
<string>Volume (en mm³) : V</string>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QDoubleSpinBox" name="volume">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QLabel" name="surface_label">
<property name="text">
<string>Surface (en mm²) : S</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QDoubleSpinBox" name="surface">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QLabel" name="mean_r_mean_label">
<property name="text">
<string>Moyenne des rayons moyens (en mm) : 〈R〉</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QDoubleSpinBox" name="mean_r_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="13" column="0">
<widget class="QLabel" name="sigma_r_mean_label">
<property name="text">
<string>Ecart type des rayons moyens (en rad) : σ〈R〉</string>
</property>
</widget>
</item>
<item row="13" column="1">
<widget class="QDoubleSpinBox" name="sigma_r_mean">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QLabel" name="sigma_r_tot_label">
<property name="text">
<string>Dispertion totale : σ〈R〉^tot</string>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QDoubleSpinBox" name="sigma_r_tot">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QLabel" name="MI_p_label">
<property name="text">
<string>MI_p</string>
</property>
</widget>
</item>
<item row="15" column="1">
<widget class="QDoubleSpinBox" name="MI_p">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="16" column="0">
<widget class="QLabel" name="MI_l_label">
<property name="text">
<string>MI_l</string>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QDoubleSpinBox" name="MI_l">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="23" column="0">
<widget class="QLabel" name="R_h_label">
<property name="text">
<string>Rayon hydraulique (en mm): R_h</string>
</property>
</widget>
</item>
<item row="23" column="1">
<widget class="QDoubleSpinBox" name="R_h">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="24" column="0">
<widget class="QLabel" name="HI_label">
<property name="text">
<string>HI</string>
</property>
</widget>
</item>
<item row="24" column="1">
<widget class="QDoubleSpinBox" name="HI">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.000000000000000</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="17" column="0">
<widget class="QLabel" name="MI_mR_label">
<property name="text">
<string>MI_mR</string>
</property>
</widget>
</item>
<item row="17" column="1">
<widget class="QDoubleSpinBox" name="MI_mR">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="18" column="0">
<widget class="QLabel" name="MI_mH_label">
<property name="text">
<string>MI_mH</string>
</property>
</widget>
</item>
<item row="18" column="1">
<widget class="QDoubleSpinBox" name="MI_mH">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="19" column="0">
<widget class="QLabel" name="MI_mR_in_label">
<property name="text">
<string>MI_mR_in</string>
</property>
</widget>
</item>
<item row="19" column="1">
<widget class="QDoubleSpinBox" name="MI_mR_in">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="21" column="0">
<widget class="QLabel" name="R_V_scan_label">
<property name="text">
<string>Rayon volume scan (en mm) : R_V_scan</string>
</property>
</widget>
</item>
<item row="21" column="1">
<widget class="QDoubleSpinBox" name="R_V_scan">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="22" column="0">
<widget class="QLabel" name="S_V_scan_label">
<property name="text">
<string>Surface volume scan (en mm²) : S_V_scan</string>
</property>
</widget>
</item>
<item row="22" column="1">
<widget class="QDoubleSpinBox" name="S_V_scan">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
<item row="20" column="0">
<widget class="QLabel" name="V_scan_label">
<property name="text">
<string>Volume donné par hp scanner(en mm³): V_scan</string>
</property>
</widget>
</item>
<item row="20" column="1">
<widget class="QDoubleSpinBox" name="V_scan">
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>-999999.999998999992386</double>
</property>
<property name="maximum">
<double>999999.999998999992386</double>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="export_advanced_metrics">
<property name="text">
<string>Exporter les variables</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="Graphs" native="true">
<property name="enabled">
<bool>true</bool>
</property>
<property name="minimumSize">
<size>
<width>700</width>
<height>0</height>
</size>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="2" column="0">
<widget class="QTabWidget" name="GraphTabs">
<property name="enabled">
<bool>true</bool>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="graph_pane_1">
<property name="enabled">
<bool>true</bool>
</property>
<attribute name="title">
<string>1</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="1">
<widget class="QFrame" name="slot1_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_10">
<item row="1" column="0">
<layout class="QGridLayout" name="slot1"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot1ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QFrame" name="slot2_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_11">
<item row="1" column="0">
<layout class="QGridLayout" name="slot2"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot2ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QFrame" name="slot3_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_12">
<item row="1" column="0">
<layout class="QGridLayout" name="slot3"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot3ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="0" column="0">
<widget class="QFrame" name="slot0_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_8">
<item row="1" column="0">
<layout class="QGridLayout" name="slot0"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot0ComboBox"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="graph_pane_2">
<attribute name="title">
<string>2</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_13">
<item row="1" column="1">
<widget class="QFrame" name="slot5_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_18">
<item row="1" column="0">
<layout class="QGridLayout" name="slot5"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot5ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QFrame" name="slot4_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_17">
<item row="1" column="0">
<layout class="QGridLayout" name="slot4"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot4ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QFrame" name="slot6_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_19">
<item row="1" column="0">
<layout class="QGridLayout" name="slot6"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot6ComboBox"/>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QFrame" name="slot7_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_20">
<item row="1" column="0">
<layout class="QGridLayout" name="slot7"/>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="slot7ComboBox"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="graph_pane_3">
<attribute name="title">
<string>3</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QFrame" name="slot8_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_7">
<item row="0" column="0">
<widget class="QComboBox" name="slot8ComboBox"/>
</item>
<item row="1" column="0">
<layout class="QGridLayout" name="slot8"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="slot9_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QComboBox" name="slot9ComboBox"/>
</item>
<item row="1" column="0">
<layout class="QGridLayout" name="slot9"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="graph_pane_4">
<attribute name="title">
<string>4</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_4">
<item row="0" column="0">
<widget class="QFrame" name="slot10_frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<widget class="QComboBox" name="slot10ComboBox"/>
</item>
<item row="1" column="0">
<layout class="QGridLayout" name="slot10"/>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1336</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menuRichier">
<property name="title">
<string>Fichier</string>
</property>
<addaction name="actionOuvrir_un_fichier"/>
<addaction name="actionSauvegarder_le_model_redress"/>
<addaction name="separator"/>
<addaction name="actionPr_f_rennces"/>
<addaction name="separator"/>
<addaction name="actionQuitter"/>
</widget>
<widget class="QMenu" name="menuA_propos">
<property name="title">
<string>A propos</string>
</property>
<addaction name="actionQ_propos_de_ce_logiciel"/>
</widget>
<addaction name="menuRichier"/>
<addaction name="menuA_propos"/>
</widget>
<action name="actionOuvrir_un_fichier">
<property name="text">
<string>Ouvrir un fichier</string>
</property>
</action>
<action name="actionSauvegarder_le_model_redress">
<property name="text">
<string>Sauvegarder le model 3D redressé</string>
</property>
</action>
<action name="actionPr_f_rennces">
<property name="text">
<string>Préférences</string>
</property>
</action>
<action name="actionQuitter">
<property name="text">
<string>Quitter</string>
</property>
</action>
<action name="actionQ_propos_de_ce_logiciel">
<property name="text">
<string>A propos de ce logiciel</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>