from PyQt6.QtWidgets import QScrollArea, QWidget, QHBoxLayout from PyQt6.QtCore import Qt from app.ui.widgets.grid_widget import GridWidget from app.core.main_manager import MainManager, NotificationType from typing import Optional class EditingWindow(QWidget): def __init__(self, parent: Optional[QWidget] = None) -> None: super().__init__(parent) self.main_manager: MainManager = MainManager.get_instance() self.language_manager = self.main_manager.get_language_manager() self.settings_manager = self.main_manager.get_settings_manager() self.theme_manager = self.main_manager.get_theme_manager() self.observer_manager = self.main_manager.get_observer_manager() self.observer_manager.subscribe(NotificationType.LANGUAGE, self.update_language) self.setup_ui() def setup_ui(self) -> None: layout = QHBoxLayout(self) scroll_area = QScrollArea(self) scroll_area.setHorizontalScrollBarPolicy(Qt.ScrollBarPolicy.ScrollBarAlwaysOff) scroll_area.setWidgetResizable(True) grid_widget = GridWidget(parent=self) scroll_area.setWidget(grid_widget) layout.addWidget(scroll_area) def update_language(self) -> None: return