tkfluent 0.0.4__py3-none-any.whl → 0.0.6__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,29 +18,49 @@ 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
 
@@ -103,27 +123,24 @@ class BWm(object):
103
123
  else:
104
124
  self._light()
105
125
 
106
- def _light(self):
126
+ def _theme(self, mode):
127
+ from .designs.window import window
128
+ n = window(mode)
107
129
  self.dconfigure(
108
- back_color="#ffffff",
109
- text_color="#000000",
130
+ back_color=n["back_color"],
131
+ text_color=n["text_color"],
110
132
  closebutton={
111
- "back_color": "red",
112
- "text_color": "#000000",
113
- "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"]
114
136
  }
115
137
  )
116
138
 
139
+ def _light(self):
140
+ self._theme("light")
141
+
117
142
  def _dark(self):
118
- self.dconfigure(
119
- back_color="#202020",
120
- text_color="#ffffff",
121
- closebutton={
122
- "back_color": "red",
123
- "text_color": "#ffffff",
124
- "text_hover_color": "#000000"
125
- }
126
- )
143
+ self._theme("dark")
127
144
 
128
145
  def wincustom(self, wait=200, way=1):
129
146
 
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)
tkflu/designs/entry.py ADDED
@@ -0,0 +1,164 @@
1
+ from .primary_color import get_primary_color
2
+
3
+
4
+ def entry(mode, state):
5
+ _r = 6
6
+ mode = mode.lower()
7
+ state = state.lower()
8
+ if mode == "light":
9
+ if state == "rest":
10
+ return {
11
+ "back_color": "#FEFEFE",
12
+ "back_opacity": 1,
13
+
14
+ "stop1": 0.999878,
15
+ "border_color": "#000000",
16
+ "border_color_opacity": 0.058824,
17
+
18
+ "stop2": 1.000000,
19
+ "border_color2": "#000000",
20
+ "border_color2_opacity": 0.447059,
21
+
22
+ "border_width": 1,
23
+ "radius": _r,
24
+ "text_color": "#646464",
25
+ "underline_fill": "#8a8a8a",
26
+ "underline_width": 1,
27
+ }
28
+ elif state == "hover":
29
+ return {
30
+ "back_color": "#FAFAFA",
31
+ "back_opacity": 1,
32
+
33
+ "stop1": 0.999878,
34
+ "border_color": "#000000",
35
+ "border_color_opacity": "0.058824",
36
+
37
+ "stop2": 1.000000,
38
+ "border_color2": "#000000",
39
+ "border_color2_opacity": "0.447059",
40
+
41
+ "border_width": 1,
42
+ "radius": _r,
43
+ "text_color": "#626262",
44
+ "underline_fill": "#8a8a8a",
45
+ "underline_width": 1,
46
+ }
47
+ elif state == "pressed":
48
+ return {
49
+ "back_color": "#FFFFFF",
50
+ "back_opacity": 0.700000,
51
+
52
+ "stop1": 0.941406,
53
+ "border_color": "#000000",
54
+ "border_color_opacity": 0.058824,
55
+
56
+ "stop2": 1,
57
+ "border_color2": get_primary_color()[0],
58
+ "border_color2_opacity": 1,
59
+
60
+ "border_width": 1,
61
+ "radius": _r,
62
+ "text_color": "#646464",
63
+ "underline_fill": get_primary_color()[0],
64
+ "underline_width": 1.5,
65
+ }
66
+ elif state == "disabled":
67
+ return {
68
+ "back_color": "#FAFAFA",
69
+ "back_opacity": 1,
70
+
71
+ "stop1": None,
72
+ "border_color": "#000000",
73
+ "border_color_opacity": 0.057800,
74
+
75
+ "stop2": None,
76
+ "border_color2": None,
77
+ "border_color2_opacity": None,
78
+
79
+ "border_width": 1,
80
+ "radius": _r,
81
+ "text_color": "#646464",
82
+ "underline_fill": None,
83
+ "underline_width": 1.5,
84
+ }
85
+
86
+ else:
87
+ if state == "rest":
88
+ return {
89
+ "back_color": "#292929",
90
+ "back_opacity": 1,
91
+
92
+ "stop1": 0.999767,
93
+ "border_color": "#FFFFFF",
94
+ "border_color_opacity": 0.078431,
95
+
96
+ "stop2": 1.000000,
97
+ "border_color2": "#FFFFFF",
98
+ "border_color2_opacity": 0.545098,
99
+
100
+ "border_width": 1,
101
+ "radius": _r,
102
+ "text_color": "#d1d1d1",
103
+ "underline_fill": "#989898",
104
+ "underline_width": 1,
105
+ }
106
+ elif state == "hover":
107
+ return {
108
+ "back_color": "#2f2f2f",
109
+ "back_opacity": 1,
110
+
111
+ "stop1": 0.999767,
112
+ "border_color": "#FFFFFF",
113
+ "border_color_opacity": "0.078431",
114
+
115
+ "stop2": 1,
116
+ "border_color2": "#FFFFFF",
117
+ "border_color2_opacity": "0.545098",
118
+
119
+ "border_width": 1,
120
+ "radius": _r,
121
+ "text_color": "#d2d2d2",
122
+
123
+ "underline_fill": "#989898",
124
+ "underline_width": 1,
125
+ }
126
+ elif state == "pressed":
127
+ return {
128
+ "back_color": "#1d1d1d",
129
+ "back_opacity": 1,
130
+
131
+ "stop1": 0.941406,
132
+ "border_color": "#FFFFFF",
133
+ "border_color_opacity": 0,
134
+
135
+ "stop2": 1,
136
+ "border_color2": get_primary_color()[1],
137
+ "border_color2_opacity": 1,
138
+
139
+ "border_width": 1,
140
+ "radius": _r,
141
+ "text_color": "#cecece",
142
+
143
+ "underline_fill": get_primary_color()[1],
144
+ "underline_width": 1.5,
145
+ }
146
+ elif state == "disabled":
147
+ return {
148
+ "back_color": "#262626",
149
+ "back_opacity": 0,
150
+
151
+ "stop1": None,
152
+ "border_color": "#FFFFFF",
153
+ "border_color_opacity": 0.069800,
154
+
155
+ "stop2": None,
156
+ "border_color2": None,
157
+ "border_color2_opacity": None,
158
+
159
+ "border_width": 1,
160
+ "radius": _r,
161
+ "text_color": "#757575",
162
+ "underline_fill": None,
163
+ "underline_width": 1,
164
+ }