-# This function makes a class used to do delayed initialization of some
-# stock wx objects. When they are used the first time then an init function
-# is called to make the real instance, which is then used to replace the
-# original instance and class seen by the programmer.
-def _wxPyMakeDelayedInitWrapper(initFunc):
- class _wxPyStockObjectWrapper(object):
- def __init__(self, *args):
- self._args = args
- def __getattr__(self, name):
- obj = initFunc(*self._args)
- self.__class__ = obj.__class__
- self.__dict__ = obj.__dict__
- return getattr(self, name)
- def __str__(self):
- return self.__getattr__("__str__")()
- def __repr__(self):
- return self.__getattr__("__repr__")()
- return _wxPyStockObjectWrapper
-
-def _wxPyFontInit(id):
- return StockGDI.instance().GetFont(id)
-
-_wxPyStockPen = _wxPyMakeDelayedInitWrapper(StockGDI.GetPen)
-_wxPyStockBrush = _wxPyMakeDelayedInitWrapper(StockGDI.GetBrush)
-_wxPyStockCursor = _wxPyMakeDelayedInitWrapper(StockGDI.GetCursor)
-_wxPyStockColour = _wxPyMakeDelayedInitWrapper(StockGDI.GetColour)
-_wxPyStockFont = _wxPyMakeDelayedInitWrapper(_wxPyFontInit)
-
-
-ITALIC_FONT = _wxPyStockCursor(StockGDI.FONT_ITALIC)
-NORMAL_FONT = _wxPyStockCursor(StockGDI.FONT_NORMAL)
-SMALL_FONT = _wxPyStockCursor(StockGDI.FONT_SMALL)
-SWISS_FONT = _wxPyStockCursor(StockGDI.FONT_SWISS)
-
-BLACK_DASHED_PEN = _wxPyStockPen(StockGDI.PEN_BLACKDASHED)
-BLACK_PEN = _wxPyStockPen(StockGDI.PEN_BLACK)
-CYAN_PEN = _wxPyStockPen(StockGDI.PEN_CYAN)
-GREEN_PEN = _wxPyStockPen(StockGDI.PEN_GREEN)
-GREY_PEN = _wxPyStockPen(StockGDI.PEN_GREY)
-LIGHT_GREY_PEN = _wxPyStockPen(StockGDI.PEN_LIGHTGREY)
-MEDIUM_GREY_PEN = _wxPyStockPen(StockGDI.PEN_MEDIUMGREY)
-RED_PEN = _wxPyStockPen(StockGDI.PEN_RED)
-TRANSPARENT_PEN = _wxPyStockPen(StockGDI.PEN_TRANSPARENT)
-WHITE_PEN = _wxPyStockPen(StockGDI.PEN_WHITE)
-
-BLACK_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_BLACK)
-BLUE_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_BLUE)
-CYAN_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_CYAN)
-GREEN_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_GREEN)
-GREY_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_GREY)
-LIGHT_GREY_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_LIGHTGREY)
-MEDIUM_GREY_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_MEDIUMGREY)
-RED_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_RED)
-TRANSPARENT_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_TRANSPARENT)
-WHITE_BRUSH = _wxPyStockBrush(StockGDI.BRUSH_WHITE)
-
-BLACK = _wxPyStockColour(StockGDI.COLOUR_BLACK)
-BLUE = _wxPyStockColour(StockGDI.COLOUR_BLUE)
-CYAN = _wxPyStockColour(StockGDI.COLOUR_CYAN)
-GREEN = _wxPyStockColour(StockGDI.COLOUR_GREEN)
-LIGHT_GREY = _wxPyStockColour(StockGDI.COLOUR_LIGHTGREY)
-RED = _wxPyStockColour(StockGDI.COLOUR_RED)
-WHITE = _wxPyStockColour(StockGDI.COLOUR_WHITE)
-
-CROSS_CURSOR = _wxPyStockCursor(StockGDI.CURSOR_CROSS)
-HOURGLASS_CURSOR = _wxPyStockCursor(StockGDI.CURSOR_HOURGLASS)
-STANDARD_CURSOR = _wxPyStockCursor(StockGDI.CURSOR_STANDARD)
-
+# Create an uninitialized instance for the stock objects, they will
+# be initialized later when the wx.App object is created.
+ITALIC_FONT = Font.__new__(Font)
+NORMAL_FONT = Font.__new__(Font)
+SMALL_FONT = Font.__new__(Font)
+SWISS_FONT = Font.__new__(Font)
+
+BLACK_DASHED_PEN = Pen.__new__(Pen)
+BLACK_PEN = Pen.__new__(Pen)
+CYAN_PEN = Pen.__new__(Pen)
+GREEN_PEN = Pen.__new__(Pen)
+GREY_PEN = Pen.__new__(Pen)
+LIGHT_GREY_PEN = Pen.__new__(Pen)
+MEDIUM_GREY_PEN = Pen.__new__(Pen)
+RED_PEN = Pen.__new__(Pen)
+TRANSPARENT_PEN = Pen.__new__(Pen)
+WHITE_PEN = Pen.__new__(Pen)
+
+BLACK_BRUSH = Brush.__new__(Brush)
+BLUE_BRUSH = Brush.__new__(Brush)
+CYAN_BRUSH = Brush.__new__(Brush)
+GREEN_BRUSH = Brush.__new__(Brush)
+GREY_BRUSH = Brush.__new__(Brush)
+LIGHT_GREY_BRUSH = Brush.__new__(Brush)
+MEDIUM_GREY_BRUSH = Brush.__new__(Brush)
+RED_BRUSH = Brush.__new__(Brush)
+TRANSPARENT_BRUSH = Brush.__new__(Brush)
+WHITE_BRUSH = Brush.__new__(Brush)
+
+BLACK = Colour.__new__(Colour)
+BLUE = Colour.__new__(Colour)
+CYAN = Colour.__new__(Colour)
+GREEN = Colour.__new__(Colour)
+LIGHT_GREY = Colour.__new__(Colour)
+RED = Colour.__new__(Colour)
+WHITE = Colour.__new__(Colour)
+
+CROSS_CURSOR = Cursor.__new__(Cursor)
+HOURGLASS_CURSOR = Cursor.__new__(Cursor)
+STANDARD_CURSOR = Cursor.__new__(Cursor)