X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/326462ae94e4b1d4fb6a8d56875ce0fcbd9d1c33..ea11bf3abcec34e31b9919a2e222e61f82643830:/interface/wx/xrc/xmlres.h diff --git a/interface/wx/xrc/xmlres.h b/interface/wx/xrc/xmlres.h index eba741549b..269aa39ec8 100644 --- a/interface/wx/xrc/xmlres.h +++ b/interface/wx/xrc/xmlres.h @@ -3,7 +3,7 @@ // Purpose: interface of wxXmlResource // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -175,7 +175,12 @@ public: If @a value_if_not_found is @c wxID_NONE, the number is obtained via wxNewId(). Otherwise @a value_if_not_found is used. + Macro @c XRCID(name) is provided for convenient use in event tables. + + @note IDs returned by XRCID() cannot be used with the EVT_*_RANGE + macros, because the order in which they are assigned to symbolic @a name + values is not guaranteed. */ static int GetXRCID(const wxString& str_id, int value_if_not_found = wxID_NONE); @@ -286,6 +291,10 @@ public: The first overload lets you load nonstandard container windows and returns @NULL on failure. The second one lets you finish the creation of an existing instance and returns @false on failure. + + In either case, only the resources defined at the top level of XRC + files can be loaded by this function, use LoadObjectRecursively() if + you need to load an object defined deeper in the hierarchy. */ wxObject* LoadObject(wxWindow* parent, const wxString& name, const wxString& classname); @@ -294,6 +303,27 @@ public: const wxString& classname); //@} + //@{ + /** + Load an object from anywhere in the resource tree. + + These methods are similar to LoadObject() but may be used to load an + object from anywhere in the resource tree and not only the top level. + Note that you will very rarely need to do this as in normal use the + entire container window (defined at the top level) is loaded and not + its individual children but this method can be useful in some + particular situations. + + @since 2.9.1 + */ + wxObject* LoadObjectRecursively(wxWindow* parent, + const wxString& name, + const wxString& classname); + bool LoadObjectRecursively(wxObject* instance, wxWindow* parent, + const wxString& name, + const wxString& classname); + //@} + /** Loads a panel. @a parent points to the parent window. */ @@ -358,7 +388,7 @@ protected: @see wxXmlResourceHandler::ReportError(), DoReportError() */ - void ReportError(wxXmlNode *context, const wxString& message); + void ReportError(const wxXmlNode *context, const wxString& message); /** Implementation of XRC resources errors reporting. @@ -386,7 +416,7 @@ protected: @see ReportError() */ - virtual void DoReportError(const wxString& xrcFile, wxXmlNode *position, + virtual void DoReportError(const wxString& xrcFile, const wxXmlNode *position, const wxString& message); };