Skip to content

Commit

Permalink
Updated all backends for new figure manager creation (given a figure …
Browse files Browse the repository at this point in the history
…instance) API
  • Loading branch information
pelson committed Aug 20, 2012
1 parent 1257bf9 commit edf266c
Show file tree
Hide file tree
Showing 22 changed files with 195 additions and 34 deletions.
10 changes: 8 additions & 2 deletions lib/matplotlib/backends/backend_agg.py
Expand Up @@ -385,7 +385,6 @@ def post_processing(image, dpi):
image) image)





def new_figure_manager(num, *args, **kwargs): def new_figure_manager(num, *args, **kwargs):
""" """
Create a new figure manager instance Create a new figure manager instance
Expand All @@ -396,7 +395,14 @@ def new_figure_manager(num, *args, **kwargs):


FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasAgg(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasAgg(figure)
manager = FigureManagerBase(canvas, num) manager = FigureManagerBase(canvas, num)
return manager return manager


Expand Down
11 changes: 9 additions & 2 deletions lib/matplotlib/backends/backend_cairo.py
Expand Up @@ -397,10 +397,17 @@ def new_figure_manager(num, *args, **kwargs): # called by backends/__init__.py
""" """
Create a new figure manager instance Create a new figure manager instance
""" """
if _debug: print('%s.%s()' % (self.__class__.__name__, _fn_name())) if _debug: print('%s.%s()' % (_fn_name()))
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasCairo(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasCairo(figure)
manager = FigureManagerBase(canvas, num) manager = FigureManagerBase(canvas, num)
return manager return manager


Expand Down
11 changes: 10 additions & 1 deletion lib/matplotlib/backends/backend_cocoaagg.py
Expand Up @@ -35,12 +35,21 @@


mplBundle = NSBundle.bundleWithPath_(os.path.dirname(__file__)) mplBundle = NSBundle.bundleWithPath_(os.path.dirname(__file__))



def new_figure_manager(num, *args, **kwargs): def new_figure_manager(num, *args, **kwargs):
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass( *args, **kwargs ) thisFig = FigureClass( *args, **kwargs )
canvas = FigureCanvasCocoaAgg(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasCocoaAgg(figure)
return FigureManagerCocoaAgg(canvas, num) return FigureManagerCocoaAgg(canvas, num)



## Below is the original show() function: ## Below is the original show() function:
#def show(): #def show():
# for manager in Gcf.get_all_fig_managers(): # for manager in Gcf.get_all_fig_managers():
Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_emf.py
Expand Up @@ -688,7 +688,14 @@ def new_figure_manager(num, *args, **kwargs):
# main-level app (egg backend_gtk, backend_gtkagg) for pylab # main-level app (egg backend_gtk, backend_gtkagg) for pylab
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasEMF(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasEMF(figure)
manager = FigureManagerEMF(canvas, num) manager = FigureManagerEMF(canvas, num)
return manager return manager


Expand Down
7 changes: 7 additions & 0 deletions lib/matplotlib/backends/backend_fltkagg.py
Expand Up @@ -78,6 +78,13 @@ def new_figure_manager(num, *args, **kwargs):
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
figure = FigureClass(*args, **kwargs) figure = FigureClass(*args, **kwargs)
return new_figure_manager_given_figure(num, figure)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
window = Fltk.Fl_Double_Window(10,10,30,30) window = Fltk.Fl_Double_Window(10,10,30,30)
canvas = FigureCanvasFltkAgg(figure) canvas = FigureCanvasFltkAgg(figure)
window.end() window.end()
Expand Down
12 changes: 8 additions & 4 deletions lib/matplotlib/backends/backend_gdk.py
Expand Up @@ -422,11 +422,15 @@ def new_figure_manager(num, *args, **kwargs):
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGDK(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGDK(figure)
manager = FigureManagerBase(canvas, num) manager = FigureManagerBase(canvas, num)
# equals:
#manager = FigureManagerBase (FigureCanvasGDK (Figure(*args, **kwargs),
# num)
return manager return manager




Expand Down
11 changes: 8 additions & 3 deletions lib/matplotlib/backends/backend_gtk.py
Expand Up @@ -90,10 +90,15 @@ def new_figure_manager(num, *args, **kwargs):
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGTK(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGTK(figure)
manager = FigureManagerGTK(canvas, num) manager = FigureManagerGTK(canvas, num)
# equals:
#manager = FigureManagerGTK(FigureCanvasGTK(Figure(*args, **kwargs), num)
return manager return manager




Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_gtk3agg.py
Expand Up @@ -78,7 +78,14 @@ def new_figure_manager(num, *args, **kwargs):
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGTK3Agg(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGTK3Agg(figure)
manager = FigureManagerGTK3Agg(canvas, num) manager = FigureManagerGTK3Agg(canvas, num)
return manager return manager


Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_gtk3cairo.py
Expand Up @@ -45,7 +45,14 @@ def new_figure_manager(num, *args, **kwargs):
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGTK3Cairo(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGTK3Cairo(figure)
manager = FigureManagerGTK3Cairo(canvas, num) manager = FigureManagerGTK3Cairo(canvas, num)
return manager return manager


Expand Down
11 changes: 10 additions & 1 deletion lib/matplotlib/backends/backend_gtkagg.py
Expand Up @@ -33,17 +33,26 @@ def _get_toolbar(self, canvas):
toolbar = None toolbar = None
return toolbar return toolbar



def new_figure_manager(num, *args, **kwargs): def new_figure_manager(num, *args, **kwargs):
""" """
Create a new figure manager instance Create a new figure manager instance
""" """
if DEBUG: print('backend_gtkagg.new_figure_manager') if DEBUG: print('backend_gtkagg.new_figure_manager')
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGTKAgg(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGTKAgg(figure)
return FigureManagerGTKAgg(canvas, num) return FigureManagerGTKAgg(canvas, num)
if DEBUG: print('backend_gtkagg.new_figure_manager done') if DEBUG: print('backend_gtkagg.new_figure_manager done')



class FigureCanvasGTKAgg(FigureCanvasGTK, FigureCanvasAgg): class FigureCanvasGTKAgg(FigureCanvasGTK, FigureCanvasAgg):
filetypes = FigureCanvasGTK.filetypes.copy() filetypes = FigureCanvasGTK.filetypes.copy()
filetypes.update(FigureCanvasAgg.filetypes) filetypes.update(FigureCanvasAgg.filetypes)
Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_gtkcairo.py
Expand Up @@ -26,7 +26,14 @@ def new_figure_manager(num, *args, **kwargs):
if _debug: print('backend_gtkcairo.%s()' % fn_name()) if _debug: print('backend_gtkcairo.%s()' % fn_name())
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasGTKCairo(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasGTKCairo(figure)
return FigureManagerGTK(canvas, num) return FigureManagerGTK(canvas, num)




Expand Down
13 changes: 12 additions & 1 deletion lib/matplotlib/backends/backend_macosx.py
Expand Up @@ -233,9 +233,20 @@ def new_figure_manager(num, *args, **kwargs):
""" """
if not _macosx.verify_main_display(): if not _macosx.verify_main_display():
import warnings import warnings
warnings.warn("Python is not installed as a framework. The MacOSX backend may not work correctly if Python is not installed as a framework. Please see the Python documentation for more information on installing Python as a framework on Mac OS X") warnings.warn("Python is not installed as a framework. The MacOSX "
"backend may not work correctly if Python is not "
"installed as a framework. Please see the Python "
"documentation for more information on installing "
"Python as a framework on Mac OS X")
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
figure = FigureClass(*args, **kwargs) figure = FigureClass(*args, **kwargs)
return new_figure_manager_given_figure(num, figure)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasMac(figure) canvas = FigureCanvasMac(figure)
manager = FigureManagerMac(canvas, num) manager = FigureManagerMac(canvas, num)
return manager return manager
Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_pdf.py
Expand Up @@ -2171,7 +2171,14 @@ def new_figure_manager(num, *args, **kwargs):
# main-level app (egg backend_gtk, backend_gtkagg) for pylab # main-level app (egg backend_gtk, backend_gtkagg) for pylab
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasPdf(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasPdf(figure)
manager = FigureManagerPdf(canvas, num) manager = FigureManagerPdf(canvas, num)
return manager return manager


Expand Down
9 changes: 8 additions & 1 deletion lib/matplotlib/backends/backend_ps.py
Expand Up @@ -944,7 +944,14 @@ def shouldstroke(self):
def new_figure_manager(num, *args, **kwargs): def new_figure_manager(num, *args, **kwargs):
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasPS(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasPS(figure)
manager = FigureManagerPS(canvas, num) manager = FigureManagerPS(canvas, num)
return manager return manager


Expand Down
13 changes: 10 additions & 3 deletions lib/matplotlib/backends/backend_qt.py
Expand Up @@ -69,9 +69,16 @@ def new_figure_manager( num, *args, **kwargs ):
Create a new figure manager instance Create a new figure manager instance
""" """
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass( *args, **kwargs ) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasQT( thisFig ) return new_figure_manager_given_figure(num, thisFig)
manager = FigureManagerQT( canvas, num )

def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasQT(figure)
manager = FigureManagerQT(canvas, num)
return manager return manager




Expand Down
13 changes: 10 additions & 3 deletions lib/matplotlib/backends/backend_qt4.py
Expand Up @@ -72,9 +72,16 @@ def new_figure_manager( num, *args, **kwargs ):
""" """
Create a new figure manager instance Create a new figure manager instance
""" """
thisFig = Figure( *args, **kwargs ) thisFig = Figure(*args, **kwargs)
canvas = FigureCanvasQT( thisFig ) return new_figure_manager_given_figure(num, thisFig)
manager = FigureManagerQT( canvas, num )

def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasQT(figure)
manager = FigureManagerQT(canvas, num)
return manager return manager




Expand Down
10 changes: 9 additions & 1 deletion lib/matplotlib/backends/backend_qt4agg.py
Expand Up @@ -23,9 +23,17 @@ def new_figure_manager( num, *args, **kwargs ):
if DEBUG: print('backend_qtagg.new_figure_manager') if DEBUG: print('backend_qtagg.new_figure_manager')
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass( *args, **kwargs ) thisFig = FigureClass( *args, **kwargs )
canvas = FigureCanvasQTAgg( thisFig ) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasQTAgg(figure)
return FigureManagerQT( canvas, num ) return FigureManagerQT( canvas, num )



class NavigationToolbar2QTAgg(NavigationToolbar2QT): class NavigationToolbar2QTAgg(NavigationToolbar2QT):
def _get_canvas(self, fig): def _get_canvas(self, fig):
return FigureCanvasQTAgg(fig) return FigureCanvasQTAgg(fig)
Expand Down
12 changes: 10 additions & 2 deletions lib/matplotlib/backends/backend_qtagg.py
Expand Up @@ -23,8 +23,16 @@ def new_figure_manager( num, *args, **kwargs ):
if DEBUG: print('backend_qtagg.new_figure_manager') if DEBUG: print('backend_qtagg.new_figure_manager')
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass( *args, **kwargs ) thisFig = FigureClass( *args, **kwargs )
canvas = FigureCanvasQTAgg( thisFig ) return new_figure_manager_given_figure(num, thisFig)
return FigureManagerQTAgg( canvas, num )

def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasQTAgg(figure)
return FigureManagerQTAgg(canvas, num)



class NavigationToolbar2QTAgg(NavigationToolbar2QT): class NavigationToolbar2QTAgg(NavigationToolbar2QT):
def _get_canvas(self, fig): def _get_canvas(self, fig):
Expand Down
10 changes: 9 additions & 1 deletion lib/matplotlib/backends/backend_svg.py
Expand Up @@ -1151,10 +1151,18 @@ class FigureManagerSVG(FigureManagerBase):
def new_figure_manager(num, *args, **kwargs): def new_figure_manager(num, *args, **kwargs):
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasSVG(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasSVG(figure)
manager = FigureManagerSVG(canvas, num) manager = FigureManagerSVG(canvas, num)
return manager return manager



svgProlog = u"""\ svgProlog = u"""\
<?xml version="1.0" encoding="utf-8" standalone="no"?> <?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
Expand Down
12 changes: 10 additions & 2 deletions lib/matplotlib/backends/backend_template.py
Expand Up @@ -184,13 +184,21 @@ def new_figure_manager(num, *args, **kwargs):
""" """
Create a new figure manager instance Create a new figure manager instance
""" """
# if a main-level app must be created, this is the usual place to # if a main-level app must be created, this (and
# new_figure_manager_given_figure) is the usual place to
# do it -- see backend_wx, backend_wxagg and backend_tkagg for # do it -- see backend_wx, backend_wxagg and backend_tkagg for
# examples. Not all GUIs require explicit instantiation of a # examples. Not all GUIs require explicit instantiation of a
# main-level app (egg backend_gtk, backend_gtkagg) for pylab # main-level app (egg backend_gtk, backend_gtkagg) for pylab
FigureClass = kwargs.pop('FigureClass', Figure) FigureClass = kwargs.pop('FigureClass', Figure)
thisFig = FigureClass(*args, **kwargs) thisFig = FigureClass(*args, **kwargs)
canvas = FigureCanvasTemplate(thisFig) return new_figure_manager_given_figure(num, thisFig)


def new_figure_manager_given_figure(num, figure):
"""
Create a new figure manager instance for the given figure.
"""
canvas = FigureCanvasTemplate(figure)
manager = FigureManagerTemplate(canvas, num) manager = FigureManagerTemplate(canvas, num)
return manager return manager


Expand Down

0 comments on commit edf266c

Please sign in to comment.