Skip to content

Commit b9bcdea

Browse files
author
Paul Müller
committed
Merge pull request #132 from paulmueller/develop
Develop
2 parents 0ff45cb + 085ac54 commit b9bcdea

File tree

8 files changed

+252
-92
lines changed

8 files changed

+252
-92
lines changed

ChangeLog.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
0.9.1
2+
- Tool 'Overlay curves': improve UI (#117)
3+
- Tool 'Statistics view': improve UI (#113)
4+
- Tool 'Trace view': display countrate (#121)
5+
- Bugfixes:
6+
- Unicode errors in statistics tool (#131)
7+
- Load session errors with empty pages
18
0.9.0
29
- Improve parameter display (#52, #114)
310
- Display Chi2 on each page (#115)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2a7849e9f8ef288a92575788e773684d7db1d8e9
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1ba2ef727b99c277df888b1ebcbf28f2a0fcc8d3

pycorrfit/page.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1011,15 +1011,16 @@ def updateChi2(self):
10111011
"""
10121012
updates the self.WXTextChi2 text control
10131013
"""
1014+
label = u""
10141015
if hasattr(self.corr, "fit_results"):
1015-
chi2 = self.corr.fit_results["chi2"]
1016-
chi2str = float2string_nsf(chi2, n=3)
1017-
chi2str = nice_string(chi2str)
1018-
label = u" χ²={}".format(chi2str)
1019-
else:
1020-
label = u""
1016+
if "chi2" in self.corr.fit_results:
1017+
chi2 = self.corr.fit_results["chi2"]
1018+
chi2str = float2string_nsf(chi2, n=3)
1019+
chi2str = nice_string(chi2str)
1020+
label = u" χ²={}".format(chi2str)
1021+
# This does not work with wxPython 2.8.12:
10211022
#self.WXTextChi2.SetLabelMarkup(u"<b>{}</b>".format(label))
1022-
self.WXTextChi2.SetLabelMarkup(u"{}".format(label))
1023+
self.WXTextChi2.SetLabel(u"{}".format(label))
10231024

10241025

10251026

pycorrfit/tools/overlaycurves.py

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -176,8 +176,9 @@ def OnResults(self, keyskeep, keysrem):
176176
for Page in pagerem:
177177
j = self.parent.notebook.GetPageIndex(Page)
178178
self.parent.notebook.DeletePage(j)
179+
self.OnPageChanged()
179180
dlg.Destroy()
180-
self.OnPageChanged()
181+
181182

182183

183184
def OnSelectionChanged(self, keylist, trigger=None):
@@ -239,7 +240,7 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
239240
# Get the window positioning correctly
240241
pos = self.parent.GetPosition()
241242
pos = (pos[0]+100, pos[1]+100)
242-
wx.Frame.__init__(self, parent=self.parent, title="Curve selection",
243+
wx.Frame.__init__(self, parent=self.parent, title="Overlay curves",
243244
pos=pos, style=wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT,
244245
size=(800,500))
245246
## Pre-process
@@ -254,8 +255,7 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
254255
ctrl = "Apple"
255256
else:
256257
ctrl = "Ctrl"
257-
text = "Select the curves to keep. \n" +\
258-
"By holding down the '"+ctrl+"' key, single curves can be \n" +\
258+
text = "By holding down the '"+ctrl+"' key, single curves can be \n" +\
259259
"selected or deselected. The 'Shift' key can be used \n" +\
260260
"to select groups."
261261
self.upperSizer.Add(wx.StaticText(panel_top, label=text))
@@ -278,15 +278,23 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
278278
if self.selkeys.count(self.curvekeys[i]) == 0:
279279
self.SelectBox.Deselect(i)
280280
self.Bind(wx.EVT_LISTBOX, self.OnUpdatePlot, self.SelectBox)
281-
self.boxSizer.Add(self.SelectBox)
282-
# Button APPLY
283-
btnok = wx.Button(panel_bottom, wx.ID_ANY, 'Apply')
284-
self.Bind(wx.EVT_BUTTON, self.OnPushResults, btnok)
285-
self.boxSizer.Add(btnok)
281+
self.boxSizer.Add(self.SelectBox, wx.EXPAND)
282+
minsx = self.boxSizer.GetMinSize()[0]
283+
# Button REMOVE
284+
btnrem = wx.Button(panel_bottom, wx.ID_ANY, 'Remove selected')
285+
self.Bind(wx.EVT_BUTTON, self.OnPushResultsRemove, btnrem)
286+
btnrem.SetMinSize((minsx, -1))
287+
self.boxSizer.Add(btnrem)
288+
# Button KEEP
289+
btnkep = wx.Button(panel_bottom, wx.ID_ANY, 'Keep selected')
290+
self.Bind(wx.EVT_BUTTON, self.OnPushResultsKeep, btnkep)
291+
self.boxSizer.Add(btnkep)
292+
btnkep.SetMinSize((minsx, -1))
286293
# Button CANCEL
287294
btncancel = wx.Button(panel_bottom, wx.ID_ANY, 'Cancel')
288295
self.Bind(wx.EVT_BUTTON, self.OnCancel, btncancel)
289296
self.boxSizer.Add(btncancel)
297+
btncancel.SetMinSize((minsx, -1))
290298
# Finish off sizers
291299
panel_top.SetSizer(self.upperSizer)
292300
panel_bottom.SetSizer(self.boxSizer)
@@ -313,6 +321,17 @@ def __init__(self, parent, curvedict, wrapper=None, selkeys=None,
313321
self.Show(True)
314322

315323

324+
def GetSelection(self):
325+
keyssel = list()
326+
for i in self.SelectBox.GetSelections():
327+
keyssel.append(self.curvekeys[i])
328+
keysnosel = list()
329+
for key in self.curvekeys:
330+
if keyssel.count(key) == 0:
331+
keysnosel.append(key)
332+
return keyssel, keysnosel
333+
334+
316335
def ProcessDict(self, e=None):
317336
# Define the order of keys used.
318337
# We want to sort the keys, such that #10: is not before #1:
@@ -341,15 +360,15 @@ def OnCancel(self, e=None):
341360
self.wrapper.OnClose()
342361

343362

344-
def OnPushResults(self, e=None):
363+
def OnPushResultsRemove(self, e=None):
345364
# Get keys from selection
346-
keyskeep = list()
347-
for i in self.SelectBox.GetSelections():
348-
keyskeep.append(self.curvekeys[i])
349-
keysrem = list()
350-
for key in self.curvekeys:
351-
if keyskeep.count(key) == 0:
352-
keysrem.append(key)
365+
keysrem, keyskeep = self.GetSelection()
366+
self.wrapper.OnResults(keyskeep, keysrem)
367+
368+
369+
def OnPushResultsKeep(self, e=None):
370+
# Get keys from selection
371+
keyskeep, keysrem = self.GetSelection()
353372
self.wrapper.OnResults(keyskeep, keysrem)
354373

355374

0 commit comments

Comments
 (0)