From b66f5d57013243211c37fa52dbe26fe0b241bd07 Mon Sep 17 00:00:00 2001 From: pml68 Date: Tue, 22 Oct 2024 12:57:35 +0200 Subject: feat: disable appending to container if it already has children fix: Column element now showing in element list --- iced_builder/src/types/element_name.rs | 2 +- iced_builder/src/types/rendered_element.rs | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) (limited to 'iced_builder/src/types') diff --git a/iced_builder/src/types/element_name.rs b/iced_builder/src/types/element_name.rs index ca0668c..c30d6e3 100644 --- a/iced_builder/src/types/element_name.rs +++ b/iced_builder/src/types/element_name.rs @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize}; use crate::Error; use super::rendered_element::{ - self, button, column, container, image, row, svg, text, ActionKind, RenderedElement, + button, column, container, image, row, svg, text, ActionKind, RenderedElement, }; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] diff --git a/iced_builder/src/types/rendered_element.rs b/iced_builder/src/types/rendered_element.rs index 827e8c2..6b01bc3 100644 --- a/iced_builder/src/types/rendered_element.rs +++ b/iced_builder/src/types/rendered_element.rs @@ -317,8 +317,17 @@ impl ActionKind { }; let element = element_tree.as_mut().unwrap().find_by_id(id.clone()); - match element.unwrap().is_parent() { - true => action = Self::PushFront(id), + match element.as_ref().unwrap().is_parent() { + true => { + let element = &element.unwrap(); + if element.name == ElementName::Container + && element.child_elements != Some(vec![]) + { + action = Self::Stop; + } else { + action = Self::PushFront(id); + } + } false => { if ids.len() > 2 { action = Self::InsertAfter( -- cgit v1.2.3