*/
int GetFlags() const;
+ /**
+ Returns the wxXmlNode containing the definition of the object with the
+ given name or @NULL.
+
+ This function recursively searches all the loaded XRC files for an
+ object with the specified @a name. If the object is found, the
+ wxXmlNode corresponding to it is returned, so this function can be used
+ to access additional information defined in the XRC file and not used
+ by wxXmlResource itself, e.g. contents of application-specific XML
+ tags.
+
+ @param name
+ The name of the resource which must be unique for this function to
+ work correctly, if there is more than one resource with the given
+ name the choice of the one returned by this function is undefined.
+ @return
+ The node corresponding to the resource with the given name or @NULL.
+ */
+ const wxXmlNode *GetResourceNode(const wxString& name) const;
+
/**
Returns version information (a.b.c.d = d + 256*c + 2562*b + 2563*a).
*/
wxLogError("Couldn't load resources!");
@endcode
- This method understands VFS (see wxFileSystem::FindFirst).
+ @note
+ If wxUSE_FILESYS is enabled, this method understands wxFileSystem URLs
+ (see wxFileSystem::FindFirst()).
+
+ @note
+ If you are sure that the argument is name of single XRC file (rather
+ than an URL or a wildcard), use LoadFile() instead.
+
+ @see LoadFile(), LoadAllFiles()
*/
bool Load(const wxString& filemask);
+ /**
+ Simpler form of Load() for loading a single XRC file.
+
+ @since 2.9.0
+
+ @see Load(), LoadAllFiles()
+ */
+ bool LoadFile(const wxFileName& file);
+
+ /**
+ Loads all .xrc files from directory @a dirname.
+
+ Tries to load as many files as possible; if there's an error while
+ loading one file, it still attempts to load other files.
+
+ @since 2.9.0
+
+ @see LoadFile(), Load()
+ */
+ bool LoadAllFiles(const wxString& dirname);
+
/**
Loads a bitmap resource from a file.
*/
hasn't been found in the list of loaded resources.
*/
bool Unload(const wxString& filename);
+
+protected:
+ /**
+ Reports error in XRC resources to the user.
+
+ Any errors in XRC input files should be reported using this method
+ (or its wxXmlResourceHandler::ReportError() equivalent). Unlike
+ wxLogError(), this method presents the error to the user in a more
+ usable form. In particular, the output is compiler-like and contains
+ information about the exact location of the error.
+
+ @param context XML node the error occurred in or relates to. This can
+ be @NULL, but should be the most specific node possible,
+ as its line number is what is reported to the user.
+ @param message Text of the error message. This string should always
+ be in English (i.e. not wrapped in _()). It shouldn't
+ be a sentence -- it should start with lower-case letter
+ and shouldn't have a trailing period or exclamation
+ point.
+
+ @since 2.9.0
+
+ @see wxXmlResourceHandler::ReportError(), DoReportError()
+ */
+ void ReportError(wxXmlNode *context, const wxString& message);
+
+ /**
+ Implementation of XRC resources errors reporting.
+
+ This method is called by ReportError() and shouldn't be called
+ directly; use ReportError() or wxXmlResourceHandler::ReportError()
+ to log errors.
+
+ Default implementation uses wxLogError().
+
+ @param xrcFile File the error occurred in or empty string if it
+ couldn't be determined.
+ @param position XML node where the error occurred or @NULL if it
+ couldn't be determined.
+ @param message Text of the error message. See ReportError()
+ documentation for details of the string's format.
+
+ @note
+ You may override this method in a derived class to customize errors
+ reporting. If you do so, you'll need to either use the derived class
+ in all your code or call wxXmlResource::Set() to change the global
+ wxXmlResource instance to your class.
+
+ @since 2.9.0
+
+ @see ReportError()
+ */
+ virtual void DoReportError(const wxString& xrcFile, wxXmlNode *position,
+ const wxString& message);
};
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize);
+ /**
+ Returns an icon bundle.
+
+ @note
+ Bundles can be loaded either with stock IDs or from files that contain
+ more than one image (e.g. Windows icon files). If a file contains only
+ single image, a bundle with only one icon will be created.
+
+ @since 2.9.0
+ */
+ wxIconBundle GetIconBundle(const wxString& param,
+ const wxArtClient& defaultArtClient = wxART_OTHER);
+
/**
Gets the integer value from the parameter.
*/
Sets common window options.
*/
void SetupWindow(wxWindow* wnd);
+
+ /**
+ Reports error in XRC resources to the user.
+
+ See wxXmlResource::ReportError() for more information.
+
+ @since 2.9.0
+ */
+ void ReportError(wxXmlNode *context, const wxString& message);
+
+ /**
+ Like ReportError(wxXmlNode*, const wxString&), but uses the node
+ of currently processed object (m_node) as the context.
+
+ @since 2.9.0
+ */
+ void ReportError(const wxString& message);
+
+ /**
+ Like ReportError(wxXmlNode*, const wxString&), but uses the node
+ of parameter @a param of the currently processed object as the context.
+ This is convenience function for reporting errors in particular
+ parameters.
+
+ @since 2.9.0
+ */
+ void ReportParamError(const wxString& param, const wxString& message);
};