Skip to content

Commit 9f01c6f

Browse files
authored
Merge pull request #296 from ODM2/btn_refresh
Btn refresh
2 parents 3f3a43c + b2a3a88 commit 9f01c6f

4 files changed

Lines changed: 75 additions & 43 deletions

File tree

odmtools/controller/frmSeriesSelector.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,14 @@ def onReadyToPlot(self, event):
490490
except Exception as e :
491491
object = self.tblSeries.GetSelectedObject()
492492

493+
self.drawPlot(object)
494+
logger.debug("refreshing...")
495+
self.Refresh()
496+
497+
logger.debug("Finish Plotting")
498+
499+
def drawPlot(self, object):
500+
493501
if not self.tblSeries.IsChecked(object):
494502
Publisher.sendMessage("removePlot", seriesID=object.id)
495503
Publisher.sendMessage("updateCursor", deselectedObject=object)
@@ -499,12 +507,6 @@ def onReadyToPlot(self, event):
499507
self.pnlPlot.addPlot(self.memDB, object.id)
500508
Publisher.sendMessage("updateCursor", selectedObject=object)
501509

502-
logger.debug("refreshing...")
503-
self.Refresh()
504-
505-
logger.debug("Finish Plotting")
506-
507-
508510
#from meliae import scanner
509511
#scanner.dump_all_objects("plot_plotting.dat")
510512

@@ -527,6 +529,17 @@ def getSelectedObject(self, event):
527529
#print "Updating Cursor", editingObject.id
528530
Publisher.sendMessage("updateCursor", selectedObject=editingObject)
529531

532+
def onBtnClear(self, event):
533+
logger.debug("Clearing all selected objects from Series Catalog")
534+
chcklist = self.tblSeries.GetCheckedObjects()
535+
536+
self.tblSeries.RefreshObject(self.tblSeries.editingObject)
537+
for c in chcklist:
538+
self.tblSeries.SetCheckState(c, False)
539+
Publisher.sendMessage("removeMultPlot", seriesIDs= chcklist)
540+
Publisher.sendMessage("updateCursor", deselectedObject=object)
541+
#self.drawPlot(c)
542+
self.Refresh()
530543

531544
def onReadyToEdit(self):
532545
"""Choose a series to edit from the series selector

odmtools/gui/plotTimeSeries.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ def updateCursor(self, selectedObject=None, deselectedObject=None):
495495
elif len(self.axislist) < 1:
496496
currentAxis = None
497497
self.configureCursor(currentAxis=currentAxis)
498-
elif deselectedObject:
498+
else:#elif deselectedObject:
499499
"""
500500
Deactivate Cursor. This happens when the plot is deselected
501501
"""

odmtools/gui/pnlPlot.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def initPubSub(self):
8181
Publisher.subscribe(self.onShowLegend, "onShowLegend")
8282
Publisher.subscribe(self.onNumBins, "onNumBins")
8383
Publisher.subscribe(self.onRemovePlot, "removePlot")
84+
Publisher.subscribe(self.onRemovePlots, "removeMultPlot")
8485
Publisher.subscribe(self.onChangeSelection, "changePlotSelection")
8586
Publisher.subscribe(self.onUpdateValues, "updateValues")
8687
Publisher.subscribe(self.clear, "clearPlot")
@@ -154,6 +155,11 @@ def onRemovePlot(self, seriesID):
154155
self._seriesPlotInfo.update(seriesID, False)
155156
self.redrawPlots()
156157

158+
def onRemovePlots(self, seriesIDs):
159+
for series in seriesIDs:
160+
self._seriesPlotInfo.update(series.id, False)
161+
self.redrawPlots()
162+
157163
def redrawPlots(self):
158164

159165
logger.debug("Plot Summary")

odmtools/view/clsSeriesSelector.py

Lines changed: 49 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
wxID_PNLSERIESSELECTORCHECKSITE, wxID_PNLSERIESSELECTORCHECKVARIABLE, wxID_PNLSERIESSELECTORLBLSITE,
1010
wxID_PNLSERIESSELECTORLBLVARIABLE, wxID_PNLSERIESSELECTORtableSeries, wxID_PNLSERIESSELECTORPANEL1,
1111
wxID_PNLSERIESSELECTORPANEL2, wxID_PNLSIMPLE, wxID_PNLRADIO, wxID_FRAME1RBADVANCED, wxID_FRAME1RBALL,
12-
wxID_FRAME1RBSIMPLE, wxID_FRAME1SPLITTER, wxID_PNLSPLITTER, wxID_PNLSERIESSELECTORtableSeriesTest, ] = [
13-
wx.NewId() for _init_ctrls in range(18)]
12+
wxID_FRAME1RBSIMPLE, wxID_FRAME1SPLITTER, wxID_PNLSPLITTER, wxID_PNLSERIESSELECTORtableSeriesTest,wxID_CLEAR, ] = [
13+
wx.NewId() for _init_ctrls in range(19)]
1414

1515
class ClsSeriesSelector(wx.Panel):
1616

@@ -29,13 +29,20 @@ def __init__(self, parent, dbservice):
2929
self.export_service = self.service_manager.get_export_service()
3030
self.selectedIndex = 0
3131
self.isEditing = False
32+
33+
3234
## Radio Sizer
33-
## def _init_coll_boxSizer5_Items(self, parent):
34-
## # generated method, don't edit
35-
##
36-
## parent.AddWindow(self.rbAll, 0, border=1, flag=wx.ALL)
37-
## parent.AddWindow(self.rbSimple, 0, border=1, flag=wx.ALL)
38-
## parent.AddWindow(self.rbAdvanced, 0, border=1, flag=wx.ALL)
35+
def _init_coll_boxSizer5_Items(self, parent):
36+
# generated method, don't edit
37+
38+
pnlSpacer= wx.Panel(id=0, name='pnlSpacer', parent=self.pnlRadio, pos=wx.Point(3, 3),
39+
size=wx.Size(0, 25), style=wx.TAB_TRAVERSAL)
40+
parent.AddWindow(self.rbAll, 0, border=1, flag=wx.ALL)
41+
parent.AddWindow(self.rbSimple, 0, border=1, flag=wx.ALL)
42+
parent.AddWindow(self.rbAdvanced, 0, border=1, flag=wx.ALL)
43+
parent.AddWindow(pnlSpacer, 100, border=1, flag=wx.EXPAND)
44+
45+
parent.AddWindow(self.btnClear, 0, border=1, flag=wx.ALL)
3946

4047

4148
## Splitter Sizer
@@ -74,27 +81,26 @@ def _init_coll_boxSizer6_Items(self, parent):
7481

7582
def _init_sizers(self):
7683
# generated method, don't edit
77-
self.boxSizer1 = wx.BoxSizer(orient=wx.VERTICAL)
78-
self.boxSizer2 = wx.BoxSizer(orient=wx.HORIZONTAL)
79-
self.boxSizer3 = wx.BoxSizer(orient=wx.VERTICAL)
80-
self.boxSizer4 = wx.BoxSizer(orient=wx.HORIZONTAL)
81-
## self.boxSizer5 = wx.BoxSizer(orient=wx.HORIZONTAL)
82-
self.boxSizer6 = wx.BoxSizer(orient=wx.VERTICAL)
83-
84-
self._init_coll_boxSizer1_Items(self.boxSizer1)
85-
self._init_coll_boxSizer2_Items(self.boxSizer2)
86-
self._init_coll_boxSizer3_Items(self.boxSizer3)
87-
self._init_coll_boxSizer4_Items(self.boxSizer4)
88-
## self._init_coll_boxSizer5_Items(self.boxSizer5)
89-
self._init_coll_boxSizer6_Items(self.boxSizer6)
90-
91-
self.SetSizer(self.boxSizer1)
92-
## self.pnlRadio.SetSizer(self.boxSizer5)
93-
## self.pnlSite.SetSizer(self.boxSizer4)
94-
## self.pnlVar.SetSizer(self.boxSizer2)
95-
self.cpnlSimple.SetSizer(self.boxSizer6)
96-
self.pnlData.SetSizer(self.boxSizer3)
97-
# self.pnlRadio.SetSizer(self.boxSizer5)
84+
boxSizer1 = wx.BoxSizer(orient=wx.VERTICAL)
85+
boxSizer2 = wx.BoxSizer(orient=wx.HORIZONTAL)
86+
boxSizer3 = wx.BoxSizer(orient=wx.VERTICAL)
87+
boxSizer4 = wx.BoxSizer(orient=wx.HORIZONTAL)
88+
boxSizer5 = wx.BoxSizer(orient=wx.HORIZONTAL)
89+
boxSizer6 = wx.BoxSizer(orient=wx.VERTICAL)
90+
91+
self._init_coll_boxSizer1_Items(boxSizer1)
92+
self._init_coll_boxSizer2_Items(boxSizer2)
93+
self._init_coll_boxSizer3_Items(boxSizer3)
94+
self._init_coll_boxSizer4_Items(boxSizer4)
95+
self._init_coll_boxSizer5_Items(boxSizer5)
96+
self._init_coll_boxSizer6_Items(boxSizer6)
97+
98+
self.SetSizer(boxSizer1)
99+
self.pnlRadio.SetSizer(boxSizer5)
100+
self.pnlSite.SetSizer(boxSizer4)
101+
self.pnlVar.SetSizer(boxSizer2)
102+
self.cpnlSimple.SetSizer(boxSizer6)
103+
self.pnlData.SetSizer(boxSizer3)
98104

99105
def _init_ctrls(self):
100106
# generated method, don't edit
@@ -105,16 +111,19 @@ def _init_ctrls(self):
105111

106112
## Radio panel
107113
self.pnlRadio = wx.Panel(id=wxID_PNLRADIO, name='pnlRadio', parent=self, pos=wx.Point(3, 3),
108-
size=wx.Size(919, 20), style=wx.TAB_TRAVERSAL)
114+
size=wx.Size(100000000, 25), style=wx.TAB_TRAVERSAL)
109115

110116
self.rbAll = wx.RadioButton(id=wxID_FRAME1RBALL, label=u'All', name=u'rbAll', parent=self.pnlRadio,
111117
pos=wx.Point(0, 0), size=wx.Size(81, 20), style=0)
112118

113119
self.rbSimple = wx.RadioButton(id=wxID_FRAME1RBSIMPLE, label=u'Simple Filter', name=u'rbSimple',
114-
parent=self.pnlRadio, pos=wx.Point(81, 0), size=wx.Size(112, 20), style=0)
120+
parent=self.pnlRadio, pos=wx.Point(0, 0), size=wx.Size(112, 20), style=0)
115121

116122
self.rbAdvanced = wx.RadioButton(id=wxID_FRAME1RBADVANCED, label=u'Advanced Filter', name=u'rbAdvanced',
117-
parent=self.pnlRadio, pos=wx.Point(193, 0), size=wx.Size(104, 20), style=0)
123+
parent=self.pnlRadio, pos=wx.Point(0, 0), size=wx.Size(104, 20), style=0)
124+
125+
self.btnClear = wx.Button(id=wxID_CLEAR, label="Clear Plot", name=u'btnClear', parent=self.pnlRadio,
126+
pos=wx.Point(0, 0), size=wx.Size(80, 20), style=0)
118127

119128
self.rbAll.SetValue(True)
120129

@@ -138,7 +147,7 @@ def _init_ctrls(self):
138147

139148
self.lblSite = wx.StaticText(id=wxID_PNLSERIESSELECTORLBLSITE, label=u'Site', name=u'lblSite',
140149
parent=self.pnlSite, pos=wx.Point(30, 0), size=wx.Size(60, 21), style=0)
141-
self.lblSite.SetToolTipString(u'staticText1')
150+
self.lblSite.SetToolTipString(u'')
142151

143152
self.cbSites.SetLabel(u'')
144153
#self.checkSite.SetValue(False)
@@ -155,14 +164,15 @@ def _init_ctrls(self):
155164

156165
self.cbVariables = wx.ComboBox(choices=[], id=wxID_PNLSERIESSELECTORCBVARIABLES, name=u'cbVariables',
157166
parent=self.pnlVar, pos=wx.Point(100, 0), size=wx.Size(700, 25), style=wx.CB_READONLY,
158-
value='comboBox4')
167+
value='')
159168
self.cbVariables.SetLabel(u'')
160169
self.cbVariables.Enable(False)
161170

162171
#wx.EVT_RADIOBUTTON(self, self.rbAll.Id, self.onRbAllRadiobutton)
163172
self.rbAll.Bind(wx.EVT_RADIOBUTTON, self.onRbAllRadiobutton, id=wxID_FRAME1RBALL)
164173
self.rbSimple.Bind(wx.EVT_RADIOBUTTON, self.onRbSimpleRadiobutton, id=wxID_FRAME1RBSIMPLE)
165174
self.rbAdvanced.Bind(wx.EVT_RADIOBUTTON, self.onRbAdvancedRadiobutton, id=wxID_FRAME1RBADVANCED)
175+
self.btnClear.Bind(wx.EVT_BUTTON, self.onBtnClear, id=wxID_CLEAR)
166176

167177
self.Bind(wx.EVT_COLLAPSIBLEPANE_CHANGED, self.onPaneChanged, self.cpnlSimple)
168178
self.checkSite.Bind(wx.EVT_CHECKBOX, self.onCheck, id=wxID_PNLSERIESSELECTORCHECKSITE)
@@ -193,10 +203,13 @@ def _init_ctrls(self):
193203

194204
## Virtual Event Handlers
195205
def onReadyToPlot(self, event):
196-
event.Skip()
206+
pass
197207

198208
def onReadyToEdit(self, event):
199-
event.Skip()
209+
pass
210+
211+
def onBtnClear(self, event):
212+
pass
200213

201214
def stopEdit(self):
202215
pass

0 commit comments

Comments
 (0)