summaryrefslogtreecommitdiffstats
path: root/native/src/widget
diff options
context:
space:
mode:
authorLibravatar Nick Senger <dev@nsenger.com>2023-02-10 14:46:03 -0800
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2023-02-16 16:15:45 +0100
commitd05ac38159dc2828b6e5b0d416802d8ef4be80d2 (patch)
treeb13d070cb136346a837bfdc81ff5984837804ddc /native/src/widget
parent84a6038961a5ebd1366ae8c6ba9e44be07d37f16 (diff)
downloadiced-d05ac38159dc2828b6e5b0d416802d8ef4be80d2.tar.gz
iced-d05ac38159dc2828b6e5b0d416802d8ef4be80d2.tar.bz2
iced-d05ac38159dc2828b6e5b0d416802d8ef4be80d2.zip
Revert "provide ID to operation.container in applicable widgets"
This reverts commit 8f9550bcf7c1cebbf90e80683761375406ca6139.
Diffstat (limited to 'native/src/widget')
-rw-r--r--native/src/widget/button.rs53
-rw-r--r--native/src/widget/column.rs59
-rw-r--r--native/src/widget/container.rs53
-rw-r--r--native/src/widget/pane_grid.rs53
-rw-r--r--native/src/widget/row.rs59
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
- }
-}