GUI Integration
Overview
The GUI Integration module (FreeWorldSystem class) ties all GUI subsystems together, providing a unified entry point that initializes and connects all components. It ensures proper initialization order and subsystem communication.
Initialized Subsystems
The FreeWorldSystem class initializes the following subsystems:
- Error Manager - System-wide error handling
- Security Manager - Security and permissions
- Resource Manager - Global resource registry
- Window Manager - Window creation and management
- Compositor - Window compositing and rendering
- Input Manager - Mouse and keyboard input
- Clipboard - System clipboard
- Drag & Drop Manager - Drag and drop functionality
- Window Relationships - Parent-child window management
- Menu Loop - Menu system
- Non-Client Area - Window frames and controls
- Timer Manager - System timers
- Property Manager - Window properties
- Hook Manager - System hooks
- Focus Manager - Window focus and activation
- Object Manager - Handle management
- Path Parser - Path resolution
- Registry - System registry
- File System Watcher - File change notifications
- Desktop - Desktop window
- Taskbar - Taskbar window
- Shell Execute - Application launching
- Event Manager - System event logging
- Event Bus - Event communication
- Services Manager - Service management
- Task Manager - Process monitoring
Subsystem Connections
The integration module connects subsystems together:
- Compositor ↔ Window Manager: Window position and visibility information
- Input Manager ↔ Window Manager: Message delivery to windows
- Window Relationships ↔ Window Manager: Parent-child relationships
- Focus Manager ↔ Window Manager: Window activation and focus
- Event Manager ↔ Event Bus: Event logging and routing
- Services Manager ↔ Event Bus: Service event handling
Usage
const FreeWorldSystem = require('./system/integration');
// Initialize the system
const system = new FreeWorldSystem();
// Start the system
system.init();
// Access subsystems
const windowManager = system.windowManager;
const compositor = system.compositor;
const inputManager = system.inputManager;
// Shutdown
system.shutdown();
Related Documentation
- System Integration - Overall system integration
- Device Context - Rendering surfaces
- Compositor - Window compositing
- Input Manager - Input handling
- Window Management - Window system