]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/demo/FontEnumerator.py
Fix "warning: operation on 'y' may be undefined".
[wxWidgets.git] / wxPython / demo / FontEnumerator.py
index 5ada2dac5c861d1aecbda48e10bd40250b1da104..4356a5a821741c02819e8249ca851914f2d13079 100644 (file)
@@ -1,50 +1,58 @@
 
-from wxPython.wx import *
+import  wx
 
 #----------------------------------------------------------------------
 
-## class MyFontEnumerator(wxFontEnumerator):
-##     def __init__(self, list):
-##         wxFontEnumerator.__init__(self)
-##         self.list = list
 
-##     def OnFacename(self, face):
-##         self.list.append(face)
-##         return true
-
-
-
-class TestPanel(wxPanel):
+class TestPanel(wx.Panel):
     def __init__(self, parent, log):
-        wxPanel.__init__(self, parent, -1)
+        wx.Panel.__init__(self, parent, -1)
 
-##         list = []
-##         e = MyFontEnumerator(list)
-##         e.EnumerateFacenames()
-
-        e = wxFontEnumerator()
+        e = wx.FontEnumerator()
         e.EnumerateFacenames()
         list = e.GetFacenames()
 
         list.sort()
 
-        wxStaticText(self, -1, "Face names:", (15, 50), (65, 18))
-        self.lb1 = wxListBox(self, -1, (80, 50), (200, 250),
-                             list, wxLB_SINGLE)
-        EVT_LISTBOX(self, self.lb1.GetId(), self.OnSelect)
+        s1 = wx.StaticText(self, -1, "Face names:")
+
+        self.lb1 = wx.ListBox(self, -1, wx.DefaultPosition, (200, 250),
+                             list, wx.LB_SINGLE)
+
+        self.Bind(wx.EVT_LISTBOX, self.OnSelect, id=self.lb1.GetId())
 
-        self.txt = wxStaticText(self, -1, "Sample text...", (285, 50))
+        self.txt = wx.StaticText(self, -1, "Sample text...", (285, 50))
+
+        row = wx.BoxSizer(wx.HORIZONTAL)
+        row.Add(s1, 0, wx.ALL, 5)
+        row.Add(self.lb1, 0, wx.ALL, 5)
+        row.Add(self.txt, 0, wx.ALL|wx.ADJUST_MINSIZE, 5)
+
+        sizer = wx.BoxSizer(wx.VERTICAL)
+        sizer.Add(row, 0, wx.ALL, 30)
+        self.SetSizer(sizer)
+        self.Layout()
 
         self.lb1.SetSelection(0)
+        self.OnSelect(None)
+        wx.FutureCall(300, self.SetTextSize)
+
+
+    def SetTextSize(self):
+        self.txt.SetSize(self.txt.GetBestSize())
 
 
     def OnSelect(self, evt):
         face = self.lb1.GetStringSelection()
-        font = wxFont(28, wxDEFAULT, wxNORMAL, wxNORMAL, false, face)
+        font = wx.Font(28, wx.DEFAULT, wx.NORMAL, wx.NORMAL, False, face)
+        self.txt.SetLabel(face)
         self.txt.SetFont(font)
-        self.txt.SetSize(self.txt.GetBestSize())
-
+        if wx.Platform == "__WXMAC__": self.Refresh()
 
+##         st = font.GetNativeFontInfo().ToString()
+##         ni2 = wx.NativeFontInfo()
+##         ni2.FromString(st)
+##         font2 = wx.FontFromNativeInfo(ni2)
 
 #----------------------------------------------------------------------
 
@@ -56,16 +64,17 @@ def runTest(frame, nb, log):
 
 
 
+overview = """<html><body>
+wxFontEnumerator enumerates either all available fonts on the system or only
+the ones with given attributes - either only fixed-width (suited for use in
+programs such as terminal emulators and the like) or the fonts available in
+the given encoding.
+</body></html>
+"""
 
 
+if __name__ == '__main__':
+    import sys,os
+    import run
+    run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
 
-
-
-
-
-
-
-overview = """\
-wxFontEnumerator enumerates either all available fonts on the system or only the ones with given attributes - either only fixed-width (suited for use in programs such as terminal emulators and the like) or the fonts available in the given encoding.
-
-"""