mirror of
https://github.com/FAUSheppy/homelab_gamevault
synced 2025-12-06 23:11:36 +01:00
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
import customtkinter
|
|
|
|
class ProgressBarWrapper:
|
|
'''Provide a progress bar wrapper, so PGs can be created and destroyed
|
|
on the GUI level without affecting the references stored for updates
|
|
in the DataBackend and Software Objects'''
|
|
|
|
def __init__(self):
|
|
|
|
self.progress_bar = None
|
|
self.progress_text = None
|
|
self.tk_parent = None
|
|
|
|
def update(self):
|
|
|
|
if self.tk_parent:
|
|
self.tk_parent.update_idletasks()
|
|
|
|
def new(self, tk_parent):
|
|
|
|
self.tk_parent = tk_parent
|
|
self.progress_bar = customtkinter.CTkProgressBar(tk_parent, height=20, width=200)
|
|
self.progress_bar["maximum"] = 10000
|
|
self.progress_bar.set(0)
|
|
|
|
return self.progress_bar
|
|
|
|
def new_text(self, tk_parent):
|
|
|
|
self.tk_parent = tk_parent
|
|
self.progress_text = customtkinter.CTkLabel(tk_parent, height=20, width=130, text="")
|
|
return self.progress_text
|
|
|
|
def get_pb(self):
|
|
|
|
if self.progress_bar:
|
|
return self.progress_bar
|
|
else:
|
|
raise AssertionError("No progress bar in this wrapper created")
|
|
|
|
def set_text(self, text):
|
|
|
|
if self.progress_text:
|
|
self.progress_text.configure(text=text)
|
|
else:
|
|
pass
|
|
#FIXME raise AssertionError("No progress text in this wrapper created")
|