Opened 10 years ago
Closed 10 years ago
#370 closed defect (fixed)
Data operations tool is broken
Reported by: | butler | Owned by: | ricardo |
---|---|---|---|
Priority: | blocker | Milestone: | SasView 3.1.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description (last modified by butler)
The graphics of data operations tool does not seem to work. Instead of showing the plot in the window it makes a blank square. Apply does seem to work but hard to tell. Fails on both mac and PC it seems.
Change History (11)
comment:1 Changed 10 years ago by butler
- Priority changed from major to blocker
comment:2 Changed 10 years ago by butler
- Owner set to butler
- Status changed from new to accepted
comment:3 Changed 10 years ago by butler
- Description modified (diff)
- Summary changed from Check on using data operations tool to Data operations tool is broken
comment:4 Changed 10 years ago by butler
Some sleuthing seems to indicat that the problem is in add_image method of DataOperPanel? in data_operato.py. The final line is:
self.subplot.figure.canas.draw()
This line does seem to draw the data in the pre code-camp version but does nothing now.
comment:5 Changed 10 years ago by butler
Ricardo Notes on April 21, 2015:
The problem seems to lie with the wx.EVT_PAINT. It can’t be used without wx.PaintDC. Otherwise it creates a stream of events that in this case are calling:
464 def set_panel_on_focus(self, event)
Thus the dropdown flickering in Mac….
In my Ubuntu changing this:
65 self.Bind(wx.EVT_PAINT, self.set_panel_on_focus)
to:
65 self.Bind(wx.EVT_SET_FOCUS, self.set_panel_on_focus)
Sorted out the problems
comment:6 Changed 10 years ago by butler
Testing this fix it seems that it probably fixes the mac flicker problem and changes the PC failure behavior on redrawing but the data is still not plotted. It now leaves the panel apparently intact (with a question mark) instead of plotting a blank square. This however does seem to be an appropriate correction even if it does not completely fix the problem.
comment:7 Changed 10 years ago by smk78
22/04/15 09:36 BST
Just PULLed from the repo and built SasView? locally. I no longer have a Tools option in my menu bar!
comment:8 Changed 10 years ago by ricardo
In sas/perspectives/calculator/data_operator.py:
self.Bind(wx.EVT_SET_FOCUS, self.set_panel_on_focus)
I guess we still need an event different from wx.EVT_PAINT because there is no
wx.PaintDC to catch the stream of events. You can easily see this with prints in
def set_panel_on_focus(self, event):
Not sure if the wx.EVT_SET_FOCUS is the right one.
Regarding the images not appearing. The problem was in the PlotPanel.properties(self, prop). It was using the old matplotlib latex format. In my Ubuntu everything appears to work now.
The changes were committed to branch ricardo_dev.
comment:9 Changed 10 years ago by ricardo
It looks like matplotlib is smart enough to detect latex and plot the right labels.
The problem was an empty label being rendered as r"$$". There's test for empty strings now https://github.com/SasView/sasview/commit/7e0f9b55273843a20a74196a1fed0b9a76b3f411.
No need for matplotlib.rc('text', usetex=True) which was making thing slow (Don't know why…).
Tested in Ubuntu and Mac:
- Tools → Data Operations : Working
- Data Explorer → New Plot : Working
comment:10 Changed 10 years ago by butler
- Owner changed from butler to ricardo
- Status changed from accepted to assigned
Downloaded from ESS Jenkins server and tested on windows - works fine.
comment:11 Changed 10 years ago by ricardo
- Resolution set to fixed
- Status changed from assigned to closed
On March 26, 2015 Paul Kienzle added the following note to ticket 390 which really belongs here so copying it over here.
Note that actually the drop down on mac has a fast "jitter" which does not the PC, but the PC is not able to see any data in the box once chosen.