1
+ from kivy .app import App
2
+ from kivy .uix .label import Label
3
+
4
+ from kivy .uix .layout import Layout
5
+ from kivy .uix .button import Button
6
+ from kivy .uix .boxlayout import BoxLayout
7
+ from kivy .uix .anchorlayout import AnchorLayout
8
+ from kivy .core .window import Window
9
+ from kivy .uix .textinput import TextInput
10
+ from kivy .uix .image import Image
11
+ from kivy .uix .widget import Widget
12
+
13
+ import random
14
+ from file_fill import generate
15
+ from randomiser import Randomiser
16
+
17
+ # color = [None] * 5
18
+ # color[0] = [33/255, 121/255, 108/255, 1]
19
+ # color[1] = [157/255, 180/255, 245/255, 0.1]
20
+ # color[2] = [216/255, 215/255, 225/255, 1]
21
+ # color[3] = [115/255, 120/255, 130/255, 1]
22
+ # color[4] = [118/255, 125/255, 140/255, 1]
23
+
24
+ size_x , size_y = Window .size [1 ], Window .size [0 ]
25
+ # Window.size = (size_x*.8, size_y)
26
+ print (Window .size [1 ])
27
+ Window .clearcolor = [216 / 255 , 215 / 255 , 225 / 255 , 1 ]
28
+ font = size_x / 10
29
+
30
+ class AppGrid (Widget ):
31
+
32
+ # def build(self):
33
+ # self.icon = '123.png'
34
+ # icon_close = Button(text='X',
35
+ # bold = True,
36
+ # font_size = font,
37
+ # background_color = color[2],
38
+ # background_normal = '',
39
+ # color = color[4],
40
+ # size_hint = [0.2, 0.2])
41
+ # icon_close.bind(on_press=self.btn_stop_press)
42
+
43
+ # self.ep_label = Label(text='0',
44
+ # font_size = font*1.6,
45
+ # # size_hint_y = 0.8,
46
+ # color = color[4],
47
+ # bold = True,
48
+ # halign = 'center')
49
+
50
+ # self.ep_input = TextInput(multiline=False,
51
+ # input_filter = 'int',
52
+ # halign = 'center',
53
+ # hint_text = 'Ep. Num',
54
+ # font_size = font,
55
+ # background_color = color[2])
56
+ # self.ep_input.bind(focus=self.on_focus,
57
+ # on_text_validate=self.on_enter,
58
+ # text=self.on_text)
59
+
60
+ # btn_rtn = Button(text='Remove',
61
+ # font_size = font/2,
62
+ # background_color = color[1],
63
+ # color = color[3])
64
+ # btn_add = Button(text='Add',
65
+ # font_size = font/2,
66
+ # background_color = color[1],
67
+ # color = color[3],
68
+ # size_hint_x = 0.7)
69
+ # self.btn_rand = Button(text='Roll the\nDice!',
70
+ # font_size = font/2,
71
+ # halign = 'center',
72
+ # background_color = color[1],
73
+ # color = color[3])
74
+ # # btn_stop = Button(text='Exit',
75
+ # # font_size = font,
76
+ # # background_color = color[1],
77
+ # # color = color[3],)
78
+ # # size_hint_y = 0.4)
79
+ # btn_rtn.bind(on_press=self.btn_rtn_press)
80
+ # btn_add.bind(on_press=self.btn_add_press)
81
+ # self.btn_rand.bind(on_press=self.btn_rand_press)
82
+ # # btn_stop.bind(on_press=self.btn_stop_press)
83
+
84
+ # layout_main = BoxLayout(orientation = 'vertical')
85
+ # layout_icons = BoxLayout(orientation = 'vertical',
86
+ # spacing = size_x/10)
87
+
88
+ # layout_box = BoxLayout(orientation = 'vertical',
89
+ # padding = [font*0.6, 0, font*0.6, font*0.6],
90
+ # spacing = font/2)
91
+ # layout_row_2 = BoxLayout(orientation = 'horizontal',
92
+ # spacing = font/2,
93
+ # size_hint_y = 0.5)
94
+ # layout_anch = AnchorLayout(anchor_x = 'right',
95
+ # anchor_y = 'top',
96
+ # size_hint_y = 0.3,
97
+ # padding = [0, font/2, 0, 0])
98
+
99
+ # # layout_icons.add_widget(icon_close)
100
+ # # layout_icons.add_widget(icon_reboot)
101
+ # layout_anch.add_widget(icon_close)
102
+ # layout_row_2.add_widget(btn_rtn)
103
+ # layout_row_2.add_widget(btn_add)
104
+
105
+ # layout_box.add_widget(self.ep_label)
106
+ # layout_box.add_widget(self.ep_input)
107
+ # layout_box.add_widget(layout_row_2)
108
+ # layout_box.add_widget(self.btn_rand)
109
+ # # layout_box.add_widget(btn_stop)
110
+ # layout_main.add_widget(layout_anch)
111
+ # layout_main.add_widget(layout_box)
112
+
113
+ # self.ep_label.font_size = font/2
114
+ # self.ep_label.text = rand.clean()
115
+ # return layout_main
116
+
117
+ # def __init__(self):
118
+ # self.state_add = False
119
+ # self.state_rtn = False
120
+
121
+ def btn_rtn_press (self ):
122
+ # if self.ids.btn_rtn.state == 'normal':
123
+ # print('down')
124
+ # else:
125
+ # print('normal')
126
+ try :
127
+ int (self .ids .ep_input .text )
128
+ self .ids .ep_label .font_size = font / 2
129
+ self .ids .ep_label .text = rand .remove (self .ids .ep_input .text )
130
+ except ValueError :
131
+ print ('rtn' )
132
+ finally :
133
+ self .ids .ep_input .text = ''
134
+
135
+ def btn_add_press (self ):
136
+ # if not value == 'normal':
137
+ # print('down')
138
+ # else:
139
+ # print('normal')
140
+ try :
141
+ int (self .ids .ep_input .text )
142
+ self .ids .ep_label .font_size = font / 2
143
+ self .ids .ep_label .text = rand .add (self .ids .ep_input .text )
144
+ self .ids .ep_input .text = ''
145
+ except ValueError :
146
+ print ('add' )
147
+ finally :
148
+ self .ids .ep_input .text = ''
149
+
150
+ def btn_rand_press (self ):
151
+ self .ids .ep_label .font_size = font * 3
152
+ self .ids .ep_label .text , reset_state = rand .run ()
153
+ if reset_state :
154
+ # self.btn_rand.text = 'Сброс\nсписок'
155
+ self .ids .ep_label .font_size = font / 2
156
+ msg = rand .reset_list ()
157
+ self .ids .ep_label .text = msg
158
+ self .ids .ep_input .text = ''
159
+
160
+ def btn_stop_press (self , * largs ):
161
+ print ('====Exit====' )
162
+ rand .save_data ()
163
+ app .get_running_app ().stop ()
164
+
165
+
166
+ def on_focus (self , instance , value ):
167
+ print ('Focus' )
168
+ return
169
+
170
+ def on_text (self ):
171
+ print (self .ids .ep_input .text )
172
+ return
173
+
174
+ def on_enter (self ):
175
+ if self .ids .btn_rtn .state == 'down' :
176
+ print ('rtn!!' )
177
+ self .btn_rtn_press ()
178
+ elif self .ids .btn_add .state == 'down' :
179
+ print ('Add!!' )
180
+ self .btn_add_press ()
181
+ else :
182
+ print ('No btts' )
183
+ return
184
+ print (f'User entered { self .ids .ep_input .text } ' )
185
+ self .ids .ep_input .text = ''
186
+ # self.ids.ep_label.text, self.ids.ep_input.text = self.ids.ep_input.text, ''
187
+ return
188
+
189
+ def on_stop (self ):
190
+ print ('====Exit====' )
191
+
192
+ class RandEpApp (App ):
193
+ def build (self ):
194
+ icon : '123.png'
195
+ return AppGrid ()
196
+
197
+ if __name__ == '__main__' :
198
+ rand = Randomiser ()
199
+ app = RandEpApp ()
200
+ app .run ()
0 commit comments