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 +