+++ /dev/null
-#-----------------------------------------------------------------------------
-# Name: img2pyartprov.py
-# Purpose:
-#
-# Author: Riaan Booysen
-#
-# RCS-ID: $Id$
-# Copyright: (c) 2006
-# Licence: wxPython
-#-----------------------------------------------------------------------------
-""" ArtProvider class that publishes images from modules generated by img2py.
-
-Image modules must be generated with the -u and -n <name> parameters.
-
-Typical usage:
->>> import wx, wx.lib.art.img2pyartprov, myimagemodule
->>> wx.ArtProvider.PushProvider(wx.lib.art.img2pyartprov.Img2PyArtProvider(myimagemodule))
-
-If myimagemodule.catalog['MYIMAGE'] is defined, it can be accessed as:
->>> wx.ArtProvider.GetBitmap('wxART_MYIMAGE')
-
-"""
-
-import wx
-
-_NULL_BMP = wx.NullBitmap
-class Img2PyArtProvider(wx.ArtProvider):
- def __init__(self, imageModule, artIdPrefix='wxART_'):
- self.catalog = {}
- self.index = []
- self.UpdateFromImageModule(imageModule)
- self.artIdPrefix = artIdPrefix
-
- wx.ArtProvider.__init__(self)
-
- def UpdateFromImageModule(self, imageModule):
- try:
- self.catalog.update(imageModule.catalog)
- except AttributeError:
- raise Exception, 'No catalog dictionary defined for the image module'
-
- try:
- self.index.extend(imageModule.index)
- except AttributeError:
- raise Exception, 'No index list defined for the image module'
-
- def GenerateArtIdList(self):
- return [self.artIdPrefix+name for name in self.index]
-
- def CreateBitmap(self, artId, artClient, size):
- if artId.startswith(self.artIdPrefix):
- name = artId[len(self.artIdPrefix):]
- if name in self.catalog:
- return self.catalog[name].getBitmap()
-
- return _NULL_BMP
-
-