From: <ef...@us...> - 2010-07-05 19:03:16
|
Revision: 8494 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8494&view=rev Author: efiring Date: 2010-07-05 19:03:09 +0000 (Mon, 05 Jul 2010) Log Message: ----------- tkagg and fltkagg backends now have blocking show() like all the others Modified Paths: -------------- trunk/matplotlib/CHANGELOG trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py trunk/matplotlib/lib/matplotlib/rcsetup.py trunk/matplotlib/matplotlibrc.template Modified: trunk/matplotlib/CHANGELOG =================================================================== --- trunk/matplotlib/CHANGELOG 2010-07-05 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/CHANGELOG 2010-07-05 19:03:09 UTC (rev 8494) @@ -1,3 +1,8 @@ +2010-07-05 TkAgg and FltkAgg backends are now consistent with other + interactive backends: when used in scripts from the + command line (not from ipython -pylab), show blocks, + and can be called more than once. + 2010-07-02 Modified CXX/WrapPython.h to fix "swab bug" on solaris so mpl can compile on Solaris with CXX6 in the trunk. Closes tracker bug 3022815 - JDH Modified: trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py 2010-07-05 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/backends/backend_fltkagg.py 2010-07-05 19:03:09 UTC (rev 8494) @@ -97,15 +97,8 @@ """ for manager in Gcf.get_all_fig_managers(): manager.show() - #mainloop, if an fltk program exist no need to call that - #threaded (and interractive) version - if show._needmain: - Fltk.Fl.run() - show._needmain = False + Fltk.Fl.run() -show._needmain = True - - def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance Modified: trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010-07-05 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/backends/backend_tkagg.py 2010-07-05 19:03:09 UTC (rev 8494) @@ -64,43 +64,15 @@ figManager.show() -def show(block=False): +def show(): """ Show all figures. - Temporary, experimental kwarg *block* defaults to False to - provide the behavior present throughout mpl history to date: - interactive mode is forced on, and show does not block. - - Set *block* to True to test the proposed new behavior, - consistent with other backends, in which show does not affect - interactive mode, and always blocks until all figures are closed. - In addition, the rcParam['tk.pythoninspect'] is ignored. - - Use this kwarg only for testing; other backends do not accept - a kwarg to show, and might never do so. """ for manager in Gcf.get_all_fig_managers(): manager.show() - if block: - # proposed new behavior; seems to make this backend consistent - # with others, with no drawbacks identified yet. - Tk.mainloop() - else: - # long-time behavior: non-blocking, forces interactive mode - import matplotlib - matplotlib.interactive(True) - if rcParams['tk.pythoninspect']: - os.environ['PYTHONINSPECT'] = '1' - if show._needmain: - Tk.mainloop() - show._needmain = False + Tk.mainloop() -show._needmain = True # This can go away if we eliminate block=False option. - - - - def new_figure_manager(num, *args, **kwargs): """ Create a new figure manager instance Modified: trunk/matplotlib/lib/matplotlib/rcsetup.py =================================================================== --- trunk/matplotlib/lib/matplotlib/rcsetup.py 2010-07-05 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/lib/matplotlib/rcsetup.py 2010-07-05 19:03:09 UTC (rev 8494) @@ -297,6 +297,11 @@ warnings.warn("Deprecated negative_linestyle specification; use 'solid' or 'dashed'") return (0, dashes) # (offset, (solid, blank)) +def validate_tkpythoninspect(s): + # Introduced 2010/07/05 + warnings.warn("tk.pythoninspect is obsolete, and has no effect") + return validate_bool(s) + validate_legend_loc = ValidateInStrings('legend_loc',[ 'best', 'upper right', @@ -526,7 +531,7 @@ 'cairo.format' : ['png', validate_cairo_format], 'tk.window_focus' : [False, validate_bool], # Maintain shell focus for TkAgg - 'tk.pythoninspect' : [False, validate_bool], # Set PYTHONINSPECT + 'tk.pythoninspect' : [False, validate_tkpythoninspect], # obsolete 'ps.papersize' : ['letter', validate_ps_papersize], # Set the papersize/type 'ps.useafm' : [False, validate_bool], # Set PYTHONINSPECT 'ps.usedistiller' : [False, validate_ps_distiller], # use ghostscript or xpdf to distill ps output Modified: trunk/matplotlib/matplotlibrc.template =================================================================== --- trunk/matplotlib/matplotlibrc.template 2010-07-05 01:26:53 UTC (rev 8493) +++ trunk/matplotlib/matplotlibrc.template 2010-07-05 19:03:09 UTC (rev 8494) @@ -319,7 +319,6 @@ # tk backend params #tk.window_focus : False # Maintain shell focus for TkAgg -#tk.pythoninspect : False # tk sets PYTHONINSEPCT # ps backend params #ps.papersize : letter # auto, letter, legal, ledger, A0-A10, B0-B10 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |