update slider maxValue when params have changed

pull/284/head
Momo 2018-08-20 18:28:52 +02:00
rodzic bcd16c78b4
commit a1440903cb
2 zmienionych plików z 13 dodań i 6 usunięć

Wyświetl plik

@ -287,7 +287,6 @@ class ParamsTab(ScrolledPanel):
summary_box = wx.StaticBox(self, wx.ID_ANY, label=_("Inkscape objects"))
sizer = wx.StaticBoxSizer(summary_box, wx.HORIZONTAL)
# sizer = wx.BoxSizer(wx.HORIZONTAL)
self.description = wx.StaticText(self)
self.update_description()
self.description.SetLabel(self.description_text)
@ -423,6 +422,12 @@ class SettingsFrame(wx.Frame):
if self.simulate_window:
self.simulate_window.stop()
self.simulate_window.load(stitch_plan=stitch_plan)
children = self.simulate_window.GetChildren()
for child in children:
if isinstance(child, wx.Slider):
child.Destroy()
self.simulate_window.set_slider()
else:
params_rect = self.GetScreenRect()
simulator_pos = params_rect.GetTopRight()

Wyświetl plik

@ -37,11 +37,8 @@ class EmbroiderySimulator(wx.Frame):
self.panel = wx.Panel(self, wx.ID_ANY)
self.panel.SetBackgroundStyle(wx.BG_STYLE_PAINT)
self.stitch_slider = wx.Slider(self, value=1, minValue=1, maxValue=len(self.lines),
style = wx.SL_HORIZONTAL|wx.SL_LABELS)
self.slider_sizer = wx.BoxSizer(wx.HORIZONTAL)
self.slider_sizer.Add(self.stitch_slider, 1, wx.EXPAND)
self.set_slider()
self.button_sizer = wx.StdDialogButtonSizer()
self.button_label = (
@ -123,6 +120,11 @@ class EmbroiderySimulator(wx.Frame):
self.last_pos = None
def set_slider(self):
self.stitch_slider = wx.Slider(self, value=1, minValue=1, maxValue=len(self.lines),
style = wx.SL_HORIZONTAL|wx.SL_LABELS)
self.slider_sizer.Add(self.stitch_slider, 1, wx.EXPAND)
def get_current_screen_rect(self):
current_screen = wx.Display.GetFromPoint(wx.GetMousePosition())
display = wx.Display(current_screen)
@ -361,7 +363,7 @@ class EmbroiderySimulator(wx.Frame):
dc.DrawLine(self.last_pos_x, self.last_pos_y - 10, self.last_pos_x, self.last_pos_y + 10)
def iterate_frames(self):
self.current_frame += 1 * self.animation_direction
self.current_frame += self.stitches_per_frame * self.animation_direction
self.set_stitch_counter(self.current_frame)
self.set_stitch_slider(self.current_frame)