]>
Commit | Line | Data |
---|---|---|
1 | #---------------------------------------------------------------------- | |
2 | # Name: wx.lib.statbmp | |
3 | # Purpose: A generic StaticBitmap class. | |
4 | # | |
5 | # Author: Robin Dunn | |
6 | # | |
7 | # Created: 12-May-2004 | |
8 | # RCS-ID: $Id$ | |
9 | # Copyright: (c) 2004 by Total Control Software | |
10 | # Licence: wxWindows license | |
11 | #---------------------------------------------------------------------- | |
12 | ||
13 | import wx | |
14 | ||
15 | #---------------------------------------------------------------------- | |
16 | ||
17 | class GenStaticBitmap(wx.PyControl): | |
18 | labelDelta = 1 | |
19 | ||
20 | def __init__(self, parent, ID, bitmap, | |
21 | pos = wx.DefaultPosition, size = wx.DefaultSize, | |
22 | style = 0, | |
23 | name = "genstatbmp"): | |
24 | if not style & wx.BORDER_MASK: | |
25 | style = style | wx.BORDER_NONE | |
26 | wx.PyControl.__init__(self, parent, ID, pos, size, style, | |
27 | wx.DefaultValidator, name) | |
28 | self._bitmap = bitmap | |
29 | self.InheritAttributes() | |
30 | self.SetBestFittingSize(size) | |
31 | ||
32 | self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) | |
33 | self.Bind(wx.EVT_PAINT, self.OnPaint) | |
34 | ||
35 | ||
36 | def SetBitmap(self, bitmap): | |
37 | self._bitmap = bitmap | |
38 | self.SetBestFittingSize( (bitmap.GetWidth(), bitmap.GetHeight()) ) | |
39 | self.Refresh() | |
40 | ||
41 | ||
42 | def GetBitmap(self): | |
43 | return self._bitmap | |
44 | ||
45 | ||
46 | def DoGetBestSize(self): | |
47 | """ | |
48 | Overridden base class virtual. Determines the best size of the | |
49 | control based on the bitmap size. | |
50 | """ | |
51 | return wx.Size(self._bitmap.GetWidth(), self._bitmap.GetHeight()) | |
52 | ||
53 | ||
54 | def AcceptsFocus(self): | |
55 | """Overridden base class virtual.""" | |
56 | return False | |
57 | ||
58 | ||
59 | def GetDefaultAttributes(self): | |
60 | """ | |
61 | Overridden base class virtual. By default we should use | |
62 | the same font/colour attributes as the native StaticBitmap. | |
63 | """ | |
64 | return wx.StaticBitmap.GetClassDefaultAttributes() | |
65 | ||
66 | ||
67 | def ShouldInheritColours(self): | |
68 | """ | |
69 | Overridden base class virtual. If the parent has non-default | |
70 | colours then we want this control to inherit them. | |
71 | """ | |
72 | return True | |
73 | ||
74 | ||
75 | def OnPaint(self, event): | |
76 | dc = wx.PaintDC(self) | |
77 | if self._bitmap: | |
78 | dc.DrawBitmap(self._bitmap, 0, 0, True) | |
79 | ||
80 | ||
81 | def OnEraseBackground(self, event): | |
82 | pass | |
83 | ||
84 | ||
85 | ||
86 | ||
87 | #---------------------------------------------------------------------- | |
88 | ||
89 |