wxWidgets/wxPython/wx/lib/statbmp.py
Robin Dunn 969d9b6fa9 Added a generic StaticBitmap class in wx.lib.statbmp for the same
reasons that stattext was created, so it could be mouse sensitive on
all platforms like normal windows.  Also updated stattext.py and
buttons.py to handle attribute (font & colour) defaults and
inheritance the new way.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-14 21:22:39 +00:00

87 lines
2.3 KiB
Python

#----------------------------------------------------------------------
# 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
#----------------------------------------------------------------------