4
class ModalTimerOperator(bpy.types.Operator):
5
'''Operator which runs its self from a timer.'''
6
bl_idname = "wm.modal_timer_operator"
7
bl_label = "Modal Timer Operator"
11
def modal(self, context, event):
12
if event.type == 'ESC':
13
return self.cancel(context)
15
if event.type == 'TIMER':
16
# change theme color, silly!
17
color = context.user_preferences.themes[0].view_3d.space.back
21
return {'PASS_THROUGH'}
23
def execute(self, context):
24
context.window_manager.modal_handler_add(self)
25
self._timer = context.window_manager.event_timer_add(0.1, context.window)
26
return {'RUNNING_MODAL'}
28
def cancel(self, context):
29
context.window_manager.event_timer_remove(self._timer)
34
bpy.utils.register_class(ModalTimerOperator)
38
bpy.utils.unregister_class(ModalTimerOperator)
41
if __name__ == "__main__":
45
bpy.ops.wm.modal_timer_operator()