class ProgressWindow(object):
- def __init__(self, tui, title, text, max_value=1, width=60, help=None):
+ def __init__(self, tui, title, text, max_value=0, width=60, help=None):
self.tui = tui
# Compose the window
textbox = snack.TextboxReflowed(width, text)
# Add the progressbar
- scale = snack.Scale(width, total=max_value)
- self.update_callback = scale.set
+ if max_value:
+ scale = snack.Scale(width, total=max_value)
+ self.update_callback = scale.set
+ else:
+ scale = None
# Create the grid
self.grid = snack.GridFormHelp(tui.screen, title, help, 1, 3)
self.grid.add(textbox, 0, 0, padding=(0, 0, 0, 1))
- self.grid.add(scale, 0, 1, growx=1)
+ if scale:
+ self.grid.add(scale, 0, 1, growx=1)
def __enter__(self):
# Render the window
self.tui.refresh()
def __exit__(self, type, value, traceback):
- pass
+ self.tui.screen.popWindow()
def update(self, value):
"""