\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}
bool AttachUnknownControl(const wxString& name, wxWindow *control,
wxWindow *parent = NULL);
- // Returns a numeric ID that is equivalent to the string id used in an XML
- // resource. To be used in event tables.
- // Macro XRCID is provided for convenience
- static int GetXRCID(const wxChar *str_id);
+ // Returns a numeric ID that is equivalent to the string ID used in an XML
+ // resource. If an unknown 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 value_if_not_found == wxID_NONE, the number is obtained via
+ // wxNewId(). Otherwise value_if_not_found is used.
+ // Macro XRCID(name) is provided for convenient use in event tables.
+ static int GetXRCID(const wxChar *str_id, int value_if_not_found = wxID_NONE);
// Returns version information (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a).
long GetVersion() const { return m_version; }
static XRCID_record *XRCID_Records[XRCID_TABLE_SIZE] = {NULL};
-static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = -2)
+static int XRCID_Lookup(const wxChar *str_id, int value_if_not_found = wxID_NONE)
{
int index = 0;
(*rec_var)->next = NULL;
wxChar *end;
- if (value_if_not_found != -2)
+ if (value_if_not_found != wxID_NONE)
(*rec_var)->id = value_if_not_found;
else
{
static void AddStdXRCID_Records();
-/*static*/ int wxXmlResource::GetXRCID(const wxChar *str_id)
+/*static*/
+int wxXmlResource::GetXRCID(const wxChar *str_id, int value_if_not_found)
{
static bool s_stdIDsAdded = false;
AddStdXRCID_Records();
}
- return XRCID_Lookup(str_id);
+ return XRCID_Lookup(str_id, value_if_not_found);
}