- self.window_manager = context.window_manager
- self.window_manager.progress_begin(0.0, 1.0)
+ self.stack = []
+ if context:
+ self.window_manager = context.window_manager
+ self.window_manager.progress_begin(0.0, 1.0)
+ else:
+ self.window_manager = None
+
+ def push_task(self, task, low, high):
+ self.stack.append((self.task, self.start, self.delta))
+ self.set_task(task, low, high)
+
+ def push_task_slice(self, task, index, count):
+ self.push_task(task, index/count, (index+1)/count)
+
+ def pop_task(self):
+ if not self.stack:
+ return
+
+ self.set_progress(1.0)
+ self.task, self.start, self.delta = self.stack.pop()