diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py index f598ade0785698129d46ad3701eb9c67842f116b..d00f9453e39f9c9ea587bbde53277b5f2f7af060 100644 --- a/src/Model/InitialConditions/InitialConditions.py +++ b/src/Model/InitialConditions/InitialConditions.py @@ -196,7 +196,7 @@ class InitialConditions(object): key = lambda p: p.kp ) - def generate_growing_constante_draft(self, draft:int): + def generate_growing_constante_draft(self, draft:float): self._data = [] profiles = self._reach.reach.profiles diff --git a/src/View/ASubWindow.py b/src/View/ASubWindow.py index 61a77987ef0ff4a0419e21831daf79549afbda0c..6091c6de13c081001e5dddcc103a3a53f7570fe1 100644 --- a/src/View/ASubWindow.py +++ b/src/View/ASubWindow.py @@ -388,10 +388,11 @@ class ASubMainWindow(QMainWindow, ASubWindowFeatures, WindowToolKit): ) self.name = name self.parent = parent - self.parent.sub_win_add(name, self) + if self.parent is not None: + self.parent.sub_win_add(name, self) def closeEvent(self, event): - if not self.parent is None: + if self.parent is not None: self.parent.sub_win_del(self.name) def find(self, qtype, name): @@ -418,10 +419,11 @@ class ASubWindow(QDialog, ASubWindowFeatures, WindowToolKit): ) self.name = name self.parent = parent - self.parent.sub_win_add(name, self) + if self.parent is not None: + self.parent.sub_win_add(name, self) def closeEvent(self, event): - if not self.parent is None: + if self.parent is not None: self.parent.sub_win_del(self.name) def find(self, qtype, name): diff --git a/src/View/InitialConditions/DialogDraft.py b/src/View/InitialConditions/DialogDraft.py new file mode 100644 index 0000000000000000000000000000000000000000..6e9259c493414b5700b1f105badc72a2fa7a3fac --- /dev/null +++ b/src/View/InitialConditions/DialogDraft.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- + +from View.ASubWindow import ASubWindow +from View.ListedSubWindow import ListedSubWindow + +from PyQt5.QtGui import ( + QKeySequence, +) + +from PyQt5.QtCore import ( + Qt, QVariant, QAbstractTableModel, +) + +from PyQt5.QtWidgets import ( + QDialogButtonBox, QComboBox, QUndoStack, QShortcut, + QDoubleSpinBox, +) + +class DraftDialog(ASubWindow, ListedSubWindow): + def __init__(self, title="Draft", parent=None): + super(DraftDialog, self).__init__( + name=title, ui="InitialConditions_Dialog_Generator_Draft", parent=parent + ) + + self.value = None + + def accept(self): + self.value = self.find(QDoubleSpinBox, "doubleSpinBox").value() + super().accept() + + def reject(self): + self.close() diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py index 7a8fdd022ccffdb0d26a3ba5f3deba3ca1c0e3a3..46df785d4cdfd4925ab06f0e6da82e3dc7b424f0 100644 --- a/src/View/InitialConditions/Window.py +++ b/src/View/InitialConditions/Window.py @@ -34,6 +34,7 @@ from View.Plot.MplCanvas import MplCanvas from View.InitialConditions.PlotDKP import PlotDKP from View.InitialConditions.PlotFlow import PlotFlow from View.InitialConditions.translate import * +from View.InitialConditions.DialogDraft import DraftDialog _translate = QCoreApplication.translate @@ -207,5 +208,8 @@ class InitialConditionsWindow(ASubMainWindow, ListedSubWindow): self._update_plot() def generate_growing_constante_draft(self): - self._table.generate("growing", 1) - self._update_plot() + dlg = DraftDialog(parent=self) + if dlg.exec(): + value = dlg.value + self._table.generate("growing", value) + self._update_plot() diff --git a/src/View/ui/InitialConditions_Dialog_Generator_Draft.ui b/src/View/ui/InitialConditions_Dialog_Generator_Draft.ui new file mode 100644 index 0000000000000000000000000000000000000000..d99ceaad310e509a3c995a8772946ce9046a622e --- /dev/null +++ b/src/View/ui/InitialConditions_Dialog_Generator_Draft.ui @@ -0,0 +1,81 @@ +<?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>194</width> + <height>80</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <property name="locale"> + <locale language="English" country="Europe"/> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Draft</string> + </property> + </widget> + </item> + <item> + <widget class="QDoubleSpinBox" name="doubleSpinBox"/> + </item> + </layout> + </item> + <item row="1" column="0"> + <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> + <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>