mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
geometry, results, configure: Some fixes.
This commit is contained in:
1 parent
acfb876da0
commit
5b2ee80329
9 files changed
+86
-53
No files matched your search
@@ -22,11 +22,13 @@ from copy import deepcopy
|
||||
|
||||
from config import Config
|
||||
from View.Tools.PamhyrWindow import PamhyrDialog
|
||||
from View.Tools.PamhyrTable import PamhyrTableModel
|
||||
|
||||
from View.Stricklers.Table import TableModel
|
||||
from View.Stricklers.translate import *
|
||||
from View.Stricklers.translate import StricklersTranslate
|
||||
from View.Stricklers.UndoCommand import *
|
||||
|
||||
from View.Configure.Translate import ConfigureTranslate
|
||||
from View.Configure.Solver.Window import ConfigureSolverWindow
|
||||
|
||||
from PyQt5.QtGui import (
|
||||
@@ -47,50 +49,28 @@ from Solver.Solvers import solver_long_name
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
class SolverTableModel(QAbstractTableModel):
|
||||
def __init__(self, headers=[], rows=[]):
|
||||
super(QAbstractTableModel, self).__init__()
|
||||
self.rows = rows
|
||||
self.headers = headers
|
||||
|
||||
def rowCount(self, parent):
|
||||
return len(self.rows)
|
||||
|
||||
def columnCount(self, parent):
|
||||
return len(self.headers)
|
||||
|
||||
class SolverTableModel(PamhyrTableModel):
|
||||
def data(self, index, role):
|
||||
if role != Qt.ItemDataRole.DisplayRole:
|
||||
return QVariant()
|
||||
|
||||
ret = self.rows[index.row()][self.headers[index.column()]]
|
||||
ret = self._data[index.row()][self._headers[index.column()]]
|
||||
|
||||
if self.headers[index.column()] == "type":
|
||||
if self._headers[index.column()] == "type":
|
||||
ret = solver_long_name[ret]
|
||||
|
||||
return ret
|
||||
|
||||
def headerData(self, section, orientation, role):
|
||||
if (role == Qt.ItemDataRole.DisplayRole and
|
||||
orientation == Qt.Orientation.Horizontal):
|
||||
return self.headers[section].capitalize()
|
||||
|
||||
if (role == Qt.ItemDataRole.DisplayRole and
|
||||
orientation == Qt.Orientation.Vertical):
|
||||
return section + 1 # Start at 1
|
||||
|
||||
return QVariant()
|
||||
|
||||
def removeRow(self, index):
|
||||
del self.rows[index.row()]
|
||||
del self._data[index.row()]
|
||||
self.layoutChanged.emit()
|
||||
|
||||
def add_solver(self, solver):
|
||||
self.rows.append(solver)
|
||||
self._data.append(solver)
|
||||
self.layoutChanged.emit()
|
||||
|
||||
def change_solver(self, solver, index):
|
||||
self.rows[index.row()] = solver
|
||||
self._data[index.row()] = solver
|
||||
self.layoutChanged.emit()
|
||||
|
||||
|
||||
@@ -105,10 +85,13 @@ class ConfigureWindow(PamhyrDialog):
|
||||
super(ConfigureWindow, self).__init__(
|
||||
title = self._pamhyr_name,
|
||||
config = config,
|
||||
trad = ConfigureTranslate(),
|
||||
options = [],
|
||||
parent=parent
|
||||
)
|
||||
|
||||
self._trad_stricklers = StricklersTranslate()
|
||||
|
||||
self.setup_custom_sc()
|
||||
self.setup_solver()
|
||||
self.setup_stricklers()
|
||||
@@ -118,26 +101,21 @@ class ConfigureWindow(PamhyrDialog):
|
||||
def setup_solver(self):
|
||||
table = self.find(QTableView, "tableView_solver")
|
||||
self.solver_table_model = SolverTableModel(
|
||||
headers = ["name", "type", "description"],
|
||||
rows = self._config.solvers
|
||||
table_view = table,
|
||||
table_headers = self._trad.get_dict("table_headers"),
|
||||
data = self._config.solvers
|
||||
)
|
||||
table.setModel(self.solver_table_model)
|
||||
table.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||
table.setAlternatingRowColors(True)
|
||||
table.resizeColumnsToContents()
|
||||
|
||||
def setup_stricklers(self):
|
||||
table = self.find(QTableView, f"tableView_stricklers")
|
||||
self._stricklers = deepcopy(self._config.stricklers)
|
||||
self._stricklers_table = TableModel(
|
||||
table_view = table,
|
||||
table_headers = self._trad_stricklers.get_dict("table_headers"),
|
||||
editable_headers = ["name", "comment", "minor", "medium"],
|
||||
data = self._stricklers,
|
||||
undo = self._undo_stack,
|
||||
)
|
||||
table.setModel(self._stricklers_table)
|
||||
table.setSelectionBehavior(QAbstractItemView.SelectRows)
|
||||
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
|
||||
table.setAlternatingRowColors(True)
|
||||
|
||||
def setup_data(self):
|
||||
# Meshing_Tool
|
||||
@@ -197,7 +175,7 @@ class ConfigureWindow(PamhyrDialog):
|
||||
|
||||
def accept(self):
|
||||
# Solvers
|
||||
self._config.solvers = self.solver_table_model.rows.copy()
|
||||
self._config.solvers = self.solver_table_model._data.copy()
|
||||
|
||||
# Meshing_Tool
|
||||
self._config.meshing_tool = self.get_line_edit_text("lineEdit_meshing_tool")
|
||||
@@ -232,6 +210,7 @@ class ConfigureWindow(PamhyrDialog):
|
||||
self.close()
|
||||
|
||||
# Debug
|
||||
|
||||
def set_debug(self):
|
||||
self._config.debug = not self._config.debug
|
||||
logger.info(f"Debug mode set : {self._config.debug}")
|
||||
@@ -243,7 +222,7 @@ class ConfigureWindow(PamhyrDialog):
|
||||
indexes = self.find(QTableView, "tableView_solver").selectionModel().selectedRows()
|
||||
for index in indexes:
|
||||
self.edit_solver = ConfigureSolverWindow(
|
||||
data=self.solver_table_model.rows[index.row()],
|
||||
data=self.solver_table_model._data[index.row()],
|
||||
config=self._config,
|
||||
parent=self
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user