Skip to main content

runmat_plot/gui/
mod.rs

1//! GUI components for interactive plotting
2//!
3//! Provides interactive controls, widgets, and GUI layout
4//! for desktop plotting applications.
5
6#[cfg(feature = "gui")]
7pub mod controls;
8
9#[cfg(feature = "gui")]
10pub mod lifecycle;
11pub mod native_window;
12#[cfg(feature = "egui-overlay")]
13pub use crate::overlay::plot_overlay;
14pub mod single_window_manager; // V8-caliber single window management
15pub mod thread_manager; // Robust thread management
16#[cfg(feature = "gui")]
17pub mod widgets;
18#[cfg(feature = "gui")]
19pub mod window;
20#[cfg(feature = "gui")]
21pub mod window_impl; // Cross-platform native window management
22
23#[cfg(feature = "egui-overlay")]
24pub use crate::overlay::plot_overlay::PlotOverlay;
25#[cfg(feature = "gui")]
26pub use controls::PlotControls;
27#[cfg(feature = "gui")]
28pub use window::*;
29
30// Legacy IPC exports (deprecated)
31// Legacy IPC system removed - using sequential window manager instead
32
33// Thread manager exports
34pub use thread_manager::{
35    get_gui_manager, health_check_global, initialize_gui_manager, is_main_thread,
36    register_main_thread, show_plot_global, show_plot_global_with_signal, GuiErrorCode,
37    GuiOperationResult, GuiThreadManager,
38};
39
40// Native window exports
41pub use native_window::{
42    initialize_native_window, is_native_window_available, show_plot_native_window,
43    show_plot_native_window_with_signal, NativeWindowManager, NativeWindowResult,
44};
45
46// Single window manager exports
47pub use single_window_manager::{is_window_available, show_plot_sequential};