1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
//! # System Module
//!
//! The system module provides core functionality for managing the application runtime, including:
//! - Application lifecycle management
//! - Event handling and processing
//! - Timer management
//! - Background task execution
//! - Theme management
//! - Menu and control handle management
//!
//! ## Key Components
//!
//! ### Application Structure
//! The `App` structure is the main entry point for creating and managing applications:
//! - Provides a builder pattern for application configuration
//! - Manages the application's lifecycle (initialization, running, shutdown)
//! - Handles window management and modal dialogs
//! - Controls the application's event loop
//! - Manages application-wide resources and state
//!
//! ### Handle System
//! The `Handle<T>` generic type provides a type-safe way to reference and manage UI components:
//! - Type-safe references to UI controls, menus, and other components
//! - Unique identification of components across the application
//! - Safe component lifecycle management
//! - Support for component hierarchy and relationships
//! - Thread-safe component access
//!
//! ### Clipboard System
//! The `Clipboard` structure provides system-wide clipboard functionality:
//! - Text-based clipboard operations
//! - Thread-safe clipboard access
//! - Platform-independent clipboard management
//! - Integration with terminal capabilities
//!
//! ### Timer System
//! The timer system provides functionality for scheduling and managing timed events:
//! - Create and manage multiple timers
//! - Control timer states (running, paused, stopped)
//! - Handle timer events and callbacks
//! - Thread-safe timer operations
//!
//! ### Background Tasks
//! The background task system enables asynchronous operations:
//! - Execute tasks in separate threads
//! - Communicate between main and background threads
//! - Handle task lifecycle events
//! - Manage task state and results
//!
//! ### Theme Management
//! The theme system provides consistent styling across the application:
//! - Predefined themes (Default, Dark Gray, Light)
//! - Custom theme creation
//! - Menu-specific theming
//! - Color and style management
//!
//! ## Error Handling
//! The system module provides error handling through the `Error` type:
//! - `InitializationFailure`: Failed to initialize system components
//! - `InvalidFeature`: Requested feature is not available
//! - `InvalidParameter`: Invalid parameter provided to system functions
//!
//! ## Thread Safety
//! The system module is designed to be thread-safe:
//! - Safe concurrent access to shared resources
//! - Thread-safe event handling
//! - Synchronized timer operations
//! - Protected background task execution
pub use ControlHandleManager;
pub use Handle;
pub use HandleSupport;
pub use MenuHandleManager;
pub use ThemeMethods;
pub use MenuTheme;
pub use Theme;
pub use Themes;
pub use App;
pub use BackgroundTask;
pub use BackgroundTaskConector;
pub use Builder;
pub use Clipboard;
pub use Error;
pub use ErrorKind;
pub use RuntimeManager;
pub use LayoutMethods;
pub use PaintMethods;
pub use TimerMethods;
pub use Timer;
pub use ToolTip;
pub use KeyPressedEvent;
pub use KeyModifierChangedEvent;
pub use MouseButtonDownEvent;
pub use MouseButtonUpEvent;
pub use MouseDoubleClickEvent;
pub use MouseMoveEvent;
pub use MouseWheelEvent;
pub use SystemEvent;
pub use TimerPausedEvent;
pub use TimerStartEvent;
pub use TimerTickUpdateEvent;