new text mode editor

This commit is contained in:
2026-07-20 14:24:47 +02:00
parent bf2512995f
commit a067c85994
14 changed files with 685 additions and 392 deletions

View File

@@ -264,16 +264,6 @@
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="applyJsonButton">
<property name="visible">
<bool>false</bool>
</property>
<property name="text">
<string>Apply JSON</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="pointerToolButton">
<property name="text">
@@ -397,8 +387,8 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="jsonPage">
<layout class="QVBoxLayout" name="jsonPageLayout">
<widget class="QWidget" name="textPage">
<layout class="QVBoxLayout" name="textPageLayout">
<property name="leftMargin">
<number>0</number>
</property>
@@ -412,14 +402,7 @@
<number>0</number>
</property>
<item>
<widget class="QPlainTextEdit" name="jsonEditor">
<property name="lineWrapMode">
<enum>QPlainTextEdit::LineWrapMode::NoWrap</enum>
</property>
<property name="placeholderText">
<string>Component JSON</string>
</property>
</widget>
<widget class="TextDefinitionEditor" name="textDefinitionEditor" native="true"/>
</item>
</layout>
</widget>
@@ -466,6 +449,7 @@
</property>
<addaction name="actionNew"/>
<addaction name="actionOpen"/>
<addaction name="actionReloadLibraries"/>
<addaction name="separator"/>
<addaction name="actionSave"/>
<addaction name="actionSaveAs"/>
@@ -667,6 +651,17 @@
<string>Ctrl+O</string>
</property>
</action>
<action name="actionReloadLibraries">
<property name="text">
<string>Reload &amp;Libraries</string>
</property>
<property name="statusTip">
<string>Reload configured library files from disk</string>
</property>
<property name="shortcut">
<string>F5</string>
</property>
</action>
<action name="actionSave">
<property name="icon">
<iconset resource="../resources/resources.qrc">
@@ -806,6 +801,12 @@
</action>
</widget>
<customwidgets>
<customwidget>
<class>TextDefinitionEditor</class>
<extends>QWidget</extends>
<header>bedit.gui.editors.text_definition</header>
<container>1</container>
</customwidget>
<customwidget>
<class>GraphWorkspaceView</class>
<extends>QGraphicsView</extends>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TextDefinitionEditor</class>
<widget class="QWidget" name="TextDefinitionEditor">
<property name="geometry"><rect><x>0</x><y>0</y><width>900</width><height>600</height></rect></property>
<layout class="QHBoxLayout" name="editorLayout">
<property name="leftMargin"><number>6</number></property>
<property name="topMargin"><number>6</number></property>
<property name="rightMargin"><number>6</number></property>
<property name="bottomMargin"><number>6</number></property>
<item>
<widget class="QSplitter" name="columnSplitter">
<property name="orientation"><enum>Qt::Orientation::Horizontal</enum></property>
<property name="childrenCollapsible"><bool>false</bool></property>
<widget class="QGroupBox" name="equationsGroup">
<property name="title"><string>Equations</string></property>
<layout class="QVBoxLayout" name="equationsLayout">
<item><widget class="QPlainTextEdit" name="equationsEdit"><property name="lineWrapMode"><enum>QPlainTextEdit::LineWrapMode::NoWrap</enum></property><property name="placeholderText"><string>Enter equations here…</string></property></widget></item>
</layout>
</widget>
<widget class="QSplitter" name="definitionSplitter">
<property name="orientation"><enum>Qt::Orientation::Vertical</enum></property>
<property name="childrenCollapsible"><bool>false</bool></property>
<widget class="QGroupBox" name="portsGroup">
<property name="title"><string>Ports</string></property>
<layout class="QVBoxLayout" name="portsLayout">
<item><widget class="QTableWidget" name="portsTable"><property name="selectionBehavior"><enum>QAbstractItemView::SelectionBehavior::SelectRows</enum></property><property name="selectionMode"><enum>QAbstractItemView::SelectionMode::SingleSelection</enum></property><property name="columnCount"><number>3</number></property><column><property name="text"><string>Name</string></property></column><column><property name="text"><string>Type</string></property></column><column><property name="text"><string>Orientation</string></property></column></widget></item>
<item><layout class="QHBoxLayout" name="portButtonsLayout"><item><widget class="QPushButton" name="addPortButton"><property name="text"><string>Add Port</string></property></widget></item><item><widget class="QPushButton" name="removePortButton"><property name="text"><string>Remove Port</string></property></widget></item><item><spacer name="portButtonSpacer"><property name="orientation"><enum>Qt::Orientation::Horizontal</enum></property><property name="sizeHint" stdset="0"><size><width>40</width><height>20</height></size></property></spacer></item></layout></item>
</layout>
</widget>
<widget class="QGroupBox" name="parametersGroup">
<property name="title"><string>Parameters</string></property>
<layout class="QVBoxLayout" name="parametersLayout">
<item><widget class="QTableWidget" name="parametersTable"><property name="selectionBehavior"><enum>QAbstractItemView::SelectionBehavior::SelectRows</enum></property><property name="selectionMode"><enum>QAbstractItemView::SelectionMode::SingleSelection</enum></property><property name="columnCount"><number>3</number></property><column><property name="text"><string>Name</string></property></column><column><property name="text"><string>Type</string></property></column><column><property name="text"><string>Value</string></property></column></widget></item>
<item><layout class="QHBoxLayout" name="parameterButtonsLayout"><item><widget class="QPushButton" name="addParameterButton"><property name="text"><string>Add Parameter</string></property></widget></item><item><widget class="QPushButton" name="removeParameterButton"><property name="text"><string>Remove Parameter</string></property></widget></item><item><spacer name="parameterButtonSpacer"><property name="orientation"><enum>Qt::Orientation::Horizontal</enum></property><property name="sizeHint" stdset="0"><size><width>40</width><height>20</height></size></property></spacer></item></layout></item>
</layout>
</widget>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>