From 41a67bfae226276cb23fc5d236eb81751a5f5ce3 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Fri, 3 Oct 2014 23:35:56 -0400 Subject: [PATCH] Fix some inconsistent behavior and a possible issue with adding a GUI element twice --- gui/resistsEditor.py | 55 ++++++++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/gui/resistsEditor.py b/gui/resistsEditor.py index 1092e77a2..a5764a74a 100644 --- a/gui/resistsEditor.py +++ b/gui/resistsEditor.py @@ -274,23 +274,14 @@ class ResistsEditorDlg (wx.Dialog): def renamePattern(self, event=None): "Changes layout to facilitate naming a pattern" - self.ccResists.Hide() - self.namePicker.Show() - self.headerSizer.Replace(self.ccResists, self.namePicker) - self.namePicker.SetFocus() + self.showInput(True) + if event is not None: # Rename mode self.btnSave.SetLabel("Rename") self.namePicker.SetValue(self.getActivePattern().name) else: # Create mode self.namePicker.SetValue("") - for btn in (self.new, self.rename, self.delete, self.copy): - btn.Hide() - self.headerSizer.Remove(btn) - - self.headerSizer.Add(self.btnSave, 0, wx.ALIGN_CENTER) - self.btnSave.Show() - self.headerSizer.Layout() if event is not None: event.Skip() @@ -326,15 +317,7 @@ class ResistsEditorDlg (wx.Dialog): sTR.renamePattern(p, newName) self.updateChoices(newName) - self.headerSizer.Replace(self.namePicker, self.ccResists) - self.ccResists.Show() - self.namePicker.Hide() - self.btnSave.Hide() - self.headerSizer.Remove(self.btnSave) - for btn in (self.new, self.rename, self.delete, self.copy): - self.headerSizer.Add(btn, 0, wx.ALIGN_CENTER_VERTICAL) - btn.Show() - + self.showInput(False) sel = self.ccResists.GetSelection() self.ValuesUpdated() self.unrestrict() @@ -358,6 +341,33 @@ class ResistsEditorDlg (wx.Dialog): del self.choices[sel] self.patternChanged() + def showInput(self, bool): + print self.namePicker.IsShown(), bool + if bool and not self.namePicker.IsShown(): + self.ccResists.Hide() + self.namePicker.Show() + self.headerSizer.Replace(self.ccResists, self.namePicker) + self.namePicker.SetFocus() + for btn in (self.new, self.rename, self.delete, self.copy): + btn.Hide() + self.headerSizer.Remove(btn) + self.headerSizer.Add(self.btnSave, 0, wx.ALIGN_CENTER) + self.btnSave.Show() + self.restrict() + self.headerSizer.Layout() + elif not bool and self.namePicker.IsShown(): + self.headerSizer.Replace(self.namePicker, self.ccResists) + self.ccResists.Show() + self.namePicker.Hide() + self.btnSave.Hide() + self.headerSizer.Remove(self.btnSave) + for btn in (self.new, self.rename, self.delete, self.copy): + self.headerSizer.Add(btn, 0, wx.ALIGN_CENTER_VERTICAL) + btn.Show() + self.unrestrict() + #self.headerSizer.Layout() + + def __del__( self ): pass @@ -366,6 +376,10 @@ class ResistsEditorDlg (wx.Dialog): sTR = service.TargetResists.getInstance() self.choices = sTR.getTargetResistsList() + if len(self.choices) == 0: + #self.newPattern(None) + return + # Sort the remaining list and continue on self.choices.sort(key=lambda p: p.name) self.ccResists.Clear() @@ -390,6 +404,7 @@ class ResistsEditorDlg (wx.Dialog): try: sTR.importPatterns(text) self.stNotice.SetLabel("Patterns successfully imported from clipboard") + self.showInput(False) except service.targetResists.ImportError, e: self.stNotice.SetLabel(str(e)) except Exception, e: