diff --git a/BEdit/AGENTS.md b/BEdit/AGENTS.md
index 4cc2184..bfafd37 100644
--- a/BEdit/AGENTS.md
+++ b/BEdit/AGENTS.md
@@ -113,6 +113,9 @@ Keep the root of `src/bedit` minimal. New UI modules should go into the relevant
`source.initialEquations` and `source.equations`, with the same highlighting
and completion in all three fields. The composer emits each in its matching
Modelica section.
+- The text-definition view embeds the same `PortEditor` and `ParameterEditor`
+ implementations used by the standalone options dialogs. Do not reintroduce
+ separate port/parameter tables in the text editor.
- Application-wide messages use `core.application_log.get_logger()`. The main
window installs the Qt log-panel handler; core code must only use standard
Python logging and must not import the GUI handler.
diff --git a/BEdit/src/bedit/gui/dialogs/parameter_options.py b/BEdit/src/bedit/gui/dialogs/parameter_options.py
index 8923d55..d4ae4cd 100644
--- a/BEdit/src/bedit/gui/dialogs/parameter_options.py
+++ b/BEdit/src/bedit/gui/dialogs/parameter_options.py
@@ -1,7 +1,7 @@
from copy import deepcopy
from uuid import uuid4
-from PySide6.QtCore import Qt
+from PySide6.QtCore import Qt, Signal
from PySide6.QtWidgets import QDialog, QListWidgetItem, QMessageBox
from bedit.core.model import Component, Parameter
@@ -15,6 +15,8 @@ PARAMETER_ROLE = Qt.ItemDataRole.UserRole
class ParameterOptionsDialog(QDialog):
"""Editor for parameters shared by graph and text components."""
+ edited = Signal()
+
def __init__(self, component: Component, parent=None, *, read_only: bool = False) -> None:
super().__init__(parent)
self.ui = Ui_ParameterOptionsDialog()
@@ -109,6 +111,13 @@ class ParameterOptionsDialog(QDialog):
self.ui.parameterList.item(row).setText(
f"{parameter.name} [{parameter.type}] = {parameter.value}"
)
+ self.edited.emit()
+
+ def set_parameters(self, parameters: list[Parameter]) -> None:
+ self._loading = True
+ self.parameters = deepcopy(parameters)
+ self._loading = False
+ self._rebuild_list(0 if self.parameters else -1)
def add_parameter(self) -> None:
self.parameters.append(
@@ -120,12 +129,14 @@ class ParameterOptionsDialog(QDialog):
self._rebuild_list(len(self.parameters) - 1)
self.ui.nameEdit.selectAll()
self.ui.nameEdit.setFocus()
+ self.edited.emit()
def remove_parameter(self) -> None:
row = self.ui.parameterList.currentRow()
if row >= 0:
self.parameters.pop(row)
self._rebuild_list(min(row, len(self.parameters) - 1))
+ self.edited.emit()
def accept(self) -> None:
self._store_current()
@@ -137,3 +148,12 @@ class ParameterOptionsDialog(QDialog):
QMessageBox.warning(self, "Invalid parameter", "Parameter names must be unique.")
return
super().accept()
+
+
+class ParameterEditor(ParameterOptionsDialog):
+ """The parameter options editor embedded without dialog buttons."""
+
+ def __init__(self, parent=None) -> None:
+ super().__init__(Component(id="embedded-parameter-editor", name="Parameters"), parent)
+ self.setWindowFlags(Qt.WindowType.Widget)
+ self.ui.buttonBox.hide()
diff --git a/BEdit/src/bedit/gui/dialogs/port_options.py b/BEdit/src/bedit/gui/dialogs/port_options.py
index b256b61..c89d7a9 100644
--- a/BEdit/src/bedit/gui/dialogs/port_options.py
+++ b/BEdit/src/bedit/gui/dialogs/port_options.py
@@ -1,7 +1,7 @@
from copy import deepcopy
from uuid import uuid4
-from PySide6.QtCore import Qt
+from PySide6.QtCore import Qt, Signal
from PySide6.QtWidgets import QDialog, QDialogButtonBox, QListWidgetItem, QMessageBox
from bedit.core.model import Component, Port
@@ -16,6 +16,8 @@ PORT_ROLE = Qt.ItemDataRole.UserRole
class PortOptionsDialog(QDialog):
"""Unified editor for a component's typed, oriented ports."""
+ edited = Signal()
+
def __init__(self, component: Component, parent=None, *, read_only: bool = False) -> None:
super().__init__(parent)
self.ui = Ui_PortOptionsDialog()
@@ -139,6 +141,16 @@ class PortOptionsDialog(QDialog):
self.ui.portList.item(row).setText(
f"{port.name} [{self.ports[row][1]}, {port.type}]"
)
+ self.edited.emit()
+
+ def set_ports(self, inputs: list[Port], outputs: list[Port]) -> None:
+ self._loading = True
+ self.ports = [
+ *((deepcopy(port), "input") for port in inputs),
+ *((deepcopy(port), "output") for port in outputs),
+ ]
+ self._loading = False
+ self._rebuild_list(0 if self.ports else -1)
def add_port(self) -> None:
port = Port(
@@ -151,12 +163,14 @@ class PortOptionsDialog(QDialog):
self._rebuild_list(len(self.ports) - 1)
self.ui.nameEdit.selectAll()
self.ui.nameEdit.setFocus()
+ self.edited.emit()
def remove_port(self) -> None:
row = self.ui.portList.currentRow()
if row >= 0:
self.ports.pop(row)
self._rebuild_list(min(row, len(self.ports) - 1))
+ self.edited.emit()
def accept(self) -> None:
self._store_current()
@@ -164,3 +178,12 @@ class PortOptionsDialog(QDialog):
QMessageBox.warning(self, "Invalid port", "Every port must have a name.")
return
super().accept()
+
+
+class PortEditor(PortOptionsDialog):
+ """The port options editor embedded without dialog confirmation buttons."""
+
+ def __init__(self, parent=None) -> None:
+ super().__init__(Component(id="embedded-port-editor", name="Ports"), parent)
+ self.setWindowFlags(Qt.WindowType.Widget)
+ self.ui.buttonBox.hide()
diff --git a/BEdit/src/bedit/gui/editors/text_definition.py b/BEdit/src/bedit/gui/editors/text_definition.py
index b7dc884..c165b6c 100644
--- a/BEdit/src/bedit/gui/editors/text_definition.py
+++ b/BEdit/src/bedit/gui/editors/text_definition.py
@@ -1,18 +1,10 @@
-from copy import deepcopy
-from uuid import uuid4
-
-from PySide6.QtCore import Qt, Signal
-from PySide6.QtWidgets import QCheckBox, QComboBox, QHeaderView, QTableWidgetItem, QWidget
+from PySide6.QtCore import Signal
+from PySide6.QtWidgets import QWidget
from bedit.core.model import Parameter, Port
-from bedit.core.port_types import PortTypeRegistry
from bedit.gui.generated.ui_text_definition_editor import Ui_TextDefinitionEditor
-ID_ROLE = Qt.ItemDataRole.UserRole
-PROPERTIES_ROLE = Qt.ItemDataRole.UserRole + 1
-
-
class TextDefinitionEditor(QWidget):
"""Editor for a text component's Modelica source, ports, and parameters."""
@@ -25,27 +17,14 @@ class TextDefinitionEditor(QWidget):
self.ui.setupUi(self)
self._modified = False
self._loading = False
- self.ui.portsTable.horizontalHeader().setSectionResizeMode(
- QHeaderView.ResizeMode.Interactive
- )
- self.ui.parametersTable.horizontalHeader().setSectionResizeMode(
- QHeaderView.ResizeMode.Interactive
- )
self.ui.columnSplitter.setSizes([560, 340])
self.ui.sourceSplitter.setSizes([180, 180, 240])
self.ui.definitionSplitter.setSizes([300, 300])
self.ui.declarationsEdit.textChanged.connect(self._mark_modified)
self.ui.initialEquationsEdit.textChanged.connect(self._mark_modified)
self.ui.equationsEdit.textChanged.connect(self._mark_modified)
- self.ui.portsTable.cellChanged.connect(self._symbols_modified)
- self.ui.parametersTable.cellChanged.connect(self._symbols_modified)
- self.ui.addPortButton.clicked.connect(self.add_port)
- self.ui.removePortButton.clicked.connect(self.remove_port)
- self.ui.addParameterButton.clicked.connect(self.add_parameter)
- self.ui.removeParameterButton.clicked.connect(self.remove_parameter)
- self.ui.portsTable.itemSelectionChanged.connect(self._update_buttons)
- self.ui.parametersTable.itemSelectionChanged.connect(self._update_buttons)
- self._update_buttons()
+ self.ui.portEditor.edited.connect(self._symbols_modified)
+ self.ui.parameterEditor.edited.connect(self._symbols_modified)
@property
def is_modified(self) -> bool:
@@ -65,47 +44,11 @@ class TextDefinitionEditor(QWidget):
@property
def ports(self) -> tuple[list[Port], list[Port]]:
- inputs: list[Port] = []
- outputs: list[Port] = []
- for row in range(self.ui.portsTable.rowCount()):
- name_item = self.ui.portsTable.item(row, 0)
- type_combo = self.ui.portsTable.cellWidget(row, 1)
- orientation_combo = self.ui.portsTable.cellWidget(row, 2)
- multiple_check = self.ui.portsTable.cellWidget(row, 3)
- port = Port(
- id=name_item.data(ID_ROLE),
- name=name_item.text().strip(),
- type=type_combo.currentData(),
- properties=deepcopy(name_item.data(PROPERTIES_ROLE) or {}),
- allows_multiple_connections=multiple_check.isChecked(),
- value_type=self.ui.portsTable.item(row, 4).text().strip() or "real",
- quantity=self.ui.portsTable.item(row, 5).text().strip(),
- unit=self.ui.portsTable.item(row, 6).text().strip(),
- rows=int(self.ui.portsTable.item(row, 7).text()),
- columns=int(self.ui.portsTable.item(row, 8).text()),
- description=self.ui.portsTable.item(row, 9).text(),
- )
- target = inputs if orientation_combo.currentData() == "input" else outputs
- target.append(port)
- return inputs, outputs
+ return self.ui.portEditor.inputs, self.ui.portEditor.outputs
@property
def parameters(self) -> list[Parameter]:
- table = self.ui.parametersTable
- return [
- Parameter(
- id=table.item(row, 0).data(ID_ROLE),
- name=table.item(row, 0).text().strip(),
- type=table.item(row, 1).text().strip(),
- value=table.item(row, 2).text(),
- quantity=table.item(row, 3).text().strip(),
- unit=table.item(row, 4).text().strip(),
- rows=int(table.item(row, 5).text()),
- columns=int(table.item(row, 6).text()),
- description=table.item(row, 7).text(),
- )
- for row in range(table.rowCount())
- ]
+ return self.ui.parameterEditor.parameters
def set_definition(
self,
@@ -120,18 +63,11 @@ class TextDefinitionEditor(QWidget):
self.ui.declarationsEdit.setPlainText(declarations)
self.ui.initialEquationsEdit.setPlainText(initial_equations)
self.ui.equationsEdit.setPlainText(equations)
- self.ui.portsTable.setRowCount(0)
- for port in inputs:
- self._append_port(port, "input")
- for port in outputs:
- self._append_port(port, "output")
- self.ui.parametersTable.setRowCount(0)
- for parameter in parameters:
- self._append_parameter(parameter)
+ self.ui.portEditor.set_ports(inputs, outputs)
+ self.ui.parameterEditor.set_parameters(parameters)
self._set_editor_symbols(inputs, outputs, parameters)
self._loading = False
self.set_modified(False)
- self._update_buttons()
def set_modified(self, modified: bool) -> None:
if self._modified != modified:
@@ -149,17 +85,8 @@ class TextDefinitionEditor(QWidget):
self._mark_modified()
def _refresh_editor_symbols(self) -> None:
- inputs: list[str] = []
- outputs: list[str] = []
- for row in range(self.ui.portsTable.rowCount()):
- name_item = self.ui.portsTable.item(row, 0)
- orientation = self.ui.portsTable.cellWidget(row, 2).currentData()
- (inputs if orientation == "input" else outputs).append(name_item.text())
- parameters = [
- self.ui.parametersTable.item(row, 0).text()
- for row in range(self.ui.parametersTable.rowCount())
- ]
- self._apply_editor_symbols(inputs, outputs, parameters)
+ inputs, outputs = self.ports
+ self._set_editor_symbols(inputs, outputs, self.parameters)
def _set_editor_symbols(
self,
@@ -180,96 +107,3 @@ class TextDefinitionEditor(QWidget):
self.ui.declarationsEdit.set_symbols(*symbols)
self.ui.initialEquationsEdit.set_symbols(*symbols)
self.ui.equationsEdit.set_symbols(*symbols)
-
- def _new_combo(self, values: list[tuple[str, str]], current: str) -> QComboBox:
- combo = QComboBox(self)
- for label, value in values:
- combo.addItem(label, value)
- combo.setCurrentIndex(max(0, combo.findData(current)))
- combo.currentIndexChanged.connect(self._symbols_modified)
- return combo
-
- def _append_port(self, port: Port, orientation: str) -> None:
- table = self.ui.portsTable
- row = table.rowCount()
- table.insertRow(row)
- name = QTableWidgetItem(port.name)
- name.setData(ID_ROLE, port.id)
- name.setData(PROPERTIES_ROLE, deepcopy(port.properties))
- table.setItem(row, 0, name)
- types = [(item.display_name, item.id) for item in PortTypeRegistry.all()]
- table.setCellWidget(row, 1, self._new_combo(types, port.type))
- table.setCellWidget(
- row,
- 2,
- self._new_combo([("Input", "input"), ("Output", "output")], orientation),
- )
- multiple = QCheckBox("Any", self)
- multiple.setChecked(port.allows_multiple_connections)
- multiple.toggled.connect(self._symbols_modified)
- table.setCellWidget(row, 3, multiple)
- table.setItem(row, 4, QTableWidgetItem(port.value_type))
- table.setItem(row, 5, QTableWidgetItem(port.quantity))
- table.setItem(row, 6, QTableWidgetItem(port.unit))
- table.setItem(row, 7, QTableWidgetItem(str(port.rows)))
- table.setItem(row, 8, QTableWidgetItem(str(port.columns)))
- table.setItem(row, 9, QTableWidgetItem(port.description))
-
- def _append_parameter(self, parameter: Parameter) -> None:
- table = self.ui.parametersTable
- row = table.rowCount()
- table.insertRow(row)
- name = QTableWidgetItem(parameter.name)
- name.setData(ID_ROLE, parameter.id)
- table.setItem(row, 0, name)
- table.setItem(row, 1, QTableWidgetItem(parameter.type))
- table.setItem(row, 2, QTableWidgetItem(parameter.value))
- table.setItem(row, 3, QTableWidgetItem(parameter.quantity))
- table.setItem(row, 4, QTableWidgetItem(parameter.unit))
- table.setItem(row, 5, QTableWidgetItem(str(parameter.rows)))
- table.setItem(row, 6, QTableWidgetItem(str(parameter.columns)))
- table.setItem(row, 7, QTableWidgetItem(parameter.description))
-
- def add_port(self) -> None:
- port = Port(
- id=f"port-{uuid4().hex[:8]}",
- name=f"Port {self.ui.portsTable.rowCount() + 1}",
- type="signal",
- properties={"iconPosition": {"x": 0.0, "y": 0.0}},
- )
- self._loading = True
- self._append_port(port, "input")
- self._loading = False
- self.ui.portsTable.selectRow(self.ui.portsTable.rowCount() - 1)
- self._symbols_modified()
-
- def remove_port(self) -> None:
- row = self.ui.portsTable.currentRow()
- if row >= 0:
- self.ui.portsTable.removeRow(row)
- self._symbols_modified()
- self._update_buttons()
-
- def add_parameter(self) -> None:
- parameter = Parameter(
- id=f"parameter-{uuid4().hex[:8]}",
- name=f"Parameter {self.ui.parametersTable.rowCount() + 1}",
- )
- self._loading = True
- self._append_parameter(parameter)
- self._loading = False
- self.ui.parametersTable.selectRow(self.ui.parametersTable.rowCount() - 1)
- self._symbols_modified()
-
- def remove_parameter(self) -> None:
- row = self.ui.parametersTable.currentRow()
- if row >= 0:
- self.ui.parametersTable.removeRow(row)
- self._symbols_modified()
- self._update_buttons()
-
- def _update_buttons(self) -> None:
- self.ui.removePortButton.setEnabled(self.ui.portsTable.currentRow() >= 0)
- self.ui.removeParameterButton.setEnabled(
- self.ui.parametersTable.currentRow() >= 0
- )
diff --git a/BEdit/src/bedit/gui/generated/ui_text_definition_editor.py b/BEdit/src/bedit/gui/generated/ui_text_definition_editor.py
index 455f10c..0016fc2 100644
--- a/BEdit/src/bedit/gui/generated/ui_text_definition_editor.py
+++ b/BEdit/src/bedit/gui/generated/ui_text_definition_editor.py
@@ -15,11 +15,11 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
-from PySide6.QtWidgets import (QAbstractItemView, QApplication, QGroupBox, QHBoxLayout,
- QHeaderView, QPushButton, QSizePolicy, QSpacerItem,
- QSplitter, QTableWidget, QTableWidgetItem, QVBoxLayout,
- QWidget)
+from PySide6.QtWidgets import (QApplication, QGroupBox, QHBoxLayout, QSizePolicy,
+ QSplitter, QVBoxLayout, QWidget)
+from bedit.gui.dialogs.parameter_options import ParameterEditor
+from bedit.gui.dialogs.port_options import PortEditor
from bedit.gui.editors.openmodelica import OpenModelicaEditor
class Ui_TextDefinitionEditor(object):
@@ -77,104 +77,20 @@ class Ui_TextDefinitionEditor(object):
self.portsGroup.setObjectName(u"portsGroup")
self.portsLayout = QVBoxLayout(self.portsGroup)
self.portsLayout.setObjectName(u"portsLayout")
- self.portsTable = QTableWidget(self.portsGroup)
- if (self.portsTable.columnCount() < 10):
- self.portsTable.setColumnCount(10)
- __qtablewidgetitem = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(0, __qtablewidgetitem)
- __qtablewidgetitem1 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(1, __qtablewidgetitem1)
- __qtablewidgetitem2 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(2, __qtablewidgetitem2)
- __qtablewidgetitem3 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(3, __qtablewidgetitem3)
- __qtablewidgetitem4 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(4, __qtablewidgetitem4)
- __qtablewidgetitem5 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(5, __qtablewidgetitem5)
- __qtablewidgetitem6 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(6, __qtablewidgetitem6)
- __qtablewidgetitem7 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(7, __qtablewidgetitem7)
- __qtablewidgetitem8 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(8, __qtablewidgetitem8)
- __qtablewidgetitem9 = QTableWidgetItem()
- self.portsTable.setHorizontalHeaderItem(9, __qtablewidgetitem9)
- self.portsTable.setObjectName(u"portsTable")
- self.portsTable.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
- self.portsTable.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
- self.portsTable.setColumnCount(10)
+ self.portEditor = PortEditor(self.portsGroup)
+ self.portEditor.setObjectName(u"portEditor")
- self.portsLayout.addWidget(self.portsTable)
-
- self.portButtonsLayout = QHBoxLayout()
- self.portButtonsLayout.setObjectName(u"portButtonsLayout")
- self.addPortButton = QPushButton(self.portsGroup)
- self.addPortButton.setObjectName(u"addPortButton")
-
- self.portButtonsLayout.addWidget(self.addPortButton)
-
- self.removePortButton = QPushButton(self.portsGroup)
- self.removePortButton.setObjectName(u"removePortButton")
-
- self.portButtonsLayout.addWidget(self.removePortButton)
-
- self.portButtonSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
-
- self.portButtonsLayout.addItem(self.portButtonSpacer)
-
-
- self.portsLayout.addLayout(self.portButtonsLayout)
+ self.portsLayout.addWidget(self.portEditor)
self.definitionSplitter.addWidget(self.portsGroup)
self.parametersGroup = QGroupBox(self.definitionSplitter)
self.parametersGroup.setObjectName(u"parametersGroup")
self.parametersLayout = QVBoxLayout(self.parametersGroup)
self.parametersLayout.setObjectName(u"parametersLayout")
- self.parametersTable = QTableWidget(self.parametersGroup)
- if (self.parametersTable.columnCount() < 8):
- self.parametersTable.setColumnCount(8)
- __qtablewidgetitem10 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(0, __qtablewidgetitem10)
- __qtablewidgetitem11 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(1, __qtablewidgetitem11)
- __qtablewidgetitem12 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(2, __qtablewidgetitem12)
- __qtablewidgetitem13 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(3, __qtablewidgetitem13)
- __qtablewidgetitem14 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(4, __qtablewidgetitem14)
- __qtablewidgetitem15 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(5, __qtablewidgetitem15)
- __qtablewidgetitem16 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(6, __qtablewidgetitem16)
- __qtablewidgetitem17 = QTableWidgetItem()
- self.parametersTable.setHorizontalHeaderItem(7, __qtablewidgetitem17)
- self.parametersTable.setObjectName(u"parametersTable")
- self.parametersTable.setSelectionBehavior(QAbstractItemView.SelectionBehavior.SelectRows)
- self.parametersTable.setSelectionMode(QAbstractItemView.SelectionMode.SingleSelection)
- self.parametersTable.setColumnCount(8)
+ self.parameterEditor = ParameterEditor(self.parametersGroup)
+ self.parameterEditor.setObjectName(u"parameterEditor")
- self.parametersLayout.addWidget(self.parametersTable)
-
- self.parameterButtonsLayout = QHBoxLayout()
- self.parameterButtonsLayout.setObjectName(u"parameterButtonsLayout")
- self.addParameterButton = QPushButton(self.parametersGroup)
- self.addParameterButton.setObjectName(u"addParameterButton")
-
- self.parameterButtonsLayout.addWidget(self.addParameterButton)
-
- self.removeParameterButton = QPushButton(self.parametersGroup)
- self.removeParameterButton.setObjectName(u"removeParameterButton")
-
- self.parameterButtonsLayout.addWidget(self.removeParameterButton)
-
- self.parameterButtonSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
-
- self.parameterButtonsLayout.addItem(self.parameterButtonSpacer)
-
-
- self.parametersLayout.addLayout(self.parameterButtonsLayout)
+ self.parametersLayout.addWidget(self.parameterEditor)
self.definitionSplitter.addWidget(self.parametersGroup)
self.columnSplitter.addWidget(self.definitionSplitter)
@@ -192,47 +108,7 @@ class Ui_TextDefinitionEditor(object):
self.initialEquationsGroup.setTitle(QCoreApplication.translate("TextDefinitionEditor", u"Initial Equations", None))
self.equationsGroup.setTitle(QCoreApplication.translate("TextDefinitionEditor", u"Equations", None))
self.portsGroup.setTitle(QCoreApplication.translate("TextDefinitionEditor", u"Ports", None))
- ___qtablewidgetitem = self.portsTable.horizontalHeaderItem(0)
- ___qtablewidgetitem.setText(QCoreApplication.translate("TextDefinitionEditor", u"Name", None))
- ___qtablewidgetitem1 = self.portsTable.horizontalHeaderItem(1)
- ___qtablewidgetitem1.setText(QCoreApplication.translate("TextDefinitionEditor", u"Port Type", None))
- ___qtablewidgetitem2 = self.portsTable.horizontalHeaderItem(2)
- ___qtablewidgetitem2.setText(QCoreApplication.translate("TextDefinitionEditor", u"Orientation", None))
- ___qtablewidgetitem3 = self.portsTable.horizontalHeaderItem(3)
- ___qtablewidgetitem3.setText(QCoreApplication.translate("TextDefinitionEditor", u"Multiple", None))
- ___qtablewidgetitem4 = self.portsTable.horizontalHeaderItem(4)
- ___qtablewidgetitem4.setText(QCoreApplication.translate("TextDefinitionEditor", u"Value Type", None))
- ___qtablewidgetitem5 = self.portsTable.horizontalHeaderItem(5)
- ___qtablewidgetitem5.setText(QCoreApplication.translate("TextDefinitionEditor", u"Quantity", None))
- ___qtablewidgetitem6 = self.portsTable.horizontalHeaderItem(6)
- ___qtablewidgetitem6.setText(QCoreApplication.translate("TextDefinitionEditor", u"Unit", None))
- ___qtablewidgetitem7 = self.portsTable.horizontalHeaderItem(7)
- ___qtablewidgetitem7.setText(QCoreApplication.translate("TextDefinitionEditor", u"Rows", None))
- ___qtablewidgetitem8 = self.portsTable.horizontalHeaderItem(8)
- ___qtablewidgetitem8.setText(QCoreApplication.translate("TextDefinitionEditor", u"Columns", None))
- ___qtablewidgetitem9 = self.portsTable.horizontalHeaderItem(9)
- ___qtablewidgetitem9.setText(QCoreApplication.translate("TextDefinitionEditor", u"Description", None))
- self.addPortButton.setText(QCoreApplication.translate("TextDefinitionEditor", u"Add Port", None))
- self.removePortButton.setText(QCoreApplication.translate("TextDefinitionEditor", u"Remove Port", None))
self.parametersGroup.setTitle(QCoreApplication.translate("TextDefinitionEditor", u"Parameters", None))
- ___qtablewidgetitem10 = self.parametersTable.horizontalHeaderItem(0)
- ___qtablewidgetitem10.setText(QCoreApplication.translate("TextDefinitionEditor", u"Name", None))
- ___qtablewidgetitem11 = self.parametersTable.horizontalHeaderItem(1)
- ___qtablewidgetitem11.setText(QCoreApplication.translate("TextDefinitionEditor", u"Type", None))
- ___qtablewidgetitem12 = self.parametersTable.horizontalHeaderItem(2)
- ___qtablewidgetitem12.setText(QCoreApplication.translate("TextDefinitionEditor", u"Value", None))
- ___qtablewidgetitem13 = self.parametersTable.horizontalHeaderItem(3)
- ___qtablewidgetitem13.setText(QCoreApplication.translate("TextDefinitionEditor", u"Quantity", None))
- ___qtablewidgetitem14 = self.parametersTable.horizontalHeaderItem(4)
- ___qtablewidgetitem14.setText(QCoreApplication.translate("TextDefinitionEditor", u"Unit", None))
- ___qtablewidgetitem15 = self.parametersTable.horizontalHeaderItem(5)
- ___qtablewidgetitem15.setText(QCoreApplication.translate("TextDefinitionEditor", u"Rows", None))
- ___qtablewidgetitem16 = self.parametersTable.horizontalHeaderItem(6)
- ___qtablewidgetitem16.setText(QCoreApplication.translate("TextDefinitionEditor", u"Columns", None))
- ___qtablewidgetitem17 = self.parametersTable.horizontalHeaderItem(7)
- ___qtablewidgetitem17.setText(QCoreApplication.translate("TextDefinitionEditor", u"Description", None))
- self.addParameterButton.setText(QCoreApplication.translate("TextDefinitionEditor", u"Add Parameter", None))
- self.removeParameterButton.setText(QCoreApplication.translate("TextDefinitionEditor", u"Remove Parameter", None))
pass
# retranslateUi
diff --git a/BEdit/ui/text_definition_editor.ui b/BEdit/ui/text_definition_editor.ui
index 9c2483e..9d3a5b2 100644
--- a/BEdit/ui/text_definition_editor.ui
+++ b/BEdit/ui/text_definition_editor.ui
@@ -40,15 +40,13 @@
Ports
- - QAbstractItemView::SelectionBehavior::SelectRowsQAbstractItemView::SelectionMode::SingleSelection10NamePort TypeOrientationMultipleValue TypeQuantityUnitRowsColumnsDescription
- - Add Port
- Remove Port
- Qt::Orientation::Horizontal4020
+
Parameters
- - QAbstractItemView::SelectionBehavior::SelectRowsQAbstractItemView::SelectionMode::SingleSelection8NameTypeValueQuantityUnitRowsColumnsDescription
- - Add Parameter
- Remove Parameter
- Qt::Orientation::Horizontal4020
+
@@ -62,6 +60,8 @@
QPlainTextEdit
bedit.gui.editors.openmodelica
+ PortEditorQWidgetbedit.gui.dialogs.port_options
+ ParameterEditorQWidgetbedit.gui.dialogs.parameter_options