From: Alan W. I. <ir...@be...> - 2013-02-26 23:42:56
|
On 2013-02-26 14:19-0800 phil rosenberg wrote: > Hi Alan > Okay, well to impliment that behaviour (CR or right click causes page advance) with wxWidgets is going to require us to go down the multithreading route - quickly glancing at the Qt code I can see mutexes mentioned right up near the top of the source so I guess that's what Qt does too. Hi Phil: Whatever you decide to do is fine with me so long as you preserve present behaviour (the page advance with CR or right click continues, the present pause behaviour continues (see below), and the test_c_wxwidgets comprehensive test of the wxwidgets device continues to pass) while solving the issues shown by test.c. > Again just to make sure I get this behaviour correct, in the current wxWidgets driver program flow stops with the wxWidgets window when pleop() is called and only returns when the plot page is advanced with a right click or enter press. Is this the correct behaviour? Yes. After all, the user normally wants a chance to look at the page being displayed rather than skipping through all the pages. > I've spotted the plspause() function in the documentation, when set to false should the driver return from a pleop() call immediately and just skip through all the pages? That seems to be the implication. Yes. For that special case (also with the -np command line option which ends up calling plspause(0) in plargs.c) the pages just should skip by with no pauses. Note, that the test_c_qtwidgets actually uses the -np command-line option by design so that whoever runs that test doesn't have to go crazy clicking on all the windows to get through the plots. But normally users do not use the -np command-line option so that the user can study the results for each plotted page. Note my run-time tests show that the page pause logic is already correctly implemented for wxwidgets (see also the pls->nopause logic in drivers/wxwidgets.cpp) so your changes should insure that logic is preserved. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |