Solvers: Add some type of solver in solver list.

mesh
Pierre-Antoine Rouby 2023-06-12 17:17:45 +02:00
parent 9cd8fadcd1
commit e6878c4735
3 changed files with 23 additions and 3 deletions

View File

@ -33,6 +33,16 @@ class AbstractSolver(object):
def __str__(self):
return f"{self._name} : {self._type} : {self._description}"
def __getitem__(self, key):
ret = None
if key == "name":
ret = self._name
elif key == "description":
ret = self._description
elif key == "type":
ret = self._type
return ret
@classmethod
def default_parameters(cls):
return []

View File

@ -1,3 +1,10 @@
# -*- coding: utf-8 -*-
solver_type_list = ["generic"]
from Solver.GenericSolver import GenericSolver
from Solver.Mage import Mage7, Mage8
solver_type_list = {
"generic": GenericSolver,
"mage7": Mage7,
"mage8": Mage8,
}

View File

@ -64,8 +64,11 @@ class ConfigureSolverWindow(ASubWindow):
"Please give a name to your solver"
)
else:
self.data = GenericSolver(self.get_line_edit_text("lineEdit_name"))
self.data.set_description(self.get_line_edit_text("lineEdit_description"))
# Build new solver from selected type
stype = self.get_combobox_text("comboBox_solver")
self.data = solver_type_list[stype](self.get_line_edit_text("lineEdit_name"))
self.data.description = self.get_line_edit_text("lineEdit_description")
self.data.set_input(
self.get_line_edit_text("lineEdit_input"),
self.get_line_edit_text("lineEdit_input_cmd")