Skip to main content

ferroui_diagnostics/
lib.rs

1//! ferroui-diagnostics
2//!
3//! The developer tools of FerroUI, a port of the last open-source version of
4//! upstream's developer tools (docs/porting/DEVIATIONS.md, Developer tools): a window that
5//! shows the logical and visual trees of a running application, the
6//! properties of the selected control with their value sources and
7//! priorities, the styles and setters that apply to it, its layout, the
8//! routed events as they travel, and takes screenshots. It opens on F12 in
9//! a window or an application it is attached to ([`DevToolsExtensions`]).
10//!
11//! ```ignore
12//! window.attach_dev_tools();
13//! ```
14//!
15//! The window has the WinUI 3 theme of the port in its compact density
16//! (`ferroui-themes-winui`), where upstream has the Simple theme. The logical
17//! and visual trees, the tree of the routed events and the property grid of
18//! the control details are built on the TreeDataGrid of the port, where
19//! upstream has tree views and a copy of DataGrid compiled into its project
20//! (docs/porting/DEVIATIONS.md, Developer tools).
21
22// The compiled markup of a document names the types of this crate by the name of the crate.
23extern crate self as ferroui_diagnostics;
24
25mod dev_tools_extensions;
26pub mod diagnostics;
27mod register_types;
28mod rust_paths;
29
30// One module per compiled document and `compiled_markup` (the embedded assets, the loader table
31// of the crate and `register()`), which the build script of the crate generates
32// (docs/porting/xaml.md, 9.5.13 and 9.6).
33ferroui_markup_xaml::include_compiled_xaml!();
34
35pub use dev_tools_extensions::*;
36pub use register_types::{register_types, ASSEMBLY};
37
38#[cfg(test)]
39mod tests;