Skip to content

Commit e942afa

Browse files
committed
Merge pull request #1164 from chaosphere2112/time_slider_upgrade
Time slider upgrade
2 parents 1de784d + f5694bc commit e942afa

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

Packages/vcs/Lib/configurator.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,9 @@ def setup_animation(self):
550550
self.anim_button = anim_toolbar.add_toggle_button("Animation", on=self.start_animating, off=self.stop_animating, on_prefix="Run", off_prefix="Stop")
551551
anim_toolbar.add_button(["Step Forward"], action=self.step_forward)
552552
anim_toolbar.add_button(["Step Backward"], action=self.step_back)
553-
anim_toolbar.add_slider_button(0, 0, self.canvas.animate.number_of_frames(), "Time Slider", update=self.set_animation_frame, end=self.final_animation_frame)
553+
def get_frame():
554+
return self.canvas.animate.frame_num
555+
anim_toolbar.add_slider_button(get_frame, 0, self.canvas.animate.number_of_frames(), "Time Slider", update=self.set_animation_frame)
554556
anim_toolbar.add_slider_button(self.animation_speed, 1, 30, "Frames Per Second", update=self.set_animation_speed)
555557
self.save_anim_button = anim_toolbar.add_button(["Save Animation", "Cancel Save"], action=self.save_animation_press)
556558
self.initialized = True
@@ -645,11 +647,8 @@ def stop_animating(self):
645647

646648
def set_animation_frame(self, value):
647649
value = int(value)
648-
self.canvas.animate.draw_frame(value)
650+
self.canvas.animate.draw_frame(value, allow_static=False, render_offscreen=False)
649651
return value
650-
def final_animation_frame(self, value):
651-
value = int(value)
652-
self.canvas.animate.draw_frame(value, allow_static = False, render_offscreen = False)
653652

654653
def set_background_red(self, value):
655654
_, g, b = self.canvas.backgroundcolor

Packages/vcs/Lib/vtk_ui/slider.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ def __init__(self, interactor, value=0, min_val=0, max_val=1, point1=(0,.1), poi
3535

3636
self.repr.SetMinimumValue(float(min_val))
3737
self.repr.SetMaximumValue(float(max_val))
38-
self.repr.SetValue(float(value))
38+
if callable(value):
39+
self.repr.SetValue(float(value()))
40+
self.value_func = value
41+
else:
42+
self.repr.SetValue(float(value))
43+
self.value_func = None
3944

4045
self.repr.SetSliderLength(0.05)
4146
self.repr.SetSliderWidth(0.02)
@@ -58,6 +63,8 @@ def place(self):
5863
self.repr.GetPoint2Coordinate().SetValue((self.x2, self.y2, 0))
5964

6065
def show(self):
66+
if self.value_func:
67+
self.repr.SetValue(float(self.value_func()))
6168
self.widget.EnabledOn()
6269
self.widget.On()
6370

0 commit comments

Comments
 (0)