See \helpref{XML-based resource system overview}{xrcoverview} for details.
-{\bf NOTE:} XRC is not yet a part of the core wxWindows library, so
-please see the overview for how to compile and link it. Otherwise if you
-try to use it, you will get link errors.
-
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
<wx/xrc/xmlres.h>
-\wxheading{Data structures}
+\wxheading{Constants}
\begin{verbatim}
enum wxXmlResourceFlags
{
wxXRC_USE_LOCALE = 1,
- wxXRC_NO_SUBCLASSING = 2
+ wxXRC_NO_SUBCLASSING = 2,
+ wxXRC_NO_RELOADING = 4
};
\end{verbatim}
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxXmlResource::wxXmlResource}\label{wxxmlresourcewxxmlresource}
+
+\membersection{wxXmlResource::wxXmlResource}\label{wxxmlresourcector}
\func{}{wxXmlResource}{\param{const wxString\& }{filemask}, \param{int }{flags = wxXRC\_USE\_LOCALE}}
\docparam{flags}{wxXRC\_USE\_LOCALE: translatable strings will be translated via \_().
wxXRC\_NO\_SUBCLASSING: subclass property of object nodes will be ignored
-(useful for previews in XRC editors).}
+(useful for previews in XRC editors). wxXRC\_NO\_RELOADING will prevent the
+XRC files from being reloaded from disk in case they have been modified there
+since being last loaded (may slightly speed up loading them).}
+
\membersection{wxXmlResource::\destruct{wxXmlResource}}\label{wxxmlresourcedtor}
Destructor.
+
\membersection{wxXmlResource::AddHandler}\label{wxxmlresourceaddhandler}
\func{void}{AddHandler}{\param{wxXmlResourceHandler* }{handler}}
that the handler name is equal to the control's name plus 'XmlHandler', for example
wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. The XML resource compiler
(wxxrc) can create include file that contains initialization code for
-all controls used within the resource.
+all controls used within the resource. Note that this handler should be
+allocated on the heap, since it will be delete by
+\helpref{ClearHandlers}{wxxmlresourceclearhandlers} later.
+
\membersection{wxXmlResource::AttachUnknownControl}\label{wxxmlresourceattachunknowncontrol}
Attaches an unknown control to the given panel/window/dialog.
Unknown controls are used in conjunction with <object class="unknown">.
+
\membersection{wxXmlResource::ClearHandlers}\label{wxxmlresourceclearhandlers}
\func{void}{ClearHandlers}{\void}
-Removes all handlers.
+Removes all handlers and deletes them (this means that any handlers added using
+\helpref{AddHandler}{wxxmlresourceaddhandler} must be allocated on the heap).
+
\membersection{wxXmlResource::CompareVersion}\label{wxxmlresourcecompareversion}
Compares the XRC version to the argument. Returns -1 if the XRC version
is less than the argument, +1 if greater, and 0 if they equal.
-\membersection{wxXmlResource::CreateResFromNode}\label{wxxmlresourcecreateresfromnode}
-
-\func{wxObject*}{CreateResFromNode}{\param{wxXmlNode* }{node}, \param{wxObject* }{parent}, \param{wxObject* }{instance = NULL}}
-
-Creates a resource from information in the given node.
-
-\membersection{wxXmlResource::DoFindResource}\label{wxxmlresourcedofindresource}
-
-\func{wxXmlNode*}{DoFindResource}{\param{wxXmlNode* }{parent}, \param{const wxString\& }{name}, \param{const wxString\& }{classname}, \param{bool }{recursive}}
-
-Helper function: finds a resource (calls UpdateResources) and returns a node containing it.
-
-\membersection{wxXmlResource::FindResource}\label{wxxmlresourcefindresource}
-
-\func{wxXmlNode*}{FindResource}{\param{const wxString\& }{name}, \param{const wxString\& }{classname}, \param{bool }{recursive = false}}
-
-Finds a resource (calls UpdateResources) and returns a node containing it.
\membersection{wxXmlResource::Get}\label{wxxmlresourceget}
Gets the global resources object or creates one if none exists.
+
\membersection{wxXmlResource::GetFlags}\label{wxxmlresourcegetflags}
\func{int}{GetFlags}{\void}
Returns flags, which may be a bitlist of wxXRC\_USE\_LOCALE and wxXRC\_NO\_SUBCLASSING.
+
\membersection{wxXmlResource::GetVersion}\label{wxxmlresourcegetversion}
\constfunc{long}{GetVersion}{\void}
Returns version information (a.b.c.d = d+ 256*c + 256\textasciicircum2*b + 256\textasciitilde3*a).
+
\membersection{wxXmlResource::GetXRCID}\label{wxxmlresourcegetxmlid}
-\func{int}{GetXRCID}{\param{const wxChar* }{str\_id}}
+\func{int}{GetXRCID}{\param{const wxChar* }{str\_id}, \param{int }{value\_if\_not\_found = -2}}
Returns a numeric ID that is equivalent to the string ID used in an XML
-resource. To be used in event tables.
-The macro {\tt XRCID(name)} is provided for convenience.
+resource. If an unknown \arg{str\_id} is requested (i.e. other than wxID\_XXX
+or integer), a new record is created which associates the given string with
+a number. If \arg{value\_if\_not\_found} is \texttt{wxID\_NONE}, the number is obtained via
+\helpref{wxNewId()}{wxnewid}. Otherwise \arg{value\_if\_not\_found} is used.
+Macro {\tt XRCID(name)} is provided for convenient use in event tables.
\membersection{wxXmlResource::InitAllHandlers}\label{wxxmlresourceinitallhandlers}
Initializes handlers for all supported controls/windows. This will
make the executable quite big because it forces linking against
-most of the wxWindows library.
+most of the wxWidgets library.
+
\membersection{wxXmlResource::Load}\label{wxxmlresourceload}
Loads resources from XML files that match given filemask.
This method understands VFS (see filesys.h).
+
\membersection{wxXmlResource::LoadBitmap}\label{wxxmlresourceloadbitmap}
\func{wxBitmap}{LoadBitmap}{\param{const wxString\& }{name}}
Loads a bitmap resource from a file.
+
\membersection{wxXmlResource::LoadDialog}\label{wxxmlresourceloaddialog}
\func{wxDialog*}{LoadDialog}{\param{wxWindow* }{parent}, \param{const wxString\& }{name}}
dlg->ShowModal();
\end{verbatim}
+
\membersection{wxXmlResource::LoadFrame}\label{wxxmlresourceloadframe}
\func{bool}{LoadFrame}{\param{wxFrame* }{frame}, \param{wxWindow* }{parent}, \param{const wxString\& }{name}}
Loads a frame.
+
\membersection{wxXmlResource::LoadIcon}\label{wxxmlresourceloadicon}
\func{wxIcon}{LoadIcon}{\param{const wxString\& }{name}}
Loads an icon resource from a file.
+
\membersection{wxXmlResource::LoadMenu}\label{wxxmlresourceloadmenu}
\func{wxMenu*}{LoadMenu}{\param{const wxString\& }{name}}
Loads menu from resource. Returns NULL on failure.
+
\membersection{wxXmlResource::LoadMenuBar}\label{wxxmlresourceloadmenubar}
\func{wxMenuBar*}{LoadMenuBar}{\param{wxWindow* }{parent}, \param{const wxString\& }{name}}
Loads a menubar from resource. Returns NULL on failure.
+
\membersection{wxXmlResource::LoadPanel}\label{wxxmlresourceloadpanel}
\func{wxPanel*}{LoadPanel}{\param{wxWindow* }{parent}, \param{const wxString\& }{name}}
Loads a panel. {\it panel} points to parent window (if any). This form
is used to finish creation of an already existing instance.
+
\membersection{wxXmlResource::LoadToolBar}\label{wxxmlresourceloadtoolbar}
\func{wxToolBar*}{LoadToolBar}{\param{wxWindow* }{parent}, \param{const wxString\& }{name}}
Loads a toolbar.
+
\membersection{wxXmlResource::Set}\label{wxxmlresourceset}
\func{wxXmlResource*}{Set}{\param{wxXmlResource* }{res}}
Sets the global resources object and returns a pointer to the previous one (may be NULL).
+
\membersection{wxXmlResource::SetFlags}\label{wxxmlresourcesetflags}
-\func{int}{SetFlags}{\void}
+\func{void}{SetFlags}{\param{int }{flags}}
Sets flags (bitlist of wxXRC\_USE\_LOCALE and wxXRC\_NO\_SUBCLASSING).
-\membersection{wxXmlResource::UpdateResources}\label{wxxmlresourceupdateresources}
-\func{void}{UpdateResources}{\void}
+\membersection{wxXmlResource::Unload}\label{wxxmlresourceunload}
+
+\func{bool}{Unload}{\param{const wxString\& }{filename}}
+
+This function unloads a resource previously loaded by
+\helpref{Load()}{wxxmlresourceload}.
-Scans the resources list for unloaded files and loads them. Also reloads
-files that have been modified since the last load.
+Returns \true if the resource was successfully unloaded and \false if it hasn't
+been found in the list of loaded resources.