2020
2121use druid:: widget:: prelude:: * ;
2222use druid:: widget:: { Flex , Label } ;
23- use druid:: { AppDelegate , AppLauncher , Command , Data , DelegateCtx , Handled , Lens , Menu , MenuItem , Selector , Target , WidgetExt , WindowDesc } ;
23+ use druid:: {
24+ AppDelegate , AppLauncher , Command , Data , DelegateCtx , Handled , Lens , Menu , MenuItem , Selector ,
25+ Target , WidgetExt , WindowDesc ,
26+ } ;
2427
2528const COMMAND : Selector = Selector :: new ( "custom_Selector" ) ;
2629
@@ -31,13 +34,11 @@ struct AppState {
3134}
3235
3336pub fn main ( ) {
34-
35-
3637 // describe the main window
3738 let main_window = WindowDesc :: new ( build_root_widget ( ) )
3839 . title ( "Hello World!" )
3940 . window_size ( ( 400.0 , 400.0 ) )
40- . menu ( |_, _, _|build_menu ( ) ) ;
41+ . menu ( |_, _, _| build_menu ( ) ) ;
4142
4243 // create the initial app state
4344 let initial_state: AppState = AppState {
@@ -55,75 +56,86 @@ pub fn main() {
5556
5657fn build_root_widget ( ) -> impl Widget < AppState > {
5758 Flex :: column ( )
58- . with_child ( Label :: new ( |data : & AppState , _: & _ |format ! ( "Current value: {}" , data. value) ) )
59+ . with_child ( Label :: new ( |data : & AppState , _: & _ | {
60+ format ! ( "Current value: {}" , data. value)
61+ } ) )
5962 . with_default_spacer ( )
60- . with_child ( Label :: new ( |data : & AppState , _: & _ |format ! ( "IS selected: {}" , data. option) ) )
63+ . with_child ( Label :: new ( |data : & AppState , _: & _ | {
64+ format ! ( "IS selected: {}" , data. option)
65+ } ) )
6166 . center ( )
6267}
6368
6469fn build_menu ( ) -> Menu < AppState > {
6570 let menu = Menu :: new ( "Druid Menu" )
66- . entry (
67- MenuItem :: new ( "Send Command" )
68- . command ( COMMAND )
69- )
71+ . entry ( MenuItem :: new ( "Send Command" ) . command ( COMMAND ) )
7072 . separator ( )
7173 . entry (
7274 MenuItem :: new ( "Change value" )
73- . on_activate ( |_, data : & mut AppState , _|data. value = ( data. value + 1 ) % 4 )
75+ . on_activate ( |_, data : & mut AppState , _| data. value = ( data. value + 1 ) % 4 ) ,
7476 )
7577 . entry (
7678 MenuItem :: new ( "1 Selected" )
7779 . radio_item ( 1 , Some ( 0 ) )
78- . lens ( AppState :: value)
80+ . lens ( AppState :: value) ,
7981 )
8082 . entry (
8183 MenuItem :: new ( "2 Selected" )
8284 . radio_item ( 2 , Some ( 0 ) )
83- . lens ( AppState :: value)
85+ . lens ( AppState :: value) ,
8486 )
8587 . entry (
8688 // Implementing the radio item from hand
8789 MenuItem :: new ( "3 Selected" )
88- . on_activate ( |_, data : & mut AppState , _|if data. value == 3 { data. value = 0 } else { data. value = 3 } )
89- . selected_if ( |data : & AppState , _|data. value == 3 )
90+ . on_activate ( |_, data : & mut AppState , _| {
91+ if data. value == 3 {
92+ data. value = 0
93+ } else {
94+ data. value = 3
95+ }
96+ } )
97+ . selected_if ( |data : & AppState , _| data. value == 3 ) ,
9098 )
9199 . separator ( )
92100 . entry (
93101 MenuItem :: new ( "CheckBox" )
94102 . toggle_data ( )
95- . lens ( AppState :: option)
103+ . lens ( AppState :: option) ,
96104 )
97105 . entry (
98106 // Implementing the CheckBox from hand
99107 MenuItem :: new ( "Manual CheckBox" )
100- . on_activate ( |_, data : & mut AppState , _|data. option = !data. option )
101- . selected_if ( |data : & AppState , _|data. option )
108+ . on_activate ( |_, data : & mut AppState , _| data. option = !data. option )
109+ . selected_if ( |data : & AppState , _| data. option ) ,
102110 )
103111 . entry (
104112 MenuItem :: new ( "Disabled" )
105- . on_activate ( |_, _, _|panic ! ( "disabled Menu Item was activated!" ) )
106- . enabled ( false )
107-
113+ . on_activate ( |_, _, _| panic ! ( "disabled Menu Item was activated!" ) )
114+ . enabled ( false ) ,
108115 )
109116 . entry (
110117 MenuItem :: new ( "Disabled Selectable" )
111- . on_activate ( |_, _, _|panic ! ( "disabled Menu Item was activated!" ) )
118+ . on_activate ( |_, _, _| panic ! ( "disabled Menu Item was activated!" ) )
112119 . selected ( false )
113- . enabled ( false )
120+ . enabled ( false ) ,
114121 )
115122 //we dont add new menu items based on data!
116- . rebuild_on ( |_, _, _|false ) ;
117-
118- Menu :: empty ( )
119- . entry ( menu)
123+ . rebuild_on ( |_, _, _| false ) ;
120124
125+ Menu :: empty ( ) . entry ( menu)
121126}
122127
123128struct Delegate ;
124129
125130impl AppDelegate < AppState > for Delegate {
126- fn command ( & mut self , _: & mut DelegateCtx , _: Target , cmd : & Command , _: & mut AppState , _: & Env ) -> Handled {
131+ fn command (
132+ & mut self ,
133+ _: & mut DelegateCtx ,
134+ _: Target ,
135+ cmd : & Command ,
136+ _: & mut AppState ,
137+ _: & Env ,
138+ ) -> Handled {
127139 if cmd. is ( COMMAND ) {
128140 println ! ( "Clicked \" Send Command\" !" ) ;
129141 Handled :: Yes
0 commit comments