-
Notifications
You must be signed in to change notification settings - Fork 142
Description
the number_input
widget has two functions for setting the width (width
& content_width
). and as far as i call tell its also the only widget that has content_width
setting none or both (of width
& content_width
) to Fill
works as expected, but using only one of them can result in (imo) surprising/wrong behaviour
as an example having two elements in a row
, a number_input
and a button
(that is set to Fill
):
let txt_minute = number_input(self.value, 0..999999, Message::NumInpChanged)
.style(number_input::number_input::primary)
// .width(Length::Fill)
// .content_width(Length::Fill)
.padding(0);
let btn_btn = Button::new(Text::new("Button"))
.width(Length::Fill)
.height(Length::Fill);
let content = Row::new()
.push(txt_minute)
.push(btn_btn)
.align_y(Vertical::Center);
left: default width; right: setting only width
to Fill
; they work as exepcted
but if they each are in a column
(together in a row
)
let content = Row::new()
.push(Column::new().push(txt_minute))
.push(Column::new().push(btn_btn))
.align_y(Vertical::Center);
then the number_input
will only render as if not set to Fill
, but with the column as Fill
and setting only content_width
to Fill
will take up all space (in both row and rowcol layouts)
im also wondering why there are both width
and content_width
functions, other settings like padding
only have one and set the property on both the number_input
and the text_input
content.