]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/lib/stattext.py
warning fix
[wxWidgets.git] / wxPython / wx / lib / stattext.py
index ddf2642525a1c964524903d16e988c02dcba7719..ac50f76e733266a902a02ebd16a48ff30cf0f4ae 100644 (file)
 # Copyright:   (c) 2002 by Total Control Software
 # Licence:     wxWindows license
 #----------------------------------------------------------------------
-
-"""
-"""
+# 12/12/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o 2.5 compatability update.
+# o Untested.
+#
 
 import wx
 
@@ -30,30 +32,12 @@ class GenStaticText(wx.PyControl):
                              wx.DefaultValidator, name)
 
         wx.PyControl.SetLabel(self, label) # don't check wx.ST_NO_AUTORESIZE yet
-        self.SetPosition(pos)
-        font = parent.GetFont()
-        if not font.Ok():
-            font = wx.SystemSettings.GetSystemFont(wx.SYS_DEFAULT_GUI_FONT)
-        wx.PyControl.SetFont(self, font) # same here
-
-        self.defBackClr = parent.GetBackgroundColour()
-        if not self.defBackClr.Ok():
-            self.defBackClr = wx.SystemSettings.GetSystemColour(wx.SYS_COLOUR_3DFACE)
-        self.SetBackgroundColour(self.defBackClr)
+        self.defBackClr = self.GetBackgroundColour()
+        self.InheritAttributes()
+        self.SetBestFittingSize(size)
 
-        clr = parent.GetForegroundColour()
-        if not clr.Ok():
-            clr = wx.SystemSettings_GetSystemColour(wx.SYS_COLOUR_BTNTEXT)
-        self.SetForegroundColour(clr)
-
-        rw, rh = size
-        bw, bh = self.GetBestSize()
-        if rw == -1: rw = bw
-        if rh == -1: rh = bh
-        self.SetSize(wx.Size(rw, rh))
-
-        wx.EVT_ERASE_BACKGROUND(self, self.OnEraseBackground)
-        wx.EVT_PAINT(self,            self.OnPaint)
+        self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)
+        self.Bind(wx.EVT_PAINT,            self.OnPaint)
 
 
     def SetLabel(self, label):
@@ -64,7 +48,9 @@ class GenStaticText(wx.PyControl):
         wx.PyControl.SetLabel(self, label)
         style = self.GetWindowStyleFlag()
         if not style & wx.ST_NO_AUTORESIZE:
-            self.SetSize(self.GetBestSize())
+            best = self.GetBestSize()
+            self.SetSize(best)
+            self.SetMinSize(best)
         self.Refresh()
 
 
@@ -76,13 +62,17 @@ class GenStaticText(wx.PyControl):
         wx.PyControl.SetFont(self, font)
         style = self.GetWindowStyleFlag()
         if not style & wx.ST_NO_AUTORESIZE:
-            self.SetSize(self.GetBestSize())
+            best = self.GetBestSize()
+            self.SetSize(best)
+            self.SetMinSize(best)
         self.Refresh()
 
 
     def DoGetBestSize(self):
-        """Overridden base class virtual.  Determines the best size of the
-        button based on the label size."""
+        """
+        Overridden base class virtual.  Determines the best size of
+        the button based on the label size.
+        """
         label = self.GetLabel()
         maxWidth = totalHeight = 0
         for line in label.split('\n'):
@@ -100,6 +90,22 @@ class GenStaticText(wx.PyControl):
         return False
 
 
+    def GetDefaultAttributes(self):
+        """
+        Overridden base class virtual.  By default we should use
+        the same font/colour attributes as the native StaticText.
+        """
+        return wx.StaticText.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.BufferedPaintDC(self)
         #dc = wx.PaintDC(self)
@@ -111,7 +117,7 @@ class GenStaticText(wx.PyControl):
         backBrush = wx.Brush(clr, wx.SOLID)
         if wx.Platform == "__WXMAC__" and clr == self.defBackClr:
             # if colour is still the default then use the striped background on Mac
-            backBrush.SetMacTheme(1) # 1 == kThemeBrushDialogBackgroundActive
+            backBrush.MacSetTheme(1) # 1 == kThemeBrushDialogBackgroundActive
         dc.SetBackground(backBrush)
 
         dc.SetTextForeground(self.GetForegroundColour())
@@ -129,7 +135,7 @@ class GenStaticText(wx.PyControl):
                 x = width - w
             if style & wx.ALIGN_CENTER:
                 x = (width - w)/2
-            dc.DrawText(line, (x, y))
+            dc.DrawText(line, x, y)
             y += h