X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71e030352d74e4e6aed28cfcb0ea6edf3d17af6e..761df41e86ceeed56d32c038a6c9f88554d4f47a:/include/wx/string.h diff --git a/include/wx/string.h b/include/wx/string.h index dc244ec1d8..ee258c42b9 100644 --- a/include/wx/string.h +++ b/include/wx/string.h @@ -139,6 +139,8 @@ inline int Stricmp(const char *psz1, const char *psz2) return stricmp(psz1, psz2); #elif defined(__WATCOMC__) return stricmp(psz1, psz2); +#elif defined(__DJGPP__) + return stricmp(psz1, psz2); #elif defined(__EMX__) return stricmp(psz1, psz2); #elif defined(__WXPM__) @@ -1024,6 +1026,12 @@ public: // get last item wxString& Last() const { wxASSERT( !IsEmpty() ); return Item(Count() - 1); } + // return a wxString[], useful for the controls which + // take one in their ctor. You must delete[] it yourself + // once you are done with it. Will return NULL if the + // ArrayString was empty. + wxString* GetStringArray() const; + // item management // Search the element in the array, starting from the beginning if // bFromEnd is FALSE or from end otherwise. If bCase, comparison is case @@ -1082,6 +1090,25 @@ public: { Copy(array); } }; +// ---------------------------------------------------------------------------- +// wxStringBuffer: a tiny class allowing to get a writable pointer into string +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxStringBuffer +{ +public: + wxStringBuffer(wxString& str, size_t lenWanted = 1024) + : m_str(str) { m_buf = m_str.GetWriteBuf(lenWanted); } + + ~wxStringBuffer() { m_str.UngetWriteBuf(); } + + operator wxChar*() const { return m_buf; } + +private: + wxString& m_str; + wxChar *m_buf; +}; + // --------------------------------------------------------------------------- // wxString comparison functions: operator versions are always case sensitive // ---------------------------------------------------------------------------