diff options
Diffstat (limited to 'examples/pure')
| -rw-r--r-- | examples/pure/stateless_component/Cargo.toml | 12 | ||||
| -rw-r--r-- | examples/pure/stateless_component/src/main.rs | 101 | 
2 files changed, 0 insertions, 113 deletions
| diff --git a/examples/pure/stateless_component/Cargo.toml b/examples/pure/stateless_component/Cargo.toml deleted file mode 100644 index d89ebf85..00000000 --- a/examples/pure/stateless_component/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "stateless_component" -version = "0.1.0" -authors = ["Héctor Ramón Jiménez <hector0193@gmail.com>"] -edition = "2021" -publish = false - -[dependencies] -iced = { path = "../../..", features = ["debug", "pure"] } -iced_native = { path = "../../../native" } -iced_lazy = { path = "../../../lazy", features = ["pure"] } -iced_pure = { path = "../../../pure" } diff --git a/examples/pure/stateless_component/src/main.rs b/examples/pure/stateless_component/src/main.rs deleted file mode 100644 index 066887c9..00000000 --- a/examples/pure/stateless_component/src/main.rs +++ /dev/null @@ -1,101 +0,0 @@ -use iced::pure::{button, text}; -use iced::pure::{Element, Sandbox}; -use iced::Settings; - -use custom_text::custom_text; - -pub fn main() -> iced::Result { -    Mode::run(Settings::default()) -} - -enum Mode { -    Standard, -    Custom, -} - -#[derive(Debug, Clone, Copy)] -enum Message { -    SwitchToComponent, -} - -impl Sandbox for Mode { -    type Message = Message; - -    fn new() -> Self { -        Self::Standard -    } - -    fn title(&self) -> String { -        String::from("Stateless Component Bug") -    } - -    fn update(&mut self, message: Message) { -        match message { -            Message::SwitchToComponent => *self = Mode::Custom, -        } -    } - -    fn view(&self) -> Element<Message> { -        match self { -            Self::Standard => button(text("Click to Panic")) -                .on_press(Message::SwitchToComponent) -                .into(), -            Self::Custom => button(custom_text("..")).into(), -        } -    } -} - -mod custom_text { -    use iced::pure::text; -    use iced_lazy::pure::{self, Component}; -    use iced_native::text; -    use iced_pure::Element; - -    pub struct CustomText<'a> { -        text: &'a str, -    } - -    pub fn custom_text<'a>(text: &'a str) -> CustomText<'a> { -        CustomText { text } -    } - -    #[derive(Debug, Clone)] -    pub enum Event {} - -    impl<'a> CustomText<'a> { -        pub fn new(text: &'a str) -> Self { -            Self { text } -        } -    } - -    impl<'a, Message, Renderer> Component<Message, Renderer> for CustomText<'a> -    where -        Renderer: text::Renderer + 'static, -    { -        type State = (); -        type Event = Event; - -        fn update( -            &mut self, -            _state: &mut Self::State, -            _event: Event, -        ) -> Option<Message> { -            None -        } - -        fn view(&self, _state: &Self::State) -> Element<Event, Renderer> { -            text(self.text).into() -        } -    } - -    impl<'a, Message, Renderer> From<CustomText<'a>> -        for Element<'a, Message, Renderer> -    where -        Message: 'a, -        Renderer: 'static + text::Renderer, -    { -        fn from(x: CustomText<'a>) -> Self { -            pure::component(x) -        } -    } -} | 
