All Projects → MicroJoe → gladis

MicroJoe / gladis

Licence: other
[Deprecated] Easily import Glade-generated UI files into Rust code.

Programming Languages

rust
11053 projects

Labels

Projects that are alternatives of or similar to gladis

onboarding
Onboarding app for new users
Stars: ✭ 47 (+74.07%)
Mutual labels:  gtk
csv-viewer
Viewer for tabular data files
Stars: ✭ 14 (-48.15%)
Mutual labels:  gtk
elementaryOS-devbook
Design and build apps for elementary OS.
Stars: ✭ 61 (+125.93%)
Mutual labels:  gtk
Gjs-Tutorial
A tutorial for Gjs/GTK+ 3 development, based on https://github.com/sebp/PyGObject-Tutorial
Stars: ✭ 15 (-44.44%)
Mutual labels:  gtk
gmrun
A run utiliy featuring a slim design and bash style auto-completion.
Stars: ✭ 35 (+29.63%)
Mutual labels:  gtk
Slate-theme
GTK Mac-like theme for cleaner and flat-er look.
Stars: ✭ 14 (-48.15%)
Mutual labels:  gtk
VSS-Vision
Sistema de visão computacional para rastrear objetos em um campo de futebol.
Stars: ✭ 16 (-40.74%)
Mutual labels:  gtk
AdwaitaExtended
A modified default GNOME/GTK theme with some extras/enhancements/additions.
Stars: ✭ 35 (+29.63%)
Mutual labels:  gtk
badger
Remind yourself to not sit and stare at the screen for too long
Stars: ✭ 48 (+77.78%)
Mutual labels:  gtk
szyszka
Szyszka is fast and powerful file renamer
Stars: ✭ 649 (+2303.7%)
Mutual labels:  gtk
gnome-gtk3
Interfacing Perl6 to Gnome GTK+
Stars: ✭ 15 (-44.44%)
Mutual labels:  gtk
camera
Camera app designed for elementary OS
Stars: ✭ 63 (+133.33%)
Mutual labels:  gtk
proxychanger
Go tool to change system and applications proxy
Stars: ✭ 15 (-44.44%)
Mutual labels:  gtk
libadwaita
Libadwaita's widgets for Flutter. Following Gnome HIG and available on all platforms.
Stars: ✭ 171 (+533.33%)
Mutual labels:  gtk
Spreadsheet
A spreadsheet app designed for elementary OS
Stars: ✭ 66 (+144.44%)
Mutual labels:  gtk
gui-python-gtk
Repositório criado para documentar e centralizar conteúdos, dicas, tutoriais e exemplos de código sobre a construção de interfaces com a linguagem de programação Python (PyGObject) e o toolkit gráfico Gtk 4.
Stars: ✭ 85 (+214.81%)
Mutual labels:  gtk
dopewars
Game simulating the life of a drug dealer in New York
Stars: ✭ 47 (+74.07%)
Mutual labels:  gtk
gtk-sni-tray
A StatusNotifierHost widget written using the gtk+3 bindings for haskell provided by gi-gtk.
Stars: ✭ 24 (-11.11%)
Mutual labels:  gtk
Curtail
Simple & useful image compressor.
Stars: ✭ 246 (+811.11%)
Mutual labels:  gtk
notifications
Gtk Notifications Server
Stars: ✭ 39 (+44.44%)
Mutual labels:  gtk

gladis

Maintenance status is "deprecated" Build Latest version Documentation License REUSE status

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].