]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/XmlResourceSubclass.py
started for unicode text control, in case we will not be able to get the MLTE EchoMod...
[wxWidgets.git] / wxPython / demo / XmlResourceSubclass.py
index 4fc5a275c403738eaf19c1109a3bd57904890bf2..2fcb737bb410759a0589156193009815b102a197 100644 (file)
@@ -1,7 +1,3 @@
-# 11/22/2003 - Jeff Grimmett (grimmtooth@softhome.net)
-#
-# o Updated for wx namespace
-#
 
 import  wx
 import  wx.xrc  as  xrc
 
 import  wx
 import  wx.xrc  as  xrc
@@ -15,10 +11,10 @@ resourceText = r'''<?xml version="1.0"?>
      subclass is specified as "moduleName.ClassName"  Try changing
      the classname to one that does not exist and see what happens -->
 
      subclass is specified as "moduleName.ClassName"  Try changing
      the classname to one that does not exist and see what happens -->
 
-<object class="wxPanel" subclass="XmlResourceSubclass.MyBluePanel" name="MyPanel">
+<object class="wxPanel" subclass="XmlResourceSubclass.MyCustomPanel" name="MyPanel">
     <size>200,100</size>
     <object class="wxStaticText" name="label1">
     <size>200,100</size>
     <object class="wxStaticText" name="label1">
-        <label>This blue panel is a class derived from wxPanel
+        <label>This blue panel is a class derived from wx.Panel
 and is loaded by a using a subclass attribute of the object tag.</label>
         <pos>10,10</pos>
     </object>
 and is loaded by a using a subclass attribute of the object tag.</label>
         <pos>10,10</pos>
     </object>
@@ -28,21 +24,32 @@ and is loaded by a using a subclass attribute of the object tag.</label>
 
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
 
-class MyBluePanel(wx.Panel):
+class MyCustomPanel(wx.Panel):
     def __init__(self):
         p = wx.PrePanel()
         # the Create step is done by XRC.
         self.PostCreate(p)
         self.Bind(wx.EVT_WINDOW_CREATE, self.OnCreate)
     def __init__(self):
         p = wx.PrePanel()
         # the Create step is done by XRC.
         self.PostCreate(p)
         self.Bind(wx.EVT_WINDOW_CREATE, self.OnCreate)
+        self.Bind(wx.EVT_SIZE, self.OnSize)
+        
         
     def OnCreate(self, evt):
         # This is the little bit of customization that we do for this
         # silly example.  It could just as easily have been done in
         # the resource.  We do it in the EVT_WINDOW_CREATE handler 
         # because the window doesn't really exist yet in the __init__.
         
     def OnCreate(self, evt):
         # This is the little bit of customization that we do for this
         # silly example.  It could just as easily have been done in
         # the resource.  We do it in the EVT_WINDOW_CREATE handler 
         # because the window doesn't really exist yet in the __init__.
-        self.SetBackgroundColour("BLUE")
-        self.SetForegroundColour("WHITE")
-
+        t = wx.StaticText(self, -1, "MyCustomPanel")
+        f = t.GetFont()
+        f.SetWeight(wx.BOLD)
+        f.SetPointSize(f.GetPointSize()+2)
+        t.SetFont(f)
+        self.t = t
+
+    def OnSize(self, evt):
+        sz = self.GetSize()
+        w, h = self.t.GetTextExtent(self.t.GetLabel())
+        self.t.SetPosition(((sz.width-w)/2, (sz.height-h)/2))
+    
 #----------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------
 
 
@@ -90,7 +97,7 @@ def runTest(frame, nb, log):
 
 
 overview = """<html><body>
 
 
 overview = """<html><body>
-<h2><center>wxXmlResourceSubclass</center></h2>
+<h2><center>wx.XmlResourceSubclass</center></h2>
 
 Sometimes it is necessary to use custom classes, but you still want
 them to be created from XRC.  The subclass XRC attribute allows you to
 
 Sometimes it is necessary to use custom classes, but you still want
 them to be created from XRC.  The subclass XRC attribute allows you to
@@ -104,5 +111,5 @@ do that.
 if __name__ == '__main__':
     import sys,os
     import run
 if __name__ == '__main__':
     import sys,os
     import run
-    run.main(['', os.path.basename(sys.argv[0])])
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])