Finished settings
This commit is contained in:
parent
ff20488ceb
commit
5a546b5e9c
@ -3,6 +3,7 @@ from PyQt5 import QtWidgets
|
||||
from PyQt5.QtCore import QThread
|
||||
from PyQt5.QtWidgets import QFileDialog, QWidget
|
||||
from utils.files.input import ScannedObject
|
||||
from utils.gui.pyqt.settings.Settings import Settings
|
||||
from utils.settings.SettingManager import SettingManager
|
||||
from utils.graph2D.visplot_render import cross_section, render2D
|
||||
from utils.graph3D.visplot_render import render3D
|
||||
@ -24,6 +25,7 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
self.input_file_choose_btn.clicked.connect(self.select_file)
|
||||
self.output_folder_choose_btn.clicked.connect(self.select_folder)
|
||||
self.show_graph_checkbox.stateChanged.connect(self.toggle_graphs)
|
||||
self.actionPr_f_rennces.triggered.connect(self.show_settings)
|
||||
|
||||
|
||||
self.graphType = [
|
||||
@ -74,9 +76,10 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
|
||||
for slot_nb,slot in enumerate(self.slots):
|
||||
slot[1] = SettingManager.get_instance().get_last_graph(slot_nb)
|
||||
print(slot[1])
|
||||
self.comboBoxes[slot_nb].setCurrentText(slot[1])
|
||||
|
||||
self.settings_window = Settings()
|
||||
|
||||
self.threads = []
|
||||
|
||||
###############################################################################
|
||||
@ -293,3 +296,9 @@ class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
|
||||
Set the status of the analyse
|
||||
"""
|
||||
self.status_text.setText(status)
|
||||
|
||||
def show_settings(self):
|
||||
"""
|
||||
Show the settings window
|
||||
"""
|
||||
self.settings_window.show()
|
||||
40
utils/gui/pyqt/settings/Settings.py
Normal file
40
utils/gui/pyqt/settings/Settings.py
Normal file
@ -0,0 +1,40 @@
|
||||
import os
|
||||
from PyQt5 import QtWidgets
|
||||
from PyQt5.QtWidgets import QWidget
|
||||
from utils.files.input import ScannedObject
|
||||
from utils.gui.pyqt.settings.UI_Settings import Ui_Settings
|
||||
from utils.settings.SettingManager import SettingManager
|
||||
|
||||
class Settings(QtWidgets.QMainWindow,Ui_Settings):
|
||||
|
||||
def __init__(self, parent=None):
|
||||
super().__init__(parent)
|
||||
# Retrieve the UI
|
||||
self.setupUi(self)
|
||||
# Setup buttons listeners
|
||||
settings = SettingManager.get_instance()
|
||||
self.discretisation_method.addItems(settings.get_setting('discretisation_methods'))
|
||||
self.discretisation_method.setCurrentText(settings.get_setting('discretisation_method'))
|
||||
self.raw_data_suffix.setText(settings.get_setting('raw_data_suffix'))
|
||||
self.discrete_data_suffix.setText(settings.get_setting('discrete_data_suffix'))
|
||||
self.extention.setText(settings.get_setting('output_file_extension'))
|
||||
self.separator.setText(settings.get_setting('output_file_separator'))
|
||||
self.prettify.setChecked(settings.get_setting('pretiffy_output_file'))
|
||||
|
||||
#Connect to onchanged actions
|
||||
self.discretisation_method.currentTextChanged.connect(self.accept)
|
||||
self.raw_data_suffix.textChanged.connect(self.accept)
|
||||
self.discrete_data_suffix.textChanged.connect(self.accept)
|
||||
self.extention.textChanged.connect(self.accept)
|
||||
self.separator.textChanged.connect(self.accept)
|
||||
self.prettify.stateChanged.connect(self.accept)
|
||||
|
||||
|
||||
def accept(self):
|
||||
settings = SettingManager.get_instance()
|
||||
settings.set_setting('discretisation_method', self.discretisation_method.currentText())
|
||||
settings.set_setting('raw_data_suffix', self.raw_data_suffix.text())
|
||||
settings.set_setting('discrete_data_suffix', self.discrete_data_suffix.text())
|
||||
settings.set_setting('output_file_extension', self.extention.text())
|
||||
settings.set_setting('output_file_separator', self.separator.text())
|
||||
settings.set_setting('pretiffy_output_file', self.prettify.isChecked())
|
||||
75
utils/gui/pyqt/settings/UI_Settings.py
Normal file
75
utils/gui/pyqt/settings/UI_Settings.py
Normal file
@ -0,0 +1,75 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Form implementation generated from reading ui file 'settings.ui'
|
||||
#
|
||||
# Created by: PyQt5 UI code generator 5.15.9
|
||||
#
|
||||
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
|
||||
# run again. Do not edit this file unless you know what you are doing.
|
||||
|
||||
|
||||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
|
||||
|
||||
class Ui_Settings(object):
|
||||
def setupUi(self, Settings):
|
||||
Settings.setObjectName("Settings")
|
||||
Settings.resize(712, 213)
|
||||
self.centralwidget = QtWidgets.QWidget(Settings)
|
||||
self.centralwidget.setObjectName("centralwidget")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.gridLayout_2 = QtWidgets.QGridLayout()
|
||||
self.gridLayout_2.setObjectName("gridLayout_2")
|
||||
self.discretisation_method_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.discretisation_method_label.setObjectName("discretisation_method_label")
|
||||
self.gridLayout_2.addWidget(self.discretisation_method_label, 0, 0, 1, 1)
|
||||
self.discretisation_method = QtWidgets.QComboBox(self.centralwidget)
|
||||
self.discretisation_method.setObjectName("discretisation_method")
|
||||
self.gridLayout_2.addWidget(self.discretisation_method, 0, 1, 1, 1)
|
||||
self.raw_data_suffix_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.raw_data_suffix_label.setObjectName("raw_data_suffix_label")
|
||||
self.gridLayout_2.addWidget(self.raw_data_suffix_label, 1, 0, 1, 1)
|
||||
self.raw_data_suffix = QtWidgets.QLineEdit(self.centralwidget)
|
||||
self.raw_data_suffix.setObjectName("raw_data_suffix")
|
||||
self.gridLayout_2.addWidget(self.raw_data_suffix, 1, 1, 1, 1)
|
||||
self.discrete_data_suffix_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.discrete_data_suffix_label.setObjectName("discrete_data_suffix_label")
|
||||
self.gridLayout_2.addWidget(self.discrete_data_suffix_label, 2, 0, 1, 1)
|
||||
self.discrete_data_suffix = QtWidgets.QLineEdit(self.centralwidget)
|
||||
self.discrete_data_suffix.setObjectName("discrete_data_suffix")
|
||||
self.gridLayout_2.addWidget(self.discrete_data_suffix, 2, 1, 1, 1)
|
||||
self.extention_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.extention_label.setObjectName("extention_label")
|
||||
self.gridLayout_2.addWidget(self.extention_label, 3, 0, 1, 1)
|
||||
self.extention = QtWidgets.QLineEdit(self.centralwidget)
|
||||
self.extention.setObjectName("extention")
|
||||
self.gridLayout_2.addWidget(self.extention, 3, 1, 1, 1)
|
||||
self.separator_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.separator_label.setObjectName("separator_label")
|
||||
self.gridLayout_2.addWidget(self.separator_label, 4, 0, 1, 1)
|
||||
self.separator = QtWidgets.QLineEdit(self.centralwidget)
|
||||
self.separator.setObjectName("separator")
|
||||
self.gridLayout_2.addWidget(self.separator, 4, 1, 1, 1)
|
||||
self.prettify_label = QtWidgets.QLabel(self.centralwidget)
|
||||
self.prettify_label.setObjectName("prettify_label")
|
||||
self.gridLayout_2.addWidget(self.prettify_label, 5, 0, 1, 1)
|
||||
self.prettify = QtWidgets.QCheckBox(self.centralwidget)
|
||||
self.prettify.setText("")
|
||||
self.prettify.setObjectName("prettify")
|
||||
self.gridLayout_2.addWidget(self.prettify, 5, 1, 1, 1)
|
||||
self.gridLayout.addLayout(self.gridLayout_2, 0, 0, 1, 1)
|
||||
Settings.setCentralWidget(self.centralwidget)
|
||||
|
||||
self.retranslateUi(Settings)
|
||||
QtCore.QMetaObject.connectSlotsByName(Settings)
|
||||
|
||||
def retranslateUi(self, Settings):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
Settings.setWindowTitle(_translate("Settings", "Préférences"))
|
||||
self.discretisation_method_label.setText(_translate("Settings", "Methode de discretisation"))
|
||||
self.raw_data_suffix_label.setText(_translate("Settings", "Suffixe des fichiers de données brutes"))
|
||||
self.discrete_data_suffix_label.setText(_translate("Settings", "Suffixe des fichiers de données discretisées"))
|
||||
self.extention_label.setText(_translate("Settings", "Extensions des fichiers de sorties"))
|
||||
self.separator_label.setText(_translate("Settings", "Separateur de colone"))
|
||||
self.prettify_label.setText(_translate("Settings", "Aligner les colones"))
|
||||
91
utils/gui/pyqt/settings/settings.ui
Normal file
91
utils/gui/pyqt/settings/settings.ui
Normal file
@ -0,0 +1,91 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Settings</class>
|
||||
<widget class="QMainWindow" name="Settings">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>712</width>
|
||||
<height>213</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Préférences</string>
|
||||
</property>
|
||||
<widget class="QWidget" name="centralwidget">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="discretisation_method_label">
|
||||
<property name="text">
|
||||
<string>Methode de discretisation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="discretisation_method"/>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="raw_data_suffix_label">
|
||||
<property name="text">
|
||||
<string>Suffixe des fichiers de données brutes</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLineEdit" name="raw_data_suffix"/>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="discrete_data_suffix_label">
|
||||
<property name="text">
|
||||
<string>Suffixe des fichiers de données discretisées</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QLineEdit" name="discrete_data_suffix"/>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="extention_label">
|
||||
<property name="text">
|
||||
<string>Extensions des fichiers de sorties</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="extention"/>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="separator_label">
|
||||
<property name="text">
|
||||
<string>Separateur de colone</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLineEdit" name="separator"/>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="prettify_label">
|
||||
<property name="text">
|
||||
<string>Aligner les colones</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QCheckBox" name="prettify">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@ -34,6 +34,7 @@ class SettingManager:
|
||||
self.settings['repo'] = 'https://forgemia.inra.fr/scanner3d/analysemorphologique'
|
||||
self.settings['lastGraph'] = ["Aucun" for i in range(11)]
|
||||
self.settings['discretisation_method'] = 'Z0-Zi >= DeltaZ' # 'Z0-Zi < DeltaZ'
|
||||
self.settings['discretisation_methods'] = ['Z0-Zi >= DeltaZ', 'Z0-Zi < DeltaZ']
|
||||
self.settings['raw_data_suffix'] = '_delta_{delta_z}_analyse_brute'
|
||||
self.settings['discrete_data_suffix'] = '_delta_{delta_z}_analyse_rayon'
|
||||
self.settings['output_file_extension'] = '.txt'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user