added wxXmlResource::FindXRCIDById() (#10026)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56303 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2008-10-14 11:44:10 +00:00
parent 7fa920cd39
commit cc378c2d75
3 changed files with 37 additions and 0 deletions

View File

@@ -209,6 +209,15 @@ public:
// 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; }

View File

@@ -108,6 +108,20 @@ public:
*/
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.
*/

View File

@@ -1625,6 +1625,20 @@ int wxXmlResource::DoGetXRCID(const char *str_id, int value_if_not_found)
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)
{