From: Robin Dunn Date: Wed, 29 Mar 2006 02:34:00 +0000 (+0000) Subject: Added GetResourcesDir and GetLocalizedResourcesDir to X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/b8c4ab9cbc8af96c28ae17f34998bd2a46757990 Added GetResourcesDir and GetLocalizedResourcesDir to wx.StandardPaths. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/demo/StandardPaths.py b/wxPython/demo/StandardPaths.py index 40650e0452..b1bfc6a718 100644 --- a/wxPython/demo/StandardPaths.py +++ b/wxPython/demo/StandardPaths.py @@ -8,7 +8,7 @@ class TestPanel(wx.Panel): self.log = log 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) fs = self.GetFont().GetPointSize() 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 # 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', 'GetUserConfigDir', 'GetDataDir', @@ -40,19 +51,16 @@ class TestPanel(wx.Panel): 'GetUserLocalDataDir', 'GetPluginsDir', 'GetInstallPrefix', + 'GetResourcesDir', ]: - func = getattr(sp, 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)) + makeitem(x) - btn = wx.Button(self, wx.ID_HELP) - sizer.Add(btn) - self.help[btn] = func.__doc__ + # this one needs parameters + makeitem('GetLocalizedResourcesDir', 'en', + wx.StandardPaths.ResourceCat_Messages ) self.Bind(wx.EVT_BUTTON, self.OnShowDoc, id=wx.ID_HELP) - - box.Add(sizer, 0, wx.CENTER|wx.ALL, 25) + box.Add(sizer, 0, wx.CENTER|wx.ALL, 20) self.SetSizer(box) diff --git a/wxPython/docs/CHANGES.txt b/wxPython/docs/CHANGES.txt index f960b85ee9..813ae6dd95 100644 --- a/wxPython/docs/CHANGES.txt +++ b/wxPython/docs/CHANGES.txt @@ -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 not a top-level window. +Added GetResourcesDir and GetLocalizedResourcesDir to +wx.StandardPaths. + diff --git a/wxPython/src/_stdpaths.i b/wxPython/src/_stdpaths.i index 0b61aabc1c..a190b0ebad 100644 --- a/wxPython/src/_stdpaths.i +++ b/wxPython/src/_stdpaths.i @@ -24,14 +24,13 @@ %newgroup DocStr(wxStandardPaths, -"wx.StandardPaths returns the standard locations in the file system and -should be used by the programs to find their data files in a portable -way. +"wx.StandardPaths returns standard locations in the file system and +should be used by programs to find their data files in a portable way. 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 -that these are just the examples and the actual values may differ. For -example, under Windows: the system administrator may change the +that these are just examples and the actual values may differ. For +example, under Windows the system administrator may change the standard directories locations, i.e. the Windows directory may be 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 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 applications. I.e. under Unix you should follow the standard @@ -53,6 +52,18 @@ class doesn't help you to do it.", ""); class wxStandardPaths { public: + // possible resources categorires + enum ResourceCat + { + // no special category + ResourceCat_None, + + // message catalog resources + ResourceCat_Messages, + + // end of enum marker + ResourceCat_Max + }; DocStr( Get, @@ -121,6 +132,33 @@ prefix/lib/appname under Unix, program directory under Windows and 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, "Set the program installation directory which is /usr/local by default.