Add from_vec method to Column and Row
This commit is contained in:
parent
9f0bbf6020
commit
e60dabddef
2 changed files with 45 additions and 19 deletions
|
|
@ -30,16 +30,7 @@ where
|
||||||
{
|
{
|
||||||
/// Creates an empty [`Column`].
|
/// Creates an empty [`Column`].
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Column {
|
Self::from_vec(Vec::new())
|
||||||
spacing: 0.0,
|
|
||||||
padding: Padding::ZERO,
|
|
||||||
width: Length::Shrink,
|
|
||||||
height: Length::Shrink,
|
|
||||||
max_width: f32::INFINITY,
|
|
||||||
align_items: Alignment::Start,
|
|
||||||
clip: false,
|
|
||||||
children: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Creates a [`Column`] with the given elements.
|
/// Creates a [`Column`] with the given elements.
|
||||||
|
|
@ -49,6 +40,28 @@ where
|
||||||
Self::new().extend(children)
|
Self::new().extend(children)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Creates a [`Column`] from an already allocated [`Vec`].
|
||||||
|
///
|
||||||
|
/// Keep in mind that the [`Column`] will not inspect the [`Vec`], which means
|
||||||
|
/// it won't automatically adapt to the sizing strategy of its contents.
|
||||||
|
///
|
||||||
|
/// If any of the children have a [`Length::Fill`] strategy, you will need to
|
||||||
|
/// call [`Column::width`] or [`Column::height`] accordingly.
|
||||||
|
pub fn from_vec(
|
||||||
|
children: Vec<Element<'a, Message, Theme, Renderer>>,
|
||||||
|
) -> Self {
|
||||||
|
Self {
|
||||||
|
spacing: 0.0,
|
||||||
|
padding: Padding::ZERO,
|
||||||
|
width: Length::Shrink,
|
||||||
|
height: Length::Shrink,
|
||||||
|
max_width: f32::INFINITY,
|
||||||
|
align_items: Alignment::Start,
|
||||||
|
clip: false,
|
||||||
|
children,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Sets the vertical spacing _between_ elements.
|
/// Sets the vertical spacing _between_ elements.
|
||||||
///
|
///
|
||||||
/// Custom margins per element do not exist in iced. You should use this
|
/// Custom margins per element do not exist in iced. You should use this
|
||||||
|
|
|
||||||
|
|
@ -28,15 +28,7 @@ where
|
||||||
{
|
{
|
||||||
/// Creates an empty [`Row`].
|
/// Creates an empty [`Row`].
|
||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
Row {
|
Self::from_vec(Vec::new())
|
||||||
spacing: 0.0,
|
|
||||||
padding: Padding::ZERO,
|
|
||||||
width: Length::Shrink,
|
|
||||||
height: Length::Shrink,
|
|
||||||
align_items: Alignment::Start,
|
|
||||||
clip: false,
|
|
||||||
children: Vec::new(),
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Creates a [`Row`] with the given elements.
|
/// Creates a [`Row`] with the given elements.
|
||||||
|
|
@ -46,6 +38,27 @@ where
|
||||||
Self::new().extend(children)
|
Self::new().extend(children)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Creates a [`Row`] from an already allocated [`Vec`].
|
||||||
|
///
|
||||||
|
/// Keep in mind that the [`Row`] will not inspect the [`Vec`], which means
|
||||||
|
/// it won't automatically adapt to the sizing strategy of its contents.
|
||||||
|
///
|
||||||
|
/// If any of the children have a [`Length::Fill`] strategy, you will need to
|
||||||
|
/// call [`Row::width`] or [`Row::height`] accordingly.
|
||||||
|
pub fn from_vec(
|
||||||
|
children: Vec<Element<'a, Message, Theme, Renderer>>,
|
||||||
|
) -> Self {
|
||||||
|
Self {
|
||||||
|
spacing: 0.0,
|
||||||
|
padding: Padding::ZERO,
|
||||||
|
width: Length::Shrink,
|
||||||
|
height: Length::Shrink,
|
||||||
|
align_items: Alignment::Start,
|
||||||
|
clip: false,
|
||||||
|
children,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// Sets the horizontal spacing _between_ elements.
|
/// Sets the horizontal spacing _between_ elements.
|
||||||
///
|
///
|
||||||
/// Custom margins per element do not exist in iced. You should use this
|
/// Custom margins per element do not exist in iced. You should use this
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue