diff --git a/scripts/GUI.py b/scripts/GUI.py index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fa72517a3f048954e24985b691d4329606740fcd 100644 --- a/scripts/GUI.py +++ b/scripts/GUI.py @@ -0,0 +1,64 @@ +from PyQt6.QtWidgets import (QApplication, QMainWindow, QWidget, QVBoxLayout, + QTabWidget, QMessageBox, QGroupBox, QLabel) +from PyQt6.QtCore import Qt +import sys +import os + +# Add debug_tool to Python path for importing utilities +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +ROOT_DIR = os.path.dirname(SCRIPT_DIR) +DEBUG_TOOL_DIR = os.path.join(SCRIPT_DIR, 'debug_tool') +sys.path.append(DEBUG_TOOL_DIR) + +from debug_tool.utils.config_reader import ConfigReader +from simple_tab import SimpleTab +from advanced_tab import AdvancedTab + +class VRSceneCreatorGUI(QMainWindow): + def __init__(self): + super().__init__() + self.setWindowTitle("Immersive VR Scene Creator") + self.setGeometry(100, 100, 1600, 800) + + # Initialize paths + self.SCRIPT_DIR = SCRIPT_DIR + self.ROOT_DIR = ROOT_DIR + self.DEBUG_TOOL_DIR = DEBUG_TOOL_DIR + + # Read configuration + self.config_reader = ConfigReader(self.SCRIPT_DIR, self.ROOT_DIR) + + # Setup UI + self.setup_ui() + + def setup_ui(self): + # Create main widget and layout + main_widget = QWidget() + self.setCentralWidget(main_widget) + layout = QVBoxLayout(main_widget) + + # Add title/header + header_label = QLabel("Immersive VR Scene Creator") + header_label.setAlignment(Qt.AlignmentFlag.AlignCenter) + header_label.setStyleSheet("font-size: 24px; font-weight: bold; margin: 10px;") + layout.addWidget(header_label) + + # Create tab widget + self.tabs = QTabWidget() + layout.addWidget(self.tabs) + + # Initialize tabs + self.simple_tab = SimpleTab(self.config_reader) + self.advanced_tab = AdvancedTab(self.config_reader) + + self.tabs.addTab(self.simple_tab, "Simple Pipeline") + self.tabs.addTab(self.advanced_tab, "Advanced Options") + +def main(): + app = QApplication(sys.argv) + window = VRSceneCreatorGUI() + window.show() + sys.exit(app.exec()) + +if __name__ == "__main__": + main() \ No newline at end of file