]> git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/FontEnumerator.py
fix text scrolling in GTK2 (patch 703988)
[wxWidgets.git] / wxPython / demo / FontEnumerator.py
1
2 from wxPython.wx import *
3
4 #----------------------------------------------------------------------
5
6
7 class TestPanel(wxPanel):
8 def __init__(self, parent, log):
9 wxPanel.__init__(self, parent, -1)
10
11 e = wxFontEnumerator()
12 e.EnumerateFacenames()
13 list = e.GetFacenames()
14
15 list.sort()
16
17 s1 = wxStaticText(self, -1, "Face names:")
18 self.lb1 = wxListBox(self, -1, wxDefaultPosition, (200, 250),
19 list, wxLB_SINGLE)
20 EVT_LISTBOX(self, self.lb1.GetId(), self.OnSelect)
21
22 self.txt = wxStaticText(self, -1, "Sample text...", (285, 50))
23
24 row = wxBoxSizer(wxHORIZONTAL)
25 row.Add(s1, 0, wxALL, 5)
26 row.Add(self.lb1, 0, wxALL, 5)
27 row.Add(self.txt, 0, wxALL|wxADJUST_MINSIZE, 5)
28
29 sizer = wxBoxSizer(wxVERTICAL)
30 sizer.Add(row, 0, wxALL, 30)
31 self.SetSizer(sizer)
32 self.Layout()
33
34 self.lb1.SetSelection(0)
35 self.OnSelect(None)
36 wxFutureCall(300, self.SetTextSize)
37
38
39 def SetTextSize(self):
40 self.txt.SetSize(self.txt.GetBestSize())
41
42
43 def OnSelect(self, evt):
44 #print "OnSelect: "
45 face = self.lb1.GetStringSelection()
46 #print '\t '+face
47 font = wxFont(28, wxDEFAULT, wxNORMAL, wxNORMAL, False, face)
48 #print "\t got font"
49 self.txt.SetLabel(face)
50 #print "\t set label"
51 self.txt.SetFont(font)
52 #print "\t set font"
53 #self.txt.SetSize(self.txt.GetBestSize())
54 #print "\t set size"
55
56
57 ## st = font.GetNativeFontInfo().ToString()
58 ## ni2 = wxNativeFontInfo()
59 ## ni2.FromString(st)
60 ## font2 = wxFontFromNativeInfo(ni2)
61
62 #----------------------------------------------------------------------
63
64 def runTest(frame, nb, log):
65 win = TestPanel(nb, log)
66 return win
67
68 #----------------------------------------------------------------------
69
70
71
72
73
74
75
76
77 overview = """<html><body>
78 wxFontEnumerator enumerates either all available fonts on the system or only
79 the ones with given attributes - either only fixed-width (suited for use in
80 programs such as terminal emulators and the like) or the fonts available in
81 the given encoding.
82 </body></html>
83 """
84
85
86 if __name__ == '__main__':
87 import sys,os
88 import run
89 run.main(['', os.path.basename(sys.argv[0])])
90