Make horizontal_space and vertical_space fill by default
This commit is contained in:
parent
9dd20ead08
commit
e8049af23d
16 changed files with 54 additions and 46 deletions
|
|
@ -68,7 +68,7 @@ impl Sandbox for Example {
|
|||
text(&self.text),
|
||||
"What is your language?",
|
||||
combo_box,
|
||||
vertical_space(150),
|
||||
vertical_space().height(150),
|
||||
]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Center)
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ impl Application for Editor {
|
|||
"Save file",
|
||||
self.is_dirty.then_some(Message::SaveFile)
|
||||
),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
pick_list(
|
||||
highlighter::Theme::ALL,
|
||||
Some(self.theme),
|
||||
|
|
@ -179,7 +179,7 @@ impl Application for Editor {
|
|||
} else {
|
||||
String::from("New file")
|
||||
}),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
text({
|
||||
let (line, column) = self.content.cursor_position();
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ impl Sandbox for Gradient {
|
|||
transparent,
|
||||
} = *self;
|
||||
|
||||
let gradient_box = container(horizontal_space(Length::Fill))
|
||||
let gradient_box = container(horizontal_space())
|
||||
.width(Length::Fill)
|
||||
.height(Length::Fill)
|
||||
.style(move |_: &_| {
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ impl Application for Layout {
|
|||
fn view(&self) -> Element<Message> {
|
||||
let header = row![
|
||||
text(self.example.title).size(20).font(Font::MONOSPACE),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
checkbox("Explain", self.explain)
|
||||
.on_toggle(Message::ExplainToggled),
|
||||
pick_list(Theme::ALL, Some(&self.theme), Message::ThemeSelected),
|
||||
|
|
@ -117,7 +117,7 @@ impl Application for Layout {
|
|||
.on_press(Message::Previous)
|
||||
.into(),
|
||||
),
|
||||
Some(horizontal_space(Length::Fill).into()),
|
||||
Some(horizontal_space().into()),
|
||||
(!self.example.is_last()).then_some(
|
||||
button("Next →")
|
||||
.padding([5, 10])
|
||||
|
|
@ -251,16 +251,16 @@ fn row_<'a>() -> Element<'a, Message> {
|
|||
}
|
||||
|
||||
fn space<'a>() -> Element<'a, Message> {
|
||||
row!["Left!", horizontal_space(Length::Fill), "Right!"].into()
|
||||
row!["Left!", horizontal_space(), "Right!"].into()
|
||||
}
|
||||
|
||||
fn application<'a>() -> Element<'a, Message> {
|
||||
let header = container(
|
||||
row![
|
||||
square(40),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
"Header!",
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
square(40),
|
||||
]
|
||||
.padding(10)
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ impl Sandbox for App {
|
|||
row![
|
||||
text(&item.name)
|
||||
.style(theme::Text::Color(item.color.into())),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
pick_list(Color::ALL, Some(item.color), move |color| {
|
||||
Message::ItemColorChanged(item.clone(), color)
|
||||
}),
|
||||
|
|
|
|||
|
|
@ -111,11 +111,7 @@ impl Application for App {
|
|||
fn view(&self) -> Element<Message> {
|
||||
let content = container(
|
||||
column![
|
||||
row![
|
||||
text("Top Left"),
|
||||
horizontal_space(Length::Fill),
|
||||
text("Top Right")
|
||||
]
|
||||
row![text("Top Left"), horizontal_space(), text("Top Right")]
|
||||
.align_items(Alignment::Start)
|
||||
.height(Length::Fill),
|
||||
container(
|
||||
|
|
@ -127,7 +123,7 @@ impl Application for App {
|
|||
.height(Length::Fill),
|
||||
row![
|
||||
text("Bottom Left"),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
text("Bottom Right")
|
||||
]
|
||||
.align_items(Alignment::End)
|
||||
|
|
|
|||
|
|
@ -43,10 +43,10 @@ impl Sandbox for Example {
|
|||
.placeholder("Choose a language...");
|
||||
|
||||
let content = column![
|
||||
vertical_space(600),
|
||||
vertical_space().height(600),
|
||||
"Which is your favorite language?",
|
||||
pick_list,
|
||||
vertical_space(600),
|
||||
vertical_space().height(600),
|
||||
]
|
||||
.width(Length::Fill)
|
||||
.align_items(Alignment::Center)
|
||||
|
|
|
|||
|
|
@ -216,9 +216,9 @@ impl Application for ScrollableDemo {
|
|||
column![
|
||||
scroll_to_end_button(),
|
||||
text("Beginning!"),
|
||||
vertical_space(1200),
|
||||
vertical_space().height(1200),
|
||||
text("Middle!"),
|
||||
vertical_space(1200),
|
||||
vertical_space().height(1200),
|
||||
text("End!"),
|
||||
scroll_to_beginning_button(),
|
||||
]
|
||||
|
|
@ -241,9 +241,9 @@ impl Application for ScrollableDemo {
|
|||
row![
|
||||
scroll_to_end_button(),
|
||||
text("Beginning!"),
|
||||
horizontal_space(1200),
|
||||
horizontal_space().width(1200),
|
||||
text("Middle!"),
|
||||
horizontal_space(1200),
|
||||
horizontal_space().width(1200),
|
||||
text("End!"),
|
||||
scroll_to_beginning_button(),
|
||||
]
|
||||
|
|
@ -268,25 +268,25 @@ impl Application for ScrollableDemo {
|
|||
row![
|
||||
column![
|
||||
text("Let's do some scrolling!"),
|
||||
vertical_space(2400)
|
||||
vertical_space().height(2400)
|
||||
],
|
||||
scroll_to_end_button(),
|
||||
text("Horizontal - Beginning!"),
|
||||
horizontal_space(1200),
|
||||
horizontal_space().width(1200),
|
||||
//vertical content
|
||||
column![
|
||||
text("Horizontal - Middle!"),
|
||||
scroll_to_end_button(),
|
||||
text("Vertical - Beginning!"),
|
||||
vertical_space(1200),
|
||||
vertical_space().height(1200),
|
||||
text("Vertical - Middle!"),
|
||||
vertical_space(1200),
|
||||
vertical_space().height(1200),
|
||||
text("Vertical - End!"),
|
||||
scroll_to_beginning_button(),
|
||||
vertical_space(40),
|
||||
vertical_space().height(40),
|
||||
]
|
||||
.spacing(40),
|
||||
horizontal_space(1200),
|
||||
horizontal_space().width(1200),
|
||||
text("Horizontal - End!"),
|
||||
scroll_to_beginning_button(),
|
||||
]
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ impl Sandbox for Styling {
|
|||
|
||||
let scrollable = scrollable(column![
|
||||
"Scroll me!",
|
||||
vertical_space(800),
|
||||
vertical_space().height(800),
|
||||
"You did it!"
|
||||
])
|
||||
.width(Length::Fill)
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ mod toast {
|
|||
container(
|
||||
row![
|
||||
text(toast.title.as_str()),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
button("X")
|
||||
.on_press((on_close)(index))
|
||||
.padding(3),
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ impl Sandbox for Tour {
|
|||
);
|
||||
}
|
||||
|
||||
controls = controls.push(horizontal_space(Length::Fill));
|
||||
controls = controls.push(horizontal_space());
|
||||
|
||||
if steps.can_continue() {
|
||||
controls =
|
||||
|
|
@ -574,14 +574,14 @@ impl<'a> Step {
|
|||
text("Tip: You can use the scrollbar to scroll down faster!")
|
||||
.size(16),
|
||||
)
|
||||
.push(vertical_space(4096))
|
||||
.push(vertical_space().height(4096))
|
||||
.push(
|
||||
text("You are halfway there!")
|
||||
.width(Length::Fill)
|
||||
.size(30)
|
||||
.horizontal_alignment(alignment::Horizontal::Center),
|
||||
)
|
||||
.push(vertical_space(4096))
|
||||
.push(vertical_space().height(4096))
|
||||
.push(ferris(300, image::FilterMethod::Linear))
|
||||
.push(
|
||||
text("You made it!")
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ impl Sandbox for VectorialText {
|
|||
column![
|
||||
row![
|
||||
text(label),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
text(format!("{:.2}", value))
|
||||
],
|
||||
slider(range, value, message).step(0.01)
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ impl Application for Example {
|
|||
let data_row = |label, value, color| {
|
||||
row![
|
||||
text(label),
|
||||
horizontal_space(Length::Fill),
|
||||
horizontal_space(),
|
||||
text(value).font(Font::MONOSPACE).size(14).style(color),
|
||||
]
|
||||
.height(40)
|
||||
|
|
@ -127,21 +127,21 @@ impl Application for Example {
|
|||
scrollable(
|
||||
column![
|
||||
text("Scroll me!"),
|
||||
vertical_space(400),
|
||||
vertical_space().height(400),
|
||||
container(text("I am the outer container!"))
|
||||
.id(OUTER_CONTAINER.clone())
|
||||
.padding(40)
|
||||
.style(theme::Container::Box),
|
||||
vertical_space(400),
|
||||
vertical_space().height(400),
|
||||
scrollable(
|
||||
column![
|
||||
text("Scroll me!"),
|
||||
vertical_space(400),
|
||||
vertical_space().height(400),
|
||||
container(text("I am the inner container!"))
|
||||
.id(INNER_CONTAINER.clone())
|
||||
.padding(40)
|
||||
.style(theme::Container::Box),
|
||||
vertical_space(400)
|
||||
vertical_space().height(400),
|
||||
]
|
||||
.padding(20)
|
||||
)
|
||||
|
|
|
|||
|
|
@ -305,15 +305,15 @@ where
|
|||
/// Creates a new horizontal [`Space`] with the given [`Length`].
|
||||
///
|
||||
/// [`Space`]: crate::Space
|
||||
pub fn horizontal_space(width: impl Into<Length>) -> Space {
|
||||
Space::with_width(width)
|
||||
pub fn horizontal_space() -> Space {
|
||||
Space::with_width(Length::Fill)
|
||||
}
|
||||
|
||||
/// Creates a new vertical [`Space`] with the given [`Length`].
|
||||
///
|
||||
/// [`Space`]: crate::Space
|
||||
pub fn vertical_space(height: impl Into<Length>) -> Space {
|
||||
Space::with_height(height)
|
||||
pub fn vertical_space() -> Space {
|
||||
Space::with_height(Length::Fill)
|
||||
}
|
||||
|
||||
/// Creates a horizontal [`Rule`] with the given height.
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ where
|
|||
content: RefCell::new(Content {
|
||||
size: Size::ZERO,
|
||||
layout: None,
|
||||
element: Element::new(horizontal_space(0)),
|
||||
element: Element::new(horizontal_space().width(0)),
|
||||
}),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,18 @@ impl Space {
|
|||
height: height.into(),
|
||||
}
|
||||
}
|
||||
|
||||
/// Sets the width of the [`Space`].
|
||||
pub fn width(mut self, width: impl Into<Length>) -> Self {
|
||||
self.width = width.into();
|
||||
self
|
||||
}
|
||||
|
||||
/// Sets the height of the [`Space`].
|
||||
pub fn height(mut self, height: impl Into<Length>) -> Self {
|
||||
self.height = height.into();
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl<Message, Theme, Renderer> Widget<Message, Theme, Renderer> for Space
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue