Revision: 3632
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=3632&view=rev
Author:   dsdale
Date:     2007-07-30 10:41:14 -0700 (Mon, 30 Jul 2007)

Log Message:
-----------
Ability to use new, traited configuration system in mpl

Modified Paths:
--------------
    trunk/matplotlib/CHANGELOG
    trunk/matplotlib/lib/matplotlib/__init__.py
    trunk/matplotlib/lib/matplotlib/config/__init__.py
    trunk/matplotlib/lib/matplotlib/config/cutils.py
    trunk/matplotlib/lib/matplotlib/config/mplconfig.py
    trunk/matplotlib/lib/matplotlib/mpl-data/matplotlibrc
    trunk/matplotlib/setup.py

Removed Paths:
-------------
    trunk/matplotlib/lib/matplotlib/config/api.py

Modified: trunk/matplotlib/CHANGELOG
===================================================================
--- trunk/matplotlib/CHANGELOG  2007-07-30 16:41:53 UTC (rev 3631)
+++ trunk/matplotlib/CHANGELOG  2007-07-30 17:41:14 UTC (rev 3632)
@@ -1,3 +1,12 @@
+2007-07-30 Reorganized configuration code to work with traited config
+           objects. The new config system is located in the 
+           matplotlib.config package, but it is disabled by default.
+           To enable it, set NEWCONFIG=True in matplotlib.__init__.py.
+           The new configuration system will still use the old 
+           matplotlibrc files by default. To switch to the experimental,
+           traited configuration, set USE_TRAITED_CONFIG=True in 
+           config.__init__.py.
+
 2007-07-29 Changed default pcolor shading to flat; added aliases
            to make collection kwargs agree with setter names, so
            updating works; related minor cleanups.

Modified: trunk/matplotlib/lib/matplotlib/__init__.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/__init__.py 2007-07-30 16:41:53 UTC (rev 
3631)
+++ trunk/matplotlib/lib/matplotlib/__init__.py 2007-07-30 17:41:14 UTC (rev 
3632)
@@ -55,6 +55,7 @@
 """
 from __future__ import generators
 
+NEWCONFIG = False
 
 __version__  = '0.90.1'
 __revision__ = '$Revision$'
@@ -706,6 +707,13 @@
     """
     rcParams.update(rcParamsDefault)
 
+if NEWCONFIG:
+    print "importing from reorganized config system!"
+    from config import rcParams, rcdefaults
+    try:
+        from config import mplConfig, save_config
+    except:
+        pass
 
 def use(arg):
     """

Modified: trunk/matplotlib/lib/matplotlib/config/__init__.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/config/__init__.py  2007-07-30 16:41:53 UTC 
(rev 3631)
+++ trunk/matplotlib/lib/matplotlib/config/__init__.py  2007-07-30 17:41:14 UTC 
(rev 3632)
@@ -1 +1,12 @@
-# Please keep this file empty
\ No newline at end of file
+# Please keep this file empty
+
+USE_TRAITED_CONFIG = False
+
+from rcparams import rc
+from cutils import get_config_file
+
+if USE_TRAITED_CONFIG:
+    print 'Using new config system!'
+    from mplconfig import rcParams, mplConfig, save_config, rcdefaults
+else:
+    from rcparams import rcParams, rcdefaults

Deleted: trunk/matplotlib/lib/matplotlib/config/api.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/config/api.py       2007-07-30 16:41:53 UTC 
(rev 3631)
+++ trunk/matplotlib/lib/matplotlib/config/api.py       2007-07-30 17:41:14 UTC 
(rev 3632)
@@ -1,12 +0,0 @@
-"""
-"""
-
-USE_NEW_CONFIG = True
-
-from rcparams import rc
-from cutils import get_config_file
-
-if USE_NEW_CONFIG:
-    from mplconfig import rcParams, mplConfig, save_config
-else:
-    from rcparams import rcParams

Modified: trunk/matplotlib/lib/matplotlib/config/cutils.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/config/cutils.py    2007-07-30 16:41:53 UTC 
(rev 3631)
+++ trunk/matplotlib/lib/matplotlib/config/cutils.py    2007-07-30 17:41:14 UTC 
(rev 3632)
@@ -179,4 +179,4 @@
     fname = os.path.join(path, filename)
     if not os.path.exists(fname):
         warnings.warn('Could not find %s; using defaults'%filename)
-    return fname
\ No newline at end of file
+    return fname

Modified: trunk/matplotlib/lib/matplotlib/config/mplconfig.py
===================================================================
--- trunk/matplotlib/lib/matplotlib/config/mplconfig.py 2007-07-30 16:41:53 UTC 
(rev 3631)
+++ trunk/matplotlib/lib/matplotlib/config/mplconfig.py 2007-07-30 17:41:14 UTC 
(rev 3632)
@@ -10,6 +10,7 @@
 # internal imports
 import mpltraits as mplT
 import cutils
+import checkdep
 from tconfig import TConfig, TConfigManager
 import pytz
 
@@ -266,210 +267,220 @@
         dpi = T.Float(100)
         facecolor = T.Trait('white', mplT.ColorHandler())
         edgecolor = T.Trait('white', mplT.ColorHandler())
-       orientation = T.Trait('portrait', 'portrait', 'landscape')
+    orientation = T.Trait('portrait', 'portrait', 'landscape')
     
     class verbose(TConfig):
         level = T.Trait('silent', 'silent', 'helpful', 'debug', 
'debug-annoying')
         fileo = T.Trait('sys.stdout', 'sys.stdout', T.File)
 
 
-config_file = cutils.get_config_file(tconfig=True)
-old_config_file = cutils.get_config_file(tconfig=False)
-print 
-if os.path.exists(old_config_file) and not os.path.exists(config_file):
-    CONVERT = True
-else: CONVERT = False
-configManager = TConfigManager(MPLConfig,
-                               cutils.get_config_file(tconfig=True),
-                               filePriority=True)
-mplConfig = configManager.tconf
-
-
-def save_config():
-    """Save mplConfig customizations to current matplotlib.conf
-    """
-    configManager.write()
-
-
 class RcParamsWrapper(dict):
     
     """A backwards-compatible interface to a traited config object
     """
     
-    tconf = {
-    'backend' : (mplConfig.backend, 'use'),
-    'numerix' : (mplConfig, 'numerix'),
-    'maskedarray' : (mplConfig, 'maskedarray'),
-    'toolbar' : (mplConfig, 'toolbar'),
-    'datapath' : (mplConfig, 'datapath'),
-    'units' : (mplConfig, 'units'),
-    'interactive' : (mplConfig, 'interactive'),
-    'timezone' : (mplConfig, 'timezone'),
+    def __init__(self, tconfig):
+        self.tconfig = tconfig
+    
+        self.tconfig_map = {
+        'backend' : (self.tconfig.backend, 'use'),
+        'numerix' : (self.tconfig, 'numerix'),
+        'maskedarray' : (self.tconfig, 'maskedarray'),
+        'toolbar' : (self.tconfig, 'toolbar'),
+        'datapath' : (self.tconfig, 'datapath'),
+        'units' : (self.tconfig, 'units'),
+        'interactive' : (self.tconfig, 'interactive'),
+        'timezone' : (self.tconfig, 'timezone'),
 
-    # the verbosity setting
-    'verbose.level' : (mplConfig.verbose, 'level'),
-    'verbose.fileo' : (mplConfig.verbose, 'fileo'),
+        # the verbosity setting
+        'verbose.level' : (self.tconfig.verbose, 'level'),
+        'verbose.fileo' : (self.tconfig.verbose, 'fileo'),
 
-    # line props
-    'lines.linewidth' : (mplConfig.lines, 'linewidth'),
-    'lines.linestyle' : (mplConfig.lines, 'linestyle'),
-    'lines.color' : (mplConfig.lines, 'color'),
-    'lines.marker' : (mplConfig.lines, 'marker'),
-    'lines.markeredgewidth' : (mplConfig.lines, 'markeredgewidth'),
-    'lines.markersize' : (mplConfig.lines, 'markersize'),
-    'lines.antialiased' : (mplConfig.lines, 'antialiased'),
-    'lines.dash_joinstyle' : (mplConfig.lines, 'dash_joinstyle'),
-    'lines.solid_joinstyle' : (mplConfig.lines, 'solid_joinstyle'),
-    'lines.dash_capstyle' : (mplConfig.lines, 'dash_capstyle'),
-    'lines.solid_capstyle' : (mplConfig.lines, 'solid_capstyle'),
+        # line props
+        'lines.linewidth' : (self.tconfig.lines, 'linewidth'),
+        'lines.linestyle' : (self.tconfig.lines, 'linestyle'),
+        'lines.color' : (self.tconfig.lines, 'color'),
+        'lines.marker' : (self.tconfig.lines, 'marker'),
+        'lines.markeredgewidth' : (self.tconfig.lines, 'markeredgewidth'),
+        'lines.markersize' : (self.tconfig.lines, 'markersize'),
+        'lines.antialiased' : (self.tconfig.lines, 'antialiased'),
+        'lines.dash_joinstyle' : (self.tconfig.lines, 'dash_joinstyle'),
+        'lines.solid_joinstyle' : (self.tconfig.lines, 'solid_joinstyle'),
+        'lines.dash_capstyle' : (self.tconfig.lines, 'dash_capstyle'),
+        'lines.solid_capstyle' : (self.tconfig.lines, 'solid_capstyle'),
 
-    # patch props
-    'patch.linewidth' : (mplConfig.patch, 'linewidth'),
-    'patch.edgecolor' : (mplConfig.patch, 'edgecolor'),
-    'patch.facecolor' : (mplConfig.patch, 'facecolor'),
-    'patch.antialiased' : (mplConfig.patch, 'antialiased'),
+        # patch props
+        'patch.linewidth' : (self.tconfig.patch, 'linewidth'),
+        'patch.edgecolor' : (self.tconfig.patch, 'edgecolor'),
+        'patch.facecolor' : (self.tconfig.patch, 'facecolor'),
+        'patch.antialiased' : (self.tconfig.patch, 'antialiased'),
 
 
-    # font props
-    'font.family' : (mplConfig.font, 'family'),
-    'font.style' : (mplConfig.font, 'style'),
-    'font.variant' : (mplConfig.font, 'variant'),
-    'font.stretch' : (mplConfig.lines, 'color'),
-    'font.weight' : (mplConfig.font, 'weight'),
-    'font.size' : (mplConfig.font, 'size'),
-    'font.serif' : (mplConfig.font, 'serif'),
-    'font.sans-serif' : (mplConfig.font, 'sans_serif'),
-    'font.cursive' : (mplConfig.font, 'cursive'),
-    'font.fantasy' : (mplConfig.font, 'fantasy'),
-    'font.monospace' : (mplConfig.font, 'monospace'),
+        # font props
+        'font.family' : (self.tconfig.font, 'family'),
+        'font.style' : (self.tconfig.font, 'style'),
+        'font.variant' : (self.tconfig.font, 'variant'),
+        'font.stretch' : (self.tconfig.lines, 'color'),
+        'font.weight' : (self.tconfig.font, 'weight'),
+        'font.size' : (self.tconfig.font, 'size'),
+        'font.serif' : (self.tconfig.font, 'serif'),
+        'font.sans-serif' : (self.tconfig.font, 'sans_serif'),
+        'font.cursive' : (self.tconfig.font, 'cursive'),
+        'font.fantasy' : (self.tconfig.font, 'fantasy'),
+        'font.monospace' : (self.tconfig.font, 'monospace'),
 
-    # text props
-    'text.color' : (mplConfig.text, 'color'),
-    'text.usetex' : (mplConfig.text, 'usetex'),
-    'text.latex.unicode' : (mplConfig.text.latex, 'unicode'),
-    'text.latex.preamble' : (mplConfig.text.latex, 'preamble'),
-    'text.dvipnghack' : (mplConfig.text.latex, 'dvipnghack'),
+        # text props
+        'text.color' : (self.tconfig.text, 'color'),
+        'text.usetex' : (self.tconfig.text, 'usetex'),
+        'text.latex.unicode' : (self.tconfig.text.latex, 'unicode'),
+        'text.latex.preamble' : (self.tconfig.text.latex, 'preamble'),
+        'text.dvipnghack' : (self.tconfig.text.latex, 'dvipnghack'),
 
-    'image.aspect' : (mplConfig.image, 'aspect'),
-    'image.interpolation' : (mplConfig.image, 'interpolation'),
-    'image.cmap' : (mplConfig.image, 'cmap'),
-    'image.lut' : (mplConfig.image, 'lut'),
-    'image.origin' : (mplConfig.image, 'origin'),
+        'image.aspect' : (self.tconfig.image, 'aspect'),
+        'image.interpolation' : (self.tconfig.image, 'interpolation'),
+        'image.cmap' : (self.tconfig.image, 'cmap'),
+        'image.lut' : (self.tconfig.image, 'lut'),
+        'image.origin' : (self.tconfig.image, 'origin'),
 
-    'contour.negative_linestyle' : (mplConfig.contour, 'negative_linestyle'),
+        'contour.negative_linestyle' : (self.tconfig.contour, 
'negative_linestyle'),
 
-    # axes props
-    'axes.axisbelow' : (mplConfig.axes, 'axisbelow'),
-    'axes.hold' : (mplConfig.axes, 'hold'),
-    'axes.facecolor' : (mplConfig.axes, 'facecolor'),
-    'axes.edgecolor' : (mplConfig.axes, 'edgecolor'),
-    'axes.linewidth' : (mplConfig.axes, 'linewidth'),
-    'axes.titlesize' : (mplConfig.axes, 'titlesize'),
-    'axes.grid' : (mplConfig.axes, 'grid'),
-    'axes.labelsize' : (mplConfig.axes, 'labelsize'),
-    'axes.labelcolor' : (mplConfig.axes, 'labelcolor'),
-    'axes.formatter.limits' : (mplConfig.axes.formatter, 'limits'),
+        # axes props
+        'axes.axisbelow' : (self.tconfig.axes, 'axisbelow'),
+        'axes.hold' : (self.tconfig.axes, 'hold'),
+        'axes.facecolor' : (self.tconfig.axes, 'facecolor'),
+        'axes.edgecolor' : (self.tconfig.axes, 'edgecolor'),
+        'axes.linewidth' : (self.tconfig.axes, 'linewidth'),
+        'axes.titlesize' : (self.tconfig.axes, 'titlesize'),
+        'axes.grid' : (self.tconfig.axes, 'grid'),
+        'axes.labelsize' : (self.tconfig.axes, 'labelsize'),
+        'axes.labelcolor' : (self.tconfig.axes, 'labelcolor'),
+        'axes.formatter.limits' : (self.tconfig.axes.formatter, 'limits'),
 
-    'polaraxes.grid' : (mplConfig.axes, 'polargrid'),
+        'polaraxes.grid' : (self.tconfig.axes, 'polargrid'),
 
-    #legend properties
-    'legend.loc' : (mplConfig.legend, 'loc'),
-    'legend.isaxes' : (mplConfig.legend, 'isaxes'),
-    'legend.numpoints' : (mplConfig.legend, 'numpoints'),
-    'legend.fontsize' : (mplConfig.legend, 'fontsize'),
-    'legend.pad' : (mplConfig.legend, 'pad'),
-    'legend.markerscale' : (mplConfig.legend, 'markerscale'),
-    'legend.labelsep' : (mplConfig.legend, 'labelsep'),
-    'legend.handlelen' : (mplConfig.legend, 'handlelen'),
-    'legend.handletextsep' : (mplConfig.legend, 'handletextsep'),
-    'legend.axespad' : (mplConfig.legend, 'axespad'),
-    'legend.shadow' : (mplConfig.legend, 'shadow'),
+        #legend properties
+        'legend.loc' : (self.tconfig.legend, 'loc'),
+        'legend.isaxes' : (self.tconfig.legend, 'isaxes'),
+        'legend.numpoints' : (self.tconfig.legend, 'numpoints'),
+        'legend.fontsize' : (self.tconfig.legend, 'fontsize'),
+        'legend.pad' : (self.tconfig.legend, 'pad'),
+        'legend.markerscale' : (self.tconfig.legend, 'markerscale'),
+        'legend.labelsep' : (self.tconfig.legend, 'labelsep'),
+        'legend.handlelen' : (self.tconfig.legend, 'handlelen'),
+        'legend.handletextsep' : (self.tconfig.legend, 'handletextsep'),
+        'legend.axespad' : (self.tconfig.legend, 'axespad'),
+        'legend.shadow' : (self.tconfig.legend, 'shadow'),
 
-    # tick properties
-    'xtick.major.size' : (mplConfig.xticks.major, 'size'),
-    'xtick.minor.size' : (mplConfig.xticks.minor, 'size'),
-    'xtick.major.pad' : (mplConfig.xticks.major, 'pad'),
-    'xtick.minor.pad' : (mplConfig.xticks.minor, 'pad'),
-    'xtick.color' : (mplConfig.xticks, 'color'),
-    'xtick.labelsize' : (mplConfig.xticks, 'labelsize'),
-    'xtick.direction' : (mplConfig.xticks, 'direction'),
+        # tick properties
+        'xtick.major.size' : (self.tconfig.xticks.major, 'size'),
+        'xtick.minor.size' : (self.tconfig.xticks.minor, 'size'),
+        'xtick.major.pad' : (self.tconfig.xticks.major, 'pad'),
+        'xtick.minor.pad' : (self.tconfig.xticks.minor, 'pad'),
+        'xtick.color' : (self.tconfig.xticks, 'color'),
+        'xtick.labelsize' : (self.tconfig.xticks, 'labelsize'),
+        'xtick.direction' : (self.tconfig.xticks, 'direction'),
 
-    'ytick.major.size' : (mplConfig.yticks.major, 'size'),
-    'ytick.minor.size' : (mplConfig.yticks.minor, 'size'),
-    'ytick.major.pad' : (mplConfig.yticks.major, 'pad'),
-    'ytick.minor.pad' : (mplConfig.yticks.minor, 'pad'),
-    'ytick.color' : (mplConfig.yticks, 'color'),
-    'ytick.labelsize' : (mplConfig.yticks, 'labelsize'),
-    'ytick.direction' : (mplConfig.yticks, 'direction'),
+        'ytick.major.size' : (self.tconfig.yticks.major, 'size'),
+        'ytick.minor.size' : (self.tconfig.yticks.minor, 'size'),
+        'ytick.major.pad' : (self.tconfig.yticks.major, 'pad'),
+        'ytick.minor.pad' : (self.tconfig.yticks.minor, 'pad'),
+        'ytick.color' : (self.tconfig.yticks, 'color'),
+        'ytick.labelsize' : (self.tconfig.yticks, 'labelsize'),
+        'ytick.direction' : (self.tconfig.yticks, 'direction'),
 
-    'grid.color' : (mplConfig.grid, 'color'),
-    'grid.linestyle' : (mplConfig.grid, 'linestyle'),
-    'grid.linewidth' : (mplConfig.grid, 'linewidth'),
+        'grid.color' : (self.tconfig.grid, 'color'),
+        'grid.linestyle' : (self.tconfig.grid, 'linestyle'),
+        'grid.linewidth' : (self.tconfig.grid, 'linewidth'),
 
 
-    # figure props
-    'figure.figsize' : (mplConfig.figure, 'figsize'),
-    'figure.dpi' : (mplConfig.figure, 'dpi'),
-    'figure.facecolor' : (mplConfig.figure, 'facecolor'),
-    'figure.edgecolor' : (mplConfig.figure, 'edgecolor'),
+        # figure props
+        'figure.figsize' : (self.tconfig.figure, 'figsize'),
+        'figure.dpi' : (self.tconfig.figure, 'dpi'),
+        'figure.facecolor' : (self.tconfig.figure, 'facecolor'),
+        'figure.edgecolor' : (self.tconfig.figure, 'edgecolor'),
 
-    'figure.subplot.left' : (mplConfig.figure.subplot, 'left'),
-    'figure.subplot.right' : (mplConfig.figure.subplot, 'right'),
-    'figure.subplot.bottom' : (mplConfig.figure.subplot, 'bottom'),
-    'figure.subplot.top' : (mplConfig.figure.subplot, 'top'),
-    'figure.subplot.wspace' : (mplConfig.figure.subplot, 'wspace'),
-    'figure.subplot.hspace' : (mplConfig.figure.subplot, 'hspace'),
+        'figure.subplot.left' : (self.tconfig.figure.subplot, 'left'),
+        'figure.subplot.right' : (self.tconfig.figure.subplot, 'right'),
+        'figure.subplot.bottom' : (self.tconfig.figure.subplot, 'bottom'),
+        'figure.subplot.top' : (self.tconfig.figure.subplot, 'top'),
+        'figure.subplot.wspace' : (self.tconfig.figure.subplot, 'wspace'),
+        'figure.subplot.hspace' : (self.tconfig.figure.subplot, 'hspace'),
 
 
-    'savefig.dpi' : (mplConfig.savefig, 'dpi'),
-    'savefig.facecolor' : (mplConfig.savefig, 'facecolor'),
-    'savefig.edgecolor' : (mplConfig.savefig, 'edgecolor'),
-    'savefig.orientation' : (mplConfig.savefig, 'orientation'),
+        'savefig.dpi' : (self.tconfig.savefig, 'dpi'),
+        'savefig.facecolor' : (self.tconfig.savefig, 'facecolor'),
+        'savefig.edgecolor' : (self.tconfig.savefig, 'edgecolor'),
+        'savefig.orientation' : (self.tconfig.savefig, 'orientation'),
 
-    'cairo.format' : (mplConfig.backend.cairo, 'format'),
-    'tk.window_focus' : (mplConfig.backend.tk, 'window_focus'),
-    'tk.pythoninspect' : (mplConfig.backend.tk, 'pythoninspect'),
-    'ps.papersize' : (mplConfig.backend.ps, 'papersize'),
-    'ps.useafm' : (mplConfig.backend.ps, 'useafm'),
-    'ps.usedistiller' : (mplConfig.backend.ps.distiller, 'use'),
-    'ps.distiller.res' : (mplConfig.backend.ps.distiller, 'resolution'),
-    'ps.fonttype' : (mplConfig.backend.ps, 'fonttype'),
-    'pdf.compression' : (mplConfig.backend.pdf, 'compression'),
-    'pdf.inheritcolor' : (mplConfig.backend.pdf, 'inheritcolor'),
-    'pdf.use14corefonts' : (mplConfig.backend.pdf, 'use14corefonts'),
-    'pdf.fonttype' : (mplConfig.backend.pdf, 'fonttype'),
-    'svg.image_inline' : (mplConfig.backend.svg, 'image_inline'),
-    'svg.image_noscale' : (mplConfig.backend.svg, 'image_noscale'),
-    'svg.embed_char_paths' : (mplConfig.backend.svg, 'embed_chars'),
+        'cairo.format' : (self.tconfig.backend.cairo, 'format'),
+        'tk.window_focus' : (self.tconfig.backend.tk, 'window_focus'),
+        'tk.pythoninspect' : (self.tconfig.backend.tk, 'pythoninspect'),
+        'ps.papersize' : (self.tconfig.backend.ps, 'papersize'),
+        'ps.useafm' : (self.tconfig.backend.ps, 'useafm'),
+        'ps.usedistiller' : (self.tconfig.backend.ps.distiller, 'use'),
+        'ps.distiller.res' : (self.tconfig.backend.ps.distiller, 'resolution'),
+        'ps.fonttype' : (self.tconfig.backend.ps, 'fonttype'),
+        'pdf.compression' : (self.tconfig.backend.pdf, 'compression'),
+        'pdf.inheritcolor' : (self.tconfig.backend.pdf, 'inheritcolor'),
+        'pdf.use14corefonts' : (self.tconfig.backend.pdf, 'use14corefonts'),
+        'pdf.fonttype' : (self.tconfig.backend.pdf, 'fonttype'),
+        'svg.image_inline' : (self.tconfig.backend.svg, 'image_inline'),
+        'svg.image_noscale' : (self.tconfig.backend.svg, 'image_noscale'),
+        'svg.embed_char_paths' : (self.tconfig.backend.svg, 'embed_chars'),
 
-    # mathtext settings
-    'mathtext.mathtext2' : (mplConfig.text.math, 'mathtext2'),
-    'mathtext.rm' : (mplConfig.text.math, 'rm'),
-    'mathtext.it' : (mplConfig.text.math, 'it'),
-    'mathtext.tt' : (mplConfig.text.math, 'tt'),
-    'mathtext.mit' : (mplConfig.text.math, 'mit'),
-    'mathtext.cal' : (mplConfig.text.math, 'cal'),
-    'mathtext.nonascii' : (mplConfig.text.math, 'nonascii'),
-    }
+        # mathtext settings
+        'mathtext.mathtext2' : (self.tconfig.text.math, 'mathtext2'),
+        'mathtext.rm' : (self.tconfig.text.math, 'rm'),
+        'mathtext.it' : (self.tconfig.text.math, 'it'),
+        'mathtext.tt' : (self.tconfig.text.math, 'tt'),
+        'mathtext.mit' : (self.tconfig.text.math, 'mit'),
+        'mathtext.cal' : (self.tconfig.text.math, 'cal'),
+        'mathtext.nonascii' : (self.tconfig.text.math, 'nonascii'),
+        }
 
     def __setitem__(self, key, val):
         try:
-            obj, attr = self.tconf[key]
+            obj, attr = self.tconfig_map[key]
             setattr(obj, attr, val)
         except KeyError:
             raise KeyError('%s is not a valid rc parameter.\
 See rcParams.keys() for a list of valid parameters.'%key)
 
     def __getitem__(self, key):
-        obj, attr = self.tconf[key]
+        obj, attr = self.tconfig_map[key]
         return getattr(obj, attr)
 
-    def keys():
-        return self.tconf.keys()
+    def keys(self):
+        return self.tconfig_map.keys()
+    
+    def has_key(self, val):
+        return self.tconfig_map.has_key(val)
 
 
-rcParams = RcParamsWrapper()
+config_file = cutils.get_config_file(tconfig=True)
+old_config_file = cutils.get_config_file(tconfig=False)
+if os.path.exists(old_config_file) and not os.path.exists(config_file):
+    CONVERT = True
+else: CONVERT = False
+configManager = TConfigManager(MPLConfig,
+                               cutils.get_config_file(tconfig=True),
+                               filePriority=True)
+mplConfig = configManager.tconf
+mplConfigDefault = MPLConfig()
 
+# TODO: move into traits validation
+mplConfig.backend.ps.distiller.use = \
+    checkdep.ps_distiller(mplConfig.backend.ps.distiller.use)
+mplConfig.text.usetex = checkdep.usetex(mplConfig.text.usetex)
+
+def save_config():
+    """Save mplConfig customizations to current matplotlib.conf
+    """
+    configManager.write()
+
+rcParams = RcParamsWrapper(mplConfig)
+rcParamsDefault = RcParamsWrapper(mplConfigDefault)
+
 # convert old matplotlibrc to new matplotlib.conf
 if CONVERT:
     from rcparams import rcParams as old_rcParams
@@ -479,6 +490,10 @@
     print '%s converted to %s'%(cutils.get_config_file(tconfig=False),
                                 config_file)
 
+def rcdefaults():
+    mplConfig = MPLConfig()
+    rcParams = RcParamsWrapper(mplConfig)
+
 ##############################################################################
 # Simple testing
 ##############################################################################

Modified: trunk/matplotlib/lib/matplotlib/mpl-data/matplotlibrc
===================================================================
--- trunk/matplotlib/lib/matplotlib/mpl-data/matplotlibrc       2007-07-30 
16:41:53 UTC (rev 3631)
+++ trunk/matplotlib/lib/matplotlib/mpl-data/matplotlibrc       2007-07-30 
17:41:14 UTC (rev 3632)
@@ -34,7 +34,6 @@
 #interactive  : False      # see 
http://matplotlib.sourceforge.net/interactive.html
 #toolbar      : toolbar2   # None | classic | toolbar2
 #timezone     : UTC        # a pytz timezone string, eg US/Central or 
Europe/Paris
-#units        : False
 
 # Where your matplotlib data lives if you installed to a non-default
 # location.  This is where the matplotlib fonts, bitmaps, etc reside
@@ -197,7 +196,6 @@
 #grid.linewidth   :   0.5     # in points
 
 ### Legend
-#legend.loc           : upper right
 #legend.isaxes        : True
 #legend.numpoints     : 2      # the number of points in the legend line
 #legend.fontsize      : 14
@@ -245,7 +243,6 @@
 #savefig.dpi       : 100      # figure dots per inch
 #savefig.facecolor : white    # figure facecolor when saving
 #savefig.edgecolor : white    # figure edgecolor when saving
-#savefig.orientation: portrait
 
 #cairo.format      : png      # png, ps, pdf, svg
 
@@ -267,8 +264,6 @@
 #pdf.compression   : 6 # integer from 0 to 9
                        # 0 disables compression (good for debugging)
 #pdf.fonttype       : 3         # Output Type 3 (Type3) or Type 42 (TrueType)
-#pdf.inheritcolor   : False
-#pdf.use14corefonts : False
 
 # svg backend params
 #svg.image_inline : True       # write raster image data directly into the svg 
file

Modified: trunk/matplotlib/setup.py
===================================================================
--- trunk/matplotlib/setup.py   2007-07-30 16:41:53 UTC (rev 3631)
+++ trunk/matplotlib/setup.py   2007-07-30 17:41:14 UTC (rev 3632)
@@ -130,7 +130,7 @@
     'matplotlib.numerix.linear_algebra',
     'matplotlib.numerix.random_array',
     'matplotlib.numerix.fft',
-
+    'matplotlib.config'
     ]
 
 


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to