I've added my own progress bar to the Blender 2.80 status bar (the footer of Blender) with the following abstracted code:
def draw_progress_bar(self, context):
self.layout.prop(context.scene, "my_progress", text="Simulating")
bpy.types.STATUSBAR_HT_header.append(draw_progress_bar)
Only problem is, when I update the my_progress
scene property, the progress bar in the UI doesn't update unless I move my mouse over the area. Typically, this would be solved by running the following code to redraw the area:
def tag_redraw_areas(area_types:iter=["ALL"]):
""" run tag_redraw for given area types """
area_types = confirm_list(area_types)
screens = [bpy.context.screen] if bpy.context.screen else bpy.data.screens
for screen in screens:
for area in screen.areas:
for area_type in area_types:
if area_type == "ALL" or area.type == area_type:
area.tag_redraw()
But in this case, the Status Bar does not seem to be listed in bpy.context.screen.areas
. Is there any other way to redraw the status bar in Blender 2.80?