15 releases (6 stable)
2.1.2 | May 12, 2022 |
---|---|
2.0.0 | Feb 17, 2022 |
1.0.1 | Sep 20, 2021 |
1.0.0 | Jul 5, 2021 |
0.4.0 | Jul 30, 2020 |
#195 in #gnome
80 downloads per month
Used in 3 crates
16KB
90 lines
gladis
Easily import Glade-generated UI files into Rust code.
This crate is DEPRECATED.
Use CompositeTemplate
from gtk3-macros
or gtk4-macros official GTK crates.
Usage
In order to use Gladis, you have to add the following dependencies into your
project's Cargo.toml
file:
[dependencies]
gladis = "2.1.2"
After this is done, you can enjoy the Gladis derive!
#[derive(Gladis, Clone)]
pub struct Window {
pub window: gtk::ApplicationWindow,
pub label: gtk::Label,
}
impl Window {
pub fn new() -> Self {
Self::from_resource("/dev/null/hello_builder/window.ui").unwrap()
}
}
Without Gladis, you would have to manually parse each of the Glade entries.
pub struct Window {
pub window: gtk::ApplicationWindow,
pub label: gtk::Label,
}
impl Window {
pub fn new() -> Self {
let builder = gtk::Builder::from_resource("/dev/null/hello_builder/window.ui");
let window: gtk::ApplicationWindow = builder
.object("window")
.expect("Failed to find the window object");
let label: gtk::Label = builder
.object("label")
.expect("Failed to find the label object");
Self { window, label }
}
}
Relm support
This crate is compatible with Relm, a
popular framework for writing UIs with GTK+. See the examples/relm
directory,
and give it a shot!
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~17MB
~401K SLoC