|
RADLib
RADical C++ application framework
|
RADUi provides backend-neutral UI dispatching, reusable UI state models, Slint backend integration, plotting, terminal helpers, and an application-shell layer for desktop and embedded tools.
RADAppKit.h adds models for IDE-style applications:
AppShellModel combines menus, toolbars, status bars, docks, documents, commands, and notifications.DockLayoutModel stores visible/selected panels and serializes layouts.DocumentWorkspaceModel tracks open tabs, active tab, and modified state.CommandPaletteModel filters and triggers commands.NotificationModel stores toasts/status messages and action ids.VirtualTableModel, FileBrowserModel, LogViewModel, SearchBoxModel, and ProgressModel cover common tool surfaces.RADTheme.h adds Theme, ThemeManager, and JSON persistence for color, spacing, typography, radius, toolbar, status bar, and icon-name tokens.
Use RADUi::Slint::bindTheme() to push theme changes into generated Slint components while keeping the C++ state backend-neutral.
Slint remains the first concrete backend. Slint-specific helpers live under RADUi::Slint and should adapt generated components to backend-neutral RADUi models rather than storing application state directly in .slint files.
The beta SDK includes developer-tool examples:
RADStudioExample: IDE-style app shell with project tree, editor, terminal, browser/docs pane, output, commands, notifications, and theme switching.RADUiSlintTextEditor, RADUiSlintTerminal, and RADWebBrowserExample: standalone developer tools.RADEmbeddedDashboard, RADSerialMonitorUi, RADNetworkMonitorUi, and RADLogViewerUi: embedded/device and diagnostics surfaces.OpenGL plot acceleration is available as an experimental mode; software rendering remains the compatibility path.