From d4f30043387debaa6fef2d5cbede8177c8272a56 Mon Sep 17 00:00:00 2001 From: Adam Cosner Date: Sat, 18 Jan 2025 22:57:04 -0800 Subject: [PATCH] Changed insert method and removed default requirement for Item --- examples/table-view/src/main.rs | 6 +++--- src/widget/table/model/category.rs | 2 +- src/widget/table/model/mod.rs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/table-view/src/main.rs b/examples/table-view/src/main.rs index a80714a9..8b2d4f62 100644 --- a/examples/table-view/src/main.rs +++ b/examples/table-view/src/main.rs @@ -143,7 +143,7 @@ impl cosmic::Application for App { let mut table_model = table::Model::new(vec![Category::Name, Category::Date, Category::Size]); - table_model.insert().item(Item { + let _ = table_model.insert(Item { name: "Foo".into(), date: chrono::DateTime::default() .with_day(1) @@ -154,7 +154,7 @@ impl cosmic::Application for App { .unwrap(), size: 2, }); - table_model.insert().item(Item { + let _ = table_model.insert(Item { name: "Bar".into(), date: chrono::DateTime::default() .with_day(2) @@ -165,7 +165,7 @@ impl cosmic::Application for App { .unwrap(), size: 4, }); - table_model.insert().item(Item { + let _ = table_model.insert(Item { name: "Baz".into(), date: chrono::DateTime::default() .with_day(3) diff --git a/src/widget/table/model/category.rs b/src/widget/table/model/category.rs index 5c79d404..e9bb7477 100644 --- a/src/widget/table/model/category.rs +++ b/src/widget/table/model/category.rs @@ -11,7 +11,7 @@ pub trait ItemCategory: fn width(&self) -> iced::Length; } -pub trait ItemInterface: Default { +pub trait ItemInterface { fn get_icon(&self, category: Category) -> Option; fn get_text(&self, category: Category) -> Cow<'static, str>; diff --git a/src/widget/table/model/mod.rs b/src/widget/table/model/mod.rs index 99a7bd67..3af94c57 100644 --- a/src/widget/table/model/mod.rs +++ b/src/widget/table/model/mod.rs @@ -221,8 +221,8 @@ where /// let id = model.insert().text("Item A").icon("custom-icon").id(); /// ``` #[must_use] - pub fn insert(&mut self) -> EntityMut { - let id = self.items.insert(Item::default()); + pub fn insert(&mut self, item: Item) -> EntityMut { + let id = self.items.insert(item); self.order.push_back(id); EntityMut { model: self, id } }