Skip to content

Commit

Permalink
Merge pull request #132 from paulmueller/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
Paul Müller committed Sep 30, 2015
2 parents 0ff45cb + 085ac54 commit b9bcdea
Show file tree
Hide file tree
Showing 8 changed files with 252 additions and 92 deletions.
7 changes: 7 additions & 0 deletions ChangeLog.txt
@@ -1,3 +1,10 @@
0.9.1
- Tool 'Overlay curves': improve UI (#117)
- Tool 'Statistics view': improve UI (#113)
- Tool 'Trace view': display countrate (#121)
- Bugfixes:
- Unicode errors in statistics tool (#131)
- Load session errors with empty pages
0.9.0
- Improve parameter display (#52, #114)
- Display Chi2 on each page (#115)
Expand Down
@@ -0,0 +1 @@
2a7849e9f8ef288a92575788e773684d7db1d8e9
1 change: 1 addition & 0 deletions freeze_pyinstaller/PyCorrFit.ico.REMOVED.git-id
@@ -0,0 +1 @@
1ba2ef727b99c277df888b1ebcbf28f2a0fcc8d3
15 changes: 8 additions & 7 deletions pycorrfit/page.py
Expand Up @@ -1011,15 +1011,16 @@ def updateChi2(self):
"""
updates the self.WXTextChi2 text control
"""
label = u""
if hasattr(self.corr, "fit_results"):
chi2 = self.corr.fit_results["chi2"]
chi2str = float2string_nsf(chi2, n=3)
chi2str = nice_string(chi2str)
label = u" χ²={}".format(chi2str)
else:
label = u""
if "chi2" in self.corr.fit_results:
chi2 = self.corr.fit_results["chi2"]
chi2str = float2string_nsf(chi2, n=3)
chi2str = nice_string(chi2str)
label = u" χ²={}".format(chi2str)
# This does not work with wxPython 2.8.12:
#self.WXTextChi2.SetLabelMarkup(u"<b>{}</b>".format(label))
self.WXTextChi2.SetLabelMarkup(u"{}".format(label))
self.WXTextChi2.SetLabel(u"{}".format(label))



Expand Down
53 changes: 36 additions & 17 deletions pycorrfit/tools/overlaycurves.py
Expand Up @@ -176,8 +176,9 @@ def OnResults(self, keyskeep, keysrem):
for Page in pagerem:
j = self.parent.notebook.GetPageIndex(Page)
self.parent.notebook.DeletePage(j)
self.OnPageChanged()
dlg.Destroy()
self.OnPageChanged()



def OnSelectionChanged(self, keylist, trigger=None):
Expand Down Expand Up @@ -239,7 +240,7 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
# Get the window positioning correctly
pos = self.parent.GetPosition()
pos = (pos[0]+100, pos[1]+100)
wx.Frame.__init__(self, parent=self.parent, title="Curve selection",
wx.Frame.__init__(self, parent=self.parent, title="Overlay curves",
pos=pos, style=wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT,
size=(800,500))
## Pre-process
Expand All @@ -254,8 +255,7 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
ctrl = "Apple"
else:
ctrl = "Ctrl"
text = "Select the curves to keep. \n" +\
"By holding down the '"+ctrl+"' key, single curves can be \n" +\
text = "By holding down the '"+ctrl+"' key, single curves can be \n" +\
"selected or deselected. The 'Shift' key can be used \n" +\
"to select groups."
self.upperSizer.Add(wx.StaticText(panel_top, label=text))
Expand All @@ -278,15 +278,23 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
if self.selkeys.count(self.curvekeys[i]) == 0:
self.SelectBox.Deselect(i)
self.Bind(wx.EVT_LISTBOX, self.OnUpdatePlot, self.SelectBox)
self.boxSizer.Add(self.SelectBox)
# Button APPLY
btnok = wx.Button(panel_bottom, wx.ID_ANY, 'Apply')
self.Bind(wx.EVT_BUTTON, self.OnPushResults, btnok)
self.boxSizer.Add(btnok)
self.boxSizer.Add(self.SelectBox, wx.EXPAND)
minsx = self.boxSizer.GetMinSize()[0]
# Button REMOVE
btnrem = wx.Button(panel_bottom, wx.ID_ANY, 'Remove selected')
self.Bind(wx.EVT_BUTTON, self.OnPushResultsRemove, btnrem)
btnrem.SetMinSize((minsx, -1))
self.boxSizer.Add(btnrem)
# Button KEEP
btnkep = wx.Button(panel_bottom, wx.ID_ANY, 'Keep selected')
self.Bind(wx.EVT_BUTTON, self.OnPushResultsKeep, btnkep)
self.boxSizer.Add(btnkep)
btnkep.SetMinSize((minsx, -1))
# Button CANCEL
btncancel = wx.Button(panel_bottom, wx.ID_ANY, 'Cancel')
self.Bind(wx.EVT_BUTTON, self.OnCancel, btncancel)
self.boxSizer.Add(btncancel)
btncancel.SetMinSize((minsx, -1))
# Finish off sizers
panel_top.SetSizer(self.upperSizer)
panel_bottom.SetSizer(self.boxSizer)
Expand All @@ -313,6 +321,17 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
self.Show(True)


def GetSelection(self):
keyssel = list()
for i in self.SelectBox.GetSelections():
keyssel.append(self.curvekeys[i])
keysnosel = list()
for key in self.curvekeys:
if keyssel.count(key) == 0:
keysnosel.append(key)
return keyssel, keysnosel


def ProcessDict(self, e=None):
# Define the order of keys used.
# We want to sort the keys, such that #10: is not before #1:
Expand Down Expand Up @@ -341,15 +360,15 @@ def OnCancel(self, e=None):
self.wrapper.OnClose()


def OnPushResults(self, e=None):
def OnPushResultsRemove(self, e=None):
# Get keys from selection
keyskeep = list()
for i in self.SelectBox.GetSelections():
keyskeep.append(self.curvekeys[i])
keysrem = list()
for key in self.curvekeys:
if keyskeep.count(key) == 0:
keysrem.append(key)
keysrem, keyskeep = self.GetSelection()
self.wrapper.OnResults(keyskeep, keysrem)


def OnPushResultsKeep(self, e=None):
# Get keys from selection
keyskeep, keysrem = self.GetSelection()
self.wrapper.OnResults(keyskeep, keysrem)


Expand Down

0 comments on commit b9bcdea

Please sign in to comment.