diff options
| author | pml68 <contact@pml68.dev> | 2025-07-17 03:26:10 +0200 |
|---|---|---|
| committer | pml68 <contact@pml68.dev> | 2025-07-17 03:31:24 +0200 |
| commit | 836be6749f683be1a9728c439c85cbf547420c6c (patch) | |
| tree | 7800723b96ffeb8f42a1de4d2c529e961333b5d9 | |
| parent | chore: update deps (diff) | |
| download | iced-builder-836be6749f683be1a9728c439c85cbf547420c6c.tar.gz | |
fix: wrong text color being used in designer view
| -rwxr-xr-x | src/types/rendered_element.rs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/types/rendered_element.rs b/src/types/rendered_element.rs index 9f51e7e..85767fc 100755 --- a/src/types/rendered_element.rs +++ b/src/types/rendered_element.rs @@ -1,7 +1,9 @@ use std::collections::BTreeMap; +use iced::Element; use iced::advanced::widget::Id; -use iced::{Element, widget}; +use iced::widget::text::IntoFragment; +use iced::widget::{self}; use serde::{Deserialize, Serialize}; use crate::Error; @@ -293,21 +295,25 @@ impl std::fmt::Display for RenderedElement { impl<'a> From<RenderedElement> for Element<'a, Message> { fn from(value: RenderedElement) -> Self { + fn text<'a>(string: impl IntoFragment<'a>) -> widget::Text<'a> { + widget::text(string).style(widget::text::base) + } + let copy = value.clone(); let child_elements = copy.child_elements.unwrap_or_default(); let content: Element<'a, Message> = match copy.name { ElementName::Text(s) => if s.is_empty() { - widget::text("New Text") + text("New Text") } else { - widget::text(s) + text(s) } .apply_options(copy.options) .into(), ElementName::Button(s) => widget::button(if s.is_empty() { - widget::text("New Button") + text("New Button") } else { - widget::text(s) + text(s) }) .apply_options(copy.options) .into(), @@ -320,7 +326,7 @@ impl<'a> From<RenderedElement> for Element<'a, Message> { ElementName::Container => if child_elements.len() == 1 { widget::container(child_elements[0].clone()) } else { - widget::container("New Container").style( + widget::container(text("New Container")).style( |theme: &iced::Theme| widget::container::Style { border: iced::Border { color: theme.palette().text, @@ -345,7 +351,7 @@ impl<'a> From<RenderedElement> for Element<'a, Message> { .into() } else { widget::container( - widget::row!["New Row"] + widget::row![text("New Row")] .padding(20) .apply_options(copy.options), ) @@ -371,7 +377,7 @@ impl<'a> From<RenderedElement> for Element<'a, Message> { .into() } else { widget::container( - widget::column!["New Column"] + widget::column![text("New Column")] .padding(20) .apply_options(copy.options), ) |
