]>
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:])