diff --git a/examples/bevy_state.rs b/examples/bevy_state.rs index 74089492e41470b96027271ca07c72da832d681c..9b62fd574ffc94467438dae7b052438b4d7a9d61 100644 --- a/examples/bevy_state.rs +++ b/examples/bevy_state.rs @@ -5,7 +5,7 @@ use bevy::{ }; use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle}; use kayak_ui::core::{ - render, rsx, widget, Event, EventType, Index, KayakContextRef, KeyCode, OnEvent, WidgetProps, + render, rsx, widget, Event, EventType, Index, KayakContextRef, KeyCode, OnEvent, }; use kayak_ui::widgets::{App, Text}; @@ -36,11 +36,9 @@ fn handle_input(context: &mut KayakContextRef, event: &mut Event) { _ => {} }; } -#[derive(WidgetProps, Default, Debug, PartialEq, Clone)] -pub struct StateSwitcherProps; #[widget] -fn StateSwitcher(props: StateSwitcherProps) { +fn StateSwitcher() { rsx! { <Text content={"Press space to switch states!".to_string()} size={32.0} /> } diff --git a/examples/counter.rs b/examples/counter.rs index 303de77da4e2aaa56dd365f66d18c15e095bcb8a..da41c1105208517b91074b895dd9d7e9cc8cd760 100644 --- a/examples/counter.rs +++ b/examples/counter.rs @@ -7,15 +7,12 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle use kayak_ui::core::{ render, rsx, styles::{Style, StyleProp, Units}, - use_state, widget, EventType, Index, OnEvent, WidgetProps, + use_state, widget, EventType, Index, OnEvent, }; use kayak_ui::widgets::{App, Button, Text, Window}; -#[derive(WidgetProps, Default, Debug, PartialEq, Clone)] -pub struct CounterProps {} - #[widget] -fn Counter(props: CounterProps) { +fn Counter() { let text_styles = Style { bottom: StyleProp::Value(Units::Stretch(1.0)), left: StyleProp::Value(Units::Stretch(0.1)), diff --git a/examples/fold.rs b/examples/fold.rs index 4fce8f540c9e60df946995ff292212c5e5b0d574..1e0a1bee8d538b5b35bb25d991063ab2e086eb62 100644 --- a/examples/fold.rs +++ b/examples/fold.rs @@ -9,14 +9,11 @@ use kayak_ui::{ core::{ render, rsx, styles::{Style, StyleProp, Units}, - use_state, widget, Color, EventType, Handler, Index, OnEvent, WidgetProps, + use_state, widget, Color, EventType, Handler, Index, OnEvent, }, widgets::{App, Background, Button, Fold, If, Text, Window}, }; -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct FolderTreeProps {} - #[widget] fn FolderTree(props: FolderTreeProps) { let button_text_styles = Style { diff --git a/examples/global_counter.rs b/examples/global_counter.rs index 12f757ba0a554f38d948bad62d0c349f8fa3aa21..09b9cb028fc65953c931b9f7efecdde7986cd938 100644 --- a/examples/global_counter.rs +++ b/examples/global_counter.rs @@ -4,17 +4,14 @@ use bevy::{ DefaultPlugins, }; use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle}; -use kayak_ui::core::{bind, render, rsx, widget, Binding, Bound, Index, MutableBound, WidgetProps}; +use kayak_ui::core::{bind, render, rsx, widget, Binding, Bound, Index, MutableBound}; use kayak_ui::widgets::{App, Text, Window}; #[derive(Clone, PartialEq)] struct GlobalCount(pub u32); -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct CounterProps {} - #[widget] -fn Counter(props: CounterProps) { +fn Counter() { let global_count = context .query_world::<Res<Binding<GlobalCount>>, _, _>(move |global_count| global_count.clone()); diff --git a/examples/hooks.rs b/examples/hooks.rs index 72b5fb49aef3a22a32705e75793d5a2d592f72b4..00e294aab7b3335669927cf2917ac37002f2d6a0 100644 --- a/examples/hooks.rs +++ b/examples/hooks.rs @@ -16,13 +16,10 @@ use bevy::{ }; use kayak_ui::{ bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle}, - core::{render, rsx, use_effect, use_state, widget, EventType, Index, OnEvent, WidgetProps}, + core::{render, rsx, use_effect, use_state, widget, EventType, Index, OnEvent}, widgets::{App, Button, Text, Window}, }; -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct StateCounterProps {} - /// A simple widget that tracks how many times a button is clicked using simple state data #[widget] fn StateCounter(props: StateCounterProps) { @@ -56,12 +53,9 @@ fn StateCounter(props: StateCounterProps) { } } -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct EffectCounterProps {} - /// Another widget that tracks how many times a button is clicked using side-effects #[widget] -fn EffectCounter(props: EffectCounterProps) { +fn EffectCounter() { // In this widget, we're going to implement another counter, but this time using side-effects. // To put it very simply, a side-effect is when something happens in response to something else happening. // In our case, we want to create a side-effect that updates a counter when another state is updated. diff --git a/examples/if.rs b/examples/if.rs index b123b26ace252ecccedf57ecd418f644d811ad10..165bcfff341adbfc4aa18ca6fa83a5e28f10de7c 100644 --- a/examples/if.rs +++ b/examples/if.rs @@ -7,15 +7,12 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle use kayak_ui::core::{ render, rsx, styles::{Style, StyleProp, Units}, - widget, Bound, EventType, Index, MutableBound, OnEvent, WidgetProps, + widget, Bound, EventType, Index, MutableBound, OnEvent, }; use kayak_ui::widgets::{App, Button, If, Text, Window}; -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct RemovalProps {} - #[widget] -fn Removal(props: RemovalProps) { +fn Removal() { let text_styles = Style { bottom: StyleProp::Value(Units::Stretch(1.0)), left: StyleProp::Value(Units::Stretch(0.1)), diff --git a/examples/provider.rs b/examples/provider.rs index 97afd7c5c22ec025439a221a97cec6aa743cfb6b..6bbc0e7aaa13b7643c35190f1e634ae06691c2d7 100644 --- a/examples/provider.rs +++ b/examples/provider.rs @@ -138,14 +138,11 @@ fn ThemeButton(props: ThemeButtonProps) { } } -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct ThemeSelectorProps {} - /// A widget displaying a set of [ThemeButton] widgets /// /// This is just an abstracted container. Not much to see here... #[widget] -fn ThemeSelector(props: ThemeSelectorProps) { +fn ThemeSelector() { let vampire_theme = Theme::vampire(); let solar_theme = Theme::solar(); let vector_theme = Theme::vector(); diff --git a/examples/tabs/tabs.rs b/examples/tabs/tabs.rs index 7fd216c9dd0711c22b46da1e4fbb02f410fa4d40..fdf67e49d48d00ec4e48ce8a7bb69c75deab5d7e 100644 --- a/examples/tabs/tabs.rs +++ b/examples/tabs/tabs.rs @@ -15,7 +15,7 @@ use kayak_ui::{ core::{ constructor, render, rsx, styles::{Style, StyleProp, Units}, - widget, Color, Index, WidgetProps, + widget, Color, Index, }, widgets::{App, Text, Window}, }; @@ -30,11 +30,8 @@ mod tab_box; mod tab_content; mod theming; -#[derive(WidgetProps, Default, Debug, PartialEq, Clone)] -pub struct TabDemoProps {} - #[widget] -fn TabDemo(props: TabDemoProps) { +fn TabDemo() { let text_style = Style { width: StyleProp::Value(Units::Percentage(75.0)), top: StyleProp::Value(Units::Stretch(0.5)), diff --git a/examples/text_box.rs b/examples/text_box.rs index c98a8a426063e3b9b90884d60e6c237fba694eea..bb74ca48a564b35f280fb974168d56092b22306c 100644 --- a/examples/text_box.rs +++ b/examples/text_box.rs @@ -9,15 +9,12 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle use kayak_ui::core::{ render, rsx, styles::{Style, StyleProp, Units}, - widget, Index, WidgetProps, + widget, Index, }; use kayak_ui::widgets::{App, OnChange, TextBox, Window}; -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct TextBoxExampleProps {} - #[widget] -fn TextBoxExample(props: TextBoxExampleProps) { +fn TextBoxExample() { let (value, set_value, _) = use_state!("I started with a value!".to_string()); let (empty_value, set_empty_value, _) = use_state!("".to_string()); let (red_value, set_red_value, _) = use_state!("This text is red".to_string()); diff --git a/examples/todo/todo.rs b/examples/todo/todo.rs index 10ee013d744fd03d1ed0a33efbdce7887cd6443f..fea3f1e36eebc6f3be6151a5302f6a39b963ccab 100644 --- a/examples/todo/todo.rs +++ b/examples/todo/todo.rs @@ -7,7 +7,7 @@ use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle use kayak_ui::core::{ render, rsx, styles::{LayoutType, Style, StyleProp, Units}, - use_state, widget, EventType, Handler, Index, OnEvent, WidgetProps, + use_state, widget, EventType, Handler, Index, OnEvent, }; use kayak_ui::widgets::{App, Element, OnChange, TextBox, Window}; @@ -23,11 +23,8 @@ pub struct Todo { name: String, } -#[derive(WidgetProps, Clone, Debug, Default, PartialEq)] -struct TodoAppProps {} - #[widget] -fn TodoApp(props: TodoAppProps) { +fn TodoApp() { let (todos, set_todos, ..) = use_state!(vec![ Todo { name: "Use bevy to make a game!".to_string(), diff --git a/examples/windows.rs b/examples/windows.rs index ca2520486b7e60a63cf598e2576e0117af1d3f8d..331152a21a3c07a505ca4fb3fd444639448da49b 100644 --- a/examples/windows.rs +++ b/examples/windows.rs @@ -5,15 +5,11 @@ use bevy::{ }; use kayak_ui::bevy::{BevyContext, BevyKayakUIPlugin, FontMapping, UICameraBundle}; use kayak_ui::core::Index; -use kayak_ui::core::WidgetProps; use kayak_ui::core::{render, rsx, widget}; use kayak_ui::widgets::{App, Inspector, Window}; -#[derive(WidgetProps, Default, Debug, PartialEq, Clone)] -pub struct Props {} - #[widget] -fn CustomWidget(props: Props) { +fn CustomWidget() { rsx! { <> <Window draggable={true} position={(50.0, 50.0)} size={(300.0, 300.0)} title={"Window 1".to_string()}> diff --git a/examples/world_interaction.rs b/examples/world_interaction.rs index 44a1f1408ca0137b4fc74da2cd9c1c96e3b9e26c..d1d3992ba870172ff4c5076ae4b3fa1b9f64570b 100644 --- a/examples/world_interaction.rs +++ b/examples/world_interaction.rs @@ -20,7 +20,7 @@ use kayak_ui::{ core::{ render, rsx, styles::{Style, StyleProp, Units}, - use_state, widget, EventType, Index, OnEvent, WidgetProps, + use_state, widget, EventType, Index, OnEvent, }, widgets::{App, Button, Text, Window}, }; @@ -65,11 +65,8 @@ fn set_active_tile_target( tile.target = tile_pos; } -#[derive(WidgetProps, Default, Debug, PartialEq, Clone)] -pub struct ControlPanelProps {} - #[widget] -fn ControlPanel(props: ControlPanelProps) { +fn ControlPanel() { let text_styles = Style { left: StyleProp::Value(Units::Stretch(1.0)), right: StyleProp::Value(Units::Stretch(1.0)),