feat: add text and show_text prop to progressbar widget

This commit is contained in:
Byson94
2025-12-09 18:34:44 +05:30
parent a14e559c80
commit 2cbf64e250
3 changed files with 15 additions and 12 deletions

View File

@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/).
- `placeholder` property to input widget.
- `transition_duration` property to stack widget.
- `widget_control` utility function for dynamic widget handling.
- `text` and `show_text` property to progressbar widget.
## [0.3.1] - 2025-11-01

7
Cargo.lock generated
View File

@@ -526,13 +526,6 @@ dependencies = [
"x11rb",
]
[[package]]
name = "ewwii_anims"
version = "0.1.0"
dependencies = [
"gtk4",
]
[[package]]
name = "ewwii_plugin_api"
version = "0.7.0"

View File

@@ -1445,7 +1445,15 @@ pub(super) fn build_gtk_progress(
}
if let Ok(bar_value) = get_f64_prop(&props, "value", None) {
widget.set_fraction(bar_value / 100f64)
widget.set_fraction(bar_value / 100f64);
}
if let Ok(bar_text) = get_string_prop(&props, "text", None) {
widget.set_text(Some(&bar_text));
}
if let Ok(show_text) = get_bool_prop(&props, "show_text", None) {
widget.set_show_text(show_text);
}
Ok(())
@@ -2636,17 +2644,18 @@ pub(super) fn resolve_rhai_widget_attrs(gtk_widget: &gtk4::Widget, props: &Map)
}
}
let css_provider = gtk4::CssProvider::new();
let css_provider2 = css_provider.clone();
if let Ok(style_str) = get_string_prop(&props, "style", None) {
let css_provider = gtk4::CssProvider::new();
let scss = format!("* {{ {} }}", style_str);
css_provider.load_from_data(&grass::from_string(scss, &grass::Options::default())?);
gtk_widget.style_context().add_provider(&css_provider, 950);
}
if let Ok(css_str) = get_string_prop(&props, "css", None) {
let css_provider = gtk4::CssProvider::new();
css_provider.load_from_data(&grass::from_string(css_str, &grass::Options::default())?);
gtk_widget.style_context().add_provider(&css_provider, 950);
css_provider2.load_from_data(&grass::from_string(css_str, &grass::Options::default())?);
gtk_widget.style_context().add_provider(&css_provider2, 950);
}
if let Ok(valign) = get_string_prop(&props, "valign", None) {