Merge branch 'bearbeiten_der_nodes'
This commit is contained in:
+123
-4
@@ -12,6 +12,8 @@ from PySide6.QtPdf import QPdfDocument
|
|||||||
from ui.MainWinddow_ui import Ui_MainWindow
|
from ui.MainWinddow_ui import Ui_MainWindow
|
||||||
from ui.AppSettings import AppSettingsDlg
|
from ui.AppSettings import AppSettingsDlg
|
||||||
from ui.PdfProject import PdfProjectDlg
|
from ui.PdfProject import PdfProjectDlg
|
||||||
|
from ui.TreeNodeEditDialog import TreeNodeEditDialog
|
||||||
|
from ui.XslFileEditDialog import XslFileEditDialog
|
||||||
from conf import app_settings, Project, ProjectData, TreeNode, XslFile, XmlFile
|
from conf import app_settings, Project, ProjectData, TreeNode, XslFile, XmlFile
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
@@ -1040,9 +1042,49 @@ class MainWindow(QMainWindow):
|
|||||||
# TODO: Dialog zum Auswählen der XSL-Datei öffnen
|
# TODO: Dialog zum Auswählen der XSL-Datei öffnen
|
||||||
|
|
||||||
def _edit_tree_node(self, item):
|
def _edit_tree_node(self, item):
|
||||||
"""Bearbeitet einen TreeNode."""
|
"""
|
||||||
|
Bearbeitet einen TreeNode.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
item: Das TreeWidgetItem des TreeNode
|
||||||
|
"""
|
||||||
print(f"TreeNode bearbeiten: {item.text(0)}")
|
print(f"TreeNode bearbeiten: {item.text(0)}")
|
||||||
# TODO: Dialog zum Bearbeiten der Node-Daten öffnen
|
|
||||||
|
try:
|
||||||
|
# Hole das Node-Objekt aus dem TreeWidgetItem
|
||||||
|
node = item.data(0, Qt.ItemDataRole.UserRole)
|
||||||
|
if not node or not isinstance(node, TreeNode):
|
||||||
|
QMessageBox.warning(self, "Warnung", "Kein gültiger TreeNode gefunden.")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Sammle Eltern-Parameter
|
||||||
|
parent_params = self._collect_parent_params(item)
|
||||||
|
|
||||||
|
# Erstelle und zeige den Dialog
|
||||||
|
dialog = TreeNodeEditDialog(self, node, parent_params)
|
||||||
|
if dialog.exec() == TreeNodeEditDialog.DialogCode.Accepted:
|
||||||
|
# Hole die bearbeiteten Daten
|
||||||
|
data = dialog.get_data()
|
||||||
|
if data:
|
||||||
|
# Aktualisiere den Node
|
||||||
|
node.bez = data['bez']
|
||||||
|
node.xslt_params = data['xslt_params']
|
||||||
|
|
||||||
|
print(f"TreeNode '{node.bez}' wurde aktualisiert")
|
||||||
|
print(f"XSLT-Parameter: {node.xslt_params}")
|
||||||
|
|
||||||
|
# Speichere die Änderungen
|
||||||
|
self._save_project_settings()
|
||||||
|
|
||||||
|
# Aktualisiere das TreeWidget
|
||||||
|
self._load_nodes_to_tree()
|
||||||
|
|
||||||
|
QMessageBox.information(self, "Erfolg", "TreeNode wurde erfolgreich aktualisiert.")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
error_msg = f"Fehler beim Bearbeiten des TreeNode: {str(e)}"
|
||||||
|
print(error_msg)
|
||||||
|
QMessageBox.critical(self, "Fehler", error_msg)
|
||||||
|
|
||||||
def _delete_tree_node(self, item):
|
def _delete_tree_node(self, item):
|
||||||
"""Löscht einen TreeNode."""
|
"""Löscht einen TreeNode."""
|
||||||
@@ -1161,9 +1203,49 @@ class MainWindow(QMainWindow):
|
|||||||
QMessageBox.critical(self, "Fehler", error_msg)
|
QMessageBox.critical(self, "Fehler", error_msg)
|
||||||
|
|
||||||
def _edit_xsl_file(self, item):
|
def _edit_xsl_file(self, item):
|
||||||
"""Bearbeitet eine XSL-Datei."""
|
"""
|
||||||
|
Bearbeitet eine XSL-Datei.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
item: Das TreeWidgetItem des XslFile
|
||||||
|
"""
|
||||||
print(f"XslFile bearbeiten: {item.text(0)}")
|
print(f"XslFile bearbeiten: {item.text(0)}")
|
||||||
# TODO: Dialog zum Bearbeiten der XSL-Datei öffnen
|
|
||||||
|
try:
|
||||||
|
# Hole das Node-Objekt aus dem TreeWidgetItem
|
||||||
|
node = item.data(0, Qt.ItemDataRole.UserRole)
|
||||||
|
if not node or not isinstance(node, XslFile):
|
||||||
|
QMessageBox.warning(self, "Warnung", "Keine gültige XSL-Datei gefunden.")
|
||||||
|
return
|
||||||
|
|
||||||
|
# Sammle Eltern-Parameter
|
||||||
|
parent_params = self._collect_parent_params(item)
|
||||||
|
|
||||||
|
# Erstelle und zeige den Dialog
|
||||||
|
dialog = XslFileEditDialog(self, node, parent_params)
|
||||||
|
if dialog.exec() == XslFileEditDialog.DialogCode.Accepted:
|
||||||
|
# Hole die bearbeiteten Daten
|
||||||
|
data = dialog.get_data()
|
||||||
|
if data:
|
||||||
|
# Aktualisiere den Node
|
||||||
|
node.bez = data['bez']
|
||||||
|
node.xslt_params = data['xslt_params']
|
||||||
|
|
||||||
|
print(f"XslFile '{node.bez}' wurde aktualisiert")
|
||||||
|
print(f"XSLT-Parameter: {node.xslt_params}")
|
||||||
|
|
||||||
|
# Speichere die Änderungen
|
||||||
|
self._save_project_settings()
|
||||||
|
|
||||||
|
# Aktualisiere das TreeWidget
|
||||||
|
self._load_nodes_to_tree()
|
||||||
|
|
||||||
|
QMessageBox.information(self, "Erfolg", "XSL-Datei wurde erfolgreich aktualisiert.")
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
error_msg = f"Fehler beim Bearbeiten der XSL-Datei: {str(e)}"
|
||||||
|
print(error_msg)
|
||||||
|
QMessageBox.critical(self, "Fehler", error_msg)
|
||||||
|
|
||||||
def _delete_xsl_file(self, item):
|
def _delete_xsl_file(self, item):
|
||||||
"""Löscht eine XSL-Datei."""
|
"""Löscht eine XSL-Datei."""
|
||||||
@@ -1432,6 +1514,43 @@ class MainWindow(QMainWindow):
|
|||||||
existing_node.children.append(new_child)
|
existing_node.children.append(new_child)
|
||||||
print(f"Neues Kind hinzugefügt zu Node {existing_node.id}: {new_child.bez}")
|
print(f"Neues Kind hinzugefügt zu Node {existing_node.id}: {new_child.bez}")
|
||||||
|
|
||||||
|
def _collect_parent_params(self, item):
|
||||||
|
"""
|
||||||
|
Sammelt die XSLT-Parameter aller Eltern-Nodes.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
item: Das TreeWidgetItem
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
dict: Dictionary mit allen Eltern-Parametern
|
||||||
|
"""
|
||||||
|
parent_params = {}
|
||||||
|
|
||||||
|
try:
|
||||||
|
# Gehe die Hierarchie nach oben durch
|
||||||
|
current_item = item.parent()
|
||||||
|
|
||||||
|
while current_item:
|
||||||
|
# Hole das Node-Objekt
|
||||||
|
parent_node = current_item.data(0, Qt.ItemDataRole.UserRole)
|
||||||
|
|
||||||
|
if parent_node and hasattr(parent_node, 'xslt_params') and parent_node.xslt_params:
|
||||||
|
# Füge die Parameter des Eltern-Nodes hinzu
|
||||||
|
# Eltern-Parameter haben niedrigere Priorität (werden überschrieben)
|
||||||
|
for key, value in parent_node.xslt_params.items():
|
||||||
|
if key not in parent_params: # Nur hinzufügen wenn noch nicht vorhanden
|
||||||
|
parent_params[key] = value
|
||||||
|
|
||||||
|
# Gehe zum nächsten Eltern-Element
|
||||||
|
current_item = current_item.parent()
|
||||||
|
|
||||||
|
print(f"Gesammelte Eltern-Parameter: {parent_params}")
|
||||||
|
return parent_params
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
print(f"Fehler beim Sammeln der Eltern-Parameter: {e}")
|
||||||
|
return {}
|
||||||
|
|
||||||
def _save_project_settings(self):
|
def _save_project_settings(self):
|
||||||
"""
|
"""
|
||||||
Speichert die aktualisierten Projekt-Einstellungen.
|
Speichert die aktualisierten Projekt-Einstellungen.
|
||||||
|
|||||||
@@ -0,0 +1,158 @@
|
|||||||
|
from PySide6.QtWidgets import QDialog, QTableWidgetItem, QMessageBox
|
||||||
|
from PySide6.QtCore import Qt
|
||||||
|
|
||||||
|
from ui.TreeNodeEditDialog_ui import Ui_TreeNodeEditDialog
|
||||||
|
from conf import TreeNode
|
||||||
|
|
||||||
|
|
||||||
|
class TreeNodeEditDialog(QDialog):
|
||||||
|
"""Dialog zur Bearbeitung von TreeNode-Objekten."""
|
||||||
|
|
||||||
|
def __init__(self, parent=None, node=None, parent_params=None):
|
||||||
|
"""
|
||||||
|
Initialisiert den Dialog.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
parent: Übergeordnetes Widget
|
||||||
|
node: TreeNode-Objekt zum Bearbeiten
|
||||||
|
parent_params: Dictionary mit Eltern-Parametern (nur anzeigen)
|
||||||
|
"""
|
||||||
|
super().__init__(parent)
|
||||||
|
|
||||||
|
# UI einrichten
|
||||||
|
self.ui = Ui_TreeNodeEditDialog()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
|
# Node-Objekt speichern
|
||||||
|
self.node = node
|
||||||
|
self.parent_params = parent_params or {}
|
||||||
|
|
||||||
|
# Signale verbinden
|
||||||
|
self.ui.addParamButton.clicked.connect(self.add_parameter)
|
||||||
|
self.ui.removeParamButton.clicked.connect(self.remove_parameter)
|
||||||
|
|
||||||
|
# Tabellen konfigurieren
|
||||||
|
self._setup_tables()
|
||||||
|
|
||||||
|
# Daten laden
|
||||||
|
if self.node:
|
||||||
|
self._load_data()
|
||||||
|
|
||||||
|
def _setup_tables(self):
|
||||||
|
"""Konfiguriert die Tabellen."""
|
||||||
|
# XSLT Parameter Tabelle
|
||||||
|
self.ui.xsltParamsTable.setColumnWidth(0, 200)
|
||||||
|
self.ui.xsltParamsTable.setColumnWidth(1, 300)
|
||||||
|
self.ui.xsltParamsTable.horizontalHeader().setStretchLastSection(True)
|
||||||
|
|
||||||
|
# Eltern-Parameter Tabelle
|
||||||
|
self.ui.parentParamsTable.setColumnWidth(0, 200)
|
||||||
|
self.ui.parentParamsTable.setColumnWidth(1, 300)
|
||||||
|
self.ui.parentParamsTable.horizontalHeader().setStretchLastSection(True)
|
||||||
|
|
||||||
|
def _load_data(self):
|
||||||
|
"""Lädt die Daten des TreeNode in den Dialog."""
|
||||||
|
if not self.node:
|
||||||
|
return
|
||||||
|
|
||||||
|
# Bezeichnung setzen
|
||||||
|
self.ui.bezEdit.setText(str(self.node.bez) if self.node.bez else "")
|
||||||
|
|
||||||
|
# XSLT Parameter laden
|
||||||
|
self._load_xslt_params()
|
||||||
|
|
||||||
|
# Eltern-Parameter laden
|
||||||
|
self._load_parent_params()
|
||||||
|
|
||||||
|
def _load_xslt_params(self):
|
||||||
|
"""Lädt die XSLT Parameter in die Tabelle."""
|
||||||
|
if not self.node or not self.node.xslt_params:
|
||||||
|
return
|
||||||
|
|
||||||
|
params = self.node.xslt_params
|
||||||
|
self.ui.xsltParamsTable.setRowCount(len(params))
|
||||||
|
|
||||||
|
for row, (key, value) in enumerate(params.items()):
|
||||||
|
# Parameter-Name
|
||||||
|
key_item = QTableWidgetItem(str(key))
|
||||||
|
self.ui.xsltParamsTable.setItem(row, 0, key_item)
|
||||||
|
|
||||||
|
# Parameter-Wert
|
||||||
|
value_item = QTableWidgetItem(str(value))
|
||||||
|
self.ui.xsltParamsTable.setItem(row, 1, value_item)
|
||||||
|
|
||||||
|
def _load_parent_params(self):
|
||||||
|
"""Lädt die Eltern-Parameter in die Tabelle (nur anzeigen)."""
|
||||||
|
if not self.parent_params:
|
||||||
|
return
|
||||||
|
|
||||||
|
self.ui.parentParamsTable.setRowCount(len(self.parent_params))
|
||||||
|
|
||||||
|
for row, (key, value) in enumerate(self.parent_params.items()):
|
||||||
|
# Parameter-Name
|
||||||
|
key_item = QTableWidgetItem(str(key))
|
||||||
|
key_item.setFlags(key_item.flags() & ~Qt.ItemFlag.ItemIsEditable)
|
||||||
|
self.ui.parentParamsTable.setItem(row, 0, key_item)
|
||||||
|
|
||||||
|
# Parameter-Wert
|
||||||
|
value_item = QTableWidgetItem(str(value))
|
||||||
|
value_item.setFlags(value_item.flags() & ~Qt.ItemFlag.ItemIsEditable)
|
||||||
|
self.ui.parentParamsTable.setItem(row, 1, value_item)
|
||||||
|
|
||||||
|
def add_parameter(self):
|
||||||
|
"""Fügt einen neuen Parameter hinzu."""
|
||||||
|
row_count = self.ui.xsltParamsTable.rowCount()
|
||||||
|
self.ui.xsltParamsTable.insertRow(row_count)
|
||||||
|
|
||||||
|
# Leere Items hinzufügen
|
||||||
|
key_item = QTableWidgetItem("")
|
||||||
|
value_item = QTableWidgetItem("")
|
||||||
|
|
||||||
|
self.ui.xsltParamsTable.setItem(row_count, 0, key_item)
|
||||||
|
self.ui.xsltParamsTable.setItem(row_count, 1, value_item)
|
||||||
|
|
||||||
|
# Fokus auf den neuen Parameter setzen
|
||||||
|
self.ui.xsltParamsTable.setCurrentCell(row_count, 0)
|
||||||
|
|
||||||
|
def remove_parameter(self):
|
||||||
|
"""Entfernt den ausgewählten Parameter."""
|
||||||
|
current_row = self.ui.xsltParamsTable.currentRow()
|
||||||
|
if current_row >= 0:
|
||||||
|
self.ui.xsltParamsTable.removeRow(current_row)
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
"""
|
||||||
|
Gibt die bearbeiteten Daten zurück.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
dict: Dictionary mit den bearbeiteten Daten oder None bei Fehler
|
||||||
|
"""
|
||||||
|
# Bezeichnung prüfen
|
||||||
|
bez = self.ui.bezEdit.text().strip()
|
||||||
|
if not bez:
|
||||||
|
QMessageBox.warning(self, "Warnung", "Bitte geben Sie eine Bezeichnung ein.")
|
||||||
|
return None
|
||||||
|
|
||||||
|
# XSLT Parameter sammeln
|
||||||
|
xslt_params = {}
|
||||||
|
for row in range(self.ui.xsltParamsTable.rowCount()):
|
||||||
|
key_item = self.ui.xsltParamsTable.item(row, 0)
|
||||||
|
value_item = self.ui.xsltParamsTable.item(row, 1)
|
||||||
|
|
||||||
|
if key_item and value_item:
|
||||||
|
key = key_item.text().strip()
|
||||||
|
value = value_item.text().strip()
|
||||||
|
|
||||||
|
if key: # Nur Parameter mit nicht-leerem Schlüssel hinzufügen
|
||||||
|
xslt_params[key] = value
|
||||||
|
|
||||||
|
return {
|
||||||
|
"bez": bez,
|
||||||
|
"xslt_params": xslt_params
|
||||||
|
}
|
||||||
|
|
||||||
|
def accept(self):
|
||||||
|
"""Überschreibt accept() um Datenvalidierung durchzuführen."""
|
||||||
|
data = self.get_data()
|
||||||
|
if data is not None:
|
||||||
|
super().accept()
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>TreeNodeEditDialog</class>
|
||||||
|
<widget class="QDialog" name="TreeNodeEditDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>600</width>
|
||||||
|
<height>400</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>TreeNode bearbeiten</string>
|
||||||
|
</property>
|
||||||
|
<property name="modal">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SizeConstraint::SetMaximumSize</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="bezLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Bezeichnung:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="bezEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="xsltParamsGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>XSLT Parameter</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="xsltParamsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="xsltParamsTable">
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Wert</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="xsltParamsButtonLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="addParamButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter hinzufügen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="removeParamButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter entfernen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<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>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="parentParamsGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Eltern-Parameter (nur anzeigen)</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="parentParamsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="parentParamsTable">
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Wert</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Orientation::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||||
|
</property>
|
||||||
|
<property name="centerButtons">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>TreeNodeEditDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>TreeNodeEditDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'TreeNodeEditDialog.ui'
|
||||||
|
##
|
||||||
|
## Created by: Qt User Interface Compiler version 6.9.1
|
||||||
|
##
|
||||||
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||||
|
QMetaObject, QObject, QPoint, QRect,
|
||||||
|
QSize, QTime, QUrl, Qt)
|
||||||
|
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
||||||
|
QFont, QFontDatabase, QGradient, QIcon,
|
||||||
|
QImage, QKeySequence, QLinearGradient, QPainter,
|
||||||
|
QPalette, QPixmap, QRadialGradient, QTransform)
|
||||||
|
from PySide6.QtWidgets import (QAbstractButton, QAbstractItemView, QApplication, QDialog,
|
||||||
|
QDialogButtonBox, QFormLayout, QGroupBox, QHBoxLayout,
|
||||||
|
QHeaderView, QLabel, QLayout, QLineEdit,
|
||||||
|
QPushButton, QSizePolicy, QSpacerItem, QTableWidget,
|
||||||
|
QTableWidgetItem, QVBoxLayout, QWidget)
|
||||||
|
|
||||||
|
class Ui_TreeNodeEditDialog(object):
|
||||||
|
def setupUi(self, TreeNodeEditDialog):
|
||||||
|
if not TreeNodeEditDialog.objectName():
|
||||||
|
TreeNodeEditDialog.setObjectName(u"TreeNodeEditDialog")
|
||||||
|
TreeNodeEditDialog.resize(600, 400)
|
||||||
|
TreeNodeEditDialog.setModal(True)
|
||||||
|
self.verticalLayout = QVBoxLayout(TreeNodeEditDialog)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.formLayout = QFormLayout()
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setSizeConstraint(QLayout.SizeConstraint.SetMaximumSize)
|
||||||
|
self.bezLabel = QLabel(TreeNodeEditDialog)
|
||||||
|
self.bezLabel.setObjectName(u"bezLabel")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.bezLabel)
|
||||||
|
|
||||||
|
self.bezEdit = QLineEdit(TreeNodeEditDialog)
|
||||||
|
self.bezEdit.setObjectName(u"bezEdit")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.bezEdit)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.formLayout)
|
||||||
|
|
||||||
|
self.xsltParamsGroupBox = QGroupBox(TreeNodeEditDialog)
|
||||||
|
self.xsltParamsGroupBox.setObjectName(u"xsltParamsGroupBox")
|
||||||
|
self.xsltParamsLayout = QVBoxLayout(self.xsltParamsGroupBox)
|
||||||
|
self.xsltParamsLayout.setObjectName(u"xsltParamsLayout")
|
||||||
|
self.xsltParamsTable = QTableWidget(self.xsltParamsGroupBox)
|
||||||
|
if (self.xsltParamsTable.columnCount() < 2):
|
||||||
|
self.xsltParamsTable.setColumnCount(2)
|
||||||
|
__qtablewidgetitem = QTableWidgetItem()
|
||||||
|
self.xsltParamsTable.setHorizontalHeaderItem(0, __qtablewidgetitem)
|
||||||
|
__qtablewidgetitem1 = QTableWidgetItem()
|
||||||
|
self.xsltParamsTable.setHorizontalHeaderItem(1, __qtablewidgetitem1)
|
||||||
|
self.xsltParamsTable.setObjectName(u"xsltParamsTable")
|
||||||
|
self.xsltParamsTable.setColumnCount(2)
|
||||||
|
self.xsltParamsTable.horizontalHeader().setVisible(True)
|
||||||
|
|
||||||
|
self.xsltParamsLayout.addWidget(self.xsltParamsTable)
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout = QHBoxLayout()
|
||||||
|
self.xsltParamsButtonLayout.setObjectName(u"xsltParamsButtonLayout")
|
||||||
|
self.addParamButton = QPushButton(self.xsltParamsGroupBox)
|
||||||
|
self.addParamButton.setObjectName(u"addParamButton")
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addWidget(self.addParamButton)
|
||||||
|
|
||||||
|
self.removeParamButton = QPushButton(self.xsltParamsGroupBox)
|
||||||
|
self.removeParamButton.setObjectName(u"removeParamButton")
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addWidget(self.removeParamButton)
|
||||||
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addItem(self.horizontalSpacer)
|
||||||
|
|
||||||
|
|
||||||
|
self.xsltParamsLayout.addLayout(self.xsltParamsButtonLayout)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.xsltParamsGroupBox)
|
||||||
|
|
||||||
|
self.parentParamsGroupBox = QGroupBox(TreeNodeEditDialog)
|
||||||
|
self.parentParamsGroupBox.setObjectName(u"parentParamsGroupBox")
|
||||||
|
self.parentParamsLayout = QVBoxLayout(self.parentParamsGroupBox)
|
||||||
|
self.parentParamsLayout.setObjectName(u"parentParamsLayout")
|
||||||
|
self.parentParamsTable = QTableWidget(self.parentParamsGroupBox)
|
||||||
|
if (self.parentParamsTable.columnCount() < 2):
|
||||||
|
self.parentParamsTable.setColumnCount(2)
|
||||||
|
__qtablewidgetitem2 = QTableWidgetItem()
|
||||||
|
self.parentParamsTable.setHorizontalHeaderItem(0, __qtablewidgetitem2)
|
||||||
|
__qtablewidgetitem3 = QTableWidgetItem()
|
||||||
|
self.parentParamsTable.setHorizontalHeaderItem(1, __qtablewidgetitem3)
|
||||||
|
self.parentParamsTable.setObjectName(u"parentParamsTable")
|
||||||
|
self.parentParamsTable.setColumnCount(2)
|
||||||
|
self.parentParamsTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||||
|
self.parentParamsTable.horizontalHeader().setVisible(True)
|
||||||
|
|
||||||
|
self.parentParamsLayout.addWidget(self.parentParamsTable)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.parentParamsGroupBox)
|
||||||
|
|
||||||
|
self.buttonBox = QDialogButtonBox(TreeNodeEditDialog)
|
||||||
|
self.buttonBox.setObjectName(u"buttonBox")
|
||||||
|
self.buttonBox.setOrientation(Qt.Orientation.Horizontal)
|
||||||
|
self.buttonBox.setStandardButtons(QDialogButtonBox.StandardButton.Cancel|QDialogButtonBox.StandardButton.Ok)
|
||||||
|
self.buttonBox.setCenterButtons(True)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.buttonBox)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(TreeNodeEditDialog)
|
||||||
|
self.buttonBox.accepted.connect(TreeNodeEditDialog.accept)
|
||||||
|
self.buttonBox.rejected.connect(TreeNodeEditDialog.reject)
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(TreeNodeEditDialog)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, TreeNodeEditDialog):
|
||||||
|
TreeNodeEditDialog.setWindowTitle(QCoreApplication.translate("TreeNodeEditDialog", u"TreeNode bearbeiten", None))
|
||||||
|
self.bezLabel.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Bezeichnung:", None))
|
||||||
|
self.xsltParamsGroupBox.setTitle(QCoreApplication.translate("TreeNodeEditDialog", u"XSLT Parameter", None))
|
||||||
|
___qtablewidgetitem = self.xsltParamsTable.horizontalHeaderItem(0)
|
||||||
|
___qtablewidgetitem.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Parameter", None));
|
||||||
|
___qtablewidgetitem1 = self.xsltParamsTable.horizontalHeaderItem(1)
|
||||||
|
___qtablewidgetitem1.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Wert", None));
|
||||||
|
self.addParamButton.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Parameter hinzuf\u00fcgen", None))
|
||||||
|
self.removeParamButton.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Parameter entfernen", None))
|
||||||
|
self.parentParamsGroupBox.setTitle(QCoreApplication.translate("TreeNodeEditDialog", u"Eltern-Parameter (nur anzeigen)", None))
|
||||||
|
___qtablewidgetitem2 = self.parentParamsTable.horizontalHeaderItem(0)
|
||||||
|
___qtablewidgetitem2.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Parameter", None));
|
||||||
|
___qtablewidgetitem3 = self.parentParamsTable.horizontalHeaderItem(1)
|
||||||
|
___qtablewidgetitem3.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Wert", None));
|
||||||
|
# retranslateUi
|
||||||
|
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
from PySide6.QtWidgets import QDialog, QTableWidgetItem, QMessageBox
|
||||||
|
from PySide6.QtCore import Qt
|
||||||
|
|
||||||
|
from ui.XslFileEditDialog_ui import Ui_XslFileEditDialog
|
||||||
|
from conf import XslFile
|
||||||
|
|
||||||
|
|
||||||
|
class XslFileEditDialog(QDialog):
|
||||||
|
"""Dialog zur Bearbeitung von XslFile-Objekten."""
|
||||||
|
|
||||||
|
def __init__(self, parent=None, node=None, parent_params=None):
|
||||||
|
"""
|
||||||
|
Initialisiert den Dialog.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
parent: Übergeordnetes Widget
|
||||||
|
node: XslFile-Objekt zum Bearbeiten
|
||||||
|
parent_params: Dictionary mit Eltern-Parametern (nur anzeigen)
|
||||||
|
"""
|
||||||
|
super().__init__(parent)
|
||||||
|
|
||||||
|
# UI einrichten
|
||||||
|
self.ui = Ui_XslFileEditDialog()
|
||||||
|
self.ui.setupUi(self)
|
||||||
|
|
||||||
|
# Node-Objekt speichern
|
||||||
|
self.node = node
|
||||||
|
self.parent_params = parent_params or {}
|
||||||
|
|
||||||
|
# Signale verbinden
|
||||||
|
self.ui.addParamButton.clicked.connect(self.add_parameter)
|
||||||
|
self.ui.removeParamButton.clicked.connect(self.remove_parameter)
|
||||||
|
|
||||||
|
# Tabellen konfigurieren
|
||||||
|
self._setup_tables()
|
||||||
|
|
||||||
|
# Daten laden
|
||||||
|
if self.node:
|
||||||
|
self._load_data()
|
||||||
|
|
||||||
|
def _setup_tables(self):
|
||||||
|
"""Konfiguriert die Tabellen."""
|
||||||
|
# XSLT Parameter Tabelle
|
||||||
|
self.ui.xsltParamsTable.setColumnWidth(0, 200)
|
||||||
|
self.ui.xsltParamsTable.setColumnWidth(1, 300)
|
||||||
|
self.ui.xsltParamsTable.horizontalHeader().setStretchLastSection(True)
|
||||||
|
|
||||||
|
# Eltern-Parameter Tabelle
|
||||||
|
self.ui.parentParamsTable.setColumnWidth(0, 200)
|
||||||
|
self.ui.parentParamsTable.setColumnWidth(1, 300)
|
||||||
|
self.ui.parentParamsTable.horizontalHeader().setStretchLastSection(True)
|
||||||
|
|
||||||
|
def _load_data(self):
|
||||||
|
"""Lädt die Daten des XslFile in den Dialog."""
|
||||||
|
if not self.node:
|
||||||
|
return
|
||||||
|
|
||||||
|
# Bezeichnung setzen
|
||||||
|
self.ui.bezEdit.setText(str(self.node.bez) if self.node.bez else "")
|
||||||
|
|
||||||
|
# XSLT Parameter laden
|
||||||
|
self._load_xslt_params()
|
||||||
|
|
||||||
|
# Eltern-Parameter laden
|
||||||
|
self._load_parent_params()
|
||||||
|
|
||||||
|
def _load_xslt_params(self):
|
||||||
|
"""Lädt die XSLT Parameter in die Tabelle."""
|
||||||
|
if not self.node or not self.node.xslt_params:
|
||||||
|
return
|
||||||
|
|
||||||
|
params = self.node.xslt_params
|
||||||
|
self.ui.xsltParamsTable.setRowCount(len(params))
|
||||||
|
|
||||||
|
for row, (key, value) in enumerate(params.items()):
|
||||||
|
# Parameter-Name
|
||||||
|
key_item = QTableWidgetItem(str(key))
|
||||||
|
self.ui.xsltParamsTable.setItem(row, 0, key_item)
|
||||||
|
|
||||||
|
# Parameter-Wert
|
||||||
|
value_item = QTableWidgetItem(str(value))
|
||||||
|
self.ui.xsltParamsTable.setItem(row, 1, value_item)
|
||||||
|
|
||||||
|
def _load_parent_params(self):
|
||||||
|
"""Lädt die Eltern-Parameter in die Tabelle (nur anzeigen)."""
|
||||||
|
if not self.parent_params:
|
||||||
|
return
|
||||||
|
|
||||||
|
self.ui.parentParamsTable.setRowCount(len(self.parent_params))
|
||||||
|
|
||||||
|
for row, (key, value) in enumerate(self.parent_params.items()):
|
||||||
|
# Parameter-Name
|
||||||
|
key_item = QTableWidgetItem(str(key))
|
||||||
|
key_item.setFlags(key_item.flags() & ~Qt.ItemFlag.ItemIsEditable)
|
||||||
|
self.ui.parentParamsTable.setItem(row, 0, key_item)
|
||||||
|
|
||||||
|
# Parameter-Wert
|
||||||
|
value_item = QTableWidgetItem(str(value))
|
||||||
|
value_item.setFlags(value_item.flags() & ~Qt.ItemFlag.ItemIsEditable)
|
||||||
|
self.ui.parentParamsTable.setItem(row, 1, value_item)
|
||||||
|
|
||||||
|
def add_parameter(self):
|
||||||
|
"""Fügt einen neuen Parameter hinzu."""
|
||||||
|
row_count = self.ui.xsltParamsTable.rowCount()
|
||||||
|
self.ui.xsltParamsTable.insertRow(row_count)
|
||||||
|
|
||||||
|
# Leere Items hinzufügen
|
||||||
|
key_item = QTableWidgetItem("")
|
||||||
|
value_item = QTableWidgetItem("")
|
||||||
|
|
||||||
|
self.ui.xsltParamsTable.setItem(row_count, 0, key_item)
|
||||||
|
self.ui.xsltParamsTable.setItem(row_count, 1, value_item)
|
||||||
|
|
||||||
|
# Fokus auf den neuen Parameter setzen
|
||||||
|
self.ui.xsltParamsTable.setCurrentCell(row_count, 0)
|
||||||
|
|
||||||
|
def remove_parameter(self):
|
||||||
|
"""Entfernt den ausgewählten Parameter."""
|
||||||
|
current_row = self.ui.xsltParamsTable.currentRow()
|
||||||
|
if current_row >= 0:
|
||||||
|
self.ui.xsltParamsTable.removeRow(current_row)
|
||||||
|
|
||||||
|
def get_data(self):
|
||||||
|
"""
|
||||||
|
Gibt die bearbeiteten Daten zurück.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
dict: Dictionary mit den bearbeiteten Daten oder None bei Fehler
|
||||||
|
"""
|
||||||
|
# Bezeichnung prüfen
|
||||||
|
bez = self.ui.bezEdit.text().strip()
|
||||||
|
if not bez:
|
||||||
|
QMessageBox.warning(self, "Warnung", "Bitte geben Sie eine Bezeichnung ein.")
|
||||||
|
return None
|
||||||
|
|
||||||
|
# XSLT Parameter sammeln
|
||||||
|
xslt_params = {}
|
||||||
|
for row in range(self.ui.xsltParamsTable.rowCount()):
|
||||||
|
key_item = self.ui.xsltParamsTable.item(row, 0)
|
||||||
|
value_item = self.ui.xsltParamsTable.item(row, 1)
|
||||||
|
|
||||||
|
if key_item and value_item:
|
||||||
|
key = key_item.text().strip()
|
||||||
|
value = value_item.text().strip()
|
||||||
|
|
||||||
|
if key: # Nur Parameter mit nicht-leerem Schlüssel hinzufügen
|
||||||
|
xslt_params[key] = value
|
||||||
|
|
||||||
|
return {
|
||||||
|
"bez": bez,
|
||||||
|
"xslt_params": xslt_params
|
||||||
|
}
|
||||||
|
|
||||||
|
def accept(self):
|
||||||
|
"""Überschreibt accept() um Datenvalidierung durchzuführen."""
|
||||||
|
data = self.get_data()
|
||||||
|
if data is not None:
|
||||||
|
super().accept()
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>XslFileEditDialog</class>
|
||||||
|
<widget class="QDialog" name="XslFileEditDialog">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>600</width>
|
||||||
|
<height>400</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>XSL-Datei bearbeiten</string>
|
||||||
|
</property>
|
||||||
|
<property name="modal">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<item>
|
||||||
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
<property name="sizeConstraint">
|
||||||
|
<enum>QLayout::SizeConstraint::SetMaximumSize</enum>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="bezLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Bezeichnung:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="bezEdit"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="xsltParamsGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>XSLT Parameter</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="xsltParamsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="xsltParamsTable">
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Wert</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="xsltParamsButtonLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="addParamButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter hinzufügen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="removeParamButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter entfernen</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<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>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="parentParamsGroupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>Eltern-Parameter (nur anzeigen)</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="parentParamsLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="parentParamsTable">
|
||||||
|
<property name="columnCount">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::EditTrigger::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderVisible">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Parameter</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Wert</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Orientation::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="standardButtons">
|
||||||
|
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
|
||||||
|
</property>
|
||||||
|
<property name="centerButtons">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<resources/>
|
||||||
|
<connections>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>accepted()</signal>
|
||||||
|
<receiver>XslFileEditDialog</receiver>
|
||||||
|
<slot>accept()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>248</x>
|
||||||
|
<y>254</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>157</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<sender>buttonBox</sender>
|
||||||
|
<signal>rejected()</signal>
|
||||||
|
<receiver>XslFileEditDialog</receiver>
|
||||||
|
<slot>reject()</slot>
|
||||||
|
<hints>
|
||||||
|
<hint type="sourcelabel">
|
||||||
|
<x>316</x>
|
||||||
|
<y>260</y>
|
||||||
|
</hint>
|
||||||
|
<hint type="destinationlabel">
|
||||||
|
<x>286</x>
|
||||||
|
<y>274</y>
|
||||||
|
</hint>
|
||||||
|
</hints>
|
||||||
|
</connection>
|
||||||
|
</connections>
|
||||||
|
</ui>
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
## Form generated from reading UI file 'XslFileEditDialog.ui'
|
||||||
|
##
|
||||||
|
## Created by: Qt User Interface Compiler version 6.9.1
|
||||||
|
##
|
||||||
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
|
||||||
|
QMetaObject, QObject, QPoint, QRect,
|
||||||
|
QSize, QTime, QUrl, Qt)
|
||||||
|
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
|
||||||
|
QFont, QFontDatabase, QGradient, QIcon,
|
||||||
|
QImage, QKeySequence, QLinearGradient, QPainter,
|
||||||
|
QPalette, QPixmap, QRadialGradient, QTransform)
|
||||||
|
from PySide6.QtWidgets import (QAbstractButton, QAbstractItemView, QApplication, QDialog,
|
||||||
|
QDialogButtonBox, QFormLayout, QGroupBox, QHBoxLayout,
|
||||||
|
QHeaderView, QLabel, QLayout, QLineEdit,
|
||||||
|
QPushButton, QSizePolicy, QSpacerItem, QTableWidget,
|
||||||
|
QTableWidgetItem, QVBoxLayout, QWidget)
|
||||||
|
|
||||||
|
class Ui_XslFileEditDialog(object):
|
||||||
|
def setupUi(self, XslFileEditDialog):
|
||||||
|
if not XslFileEditDialog.objectName():
|
||||||
|
XslFileEditDialog.setObjectName(u"XslFileEditDialog")
|
||||||
|
XslFileEditDialog.resize(600, 400)
|
||||||
|
XslFileEditDialog.setModal(True)
|
||||||
|
self.verticalLayout = QVBoxLayout(XslFileEditDialog)
|
||||||
|
self.verticalLayout.setObjectName(u"verticalLayout")
|
||||||
|
self.formLayout = QFormLayout()
|
||||||
|
self.formLayout.setObjectName(u"formLayout")
|
||||||
|
self.formLayout.setSizeConstraint(QLayout.SizeConstraint.SetMaximumSize)
|
||||||
|
self.bezLabel = QLabel(XslFileEditDialog)
|
||||||
|
self.bezLabel.setObjectName(u"bezLabel")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.bezLabel)
|
||||||
|
|
||||||
|
self.bezEdit = QLineEdit(XslFileEditDialog)
|
||||||
|
self.bezEdit.setObjectName(u"bezEdit")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.bezEdit)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addLayout(self.formLayout)
|
||||||
|
|
||||||
|
self.xsltParamsGroupBox = QGroupBox(XslFileEditDialog)
|
||||||
|
self.xsltParamsGroupBox.setObjectName(u"xsltParamsGroupBox")
|
||||||
|
self.xsltParamsLayout = QVBoxLayout(self.xsltParamsGroupBox)
|
||||||
|
self.xsltParamsLayout.setObjectName(u"xsltParamsLayout")
|
||||||
|
self.xsltParamsTable = QTableWidget(self.xsltParamsGroupBox)
|
||||||
|
if (self.xsltParamsTable.columnCount() < 2):
|
||||||
|
self.xsltParamsTable.setColumnCount(2)
|
||||||
|
__qtablewidgetitem = QTableWidgetItem()
|
||||||
|
self.xsltParamsTable.setHorizontalHeaderItem(0, __qtablewidgetitem)
|
||||||
|
__qtablewidgetitem1 = QTableWidgetItem()
|
||||||
|
self.xsltParamsTable.setHorizontalHeaderItem(1, __qtablewidgetitem1)
|
||||||
|
self.xsltParamsTable.setObjectName(u"xsltParamsTable")
|
||||||
|
self.xsltParamsTable.setColumnCount(2)
|
||||||
|
self.xsltParamsTable.horizontalHeader().setVisible(True)
|
||||||
|
|
||||||
|
self.xsltParamsLayout.addWidget(self.xsltParamsTable)
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout = QHBoxLayout()
|
||||||
|
self.xsltParamsButtonLayout.setObjectName(u"xsltParamsButtonLayout")
|
||||||
|
self.addParamButton = QPushButton(self.xsltParamsGroupBox)
|
||||||
|
self.addParamButton.setObjectName(u"addParamButton")
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addWidget(self.addParamButton)
|
||||||
|
|
||||||
|
self.removeParamButton = QPushButton(self.xsltParamsGroupBox)
|
||||||
|
self.removeParamButton.setObjectName(u"removeParamButton")
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addWidget(self.removeParamButton)
|
||||||
|
|
||||||
|
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
|
||||||
|
|
||||||
|
self.xsltParamsButtonLayout.addItem(self.horizontalSpacer)
|
||||||
|
|
||||||
|
|
||||||
|
self.xsltParamsLayout.addLayout(self.xsltParamsButtonLayout)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.xsltParamsGroupBox)
|
||||||
|
|
||||||
|
self.parentParamsGroupBox = QGroupBox(XslFileEditDialog)
|
||||||
|
self.parentParamsGroupBox.setObjectName(u"parentParamsGroupBox")
|
||||||
|
self.parentParamsLayout = QVBoxLayout(self.parentParamsGroupBox)
|
||||||
|
self.parentParamsLayout.setObjectName(u"parentParamsLayout")
|
||||||
|
self.parentParamsTable = QTableWidget(self.parentParamsGroupBox)
|
||||||
|
if (self.parentParamsTable.columnCount() < 2):
|
||||||
|
self.parentParamsTable.setColumnCount(2)
|
||||||
|
__qtablewidgetitem2 = QTableWidgetItem()
|
||||||
|
self.parentParamsTable.setHorizontalHeaderItem(0, __qtablewidgetitem2)
|
||||||
|
__qtablewidgetitem3 = QTableWidgetItem()
|
||||||
|
self.parentParamsTable.setHorizontalHeaderItem(1, __qtablewidgetitem3)
|
||||||
|
self.parentParamsTable.setObjectName(u"parentParamsTable")
|
||||||
|
self.parentParamsTable.setColumnCount(2)
|
||||||
|
self.parentParamsTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
|
||||||
|
self.parentParamsTable.horizontalHeader().setVisible(True)
|
||||||
|
|
||||||
|
self.parentParamsLayout.addWidget(self.parentParamsTable)
|
||||||
|
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.parentParamsGroupBox)
|
||||||
|
|
||||||
|
self.buttonBox = QDialogButtonBox(XslFileEditDialog)
|
||||||
|
self.buttonBox.setObjectName(u"buttonBox")
|
||||||
|
self.buttonBox.setOrientation(Qt.Orientation.Horizontal)
|
||||||
|
self.buttonBox.setStandardButtons(QDialogButtonBox.StandardButton.Cancel|QDialogButtonBox.StandardButton.Ok)
|
||||||
|
self.buttonBox.setCenterButtons(True)
|
||||||
|
|
||||||
|
self.verticalLayout.addWidget(self.buttonBox)
|
||||||
|
|
||||||
|
|
||||||
|
self.retranslateUi(XslFileEditDialog)
|
||||||
|
self.buttonBox.accepted.connect(XslFileEditDialog.accept)
|
||||||
|
self.buttonBox.rejected.connect(XslFileEditDialog.reject)
|
||||||
|
|
||||||
|
QMetaObject.connectSlotsByName(XslFileEditDialog)
|
||||||
|
# setupUi
|
||||||
|
|
||||||
|
def retranslateUi(self, XslFileEditDialog):
|
||||||
|
XslFileEditDialog.setWindowTitle(QCoreApplication.translate("XslFileEditDialog", u"XSL-Datei bearbeiten", None))
|
||||||
|
self.bezLabel.setText(QCoreApplication.translate("XslFileEditDialog", u"Bezeichnung:", None))
|
||||||
|
self.xsltParamsGroupBox.setTitle(QCoreApplication.translate("XslFileEditDialog", u"XSLT Parameter", None))
|
||||||
|
___qtablewidgetitem = self.xsltParamsTable.horizontalHeaderItem(0)
|
||||||
|
___qtablewidgetitem.setText(QCoreApplication.translate("XslFileEditDialog", u"Parameter", None));
|
||||||
|
___qtablewidgetitem1 = self.xsltParamsTable.horizontalHeaderItem(1)
|
||||||
|
___qtablewidgetitem1.setText(QCoreApplication.translate("XslFileEditDialog", u"Wert", None));
|
||||||
|
self.addParamButton.setText(QCoreApplication.translate("XslFileEditDialog", u"Parameter hinzuf\u00fcgen", None))
|
||||||
|
self.removeParamButton.setText(QCoreApplication.translate("XslFileEditDialog", u"Parameter entfernen", None))
|
||||||
|
self.parentParamsGroupBox.setTitle(QCoreApplication.translate("XslFileEditDialog", u"Eltern-Parameter (nur anzeigen)", None))
|
||||||
|
___qtablewidgetitem2 = self.parentParamsTable.horizontalHeaderItem(0)
|
||||||
|
___qtablewidgetitem2.setText(QCoreApplication.translate("XslFileEditDialog", u"Parameter", None));
|
||||||
|
___qtablewidgetitem3 = self.parentParamsTable.horizontalHeaderItem(1)
|
||||||
|
___qtablewidgetitem3.setText(QCoreApplication.translate("XslFileEditDialog", u"Wert", None));
|
||||||
|
# retranslateUi
|
||||||
|
|
||||||
Reference in New Issue
Block a user