Added GetResourcesDir and GetLocalizedResourcesDir to

wx.StandardPaths.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-03-29 02:34:00 +00:00
parent 30c23e741e
commit b8c4ab9cbc
3 changed files with 65 additions and 16 deletions

View File

@@ -8,7 +8,7 @@ class TestPanel(wx.Panel):
self.log = log self.log = log
wx.Panel.__init__(self, parent, -1) wx.Panel.__init__(self, parent, -1)
sizer = wx.FlexGridSizer(0, 3, 5, 5) sizer = wx.FlexGridSizer(0, 3, 4, 4)
box = wx.BoxSizer(wx.VERTICAL) box = wx.BoxSizer(wx.VERTICAL)
fs = self.GetFont().GetPointSize() fs = self.GetFont().GetPointSize()
bf = wx.Font(fs+4, wx.SWISS, wx.NORMAL, wx.BOLD) bf = wx.Font(fs+4, wx.SWISS, wx.NORMAL, wx.BOLD)
@@ -32,6 +32,17 @@ class TestPanel(wx.Panel):
# Loop through all of the getters in wx.StandardPaths and make # Loop through all of the getters in wx.StandardPaths and make
# a set of items in the sizer for each. # a set of items in the sizer for each.
def makeitem(name, *args):
func = getattr(sp, name)
sizer.Add(wx.StaticText(self, -1, "%s%s:" %(name, repr(args))),
0, wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
sizer.Add(wx.TextCtrl(self, -1, func(*args),
size=(275,-1), style=wx.TE_READONLY))
btn = wx.Button(self, wx.ID_HELP)
sizer.Add(btn)
self.help[btn] = func.__doc__
for x in ['GetConfigDir', for x in ['GetConfigDir',
'GetUserConfigDir', 'GetUserConfigDir',
'GetDataDir', 'GetDataDir',
@@ -40,19 +51,16 @@ class TestPanel(wx.Panel):
'GetUserLocalDataDir', 'GetUserLocalDataDir',
'GetPluginsDir', 'GetPluginsDir',
'GetInstallPrefix', 'GetInstallPrefix',
'GetResourcesDir',
]: ]:
func = getattr(sp, x) makeitem(x)
sizer.Add(wx.StaticText(self, -1, x+'():'), 0,
wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
sizer.Add(wx.TextCtrl(self, -1, func(), size=(275,-1), style=wx.TE_READONLY))
btn = wx.Button(self, wx.ID_HELP) # this one needs parameters
sizer.Add(btn) makeitem('GetLocalizedResourcesDir', 'en',
self.help[btn] = func.__doc__ wx.StandardPaths.ResourceCat_Messages )
self.Bind(wx.EVT_BUTTON, self.OnShowDoc, id=wx.ID_HELP) self.Bind(wx.EVT_BUTTON, self.OnShowDoc, id=wx.ID_HELP)
box.Add(sizer, 0, wx.CENTER|wx.ALL, 20)
box.Add(sizer, 0, wx.CENTER|wx.ALL, 25)
self.SetSizer(box) self.SetSizer(box)

View File

@@ -111,6 +111,9 @@ Added wx.Window.GetScreenPosition and GetScreenRect which returns the
position of the window in screen coordinates, even if the window is position of the window in screen coordinates, even if the window is
not a top-level window. not a top-level window.
Added GetResourcesDir and GetLocalizedResourcesDir to
wx.StandardPaths.

View File

@@ -24,14 +24,13 @@
%newgroup %newgroup
DocStr(wxStandardPaths, DocStr(wxStandardPaths,
"wx.StandardPaths returns the standard locations in the file system and "wx.StandardPaths returns standard locations in the file system and
should be used by the programs to find their data files in a portable should be used by programs to find their data files in a portable way.
way.
In the description of the methods below, the example return values are In the description of the methods below, the example return values are
given for the Unix, Windows and Mac OS X systems, however please note given for the Unix, Windows and Mac OS X systems, however please note
that these are just the examples and the actual values may differ. For that these are just examples and the actual values may differ. For
example, under Windows: the system administrator may change the example, under Windows the system administrator may change the
standard directories locations, i.e. the Windows directory may be standard directories locations, i.e. the Windows directory may be
named W:\Win2003 instead of the default C:\Windows. named W:\Win2003 instead of the default C:\Windows.
@@ -42,7 +41,7 @@ is /usr/local by default but may be changed using `SetInstallPrefix`.
The directories returned by the methods of this class may or may not The directories returned by the methods of this class may or may not
exist. If they don't exist, it's up to the caller to create them, exist. If they don't exist, it's up to the caller to create them,
wxStandardPaths doesn't do it. wx.StandardPaths doesn't do it.
Finally note that these functions only work with standardly packaged Finally note that these functions only work with standardly packaged
applications. I.e. under Unix you should follow the standard applications. I.e. under Unix you should follow the standard
@@ -53,6 +52,18 @@ class doesn't help you to do it.", "");
class wxStandardPaths class wxStandardPaths
{ {
public: public:
// possible resources categorires
enum ResourceCat
{
// no special category
ResourceCat_None,
// message catalog resources
ResourceCat_Messages,
// end of enum marker
ResourceCat_Max
};
DocStr( DocStr(
Get, Get,
@@ -121,6 +132,33 @@ prefix/lib/appname under Unix, program directory under Windows and
Contents/Plugins app bundle subdirectory under Mac", ""); Contents/Plugins app bundle subdirectory under Mac", "");
// get resources directory: resources are auxiliary files used by the
// application and include things like image and sound files
//
// same as GetDataDir() for all platforms except Mac where it returns
// Contents/Resources subdirectory of the app bundle
DocDeclStr(
virtual wxString , GetResourcesDir() const,
"Get resources directory. Resources are auxiliary files used by the
application and include things like image and sound files.
Same as `GetDataDir` for all platforms except Mac where it returns
Contents/Resources subdirectory of the app bundle.", "");
DocDeclStr(
virtual wxString ,
GetLocalizedResourcesDir(const wxString& lang,
ResourceCat category = ResourceCat_None) const,
"Get localized resources directory containing the resource files of the
specified category for the given language.
In general this is just GetResourcesDir()/lang under Windows and Unix
and GetResourcesDir()/lang.lproj under Mac but is something quite
different under Unix for the message catalog category (namely the
standard prefix/share/locale/lang/LC_MESSAGES.)", "");
DocStr(SetInstallPrefix, DocStr(SetInstallPrefix,
"Set the program installation directory which is /usr/local by default. "Set the program installation directory which is /usr/local by default.