]>
git.saurik.com Git - wxWidgets.git/blob - wxPython/demo/StandardPaths.py
4 #----------------------------------------------------------------------
6 class TestPanel(wx
.Panel
):
7 def __init__(self
, parent
, log
):
9 wx
.Panel
.__init
__(self
, parent
, -1)
11 sizer
= wx
.FlexGridSizer(0, 3, 5, 5)
12 box
= wx
.BoxSizer(wx
.VERTICAL
)
13 fs
= self
.GetFont().GetPointSize()
14 bf
= wx
.Font(fs
+4, wx
.SWISS
, wx
.NORMAL
, wx
.BOLD
)
16 t
= wx
.StaticText(self
, -1, "StandardPaths")
18 box
.Add(t
, 0, wx
.CENTER|wx
.ALL
, 4)
19 box
.Add(wx
.StaticLine(self
, -1), 0, wx
.EXPAND
)
21 # get the global (singleton) instance of wx.StandardPaths
22 sp
= wx
.StandardPaths
.Get()
24 # StandardPaths will use the value of wx.App().GetAppName()
25 # for some of the stnadard path components. Let's set it to
26 # something that makes that obvious for the demo. In your own
27 # apps you'll set it in to something more meaningfull for your
28 # app in your OnInit, (or just let it default.)
29 wx
.GetApp().SetAppName("AppName")
33 # Loop through all of the getters in wx.StandardPaths and make
34 # a set of items in the sizer for each.
35 def makeitem(name
, *args
):
36 func
= getattr(sp
, name
)
37 sizer
.Add(wx
.StaticText(self
, -1, "%s%s:" %(name
, repr(args
))),
38 0, wx
.ALIGN_RIGHT|wx
.ALIGN_CENTER_VERTICAL
)
39 sizer
.Add(wx
.TextCtrl(self
, -1, func(*args
),
40 size
=(275,-1), style
=wx
.TE_READONLY
),
41 0, wx
.ALIGN_RIGHT|wx
.ALIGN_CENTER_VERTICAL
)
43 btn
= wx
.Button(self
, wx
.ID_HELP
)
45 self
.help[btn
] = func
.__doc
__
47 for x
in ['GetConfigDir',
52 'GetUserLocalDataDir',
62 # this one needs parameters
63 makeitem('GetLocalizedResourcesDir', 'en',
64 wx
.StandardPaths
.ResourceCat_Messages
)
66 self
.Bind(wx
.EVT_BUTTON
, self
.OnShowDoc
, id=wx
.ID_HELP
)
67 box
.Add(sizer
, 0, wx
.CENTER|wx
.ALL
, 10)
71 def OnShowDoc(self
, evt
):
72 doc
= self
.help[evt
.GetEventObject()]
74 # trim the whitespace from each line
76 for line
in doc
.split('\n'):
77 lines
.append(line
.strip())
78 doc
= '\n'.join(lines
)
79 wx
.TipWindow(self
, doc
, 500)
82 #----------------------------------------------------------------------
84 def runTest(frame
, nb
, log
):
85 win
= TestPanel(nb
, log
)
88 #----------------------------------------------------------------------
92 overview
= """<html><body>
93 <h2><center>StandardPaths</center></h2>
95 wxWidgets provides this class to simply determine where to locate
96 certain types of files in a platform specific manner. This includes
97 things like configuration files, general data files writeable by the
98 user, and application files that are shared by all user.
105 if __name__
== '__main__':
108 run
.main(['', os
.path
.basename(sys
.argv
[0])] + sys
.argv
[1:])