X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0fb67cd1968707f15341792406da62045e11c5f0..d4ffe273ca70deb8e2cff7be9a07b0640e24bee0:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 3520a5f0f5..f6cec3461c 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -71,7 +71,14 @@ #define _MAXPATHLEN 500 -extern char *wxBuffer; +extern wxChar *wxBuffer; + +// ---------------------------------------------------------------------------- +// private functions +// ---------------------------------------------------------------------------- + +static wxWindow *wxFindWindowByLabel1(const wxString& title, wxWindow * parent); +static wxWindow *wxFindWindowByName1 (const wxString& title, wxWindow * parent); #ifdef __WXMAC__ int strcasecmp(const char *str_1, const char *str_2) @@ -251,48 +258,47 @@ StringToLong (char *s, long *number) *number = strtol (s, (char **) NULL, 10); } -char * +wxChar * IntToString (int number) { - static char buf[20]; + static wxChar buf[20]; - sprintf (buf, "%d", number); + wxSprintf (buf, _T("%d"), number); return buf; } -char * +wxChar * LongToString (long number) { - static char buf[20]; + static wxChar buf[20]; - sprintf (buf, "%ld", number); + wxSprintf (buf, _T("%ld"), number); return buf; } // Array used in DecToHex conversion routine. -static char hexArray[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', - 'C', 'D', 'E', 'F' }; +static wxChar hexArray[] = _T("0123456789ABCDEF"); // Convert 2-digit hex number to decimal int wxHexToDec(const wxString& buf) { int firstDigit, secondDigit; - if (buf.GetChar(0) >= 'A') - firstDigit = buf.GetChar(0) - 'A' + 10; + if (buf.GetChar(0) >= _T('A')) + firstDigit = buf.GetChar(0) - _T('A') + 10; else - firstDigit = buf.GetChar(0) - '0'; + firstDigit = buf.GetChar(0) - _T('0'); - if (buf.GetChar(1) >= 'A') - secondDigit = buf.GetChar(1) - 'A' + 10; + if (buf.GetChar(1) >= _T('A')) + secondDigit = buf.GetChar(1) - _T('A') + 10; else - secondDigit = buf.GetChar(1) - '0'; + secondDigit = buf.GetChar(1) - _T('0'); return firstDigit * 16 + secondDigit; } // Convert decimal integer to 2-character hex string -void wxDecToHex(int dec, char *buf) +void wxDecToHex(int dec, wxChar *buf) { int firstDigit = (int)(dec/16.0); int secondDigit = (int)(dec - (firstDigit*16.0)); @@ -304,7 +310,7 @@ void wxDecToHex(int dec, char *buf) // Convert decimal integer to 2-character hex string wxString wxDecToHex(int dec) { - char buf[3]; + wxChar buf[3]; wxDecToHex(dec, buf); return wxString(buf); } @@ -400,8 +406,8 @@ char *wxStripMenuCodes (char *in, char *out) wxString wxStripMenuCodes(const wxString& str) { - char *buf = new char[str.Length() + 1]; - wxStripMenuCodes((char*) (const char*) str, buf); + wxChar *buf = new wxChar[str.Length() + 1]; + wxStripMenuCodes(WXSTRINGCAST str, buf); wxString str1(buf); delete[] buf; return str1; @@ -418,53 +424,54 @@ wxString wxStripMenuCodes(const wxString& str) * */ -static wxWindow *wxFindWindowByLabel1 (const wxString& title, wxWindow * parent); - wxWindow * wxFindWindowByLabel (const wxString& title, wxWindow * parent) { - if (parent) + if (parent) { - return wxFindWindowByLabel1 (title, parent); + return wxFindWindowByLabel1(title, parent); } - else + else { - for (wxNode * node = wxTopLevelWindows.First (); node; node = node->Next ()) + for ( wxWindowList::Node * node = wxTopLevelWindows.GetFirst(); + node; + node = node->GetNext() ) { - wxWindow *win = (wxWindow *) node->Data (); - wxWindow *retwin = wxFindWindowByLabel1 (title, win); - if (retwin) - return retwin; + wxWindow *win = node->GetData(); + wxWindow *retwin = wxFindWindowByLabel1 (title, win); + if (retwin) + return retwin; } // for() } - return (wxWindow *) NULL; + return (wxWindow *) NULL; } // Recursive static wxWindow * wxFindWindowByLabel1 (const wxString& title, wxWindow * parent) { - if (parent) + if (parent) { - if (parent->GetLabel() == title) - return parent; + if (parent->GetLabel() == title) + return parent; } - if (parent) + if (parent) { - for (wxNode * node = parent->GetChildren().First (); node; node = node->Next ()) + for ( wxNode * node = parent->GetChildren().GetFirst(); + node; + node = node->GetNext() ) { - wxWindow *win = (wxWindow *) node->Data (); - wxWindow *retwin = wxFindWindowByLabel1 (title, win); - if (retwin) - return retwin; - } // for() + wxWindow *win = (wxWindow *)node->GetData(); + wxWindow *retwin = wxFindWindowByLabel1 (title, win); + if (retwin) + return retwin; + } } - return (wxWindow *) NULL; // Not found - + return (wxWindow *) NULL; // Not found } /* @@ -473,28 +480,29 @@ wxFindWindowByLabel1 (const wxString& title, wxWindow * parent) * */ -static wxWindow *wxFindWindowByName1 (const wxString& title, wxWindow * parent); - wxWindow * wxFindWindowByName (const wxString& title, wxWindow * parent) { - if (parent) + if (parent) { - return wxFindWindowByName1 (title, parent); + return wxFindWindowByName1 (title, parent); } - else + else { - for (wxNode * node = wxTopLevelWindows.First (); node; node = node->Next ()) + for ( wxWindowList::Node * node = wxTopLevelWindows.GetFirst(); + node; + node = node->GetNext() ) { - wxWindow *win = (wxWindow *) node->Data (); - wxWindow *retwin = wxFindWindowByName1 (title, win); - if (retwin) - return retwin; - } // for() + wxWindow *win = node->GetData(); + wxWindow *retwin = wxFindWindowByName1 (title, win); + if (retwin) + return retwin; + } } - // Failed? Try by label instead. - return wxFindWindowByLabel(title, parent); + + // Failed? Try by label instead. + return wxFindWindowByLabel(title, parent); } // Recursive @@ -730,21 +738,23 @@ whereami(name) // Yield to other apps/messages and disable user input bool wxSafeYield(wxWindow *win) { - wxNode *node; - for ( node = wxTopLevelWindows.GetFirst(); - node; - node = node->GetNext() ) - ((wxWindow*)node->GetData())->Enable(FALSE); - - // always enable ourselves - if(win) win->Enable(true); - bool rc = wxYield(); + wxWindowList::Node *node; + for ( node = wxTopLevelWindows.GetFirst(); node; node = node->GetNext() ) + { + node->GetData()->Enable(FALSE); + } + + // always enable ourselves + if ( win ) + win->Enable(TRUE); + bool rc = wxYield(); + + for ( node = wxTopLevelWindows.GetFirst(); node; node = node->GetNext() ) + { + node->GetData()->Enable(TRUE); + } - for ( node = wxTopLevelWindows.GetFirst(); - node; - node = node->GetNext() ) - ((wxWindow*)node->GetData())->Enable(TRUE); - return rc; + return rc; } /* @@ -805,14 +815,14 @@ int isascii( int c ) // ---------------------------------------------------------------------------- // Get Full RFC822 style email address -bool wxGetEmailAddress(char *address, int maxSize) +bool wxGetEmailAddress(wxChar *address, int maxSize) { wxString email = wxGetEmailAddress(); if ( !email ) return FALSE; - strncpy(address, email, maxSize - 1); - address[maxSize - 1] = '\0'; + wxStrncpy(address, email, maxSize - 1); + address[maxSize - 1] = _T('\0'); return TRUE; } @@ -828,7 +838,7 @@ wxString wxGetEmailAddress() if ( !!user ) { wxString email(user); - email << '@' << host; + email << _T('@') << host; } }