libpanel/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2
3pub use ffi;
4#[doc(hidden)]
5pub use gio;
6#[doc(hidden)]
7pub use glib;
8#[doc(hidden)]
9pub use gtk;
10
11/// Asserts that this is the main thread and `gtk::init` has been called.
12macro_rules! assert_initialized_main_thread {
13    () => {
14        if !::gtk::is_initialized_main_thread() {
15            if ::gtk::is_initialized() {
16                panic!("libpanel may only be used from the main thread.");
17            } else {
18                panic!("Gtk has to be initialized before using libpanel.");
19            }
20        }
21    };
22}
23
24macro_rules! skip_assert_initialized {
25    () => {};
26}
27
28#[allow(unused_imports)]
29mod auto;
30
31pub use auto::functions::*;
32pub use auto::*;
33
34pub mod builders {
35    pub use crate::auto::builders::*;
36}
37pub mod prelude;
38pub mod subclass;
39
40mod gsettings_action_group;
41mod layered_settings;
42pub use crate::layered_settings::LayeredBindingBuilder;
43mod menu_manager;
44mod save_delegate;
45mod session_item;
46mod settings;
47pub use crate::settings::BindingBuilder;