From 59a5b68152113a136e3d09962a641cb13db6ba96 Mon Sep 17 00:00:00 2001 From: burnsypet Date: Wed, 13 Jun 2018 22:52:36 +0100 Subject: [PATCH] Added reset and randomize buttons to mutaplasmid view --- gui/builtinItemStatsViews/itemMutator.py | 34 ++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/gui/builtinItemStatsViews/itemMutator.py b/gui/builtinItemStatsViews/itemMutator.py index 1803086a8..aa7c8dc06 100644 --- a/gui/builtinItemStatsViews/itemMutator.py +++ b/gui/builtinItemStatsViews/itemMutator.py @@ -9,6 +9,11 @@ from gui.contextMenu import ContextMenu from gui.bitmap_loader import BitmapLoader import gui.globalEvents as GE import gui.mainFrame +import random + +from logbook import Logger + +pyfalog = Logger(__name__) class ItemMutator(wx.Panel): @@ -91,8 +96,13 @@ class ItemMutator(wx.Panel): bSizer = wx.BoxSizer(wx.HORIZONTAL) - self.saveBtn = wx.Button(self, wx.ID_ANY, "Save Attributes", wx.DefaultPosition, wx.DefaultSize, 0) - bSizer.Add(self.saveBtn, 0, wx.ALIGN_CENTER_VERTICAL) + self.refreshBtn = wx.Button(self, wx.ID_ANY, "Reset defaults", wx.DefaultPosition, wx.DefaultSize, 0) + bSizer.Add(self.refreshBtn, 0, wx.ALIGN_CENTER_VERTICAL) + self.refreshBtn.Bind(wx.EVT_BUTTON, self.resetMutatedValues) + + self.randomBtn = wx.Button(self, wx.ID_ANY, "Random stats", wx.DefaultPosition, wx.DefaultSize, 0) + bSizer.Add(self.randomBtn, 0, wx.ALIGN_CENTER_VERTICAL) + self.randomBtn.Bind(wx.EVT_BUTTON, self.randomMutatedValues) mainSizer.Add(bSizer, 0, wx.RIGHT | wx.LEFT | wx.EXPAND, 0) @@ -110,6 +120,26 @@ class ItemMutator(wx.Panel): self.timer = None self.timer = wx.CallLater(1000, self.callLater) + def resetMutatedValues(self, evt): + sFit = Fit.getInstance() + + for slider, m in self.event_mapping.items(): + value = m.baseValue + sFit.changeMutatedValue(m, value) + slider.SetValue(value) + + evt.Skip() + + def randomMutatedValues(self, evt): + sFit = Fit.getInstance() + + for slider, m in self.event_mapping.items(): + value = random.uniform(m.minValue, m.maxValue) + sFit.changeMutatedValue(m, value) + slider.SetValue(value) + + evt.Skip() + def callLater(self): self.timer = None print("recalc fit")