// version for internal use only
static int DoGetXRCID(const char *str_id, int value_if_not_found = wxID_NONE);
+
+ // Find the string ID with the given numeric value, returns an empty string
+ // if no such ID is found.
+ //
+ // Notice that unlike GetXRCID(), which is fast, this operation is slow as
+ // it checks all the IDs used in XRC.
+ static wxString FindXRCIDById(int numId);
+
+
// Returns version information (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a).
long GetVersion() const { return m_version; }
*/
int CompareVersion(int major, int minor, int release, int revision) const;
+ /**
+ Returns a string ID corresponding to the given numeric ID.
+
+ The string returned is such that calling GetXRCID() with it as
+ parameter yields @a numId. If there is no string identifier
+ corresponding to the given numeric one, an empty string is returned.
+
+ Notice that, unlike GetXRCID(), this function is slow as it checks all
+ of the identifiers used in XRC.
+
+ @since 2.9.0
+ */
+ static wxString wxXmlResource::FindXRCIDById(int numId);
+
/**
Gets the global resources object or creates one if none exists.
*/
return XRCID_Lookup(str_id, value_if_not_found);
}
+/* static */
+wxString wxXmlResource::FindXRCIDById(int numId)
+{
+ for ( int i = 0; i < XRCID_TABLE_SIZE; i++ )
+ {
+ for ( XRCID_record *rec = XRCID_Records[i]; rec; rec = rec->next )
+ {
+ if ( rec->id == numId )
+ return wxString(rec->key);
+ }
+ }
+
+ return wxString();
+}
static void CleanXRCID_Record(XRCID_record *rec)
{