X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/4a1b95962fd99022e3cb68cf73fe5b29fdfb2adf..b4b830ec00c099ae83596fa3fe9d8a4398fd2929:/include/wx/xrc/xmlres.h diff --git a/include/wx/xrc/xmlres.h b/include/wx/xrc/xmlres.h index 7574284b4a..8566b230f7 100644 --- a/include/wx/xrc/xmlres.h +++ b/include/wx/xrc/xmlres.h @@ -101,7 +101,7 @@ public: wxXmlResource(int flags = wxXRC_USE_LOCALE); wxXmlResource(const wxString& filemask, int flags = wxXRC_USE_LOCALE); ~wxXmlResource(); - + // Loads resources from XML files that match given filemask. // This method understands VFS (see filesys.h). bool Load(const wxString& filemask); @@ -172,6 +172,13 @@ public: int CompareVersion(int major, int minor, int release, int revision) const { return GetVersion() - (major*256*256*256 + minor*256*256 + release*256 + revision); } + + // Singleton accessors: + + // Gets global resources object or create one if none exists + static wxXmlResource *Get(); + // Sets global resources object and returns pointer to previous one (may be NULL). + static wxXmlResource *Set(wxXmlResource *res); protected: // Scans resources list for unloaded files and loads them. Also reloads @@ -179,7 +186,8 @@ protected: void UpdateResources(); // Finds resource (calls UpdateResources) and returns node containing it - wxXmlNode *FindResource(const wxString& name, const wxString& classname); + wxXmlNode *FindResource(const wxString& name, const wxString& classname, bool recursive = FALSE); + wxXmlNode *DoFindResource(wxXmlNode *parent, const wxString& name, const wxString& classname, bool recursive); // Creates resource from info in given node: wxObject *CreateResFromNode(wxXmlNode *node, wxObject *parent, wxObject *instance = NULL); @@ -198,11 +206,14 @@ private: #endif friend class wxXmlResourceHandler; + + // singleton instance: + static wxXmlResource *ms_instance; }; -// Global instance of resource class. For your convenience. -extern WXXMLDLLEXPORT wxXmlResource *wxTheXmlResource; +// This is here only for backward compatibility. Do NOT use!! +#define wxTheXmlResource wxXmlResource::Get() // This macro translates string identifier (as used in XML resource, // e.g. ...) to integer id that is needed by