5
5
DELIVERY_OPTIONS = ["1-day" , "2-day" , "pickup" ]
6
6
7
7
class Product (ltk .Model ):
8
- name : str = "Wrench"
9
- price : float = 50.0
10
8
count : int = 10
9
+ name : str = "Screwdriver"
10
+ price : float = 50.0
11
11
warranty : bool = False
12
12
service : bool = True
13
13
delivery : int = 1
@@ -24,10 +24,21 @@ def changed(self, name, value):
24
24
- Delivery: { DELIVERY_OPTIONS [self .delivery ]}
25
25
"""
26
26
27
- product = Product (count = 60 )
27
+ product1 = Product (name = "Wrench" , delivery = 0 )
28
+ product2 = Product (name = "Drill" , count = 6 , price = 500 , service = False )
28
29
29
- def create ():
30
- form = ltk .VBox (
30
+ def order_hammers (event ):
31
+ product2 .name = "Hammer"
32
+ product2 .count = 10
33
+ product2 .price = 100.0
34
+ product2 .warranty = True
35
+ product2 .delivery = 2
36
+ product2 .service = False
37
+
38
+ def create_form (name , product ):
39
+ print ("Create form for" , product )
40
+ return ltk .VBox (
41
+ ltk .Label (name ),
31
42
row (
32
43
"Name:" ,
33
44
ltk .Input (product .name ).width (300 )
@@ -65,31 +76,30 @@ def create():
65
76
ltk .Text (product .summary )
66
77
)
67
78
)
79
+
80
+ def create ():
68
81
return (
69
82
ltk .VBox (
70
83
ltk .Heading2 ("Reactive LTK Demo" ),
71
- form
84
+ create_form ("Product 1" , product1 )
85
+ .css ("border" , "2px solid green" )
86
+ .css ("padding" , 12 )
87
+ .css ("margin-bottom" , 12 )
88
+ .css ("font-size" , 24 ),
89
+ create_form ("Product 1" , product2 )
72
90
.css ("border" , "2px solid green" )
73
91
.css ("padding" , 12 )
74
92
.css ("font-size" , 24 )
75
93
.attr ("name" , "Reactive" ),
76
- ltk .Button ("Buy Hammers " , order_hammers )
94
+ ltk .Button ("Set Product 2 to Hammer " , order_hammers )
77
95
.css ("margin-top" , 24 )
78
96
.css ("border-radius" , 8 )
79
- .css ("padding" , 12 )
97
+ .css ("padding" , 12 ),
80
98
)
81
99
.attr ("id" , "reactive" )
82
100
.attr ("name" , "Reactive" )
83
101
)
84
102
85
- def order_hammers (event ):
86
- product .name = "Hammer"
87
- product .count = 10
88
- product .price = 100.0
89
- product .warranty = True
90
- product .delivery = 2
91
- product .service = False
92
-
93
103
def row (label , * widgets ):
94
104
return ltk .HBox (
95
105
ltk .Text (label )
0 commit comments