diff --git a/src/ui/MainWindow.py b/src/ui/MainWindow.py
index 7c95b28..a499b2f 100644
--- a/src/ui/MainWindow.py
+++ b/src/ui/MainWindow.py
@@ -887,6 +887,39 @@ class MainWindow(QMainWindow):
print(f"Fehler beim Bestimmen des Node-Typs aus Daten: {e}")
return "Unknown"
+ def _find_item_by_node(self, node_obj):
+ """
+ Findet ein TreeWidgetItem basierend auf einem Node-Objekt.
+
+ Args:
+ node_obj: Das Node-Objekt (TreeNode, XslFile oder XmlFile)
+
+ Returns:
+ QTreeWidgetItem oder None wenn nicht gefunden
+ """
+ def search_recursive(item):
+ """Rekursive Suche durch TreeWidget."""
+ # Prüfe aktuelles Item
+ item_node = item.data(0, Qt.ItemDataRole.UserRole)
+ if item_node is node_obj:
+ return item
+
+ # Durchsuche Kinder
+ for i in range(item.childCount()):
+ child = item.child(i)
+ result = search_recursive(child)
+ if result:
+ return result
+ return None
+
+ # Durchsuche alle Root-Items
+ for i in range(self.ui.treeWidget.topLevelItemCount()):
+ root_item = self.ui.treeWidget.topLevelItem(i)
+ result = search_recursive(root_item)
+ if result:
+ return result
+ return None
+
def _find_node_by_id(self, nodes, target_id):
"""
Sucht rekursiv nach einem Node mit der angegebenen ID.
@@ -1650,6 +1683,16 @@ class MainWindow(QMainWindow):
# Aktualisiere das TreeWidget
self._load_nodes_to_tree()
+ # Wenn Force-Transformation gewünscht, führe sie aus
+ if data.get("force_transform", False):
+ # Finde das neue Item nach dem Neuladen
+ new_item = self._find_item_by_node(node)
+ if new_item:
+ logger.info(f"Starte Force-Transformation für TreeNode '{node.bez}'")
+ self._transform_tree_node(new_item, force=True)
+ else:
+ logger.warning(f"Konnte Item für TreeNode '{node.bez}' nicht finden")
+
# QMessageBox.information(self, "Erfolg", "TreeNode wurde erfolgreich aktualisiert.")
except Exception as e:
@@ -1811,6 +1854,16 @@ class MainWindow(QMainWindow):
# Aktualisiere das TreeWidget
self._load_nodes_to_tree()
+ # Wenn Force-Transformation gewünscht, führe sie aus
+ if data.get("force_transform", False):
+ # Finde das neue Item nach dem Neuladen
+ new_item = self._find_item_by_node(node)
+ if new_item:
+ logger.info(f"Starte Force-Transformation für XslFile '{node.bez}'")
+ self._transform_xsl_file(new_item, force=True)
+ else:
+ logger.warning(f"Konnte Item für XslFile '{node.bez}' nicht finden")
+
# QMessageBox.information(self, "Erfolg", "XSL-Datei wurde erfolgreich aktualisiert.")
except Exception as e:
diff --git a/src/ui/TreeNodeEditDialog.py b/src/ui/TreeNodeEditDialog.py
index b039622..66fbcdc 100644
--- a/src/ui/TreeNodeEditDialog.py
+++ b/src/ui/TreeNodeEditDialog.py
@@ -122,7 +122,7 @@ class TreeNodeEditDialog(QDialog):
def get_data(self):
"""
Gibt die bearbeiteten Daten zurück.
-
+
Returns:
dict: Dictionary mit den bearbeiteten Daten oder None bei Fehler
"""
@@ -145,9 +145,13 @@ class TreeNodeEditDialog(QDialog):
if key: # Nur Parameter mit nicht-leerem Schlüssel hinzufügen
xslt_params[key] = value
+ # CheckBox für Force-Transformation prüfen
+ force_transform = self.ui.alle_xml_transformieren.isChecked()
+
return {
"bez": bez,
- "xslt_params": xslt_params
+ "xslt_params": xslt_params,
+ "force_transform": force_transform
}
def accept(self):
diff --git a/src/ui/TreeNodeEditDialog.ui b/src/ui/TreeNodeEditDialog.ui
index 3ad0c1f..46b26e0 100644
--- a/src/ui/TreeNodeEditDialog.ui
+++ b/src/ui/TreeNodeEditDialog.ui
@@ -6,7 +6,7 @@
0
0
- 600
+ 870
400
@@ -35,95 +35,175 @@
-
-
-
- XSLT-Parameter
+
+
+ QFrame::Shape::NoFrame
-
+
+ QFrame::Shadow::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
-
-
-
- 2
+
+
+ XSLT-Parameter
-
- true
-
-
-
- Parameter
+
+
+ 0
-
-
-
- Wert
+
+ 0
-
+
+ 0
+
+
+ 0
+
+
-
+
+
+ QFrame::Shape::NoFrame
+
+
+ 2
+
+
+ true
+
+
+
+ Parameter
+
+
+
+
+ Wert
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Parameter hinzufügen
+
+
+
+
+
+
+ -
+
+
+ Parameter entfernen
+
+
+
+
+
+
+ -
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
-
-
-
-
-
-
- Parameter hinzufügen
-
-
-
- -
-
-
- Parameter entfernen
-
-
-
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
+
+
+ Geerbte XSLT-Parameter (nur anzeigen)
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ QFrame::Shape::NoFrame
+
+
+ QAbstractItemView::EditTrigger::NoEditTriggers
+
+
+ 2
+
+
+ true
+
+
+
+ Parameter
+
+
+
+
+ Wert
+
+
+
+
+
+
-
-
-
- Geerbte XSLT-Parameter (nur anzeigen)
+
+
+ Alle XML-Dateien neu transformieren (force)
-
-
-
-
-
- QAbstractItemView::EditTrigger::NoEditTriggers
-
-
- 2
-
-
- true
-
-
-
- Parameter
-
-
-
-
- Wert
-
-
-
-
-
-
diff --git a/src/ui/TreeNodeEditDialog_ui.py b/src/ui/TreeNodeEditDialog_ui.py
index a160d2d..220b4d1 100644
--- a/src/ui/TreeNodeEditDialog_ui.py
+++ b/src/ui/TreeNodeEditDialog_ui.py
@@ -1,140 +1,169 @@
-# -*- 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.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
- self.parentParamsTable.setColumnCount(2)
- 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"Geerbte XSLT-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
-
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file 'TreeNodeEditDialog.ui'
+##
+## Created by: Qt User Interface Compiler version 6.9.2
+##
+## 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, QCheckBox,
+ QDialog, QDialogButtonBox, QFormLayout, QFrame,
+ 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(870, 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.frame = QFrame(TreeNodeEditDialog)
+ self.frame.setObjectName(u"frame")
+ self.frame.setFrameShape(QFrame.Shape.NoFrame)
+ self.frame.setFrameShadow(QFrame.Shadow.Raised)
+ self.horizontalLayout = QHBoxLayout(self.frame)
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+ self.xsltParamsGroupBox = QGroupBox(self.frame)
+ self.xsltParamsGroupBox.setObjectName(u"xsltParamsGroupBox")
+ self.xsltParamsLayout = QVBoxLayout(self.xsltParamsGroupBox)
+ self.xsltParamsLayout.setObjectName(u"xsltParamsLayout")
+ self.xsltParamsLayout.setContentsMargins(0, 0, 0, 0)
+ 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.setFrameShape(QFrame.Shape.NoFrame)
+ self.xsltParamsTable.setColumnCount(2)
+ self.xsltParamsTable.horizontalHeader().setVisible(True)
+
+ self.xsltParamsLayout.addWidget(self.xsltParamsTable)
+
+ self.xsltParamsButtonLayout = QHBoxLayout()
+ self.xsltParamsButtonLayout.setObjectName(u"xsltParamsButtonLayout")
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
+
+ self.xsltParamsButtonLayout.addItem(self.horizontalSpacer_2)
+
+ self.addParamButton = QPushButton(self.xsltParamsGroupBox)
+ self.addParamButton.setObjectName(u"addParamButton")
+ icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListAdd))
+ self.addParamButton.setIcon(icon)
+
+ self.xsltParamsButtonLayout.addWidget(self.addParamButton)
+
+ self.removeParamButton = QPushButton(self.xsltParamsGroupBox)
+ self.removeParamButton.setObjectName(u"removeParamButton")
+ icon1 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListRemove))
+ self.removeParamButton.setIcon(icon1)
+
+ 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.horizontalLayout.addWidget(self.xsltParamsGroupBox)
+
+ self.parentParamsGroupBox = QGroupBox(self.frame)
+ self.parentParamsGroupBox.setObjectName(u"parentParamsGroupBox")
+ self.parentParamsLayout = QVBoxLayout(self.parentParamsGroupBox)
+ self.parentParamsLayout.setObjectName(u"parentParamsLayout")
+ self.parentParamsLayout.setContentsMargins(0, 0, 0, 0)
+ 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.setFrameShape(QFrame.Shape.NoFrame)
+ self.parentParamsTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
+ self.parentParamsTable.setColumnCount(2)
+ self.parentParamsTable.horizontalHeader().setVisible(True)
+
+ self.parentParamsLayout.addWidget(self.parentParamsTable)
+
+
+ self.horizontalLayout.addWidget(self.parentParamsGroupBox)
+
+
+ self.verticalLayout.addWidget(self.frame)
+
+ self.alle_xml_transformieren = QCheckBox(TreeNodeEditDialog)
+ self.alle_xml_transformieren.setObjectName(u"alle_xml_transformieren")
+
+ self.verticalLayout.addWidget(self.alle_xml_transformieren)
+
+ 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"Geerbte XSLT-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));
+ self.alle_xml_transformieren.setText(QCoreApplication.translate("TreeNodeEditDialog", u"Alle XML-Dateien neu transformieren (force)", None))
+ # retranslateUi
+
diff --git a/src/ui/XslFileEditDialog.py b/src/ui/XslFileEditDialog.py
index 2059356..cffdaa0 100644
--- a/src/ui/XslFileEditDialog.py
+++ b/src/ui/XslFileEditDialog.py
@@ -122,7 +122,7 @@ class XslFileEditDialog(QDialog):
def get_data(self):
"""
Gibt die bearbeiteten Daten zurück.
-
+
Returns:
dict: Dictionary mit den bearbeiteten Daten oder None bei Fehler
"""
@@ -145,9 +145,13 @@ class XslFileEditDialog(QDialog):
if key: # Nur Parameter mit nicht-leerem Schlüssel hinzufügen
xslt_params[key] = value
+ # CheckBox für Force-Transformation prüfen
+ force_transform = self.ui.alle_xml_transformieren.isChecked()
+
return {
"bez": bez,
- "xslt_params": xslt_params
+ "xslt_params": xslt_params,
+ "force_transform": force_transform
}
def accept(self):
diff --git a/src/ui/XslFileEditDialog.ui b/src/ui/XslFileEditDialog.ui
index fa69885..c561cc4 100644
--- a/src/ui/XslFileEditDialog.ui
+++ b/src/ui/XslFileEditDialog.ui
@@ -6,7 +6,7 @@
0
0
- 600
+ 865
400
@@ -35,95 +35,175 @@
-
-
-
- XSLT-Parameter
+
+
+ QFrame::Shape::NoFrame
-
+
+ QFrame::Shadow::Raised
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
-
-
-
- 2
+
+
+ XSLT-Parameter
-
- true
-
-
-
- Parameter
+
+
+ 0
-
-
-
- Wert
+
+ 0
-
+
+ 0
+
+
+ 0
+
+
-
+
+
+ QFrame::Shape::NoFrame
+
+
+ 2
+
+
+ true
+
+
+
+ Parameter
+
+
+
+
+ Wert
+
+
+
+
+ -
+
+
-
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
+
+
+ Parameter hinzufügen
+
+
+
+
+
+
+ -
+
+
+ Parameter entfernen
+
+
+
+
+
+
+ -
+
+
+ Qt::Orientation::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+
+
+
-
-
-
-
-
-
- Parameter hinzufügen
-
-
-
- -
-
-
- Parameter entfernen
-
-
-
- -
-
-
- Qt::Orientation::Horizontal
-
-
-
- 40
- 20
-
-
-
-
-
+
+
+ Geerbte XSLT-Parameter (nur anzeigen)
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ QFrame::Shape::NoFrame
+
+
+ QAbstractItemView::EditTrigger::NoEditTriggers
+
+
+ 2
+
+
+ true
+
+
+
+ Parameter
+
+
+
+
+ Wert
+
+
+
+
+
+
-
-
-
- Geerbte XSLT-Parameter (nur anzeigen)
+
+
+ Alle XML-Dateien neu transformieren (force)
-
-
-
-
-
- QAbstractItemView::EditTrigger::NoEditTriggers
-
-
- 2
-
-
- true
-
-
-
- Parameter
-
-
-
-
- Wert
-
-
-
-
-
-
diff --git a/src/ui/XslFileEditDialog_ui.py b/src/ui/XslFileEditDialog_ui.py
index 0b5b49c..3987e21 100644
--- a/src/ui/XslFileEditDialog_ui.py
+++ b/src/ui/XslFileEditDialog_ui.py
@@ -1,140 +1,169 @@
-# -*- 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.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
- self.parentParamsTable.setColumnCount(2)
- 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"Geerbte XSLT-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
-
+# -*- coding: utf-8 -*-
+
+################################################################################
+## Form generated from reading UI file 'XslFileEditDialog.ui'
+##
+## Created by: Qt User Interface Compiler version 6.9.2
+##
+## 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, QCheckBox,
+ QDialog, QDialogButtonBox, QFormLayout, QFrame,
+ 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(865, 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.frame = QFrame(XslFileEditDialog)
+ self.frame.setObjectName(u"frame")
+ self.frame.setFrameShape(QFrame.Shape.NoFrame)
+ self.frame.setFrameShadow(QFrame.Shadow.Raised)
+ self.horizontalLayout = QHBoxLayout(self.frame)
+ self.horizontalLayout.setObjectName(u"horizontalLayout")
+ self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
+ self.xsltParamsGroupBox = QGroupBox(self.frame)
+ self.xsltParamsGroupBox.setObjectName(u"xsltParamsGroupBox")
+ self.xsltParamsLayout = QVBoxLayout(self.xsltParamsGroupBox)
+ self.xsltParamsLayout.setObjectName(u"xsltParamsLayout")
+ self.xsltParamsLayout.setContentsMargins(0, 0, 0, 0)
+ 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.setFrameShape(QFrame.Shape.NoFrame)
+ self.xsltParamsTable.setColumnCount(2)
+ self.xsltParamsTable.horizontalHeader().setVisible(True)
+
+ self.xsltParamsLayout.addWidget(self.xsltParamsTable)
+
+ self.xsltParamsButtonLayout = QHBoxLayout()
+ self.xsltParamsButtonLayout.setObjectName(u"xsltParamsButtonLayout")
+ self.horizontalSpacer_2 = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
+
+ self.xsltParamsButtonLayout.addItem(self.horizontalSpacer_2)
+
+ self.addParamButton = QPushButton(self.xsltParamsGroupBox)
+ self.addParamButton.setObjectName(u"addParamButton")
+ icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListAdd))
+ self.addParamButton.setIcon(icon)
+
+ self.xsltParamsButtonLayout.addWidget(self.addParamButton)
+
+ self.removeParamButton = QPushButton(self.xsltParamsGroupBox)
+ self.removeParamButton.setObjectName(u"removeParamButton")
+ icon1 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.ListRemove))
+ self.removeParamButton.setIcon(icon1)
+
+ 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.horizontalLayout.addWidget(self.xsltParamsGroupBox)
+
+ self.parentParamsGroupBox = QGroupBox(self.frame)
+ self.parentParamsGroupBox.setObjectName(u"parentParamsGroupBox")
+ self.parentParamsLayout = QVBoxLayout(self.parentParamsGroupBox)
+ self.parentParamsLayout.setObjectName(u"parentParamsLayout")
+ self.parentParamsLayout.setContentsMargins(0, 0, 0, 0)
+ 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.setFrameShape(QFrame.Shape.NoFrame)
+ self.parentParamsTable.setEditTriggers(QAbstractItemView.EditTrigger.NoEditTriggers)
+ self.parentParamsTable.setColumnCount(2)
+ self.parentParamsTable.horizontalHeader().setVisible(True)
+
+ self.parentParamsLayout.addWidget(self.parentParamsTable)
+
+
+ self.horizontalLayout.addWidget(self.parentParamsGroupBox)
+
+
+ self.verticalLayout.addWidget(self.frame)
+
+ self.alle_xml_transformieren = QCheckBox(XslFileEditDialog)
+ self.alle_xml_transformieren.setObjectName(u"alle_xml_transformieren")
+
+ self.verticalLayout.addWidget(self.alle_xml_transformieren)
+
+ 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"Geerbte XSLT-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));
+ self.alle_xml_transformieren.setText(QCoreApplication.translate("XslFileEditDialog", u"Alle XML-Dateien neu transformieren (force)", None))
+ # retranslateUi
+