Add value-pos to scale widget (#1285)

* Add value-pos to gtk scale

* add possible values to value-pos

* add value-pos change to CHANGELOG.md
This commit is contained in:
ipsvn 2025-02-16 15:46:18 +00:00 committed by GitHub
parent 29fa1587c3
commit 5b4cc3e7a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 0 deletions

View file

@ -35,6 +35,7 @@ All notable changes to eww will be listed here, starting at changes since versio
- Support empty string for safe access operator (By: ModProg) - Support empty string for safe access operator (By: ModProg)
- Add `log` function calls to simplexpr (By: topongo) - Add `log` function calls to simplexpr (By: topongo)
- Add `:lines` and `:wrap-mode` properties to label widget (By: vaporii) - Add `:lines` and `:wrap-mode` properties to label widget (By: vaporii)
- Add `value-pos` to scale widget (By: ipsvn)
## [0.6.0] (21.04.2024) ## [0.6.0] (21.04.2024)

View file

@ -459,6 +459,9 @@ fn build_gtk_scale(bargs: &mut BuilderArgs) -> Result<gtk::Scale> {
// @prop draw-value - draw the value of the property // @prop draw-value - draw the value of the property
prop(draw_value: as_bool = false) { gtk_widget.set_draw_value(draw_value) }, prop(draw_value: as_bool = false) { gtk_widget.set_draw_value(draw_value) },
// @prop value-pos - position of the drawn value. possible values: $position
prop(value_pos: as_string) { gtk_widget.set_value_pos(parse_position_type(&value_pos)?) },
// @prop round-digits - Sets the number of decimals to round the value to when it changes // @prop round-digits - Sets the number of decimals to round the value to when it changes
prop(round_digits: as_i32 = 0) { gtk_widget.set_round_digits(round_digits) } prop(round_digits: as_i32 = 0) { gtk_widget.set_round_digits(round_digits) }
@ -1381,6 +1384,16 @@ fn parse_justification(j: &str) -> Result<gtk::Justification> {
} }
} }
/// @var position - "left", "right", "top", "bottom"
fn parse_position_type(g: &str) -> Result<gtk::PositionType> {
enum_parse! { "position", g,
"left" => gtk::PositionType::Left,
"right" => gtk::PositionType::Right,
"top" => gtk::PositionType::Top,
"bottom" => gtk::PositionType::Bottom,
}
}
/// @var gravity - "south", "east", "west", "north", "auto" /// @var gravity - "south", "east", "west", "north", "auto"
fn parse_gravity(g: &str) -> Result<gtk::pango::Gravity> { fn parse_gravity(g: &str) -> Result<gtk::pango::Gravity> {
enum_parse! { "gravity", g, enum_parse! { "gravity", g,