Commit Graph

392 Commits

Author SHA1 Message Date
Václav Slavík
564ab31a53 fixed wxString::Last() to run in O(1), not O(n), in UTF-8 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-10 11:17:38 +00:00
Václav Slavík
1545d942ec fixed creation of wxString from another wxString's substring in UTF-8 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-10 10:37:52 +00:00
Václav Slavík
c5e7a7d769 changed wxString::StartsWidth/EndsWidth to take wxString argument instead of wxChar*
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-09 21:07:08 +00:00
Václav Slavík
59a14f6984 fix compation with Watcom after latest vararg templates changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-06 14:11:14 +00:00
Václav Slavík
06c73b9852 fixed FromUTF8 in ANSI builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45846 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-05 19:19:48 +00:00
Václav Slavík
5f167b77d2 added wxString::FromUTF8/ToUTF8/utf8_str()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45842 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-05 18:53:24 +00:00
Václav Slavík
1528e0b85f use wxFormatString helper class for 'vararg' functions' format argument; this prepares the code for removal of implicit wxString conversion to char* in STL build and also fixes VC6 compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-04 10:41:08 +00:00
Václav Slavík
e905fd1c79 fixed typo in Watcom code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 18:03:39 +00:00
Václav Slavík
111d99489d added code for optimized handling of UTF-8 locales: some string operations are more efficient under it and it's possible to completely compile-out support for other locales if the target system is known to only use UTF-8 locales
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 11:05:04 +00:00
Václav Slavík
d1f6e2cfe2 fixed vararg functions with format argument to not use wxString or reference argument (the latter is invalid C++, the former doesn't work with Watcom and produces at least warnings with GCC 3.3)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 10:50:25 +00:00
Václav Slavík
d3cefe87d7 added wx[W]CharBuffer/wxCStrData overloads to remaining wxString methods that need them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-03 10:23:20 +00:00
Václav Slavík
cb2f2135b0 added convenience functions wxString::To/From8BitData() for storing g binary data in wxStrings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45763 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-02 18:08:56 +00:00
Václav Slavík
e3e8e3c0aa include wxchar.h from string.h in 2.8 compatibility mode to prevent lots of compilation errors
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-27 10:08:53 +00:00
Václav Slavík
92a17abc1b added copy ctor to wxCStrData to fix crashes when passing to vararg functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-27 08:48:56 +00:00
Václav Slavík
2523e9b700 use UTF8-encoded char* strings in UTF8 build instead of wchar_t* if the current locale uses UTF8;
fall back to widechar CRT functions in the locale is not UTF8


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45663 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-26 11:40:04 +00:00
Václav Slavík
c2ac2afd09 removed wxCStrData::operator bool(), using c_str() return value as bool doesn't make any sense and any code that stops compiling because of this is almost certainly buggy
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45626 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-24 16:19:27 +00:00
Václav Slavík
c87a0bc8cb corrected (Do)GetWriteBuf() return types to use more appropriate type (no real difference)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-24 15:51:51 +00:00
Vadim Zeitlin
353a4edc6e added implicit conversion of wxString to const void * for compatibility with the code doing things like file.Write(s, len)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45607 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-23 20:14:18 +00:00
Václav Slavík
378964d49d fixed wxCStrData::operator[] to use wxString::operator[] instead of at()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 18:33:35 +00:00
Václav Slavík
82a99c692c fixed compilation of STL non-UTF8 builds
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 10:57:35 +00:00
Václav Slavík
467175ab3f moved primitive string and string iterators operations to stringops.h/cpp files to make wxString code easier to read
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 10:05:55 +00:00
Václav Slavík
59953bf4ba added conversion to and from std::string and std::wstring (if wxUSE_STD_STRING)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45519 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-17 15:32:05 +00:00
Vadim Zeitlin
831faf970a corrected the direction of comparisons between wxString and char/wxChar strings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45500 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 14:56:51 +00:00
Václav Slavík
8060b0be0e added wxMBConv argument to char_str()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 11:04:35 +00:00
Václav Slavík
681e441286 added wxCStrData::As[W]CharBuf() that doesn't keep converted string in memory for longer than needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 06:59:04 +00:00
Václav Slavík
cf9a878b54 removed implicit conversion from wxString::iterator to wxStringImpl::iterator (fixes VC6 compilation)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-15 19:02:38 +00:00
Vadim Zeitlin
67cff9dc2f added overloads of ctor/insert/assign/append taking a pair of wxCStrData objects to allow compilation of expression like wxString(s.c_str()+1, s.c_str()+2) (fixes wxUniv compilation)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45472 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 23:15:57 +00:00
Václav Slavík
817270659e initial version of UTF-8 strings representation (still converting to wchar_t* a lot); it has to be explicitly enabled with --enable-utf8 for now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-12 21:15:07 +00:00
Václav Slavík
05f32fc39e don't crash if (char*)c_str() is used twice in a row on the same string and both pointers are used at the same time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-10 19:13:52 +00:00
Václav Slavík
89360a8c87 string iterator's operator- should return difference_type, not size_t or unsigned
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45347 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-09 08:18:33 +00:00
Václav Slavík
1bb592b878 removed spurious semicolons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45346 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-09 06:50:28 +00:00
Václav Slavík
132276cf0d fix crash in ~wxString with global wxString objects: temporarily move conversion buffers from a hash to wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-08 17:52:00 +00:00
Vadim Zeitlin
cc5bd48eff added operator-(const wxChar *, const wxCStrData&) to allow compilation of the code doing "p - s.c_str()" where p is a pointer into the string s
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45290 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 22:56:06 +00:00
Vadim Zeitlin
9aee0061fe wxCStrData must be dllexport'd now that it has non-inline methods
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-06 22:48:54 +00:00
Vadim Zeitlin
30d560f4cf wxString::[const_]iterator operators -= and += should return reference and not iterator object
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:56:21 +00:00
Vadim Zeitlin
f2a1b1bd23 added overloads taking pairs of const char/wchar_t pointers for wxString methods working with const_iterators for backwards compatibility with old wxString::const_iterator which used to be convertible to/from const wxChar *
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:55:29 +00:00
Václav Slavík
11aac4baa6 provide both const char* and const wchar_t* implicit conversion of wxCStrData regardless of the build type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:28:14 +00:00
Václav Slavík
8a540c887c made wxString::Replace, Matches and Find work with any form of string argument
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 08:35:39 +00:00
Václav Slavík
e8f5903971 build fixes after previous commit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-04 11:40:36 +00:00
Václav Slavík
04abe4bc8f cleanup of wxString ctors and operator=: made both char* and wchar_t* versions available, regardless of the build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45242 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 20:29:42 +00:00
Václav Slavík
50eeb96fbe compilation fix for BCC5.5
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-03 10:06:08 +00:00
Václav Slavík
50e02008a0 added some unsigned char overloads to wxString for compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-02 18:13:48 +00:00
Václav Slavík
ef0f138756 added char_str() and wchar_str() methods to wxString for obtaining char*/wchar_t* pointers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:09:02 +00:00
Václav Slavík
759d51f229 fixed warning about comparing int to size_t
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45125 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 19:10:43 +00:00
Václav Slavík
f4c90fdfaf added wxCStrData::operator- for compatibility with expressions like 'c_str() + n - 2'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-29 18:42:04 +00:00
Vadim Zeitlin
b7d403419e added wxString::operator[](int) as it's commonly used in code working with file/stream read functions which have int return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 18:25:25 +00:00
Václav Slavík
a7ea63e21f split string.{h,cpp} into {string,stringimpl,arrstr}.{h,cpp} to make the files more managable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 11:35:07 +00:00
Václav Slavík
a962cdf410 re-enabled using std::string for wxStringImpl if wxUSE_STL again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-28 09:37:34 +00:00
Václav Slavík
8f93a29f8e Preparing wxString for UTF-8 representation:
1) split into wxStringImpl class that has std::string-like API and operates on char* or wchar_t* data and wxString class that provides Unicode iterators and indexes
2) added both char* and wchar_t* versions of many wxString methods to avoid having to use _T()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45078 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 20:28:04 +00:00
Václav Slavík
92d21a8a07 added missing operators to wxString::reverse_iterator
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45059 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-26 08:25:47 +00:00