tkfluent 0.0.3__py3-none-any.whl → 0.0.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
tkflu/bwm.py CHANGED
@@ -18,32 +18,58 @@ class BWm(object):
18
18
  if hasattr(self, "closebutton"):
19
19
  self.closebutton.dconfigure(
20
20
  rest={
21
- "back_color": self.titlebar.cget("background"),
22
- "border_color": "#f0f0f0",
23
- "border_color2": "#d6d6d6",
24
- "border_width": 0,
21
+ "back_color": "#ffffff",
22
+ "back_opacity": 0,
23
+ "border_color": "#000000",
24
+ "border_color_opacity": 0,
25
+ "border_color2": None,
26
+ "border_color2_opacity": None,
27
+ "border_width": 1,
25
28
  "radius": 0,
26
29
  "text_color": self.attributes.closebutton.text_color,
27
30
  },
28
31
  hover={
29
32
  "back_color": self.attributes.closebutton.back_color,
30
- "border_color": "#f0f0f0",
31
- "border_color2": "#d6d6d6",
32
- "border_width": 0,
33
+ "back_opacity": 1,
34
+ "border_color": "#000000",
35
+ "border_color_opacity": 0,
36
+ "border_color2": None,
37
+ "border_color2_opacity": None,
38
+ "border_width": 1,
33
39
  "radius": 0,
34
40
  "text_color": self.attributes.closebutton.text_hover_color,
35
41
  },
36
42
  pressed={
37
43
  "back_color": self.attributes.closebutton.back_color,
38
- "border_color": "#f0f0f0",
39
- "border_color2": "#f0f0f0",
40
- "border_width": 0,
44
+ "back_opacity": 0.7,
45
+ "border_color": "#000000",
46
+ "border_color_opacity": 0,
47
+ "border_color2": None,
48
+ "border_color2_opacity": None,
49
+ "border_width": 1,
41
50
  "radius": 0,
42
51
  "text_color": self.attributes.closebutton.text_hover_color,
43
- }
52
+ },
53
+ disabled={
54
+ "back_color": "#ffffff",
55
+ "back_opacity": 0.3,
56
+ "border_color": "#000000",
57
+ "border_color_opacity": 0,
58
+ "border_color2": None,
59
+ "border_color2_opacity": None,
60
+ "border_width": 1,
61
+ "radius": 0,
62
+ "text_color": "#a2a2a2",
63
+ },
44
64
  )
45
65
  self.closebutton._draw()
46
66
 
67
+ def _event_key_esc(self, event=None):
68
+ self._event_delete_window()
69
+
70
+ def _event_delete_window(self):
71
+ self.destroy()
72
+
47
73
  def _event_configure(self, event=None):
48
74
 
49
75
  """
@@ -71,9 +97,6 @@ class BWm(object):
71
97
 
72
98
  self.theme(mode)
73
99
 
74
- def _exit(self):
75
- self.quit()
76
-
77
100
  def theme(self, mode: str):
78
101
 
79
102
  """
@@ -100,27 +123,24 @@ class BWm(object):
100
123
  else:
101
124
  self._light()
102
125
 
103
- def _light(self):
126
+ def _theme(self, mode):
127
+ from .designs.window import window
128
+ n = window(mode)
104
129
  self.dconfigure(
105
- back_color="#ffffff",
106
- text_color="#000000",
130
+ back_color=n["back_color"],
131
+ text_color=n["text_color"],
107
132
  closebutton={
108
- "back_color": "red",
109
- "text_color": "#000000",
110
- "text_hover_color": "#ffffff"
133
+ "back_color": n["closebutton"]["back_color"],
134
+ "text_color": n["closebutton"]["text_color"],
135
+ "text_hover_color": n["closebutton"]["text_hover_color"]
111
136
  }
112
137
  )
113
138
 
139
+ def _light(self):
140
+ self._theme("light")
141
+
114
142
  def _dark(self):
115
- self.dconfigure(
116
- back_color="#202020",
117
- text_color="#ffffff",
118
- closebutton={
119
- "back_color": "red",
120
- "text_color": "#ffffff",
121
- "text_hover_color": "#000000"
122
- }
123
- )
143
+ self._theme("dark")
124
144
 
125
145
  def wincustom(self, wait=200, way=1):
126
146
 
@@ -139,7 +159,7 @@ class BWm(object):
139
159
  self.titlebar = Frame(self, width=180, height=35, background=self.attributes.back_color)
140
160
  self.titlelabel = FluLabel(self.titlebar, text=self.title(), width=50)
141
161
  self.titlelabel.pack(fill="y", side="left")
142
- self.closebutton = FluButton(self.titlebar, text="", width=32, height=32, command=lambda: self._exit())
162
+ self.closebutton = FluButton(self.titlebar, text="", width=32, height=32, command=lambda: self._event_delete_window())
143
163
  self.closebutton.pack(fill="y", side="right")
144
164
  self.titlebar.pack(fill="x", side="top")
145
165
 
tkflu/constants.py ADDED
@@ -0,0 +1,15 @@
1
+ NO = FALSE = OFF = 0
2
+ YES = TRUE = ON = 1
3
+
4
+ # Modes
5
+ LIGHT = 'light'
6
+ DARK = 'dark'
7
+
8
+ # States
9
+ NORMAL = 'normal'
10
+ DISABLED = 'disabled'
11
+
12
+ # FluButton Styles
13
+ STANDARD = 'standard'
14
+ ACCENT = 'accent'
15
+ MENU = 'menu'
tkflu/defs.py ADDED
@@ -0,0 +1,16 @@
1
+ def toggle_theme(toggle_button, thememanager):
2
+ if toggle_button.dcget('checked'):
3
+ thememanager.mode("dark")
4
+ else:
5
+ thememanager.mode("light")
6
+
7
+
8
+ def set_default_font(font, attributes):
9
+ if font is None:
10
+ from .designs.fonts import SegoeFont
11
+ attributes.font = SegoeFont()
12
+
13
+
14
+ def orange_primary_color():
15
+ from .designs.primary_color import set_primary_color
16
+ set_primary_color(("#c53201", "#fe7e34"))
@@ -0,0 +1,2 @@
1
+ from .design import FluDesign
2
+ from .primary_color import FluPrimaryColor, set_primary_color, get_primary_color
tkflu/designs/badge.py ADDED
@@ -0,0 +1,44 @@
1
+ from .primary_color import get_primary_color
2
+
3
+
4
+ def badge(mode, style):
5
+ mode = mode.lower()
6
+ style = style.lower()
7
+ if mode == "light":
8
+ if style == "standard":
9
+ return {
10
+ "back_color": "#000000",
11
+ "back_opacity": 0.057800,
12
+ "border_color": "#000000",
13
+ "border_color_opacity": 0.057800,
14
+ "border_width": 1,
15
+ "text_color": "#191919",
16
+ }
17
+ else:
18
+ return {
19
+ "back_color": get_primary_color()[0],
20
+ "back_opacity": 1,
21
+ "border_color": get_primary_color()[0],
22
+ "border_color_opacity": 1,
23
+ "border_width": 1,
24
+ "text_color": "#FFFFFF",
25
+ }
26
+ else:
27
+ if style == "standard":
28
+ return {
29
+ "back_color": "#FFFFFF",
30
+ "back_opacity": 0.041900,
31
+ "border_color": "#000000",
32
+ "border_color_opacity": 0.041900,
33
+ "border_width": 1,
34
+ "text_color": "#FFFFFF",
35
+ }
36
+ else:
37
+ return {
38
+ "back_color": get_primary_color()[1],
39
+ "back_opacity": 1,
40
+ "border_color": get_primary_color()[1],
41
+ "border_color_opacity": 1,
42
+ "border_width": 1,
43
+ "text_color": "#000000",
44
+ }
@@ -0,0 +1,304 @@
1
+ from .primary_color import get_primary_color
2
+
3
+
4
+ def button(mode: str, style: str, state: str):
5
+ _r = 6
6
+ mode = mode.lower()
7
+ style = style.lower()
8
+ state = state.lower()
9
+ if mode == "light":
10
+ if style == "standard":
11
+ if state == "rest":
12
+ return {
13
+ "back_color": "#ffffff",
14
+ "back_opacity": "0.7",
15
+ "border_color": "#000000",
16
+ "border_color_opacity": "0.2",
17
+ "border_color2": "#000000",
18
+ "border_color2_opacity": "0.3",
19
+ "border_width": 1,
20
+ "radius": _r,
21
+ "text_color": "#000000",
22
+ }
23
+ elif state == "hover":
24
+ return {
25
+ "back_color": "#F9F9F9",
26
+ "back_opacity": "0.5",
27
+ "border_color": "#000000",
28
+ "border_color_opacity": "0.1",
29
+ "border_color2": "#000000",
30
+ "border_color2_opacity": "0.2",
31
+ "border_width": 1,
32
+ "radius": _r,
33
+ "text_color": "#000000",
34
+ }
35
+ elif state == "pressed":
36
+ return {
37
+ "back_color": "#F9F9F9",
38
+ "back_opacity": "0.3",
39
+ "border_color": "#000000",
40
+ "border_color_opacity": "0.1",
41
+ "border_color2": None,
42
+ "border_color2_opacity": None,
43
+ "border_width": 1,
44
+ "radius": _r,
45
+ "text_color": "#636363",
46
+ }
47
+ elif state == "disabled":
48
+ return {
49
+ "back_color": "#ffffff",
50
+ "back_opacity": "1.000000",
51
+ "border_color": "#000000",
52
+ "border_color_opacity": "0.058824",
53
+ "border_color2": "#000000",
54
+ "border_color2_opacity": "0.160784",
55
+ "border_width": 1,
56
+ "radius": _r,
57
+ "text_color": "#a2a2a2",
58
+ }
59
+ elif style == "accent":
60
+ if state == "rest":
61
+ return {
62
+ "back_color": get_primary_color()[0],
63
+ "back_opacity": "1",
64
+ "border_color": "#FFFFFF",
65
+ "border_color_opacity": "0.08",
66
+ "border_color2": "#000000",
67
+ "border_color2_opacity": "0.4",
68
+ "border_width": 1,
69
+ "radius": _r,
70
+ "text_color": "#ffffff",
71
+ }
72
+ elif state == "hover":
73
+ return {
74
+ "back_color": get_primary_color()[0],
75
+ "back_opacity": "0.9",
76
+ "border_color": "#FFFFFF",
77
+ "border_color_opacity": "0.08",
78
+ "border_color2": "#000000",
79
+ "border_color2_opacity": "0.4",
80
+ "border_width": 1,
81
+ "radius": _r,
82
+ "text_color": "#ffffff",
83
+ }
84
+ elif state == "pressed":
85
+ return {
86
+ "back_color": get_primary_color()[0],
87
+ "back_opacity": "0.8",
88
+ "border_color": "#FFFFFF",
89
+ "border_color_opacity": "0.08",
90
+ "border_color2": "#FFFFFF",
91
+ "border_color2_opacity": "0.08",
92
+ "border_width": 1,
93
+ "radius": _r,
94
+ "text_color": "#fbfbfb",
95
+ }
96
+ elif state == "disabled":
97
+ return {
98
+ "back_color": "#000000",
99
+ "back_opacity": "0.22",
100
+ "border_color": "#FFFFFF",
101
+ "border_color_opacity": "1",
102
+ "border_color2": "#FFFFFF",
103
+ "border_color2_opacity": "1",
104
+ "border_width": 0,
105
+ "radius": _r,
106
+ "text_color": "#f3f3f3",
107
+ }
108
+ else:
109
+ if state == "rest":
110
+ return {
111
+ "back_color": "#ffffff",
112
+ "back_opacity": 0,
113
+ "border_color": "#000000",
114
+ "border_color_opacity": "0",
115
+ "border_color2": None,
116
+ "border_color2_opacity": None,
117
+ "border_width": 0,
118
+ "radius": _r,
119
+ "text_color": "#000000",
120
+ }
121
+ elif state == "hover":
122
+ return {
123
+ "back_color": "#F9F9F9",
124
+ "back_opacity": 0,
125
+ "border_color": "#000000",
126
+ "border_color_opacity": "0",
127
+ "border_color2": None,
128
+ "border_color2_opacity": None,
129
+ "border_width": 0,
130
+ "radius": _r,
131
+ "text_color": "#000000",
132
+ }
133
+ elif state == "pressed":
134
+ return {
135
+ "back_color": "#F9F9F9",
136
+ "back_opacity": "0.3",
137
+ "border_color": "#000000",
138
+ "border_color_opacity": "0",
139
+ "border_color2": None,
140
+ "border_color2_opacity": None,
141
+ "border_width": 0,
142
+ "radius": _r,
143
+ "text_color": "#636363",
144
+ }
145
+ elif state == "disabled":
146
+ return {
147
+ "back_color": "#ffffff",
148
+ "back_opacity": 0,
149
+ "border_color": "#000000",
150
+ "border_color_opacity": "0",
151
+ "border_color2": None,
152
+ "border_color2_opacity": None,
153
+ "border_width": 0,
154
+ "radius": _r,
155
+ "text_color": "#a2a2a2",
156
+ }
157
+ else:
158
+ if style == "standard":
159
+ if state == "rest":
160
+ return {
161
+ "back_color": "#FFFFFF",
162
+ "back_opacity": "0.06",
163
+ "border_color": "#FFFFFF",
164
+ "border_color_opacity": "0.09",
165
+ "border_color2": "#FFFFFF",
166
+ "border_color2_opacity": "0.07",
167
+ "border_width": 1,
168
+ "radius": _r,
169
+ "text_color": "#FFFFFF",
170
+ }
171
+ elif state == "hover":
172
+ return {
173
+ "back_color": "#FFFFFF",
174
+ "back_opacity": "0.08",
175
+ "border_color": "#FFFFFF",
176
+ "border_color_opacity": "0.09",
177
+ "border_color2": "#FFFFFF",
178
+ "border_color2_opacity": "0.07",
179
+ "border_width": 1,
180
+ "radius": _r,
181
+ "text_color": "#FFFFFF",
182
+ }
183
+ elif state == "pressed":
184
+ return {
185
+ "back_color": "#FFFFFF",
186
+ "back_opacity": "0.03",
187
+ "border_color": "#FFFFFF",
188
+ "border_color_opacity": "0.07",
189
+ "border_color2": None,
190
+ "border_color2_opacity": None,
191
+ "border_width": 1,
192
+ "radius": _r,
193
+ "text_color": "#7D7D7D",
194
+ }
195
+ elif state == "disabled":
196
+ return {
197
+ "back_color": "#FFFFFF",
198
+ "back_opacity": "0.04",
199
+ "border_color": "#FFFFFF",
200
+ "border_color_opacity": "0.07",
201
+ "border_color2": None,
202
+ "border_color2_opacity": None,
203
+ "border_width": 1,
204
+ "radius": _r,
205
+ "text_color": "#a2a2a2",
206
+ }
207
+ elif style == "accent":
208
+ if state == "rest":
209
+ return {
210
+ "back_color": get_primary_color()[1],
211
+ "back_opacity": "1",
212
+ "border_color": "#FFFFFF",
213
+ "border_color_opacity": "0.08",
214
+ "border_color2": "#FFFFFF",
215
+ "border_color2_opacity": "0.14",
216
+ "border_width": 1,
217
+ "radius": _r,
218
+ "text_color": "#000000",
219
+ }
220
+ elif state == "hover":
221
+ return {
222
+ "back_color": get_primary_color()[1],
223
+ "back_opacity": "0.9",
224
+ "border_color": "#FFFFFF",
225
+ "border_color_opacity": "0.08",
226
+ "border_color2": "#000000",
227
+ "border_color2_opacity": "0.14",
228
+ "border_width": 1,
229
+ "radius": _r,
230
+ "text_color": "#000000",
231
+ }
232
+ elif state == "pressed":
233
+ return {
234
+ "back_color": get_primary_color()[1],
235
+ "back_opacity": "0.8",
236
+ "border_color": "#FFFFFF",
237
+ "border_color_opacity": "0.08",
238
+ "border_color2": None,
239
+ "border_color2_opacity": None,
240
+ "border_width": 1,
241
+ "radius": _r,
242
+ "text_color": "#101010",
243
+ }
244
+ elif state == "disabled":
245
+ return {
246
+ "back_color": "#FFFFFF",
247
+ "back_opacity": "0.16",
248
+ "border_color": "#FFFFFF",
249
+ "border_color_opacity": "0.16",
250
+ "border_color2": None,
251
+ "border_color2_opacity": None,
252
+ "border_width": 1,
253
+ "radius": _r,
254
+ "text_color": "#a7a7a7",
255
+ }
256
+ else:
257
+ if state == "rest":
258
+ return {
259
+ "back_color": "#FFFFFF",
260
+ "back_opacity": "0",
261
+ "border_color": "#FFFFFF",
262
+ "border_color_opacity": "0",
263
+ "border_color2": "#FFFFFF",
264
+ "border_color2_opacity": "0",
265
+ "border_width": 0,
266
+ "radius": _r,
267
+ "text_color": "#FFFFFF",
268
+ }
269
+ elif state == "hover":
270
+ return {
271
+ "back_color": "#FFFFFF",
272
+ "back_opacity": "0.04",
273
+ "border_color": "#FFFFFF",
274
+ "border_color_opacity": "0.045",
275
+ "border_color2": "#FFFFFF",
276
+ "border_color2_opacity": "0.07",
277
+ "border_width": 0,
278
+ "radius": _r,
279
+ "text_color": "#FFFFFF",
280
+ }
281
+ elif state == "pressed":
282
+ return {
283
+ "back_color": "#FFFFFF",
284
+ "back_opacity": "0.015",
285
+ "border_color": "#FFFFFF",
286
+ "border_color_opacity": "0.035",
287
+ "border_color2": None,
288
+ "border_color2_opacity": None,
289
+ "border_width": 0,
290
+ "radius": _r,
291
+ "text_color": "#7D7D7D",
292
+ }
293
+ elif state == "disabled":
294
+ return {
295
+ "back_color": "#FFFFFF",
296
+ "back_opacity": "0",
297
+ "border_color": "#FFFFFF",
298
+ "border_color_opacity": "0",
299
+ "border_color2": None,
300
+ "border_color2_opacity": None,
301
+ "border_width": 0,
302
+ "radius": _r,
303
+ "text_color": "#a2a2a2",
304
+ }
@@ -0,0 +1,27 @@
1
+ class FluDesign(object):
2
+ def __init__(self):
3
+ pass
4
+
5
+ def badge(self, *args, **kwargs):
6
+ from .badge import badge
7
+ return badge(*args, **kwargs)
8
+
9
+ def button(self, *args, **kwargs):
10
+ from .button import button
11
+ return button(*args, **kwargs)
12
+
13
+ def entry(self, *args, **kwargs):
14
+ from .entry import entry
15
+ return entry(*args, **kwargs)
16
+
17
+ def frame(self, *args, **kwargs):
18
+ from .frame import frame
19
+ return frame(*args, **kwargs)
20
+
21
+ def text(self, *args, **kwargs):
22
+ from .text import text
23
+ return text(*args, **kwargs)
24
+
25
+ def window(self, *args, **kwargs):
26
+ from .window import window
27
+ return window(*args, **kwargs)