Files
BondGraph/BEdit/src/bedit/component_options_dialog.py
2026-07-19 21:26:27 +02:00

32 lines
1.3 KiB
Python

from PySide6.QtGui import QColor
from PySide6.QtWidgets import QDialog, QMessageBox
from bedit.document.model import Component
from bedit.ui_component_options_dialog import Ui_ComponentOptionsDialog
class ComponentOptionsDialog(QDialog):
def __init__(self, component: Component, parent=None) -> None:
super().__init__(parent)
self.ui = Ui_ComponentOptionsDialog()
self.ui.setupUi(self)
self.ui.nameEdit.setText(component.name)
self.ui.shapeCombo.setCurrentText(component.icon.shape)
self.ui.iconTextEdit.setText(component.icon.text)
self.ui.fillEdit.setText(component.icon.fill)
self.ui.borderEdit.setText(component.icon.border)
self.ui.showSubtreeCheckBox.setChecked(component.show_subtree_in_library)
def accept(self) -> None:
if not self.ui.nameEdit.text().strip():
QMessageBox.warning(self, "Invalid name", "The component name cannot be empty.")
return
for label, value in (
("fill", self.ui.fillEdit.text()),
("border", self.ui.borderEdit.text()),
):
if not QColor(value).isValid():
QMessageBox.warning(self, "Invalid color", f"The {label} color is not valid.")
return
super().accept()