diff options
Diffstat (limited to '')
| -rw-r--r-- | native/src/widget/button.rs | 53 | ||||
| -rw-r--r-- | native/src/widget/column.rs | 59 | ||||
| -rw-r--r-- | native/src/widget/container.rs | 53 | ||||
| -rw-r--r-- | native/src/widget/pane_grid.rs | 53 | ||||
| -rw-r--r-- | native/src/widget/row.rs | 59 | 
5 files changed, 51 insertions, 226 deletions
| diff --git a/native/src/widget/button.rs b/native/src/widget/button.rs index d1537b10..b4276317 100644 --- a/native/src/widget/button.rs +++ b/native/src/widget/button.rs @@ -8,7 +8,7 @@ use crate::overlay;  use crate::renderer;  use crate::touch;  use crate::widget::tree::{self, Tree}; -use crate::widget::{self, Operation}; +use crate::widget::Operation;  use crate::{      Background, Clipboard, Color, Element, Layout, Length, Padding, Point,      Rectangle, Shell, Vector, Widget, @@ -56,7 +56,6 @@ where      Renderer: crate::Renderer,      Renderer::Theme: StyleSheet,  { -    id: Option<Id>,      content: Element<'a, Message, Renderer>,      on_press: Option<Message>,      width: Length, @@ -73,7 +72,6 @@ where      /// Creates a new [`Button`] with the given content.      pub fn new(content: impl Into<Element<'a, Message, Renderer>>) -> Self {          Button { -            id: None,              content: content.into(),              on_press: None,              width: Length::Shrink, @@ -83,12 +81,6 @@ where          }      } -    /// Sets the [`Id`] of the [`Button`]. -    pub fn id(mut self, id: Id) -> Self { -        self.id = Some(id); -        self -    } -      /// Sets the width of the [`Button`].      pub fn width(mut self, width: Length) -> Self {          self.width = width; @@ -180,17 +172,14 @@ where          renderer: &Renderer,          operation: &mut dyn Operation<Message>,      ) { -        operation.container( -            self.id.as_ref().map(|id| &id.0), -            &mut |operation| { -                self.content.as_widget().operate( -                    &mut tree.children[0], -                    layout.children().next().unwrap(), -                    renderer, -                    operation, -                ); -            }, -        ); +        operation.container(None, &mut |operation| { +            self.content.as_widget().operate( +                &mut tree.children[0], +                layout.children().next().unwrap(), +                renderer, +                operation, +            ); +        });      }      fn on_event( @@ -464,27 +453,3 @@ pub fn mouse_interaction(          mouse::Interaction::default()      }  } - -/// The identifier of a [`Button`]. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Id(widget::Id); - -impl Id { -    /// Creates a custom [`Id`]. -    pub fn new(id: impl Into<std::borrow::Cow<'static, str>>) -> Self { -        Self(widget::Id::new(id)) -    } - -    /// Creates a unique [`Id`]. -    /// -    /// This function produces a different [`Id`] every time it is called. -    pub fn unique() -> Self { -        Self(widget::Id::unique()) -    } -} - -impl From<Id> for widget::Id { -    fn from(id: Id) -> Self { -        id.0 -    } -} diff --git a/native/src/widget/column.rs b/native/src/widget/column.rs index 5cecd2b8..5ad4d858 100644 --- a/native/src/widget/column.rs +++ b/native/src/widget/column.rs @@ -4,7 +4,7 @@ use crate::layout;  use crate::mouse;  use crate::overlay;  use crate::renderer; -use crate::widget::{self, Operation, Tree}; +use crate::widget::{Operation, Tree};  use crate::{      Alignment, Clipboard, Element, Layout, Length, Padding, Point, Rectangle,      Shell, Widget, @@ -13,7 +13,6 @@ use crate::{  /// A container that distributes its contents vertically.  #[allow(missing_debug_implementations)]  pub struct Column<'a, Message, Renderer> { -    id: Option<Id>,      spacing: u16,      padding: Padding,      width: Length, @@ -34,7 +33,6 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {          children: Vec<Element<'a, Message, Renderer>>,      ) -> Self {          Column { -            id: None,              spacing: 0,              padding: Padding::ZERO,              width: Length::Shrink, @@ -45,12 +43,6 @@ impl<'a, Message, Renderer> Column<'a, Message, Renderer> {          }      } -    /// Sets the [`Id`] of the [`Column`]. -    pub fn id(mut self, id: Id) -> Self { -        self.id = Some(id); -        self -    } -      /// Sets the vertical spacing _between_ elements.      ///      /// Custom margins per element do not exist in iced. You should use this @@ -156,20 +148,17 @@ where          renderer: &Renderer,          operation: &mut dyn Operation<Message>,      ) { -        operation.container( -            self.id.as_ref().map(|id| &id.0), -            &mut |operation| { -                self.children -                    .iter() -                    .zip(&mut tree.children) -                    .zip(layout.children()) -                    .for_each(|((child, state), layout)| { -                        child -                            .as_widget() -                            .operate(state, layout, renderer, operation); -                    }) -            }, -        ); +        operation.container(None, &mut |operation| { +            self.children +                .iter() +                .zip(&mut tree.children) +                .zip(layout.children()) +                .for_each(|((child, state), layout)| { +                    child +                        .as_widget() +                        .operate(state, layout, renderer, operation); +                }) +        });      }      fn on_event( @@ -273,27 +262,3 @@ where          Self::new(column)      }  } - -/// The identifier of a [`Column`]. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Id(widget::Id); - -impl Id { -    /// Creates a custom [`Id`]. -    pub fn new(id: impl Into<std::borrow::Cow<'static, str>>) -> Self { -        Self(widget::Id::new(id)) -    } - -    /// Creates a unique [`Id`]. -    /// -    /// This function produces a different [`Id`] every time it is called. -    pub fn unique() -> Self { -        Self(widget::Id::unique()) -    } -} - -impl From<Id> for widget::Id { -    fn from(id: Id) -> Self { -        id.0 -    } -} diff --git a/native/src/widget/container.rs b/native/src/widget/container.rs index c82b8be2..cdf1c859 100644 --- a/native/src/widget/container.rs +++ b/native/src/widget/container.rs @@ -5,7 +5,7 @@ use crate::layout;  use crate::mouse;  use crate::overlay;  use crate::renderer; -use crate::widget::{self, Operation, Tree}; +use crate::widget::{Operation, Tree};  use crate::{      Background, Clipboard, Color, Element, Layout, Length, Padding, Point,      Rectangle, Shell, Widget, @@ -24,7 +24,6 @@ where      Renderer: crate::Renderer,      Renderer::Theme: StyleSheet,  { -    id: Option<Id>,      padding: Padding,      width: Length,      height: Length, @@ -47,7 +46,6 @@ where          T: Into<Element<'a, Message, Renderer>>,      {          Container { -            id: None,              padding: Padding::ZERO,              width: Length::Shrink,              height: Length::Shrink, @@ -60,12 +58,6 @@ where          }      } -    /// Sets the [`Id`] of the [`Container`]. -    pub fn id(mut self, id: Id) -> Self { -        self.id = Some(id); -        self -    } -      /// Sets the [`Padding`] of the [`Container`].      pub fn padding<P: Into<Padding>>(mut self, padding: P) -> Self {          self.padding = padding.into(); @@ -180,17 +172,14 @@ where          renderer: &Renderer,          operation: &mut dyn Operation<Message>,      ) { -        operation.container( -            self.id.as_ref().map(|id| &id.0), -            &mut |operation| { -                self.content.as_widget().operate( -                    &mut tree.children[0], -                    layout.children().next().unwrap(), -                    renderer, -                    operation, -                ); -            }, -        ); +        operation.container(None, &mut |operation| { +            self.content.as_widget().operate( +                &mut tree.children[0], +                layout.children().next().unwrap(), +                renderer, +                operation, +            ); +        });      }      fn on_event( @@ -344,27 +333,3 @@ pub fn draw_background<Renderer>(          );      }  } - -/// The identifier of a [`Container`]. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Id(widget::Id); - -impl Id { -    /// Creates a custom [`Id`]. -    pub fn new(id: impl Into<std::borrow::Cow<'static, str>>) -> Self { -        Self(widget::Id::new(id)) -    } - -    /// Creates a unique [`Id`]. -    /// -    /// This function produces a different [`Id`] every time it is called. -    pub fn unique() -> Self { -        Self(widget::Id::unique()) -    } -} - -impl From<Id> for widget::Id { -    fn from(id: Id) -> Self { -        id.0 -    } -} diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs index 6a65754e..eb04c0ba 100644 --- a/native/src/widget/pane_grid.rs +++ b/native/src/widget/pane_grid.rs @@ -101,7 +101,6 @@ where      Renderer: crate::Renderer,      Renderer::Theme: StyleSheet + container::StyleSheet,  { -    id: Option<Id>,      contents: Contents<'a, Content<'a, Message, Renderer>>,      width: Length,      height: Length, @@ -148,7 +147,6 @@ where          };          Self { -            id: None,              contents,              width: Length::Fill,              height: Length::Fill, @@ -160,12 +158,6 @@ where          }      } -    /// Sets the [`Id`] of the [`PaneGrid`]. -    pub fn id(mut self, id: Id) -> Self { -        self.id = Some(id); -        self -    } -      /// Sets the width of the [`PaneGrid`].      pub fn width(mut self, width: Length) -> Self {          self.width = width; @@ -305,18 +297,15 @@ where          renderer: &Renderer,          operation: &mut dyn widget::Operation<Message>,      ) { -        operation.container( -            self.id.as_ref().map(|id| &id.0), -            &mut |operation| { -                self.contents -                    .iter() -                    .zip(&mut tree.children) -                    .zip(layout.children()) -                    .for_each(|(((_pane, content), state), layout)| { -                        content.operate(state, layout, renderer, operation); -                    }) -            }, -        ); +        operation.container(None, &mut |operation| { +            self.contents +                .iter() +                .zip(&mut tree.children) +                .zip(layout.children()) +                .for_each(|(((_pane, content), state), layout)| { +                    content.operate(state, layout, renderer, operation); +                }) +        });      }      fn on_event( @@ -1007,27 +996,3 @@ impl<'a, T> Contents<'a, T> {          matches!(self, Self::Maximized(..))      }  } - -/// The identifier of a [`PaneGrid`]. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Id(widget::Id); - -impl Id { -    /// Creates a custom [`Id`]. -    pub fn new(id: impl Into<std::borrow::Cow<'static, str>>) -> Self { -        Self(widget::Id::new(id)) -    } - -    /// Creates a unique [`Id`]. -    /// -    /// This function produces a different [`Id`] every time it is called. -    pub fn unique() -> Self { -        Self(widget::Id::unique()) -    } -} - -impl From<Id> for widget::Id { -    fn from(id: Id) -> Self { -        id.0 -    } -} diff --git a/native/src/widget/row.rs b/native/src/widget/row.rs index 1ea670b0..108e98e4 100644 --- a/native/src/widget/row.rs +++ b/native/src/widget/row.rs @@ -4,7 +4,7 @@ use crate::layout::{self, Layout};  use crate::mouse;  use crate::overlay;  use crate::renderer; -use crate::widget::{self, Operation, Tree}; +use crate::widget::{Operation, Tree};  use crate::{      Alignment, Clipboard, Element, Length, Padding, Point, Rectangle, Shell,      Widget, @@ -13,7 +13,6 @@ use crate::{  /// A container that distributes its contents horizontally.  #[allow(missing_debug_implementations)]  pub struct Row<'a, Message, Renderer> { -    id: Option<Id>,      spacing: u16,      padding: Padding,      width: Length, @@ -33,7 +32,6 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {          children: Vec<Element<'a, Message, Renderer>>,      ) -> Self {          Row { -            id: None,              spacing: 0,              padding: Padding::ZERO,              width: Length::Shrink, @@ -43,12 +41,6 @@ impl<'a, Message, Renderer> Row<'a, Message, Renderer> {          }      } -    /// Sets the [`Id`] of the [`Row`]. -    pub fn id(mut self, id: Id) -> Self { -        self.id = Some(id); -        self -    } -      /// Sets the horizontal spacing _between_ elements.      ///      /// Custom margins per element do not exist in iced. You should use this @@ -145,20 +137,17 @@ where          renderer: &Renderer,          operation: &mut dyn Operation<Message>,      ) { -        operation.container( -            self.id.as_ref().map(|id| &id.0), -            &mut |operation| { -                self.children -                    .iter() -                    .zip(&mut tree.children) -                    .zip(layout.children()) -                    .for_each(|((child, state), layout)| { -                        child -                            .as_widget() -                            .operate(state, layout, renderer, operation); -                    }) -            }, -        ); +        operation.container(None, &mut |operation| { +            self.children +                .iter() +                .zip(&mut tree.children) +                .zip(layout.children()) +                .for_each(|((child, state), layout)| { +                    child +                        .as_widget() +                        .operate(state, layout, renderer, operation); +                }) +        });      }      fn on_event( @@ -262,27 +251,3 @@ where          Self::new(row)      }  } - -/// The identifier of a [`Row`]. -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct Id(widget::Id); - -impl Id { -    /// Creates a custom [`Id`]. -    pub fn new(id: impl Into<std::borrow::Cow<'static, str>>) -> Self { -        Self(widget::Id::new(id)) -    } - -    /// Creates a unique [`Id`]. -    /// -    /// This function produces a different [`Id`] every time it is called. -    pub fn unique() -> Self { -        Self(widget::Id::unique()) -    } -} - -impl From<Id> for widget::Id { -    fn from(id: Id) -> Self { -        id.0 -    } -} | 
