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
// Components for simple use of GTK+ Glade UI bindings in Rust // // Written in 2020 by // Dr. Maxim Orlovsky <dr.orlovsky@gmail.com> // // To the extent possible under law, the author(s) have dedicated all // copyright and related and neighboring rights to this software to // the public domain worldwide. This software is distributed without // any warranty. // // You should have received a copy of the MIT License // along with this software. // If not, see <https://opensource.org/licenses/MIT>. #![feature(try_trait)] #[macro_use] extern crate amplify_derive; mod error; pub use error::Error; use std::cell::RefCell; use std::rc::Rc; #[macro_export] macro_rules! glade_load { ($builder:ident, $file:literal) => { $builder.get_object($file).ok_or($crate::Error::ParseFailed) }; } pub trait View where Self: Sized, { fn load_glade() -> Result<Rc<RefCell<Self>>, Error>; }