diff --git a/src/widgets/widget_definitions.rs b/src/widgets/widget_definitions.rs index 50867c3..cef7776 100644 --- a/src/widgets/widget_definitions.rs +++ b/src/widgets/widget_definitions.rs @@ -293,19 +293,18 @@ fn build_gtk_box(bargs: &mut BuilderArgs) -> Result { /// @widget label fn build_gtk_label(bargs: &mut BuilderArgs) -> Result { let gtk_widget = gtk::Label::new(None); + resolve_block!(bargs, gtk_widget, { // @prop text - the text to display - prop(text: as_string) { - gtk_widget.set_text(&text); + // @prop limit-width - maximum count of characters to display + prop(text: as_string, limit_width: as_i32 = i32::MAX) { + gtk_widget.set_text(&text.chars().take(limit_width as usize).collect::()); }, // @prop markup - Pango markup to display prop(markup: as_string) { gtk_widget.set_markup(&markup); }, - // @prop limit-width - maximum count of characters to display - prop(limit_width: as_i32) { - gtk_widget.set_max_width_chars(limit_width); - }, + // @prop wrap - Wrap the text. This mainly makes sense if you set the width of this widget. prop(wrap: as_bool) { gtk_widget.set_line_wrap(wrap) }