+#----------------------------------------------------------------------
+# Name: wx.lib.statbmp
+# Purpose: A generic StaticBitmap class.
+#
+# Author: Robin Dunn
+#
+# Created: 12-May-2004
+# RCS-ID: $Id$
+# Copyright: (c) 2004 by Total Control Software
+# Licence: wxWindows license
+#----------------------------------------------------------------------
+
+import wx
+
+#----------------------------------------------------------------------
+
+class GenStaticBitmap(wx.PyControl):
+ labelDelta = 1
+
+ def __init__(self, parent, ID, bitmap,
+ pos = wx.DefaultPosition, size = wx.DefaultSize,
+ style = 0,
+ name = "genstatbmp"):
+ wx.PyControl.__init__(self, parent, ID, pos, size, style|wx.NO_BORDER,
+ wx.DefaultValidator, name)
+ self._bitmap = bitmap
+ self.InheritAttributes()
+ self.SetBestSize(size)
+
+ self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
+ self.Bind(wx.EVT_PAINT, self.OnPaint)
+
+
+ def SetBitmap(self, bitmap):
+ self._bitmap = bitmap
+ self.SetBestSize( (bitmap.GetWidth(), bitmap.GetHeight()) )
+ self.Refresh()
+
+
+ def GetBitmap(self):
+ return self._bitmap
+
+
+ def DoGetBestSize(self):
+ """
+ Overridden base class virtual. Determines the best size of the
+ control based on the bitmap size.
+ """
+ return wx.Size(self._bitmap.GetWidth(), self._bitmap.GetHeight())
+
+
+ def AcceptsFocus(self):
+ """Overridden base class virtual."""
+ return False
+
+
+ def GetDefaultAttributes(self):
+ """
+ Overridden base class virtual. By default we should use
+ the same font/colour attributes as the native StaticBitmap.
+ """
+ return wx.StaticBitmap.GetClassDefaultAttributes()
+
+
+ def ShouldInheritColours(self):
+ """
+ Overridden base class virtual. If the parent has non-default
+ colours then we want this control to inherit them.
+ """
+ return True
+
+
+ def OnPaint(self, event):
+ dc = wx.PaintDC(self)
+ dc.DrawBitmap(self._bitmap, 0, 0, True)
+
+
+ def OnEraseBackground(self, event):
+ pass
+
+
+
+
+#----------------------------------------------------------------------
+
+