Commit df483224 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

SolverParameters: Fix translate mechanism.

/!\ (must be done for all previous window)
Showing with 47 additions and 25 deletions
+47 -25
...@@ -16,7 +16,7 @@ from PyQt5.QtWidgets import ( ...@@ -16,7 +16,7 @@ from PyQt5.QtWidgets import (
) )
from View.SolverParameters.UndoCommand import * from View.SolverParameters.UndoCommand import *
from View.SolverParameters.translate import * from View.SolverParameters import translate as tr
from Solver.Solvers import solver_long_name, solver_type_list from Solver.Solvers import solver_long_name, solver_type_list
...@@ -25,7 +25,7 @@ _translate = QCoreApplication.translate ...@@ -25,7 +25,7 @@ _translate = QCoreApplication.translate
class TableModel(QAbstractTableModel): class TableModel(QAbstractTableModel):
def __init__(self, data=None, undo=None, tab=""): def __init__(self, data=None, undo=None, tab=""):
super(QAbstractTableModel, self).__init__() super(QAbstractTableModel, self).__init__()
self._headers = list(table_headers.keys()) self._headers = list(tr.table_headers.keys())
self._data = data self._data = data
self._undo = undo self._undo = undo
self._tab = tab self._tab = tab
...@@ -57,17 +57,20 @@ class TableModel(QAbstractTableModel): ...@@ -57,17 +57,20 @@ class TableModel(QAbstractTableModel):
if cname == "name": if cname == "name":
value = self._params.get(row)[cname] value = self._params.get(row)[cname]
if value in names: if value in tr.names:
value = names[value] value = tr.names[value]
return value return value
elif cname == "value": elif cname == "value":
return self._params.get(row)[cname] value = self._params.get(row)[cname]
if value in tr.yes_no:
value = tr.yes_no[value]
return value
return QVariant() return QVariant()
def headerData(self, section, orientation, role): def headerData(self, section, orientation, role):
if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal: if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal:
return table_headers[self._headers[section]] return tr.table_headers[self._headers[section]]
return QVariant() return QVariant()
...@@ -79,6 +82,9 @@ class TableModel(QAbstractTableModel): ...@@ -79,6 +82,9 @@ class TableModel(QAbstractTableModel):
column = index.column() column = index.column()
if self._headers[column] == "value": if self._headers[column] == "value":
if value in tr.r_yes_no:
value = tr.r_yes_no[value].lower()
self._undo.push( self._undo.push(
SetCommand( SetCommand(
self._params, row, self._params, row,
......
...@@ -23,4 +23,5 @@ class SetCommand(QUndoCommand): ...@@ -23,4 +23,5 @@ class SetCommand(QUndoCommand):
self._data.get(self._index)[self._column] = self._old self._data.get(self._index)[self._column] = self._old
def redo(self): def redo(self):
print(self._new)
self._data.get(self._index)[self._column] = self._new self._data.get(self._index)[self._column] = self._new
...@@ -25,7 +25,7 @@ from PyQt5.QtWidgets import ( ...@@ -25,7 +25,7 @@ from PyQt5.QtWidgets import (
from View.SolverParameters.UndoCommand import * from View.SolverParameters.UndoCommand import *
from View.SolverParameters.Table import TableModel from View.SolverParameters.Table import TableModel
from View.SolverParameters.translate import * from View.SolverParameters import translate as tr
from Solver.Solvers import solver_long_name, solver_type_list from Solver.Solvers import solver_long_name, solver_type_list
...@@ -34,6 +34,8 @@ _translate = QCoreApplication.translate ...@@ -34,6 +34,8 @@ _translate = QCoreApplication.translate
class SolverParametersWindow(ASubMainWindow, ListedSubWindow): class SolverParametersWindow(ASubMainWindow, ListedSubWindow):
def __init__(self, title="Solver parameters", study=None, parent=None): def __init__(self, title="Solver parameters", study=None, parent=None):
tr.init()
title = title + " - " + study.name title = title + " - " + study.name
super(SolverParametersWindow, self).__init__( super(SolverParametersWindow, self).__init__(
......
...@@ -4,24 +4,37 @@ from PyQt5.QtCore import QCoreApplication ...@@ -4,24 +4,37 @@ from PyQt5.QtCore import QCoreApplication
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
table_headers = { table_headers = None
"name": _translate("LateralContribution", "Name"), yes_no = None
"value": _translate("LateralContribution", "Value") r_yes_no = None
} names = None
def init():
global table_headers
table_headers = {
"name": _translate("LateralContribution", "Name"),
"value": _translate("LateralContribution", "Value")
}
# Used to translate user parameter with value yes or no
global yes_no
yes_no = {
"yes": _translate("SolverParameters", "Yes"),
"no": _translate("SolverParameters", "No"),
"y": _translate("SolverParameters", "Y"),
"n": _translate("SolverParameters", "N"),
}
# Used to translate user parameter with value yes or no
yes_no = {
"yes": _translate("SolverParameters", "Yes"),
"no": _translate("SolverParameters", "No"),
"y": _translate("SolverParameters", "Y"),
"n": _translate("SolverParameters", "N"),
# Reverse # Reverse
_translate("SolverParameters", "Yes"): "Yes", global r_yes_no
_translate("SolverParameters", "No"): "No", r_yes_no = {
_translate("SolverParameters", "Y"): "y", _translate("SolverParameters", "Yes"): "yes",
_translate("SolverParameters", "N"): "n", _translate("SolverParameters", "No"): "no",
} _translate("SolverParameters", "Y"): "y",
_translate("SolverParameters", "N"): "n",
}
names = { global names
"mage_time_step": _translate("SolverParameters", "Time step in second") names = {
} "mage_time_step": _translate("SolverParameters", "Time step in second")
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment