"""Main window for Obsidian Tools application.""" from PyQt6.QtWidgets import QMainWindow, QTabWidget, QWidget, QVBoxLayout from PyQt6.QtCore import Qt from gui.aggregator_tab import AggregatorTab from gui.splitter_tab import SplitterTab class MainWindow(QMainWindow): """Main application window with tabbed interface.""" def __init__(self): """Initialize the main window.""" super().__init__() self.init_ui() def init_ui(self): """Initialize the user interface.""" # Window properties self.setWindowTitle("Obsidian Tools") self.setGeometry(100, 100, 700, 500) # Create central widget and layout central_widget = QWidget() self.setCentralWidget(central_widget) layout = QVBoxLayout(central_widget) layout.setContentsMargins(10, 10, 10, 10) # Create tab widget tab_widget = QTabWidget() layout.addWidget(tab_widget) # Add tabs self.aggregator_tab = AggregatorTab() self.splitter_tab = SplitterTab() tab_widget.addTab(self.aggregator_tab, "Aggregator") tab_widget.addTab(self.splitter_tab, "Splitter") # Set minimum size self.setMinimumSize(600, 400)