I submitted an enhancement request to the Sourceforge bug list about grabbing behavior in the GUI-independent widgets. http://sourceforge.net/tracker/index.php?func=detail&aid=1530104&group_id=80706&atid=560720 I went ahead and implemented this yesterday on a long plane flight. The changed files (backend_bases.py, and widgets.py) are attached to the above tracker entry. Also I changed backend_wx.py to grab the mouse generally when you click on the graphs, so that panning and such continues to track even when you go outside the window. Similar changes should probably also be made to the other backends too. I also added get_value methods to the CheckButtons and RadioButtons, because it didn't seem like there was any good way to get that info. Finally I don't really get what the deal is with the Slider's "closedmin"/"closedmax" options. These don't seem very useful to me (namely the =False variety). If it meant the max was actually max-[machine epsilon] then ok, but it's implemented as "don't set the value if it would get set to the max" i.e. how close you get to the max/min depends on how patient you are carefully moving the mouse to the end of the slider. Which is just frustrating to me. It's hard to make it go "as high as it will go". Please let me know if there's a better way/place to submit patches. --bb
On Jul 30, 2006, at 8:07 AM, Bill Baxter wrote: > I went ahead and implemented this yesterday on a long plane flight. > The changed files (backend_bases.py, and widgets.py) are attached to > the above tracker entry. Also I changed backend_wx.py to grab the > mouse generally when you click on the graphs, so that panning and such > continues to track even when you go outside the window. Similar > changes should probably also be made to the other backends too. This sounds like it could be a pretty stellar improvement to the WX backend. Thanks! I should be at a work-related meeting on Tuesday with Matt Newville, the WX backend maintainer. I'll try to get some time set aside to get your changes merged on my laptop before them, so that we can check them out properly afterward. My big concern is to investigate how these changes may affect people who are embedding WxAgg figures in wxPython applications. If you've done what I think you have, that shouldn't be a problem. > I also added get_value methods to the CheckButtons and RadioButtons, > because it didn't seem like there was any good way to get that info. You may want to submit this portion of the changes as a separate patch. I've found that my patches get accepted faster when I only do one thing per patch. > Finally I don't really get what the deal is with the Slider's > "closedmin"/"closedmax" options. Sorry, I can't help you with this one. > Please let me know if there's a better way/place to submit patches. I've always done exactly what you're doing now: uploading it on SF then emailing the developers' list. Ken
On 7/31/06, Ken McIvor <mc...@ii...> wrote: > On Jul 30, 2006, at 8:07 AM, Bill Baxter wrote: > > I went ahead and implemented this yesterday on a long plane flight. > > The changed files (backend_bases.py, and widgets.py) are attached to > > the above tracker entry. Also I changed backend_wx.py to grab the > > mouse generally when you click on the graphs, so that panning and such > > continues to track even when you go outside the window. Similar > > changes should probably also be made to the other backends too. > > This sounds like it could be a pretty stellar improvement to the WX > backend. Thanks! Just to be clear, the only thing that applies to wx specifically is that I made the wx backend grab the system pointer on mouse down and release it on mouse up. (Basically just a change of 4 lines of code -- two CaptureMouse() calls and two ReleaseMouse() calls). The rest is GUI independent and should benefit all GUI backends. > > I should be at a work-related meeting on Tuesday with Matt Newville, > the WX backend maintainer. I'll try to get some time set aside to > get your changes merged on my laptop before them, so that we can > check them out properly afterward. My big concern is to investigate > how these changes may affect people who are embedding WxAgg figures > in wxPython applications. If you've done what I think you have, that > shouldn't be a problem. Definitely more people should test it and review the code. It works for me, but maybe there are some things I haven't thought of. Like I've never tried embedding. But I don't think this should cause problems there. On the other hand, the widget-level grabbing infrastructure might have problems with a GUI back-end that doesn't do system-level grabbing. For instance you start dragging on a Slider, drag off the window, and let go. If you aren't doing system level grabbing then you won't ever get the mouse up to tell you that you should release the widget-level mouse grab. > > I also added get_value methods to the CheckButtons and RadioButtons, > > because it didn't seem like there was any good way to get that info. > > You may want to submit this portion of the changes as a separate > patch. I've found that my patches get accepted faster when I only do > one thing per patch. Ok. Such a pain though... Are whole files acceptable instead of diffs? It's relatively easy to do a windiff or whatever to look over the changes and accept or reject line by line. (In fact Robert Osfield who quite ably runs the OpenSceneGraph project feels so strongly about it that he *only* allows patches to be submitted as complete files so he can easilly use a visual diff tool to merge changes). > > Finally I don't really get what the deal is with the Slider's > > "closedmin"/"closedmax" options. > > Sorry, I can't help you with this one. > > > Please let me know if there's a better way/place to submit patches. > > I've always done exactly what you're doing now: uploading it on SF > then emailing the developers' list. Ok. Thanks. --Bill
>>>>> "Bill" == Bill Baxter <wb...@gm...> writes: Bill> Ok. Such a pain though... Are whole files acceptable Bill> instead of diffs? It's relatively easy to do a windiff or Multiple contributions per patch are fine, just do like you did and list what is in them. If there is an objection to part of the patch, you may be asked to resubmit w/o the controversial parts, but if all the changes look good the whole thing can go in. And we prefer svn diffs over individual files. Ken, would you like to be added to the devel list to handle some of these patches. Just email me your sf id if so. JDH
Great. Thanks John. There was one other thing I forgot to mention. I added two lines (+comment) in the backend_wx.py to select the Pan/Zoom tool by default. If you don't like that, then obviously just leave those lines out, But I find that pan/zoom is what I want to do 90% of the time, and zoom is the other 10%. "No tool" is what I want pretty much 0% of the time (is there some use for no-tool mode that I'm missing?) --bb On 7/31/06, John Hunter <jdh...@ac...> wrote: > >>>>> "Bill" == Bill Baxter <wb...@gm...> writes: > > Bill> Ok. Such a pain though... Are whole files acceptable > Bill> instead of diffs? It's relatively easy to do a windiff or > > Multiple contributions per patch are fine, just do like you did and > list what is in them. If there is an objection to part of the patch, > you may be asked to resubmit w/o the controversial parts, but if all > the changes look good the whole thing can go in. And we prefer svn > diffs over individual files. > > Ken, would you like to be added to the devel list to handle some of > these patches. Just email me your sf id if so. > > JDH >
I've just uploaded two patch files that apply the changes discussed in this thread. --> 1555805 1555814 https://sourceforge.net/tracker/?func=detail&atid=560722&aid=1555805&group_id=80706 https://sourceforge.net/tracker/?func=detail&atid=560722&aid=1555814&group_id=80706 These were made against the latest release (xx.5 was it?) Hopefully these will make it easer to integrate the changes. --Bill On 7/31/06, Ken McIvor <mc...@ii...> wrote: > On Jul 30, 2006, at 8:07 AM, Bill Baxter wrote: > > I went ahead and implemented this yesterday on a long plane flight. > > The changed files (backend_bases.py, and widgets.py) are attached to > > the above tracker entry. Also I changed backend_wx.py to grab the > > mouse generally when you click on the graphs, so that panning and such > > continues to track even when you go outside the window. Similar > > changes should probably also be made to the other backends too. > > This sounds like it could be a pretty stellar improvement to the WX > backend. Thanks! > > I should be at a work-related meeting on Tuesday with Matt Newville, > the WX backend maintainer. I'll try to get some time set aside to > get your changes merged on my laptop before them, so that we can > check them out properly afterward. My big concern is to investigate > how these changes may affect people who are embedding WxAgg figures > in wxPython applications. If you've done what I think you have, that > shouldn't be a problem. > > > I also added get_value methods to the CheckButtons and RadioButtons, > > because it didn't seem like there was any good way to get that info. > > You may want to submit this portion of the changes as a separate > patch. I've found that my patches get accepted faster when I only do > one thing per patch. > > > Finally I don't really get what the deal is with the Slider's > > "closedmin"/"closedmax" options. > > Sorry, I can't help you with this one. > > > Please let me know if there's a better way/place to submit patches. > > I've always done exactly what you're doing now: uploading it on SF > then emailing the developers' list. > > Ken >
On Sep 10, 2006, at 9:50 AM, Bill Baxter wrote: > > I've just uploaded two patch files that apply the changes discussed > in this thread. Thanks Bill. I'm sorry I've been dragging a** on getting your patches reviewed. I'll try get to it early this week. Ken
No problem. After upgrading to the latest mpl, and finding my changes not there, I realized that I might as well make them into patches for my own use in locally patching future releases, if for nothing else. If you end up applying them to the base, all the better. Thanks, Bill On 9/11/06, Ken McIvor <mc...@ii...> wrote: > > On Sep 10, 2006, at 9:50 AM, Bill Baxter wrote: > > > > I've just uploaded two patch files that apply the changes discussed > > in this thread. > > Thanks Bill. I'm sorry I've been dragging a** on getting your > patches reviewed. I'll try get to it early this week. > > Ken >