grx 0.3.2

Abstraction layer for UI development
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use std::rc::Rc;

use gtk::prelude::WidgetExt;

use crate::Component;

pub fn apply(component: Component) {
    let props = component.props();
    let widget: Rc<gtk::Widget> = component.inner().downcast().unwrap();
    if let Some(id) = props.id() {
        widget.set_widget_name(id);
    }
    if let Some(classes) = props.classes() {
        for cls in classes.split(' ') {
            widget.add_css_class(cls);
        }
    }
}