Vadim Zeitlin
9a83f86094
Globally replace _T() with wxT().
...
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Francesco Montorsi
a51fdf81b9
blind wxOS2 build fix
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-18 08:08:56 +00:00
Vadim Zeitlin
f54cb154d5
return persistent buffers from mb_str()/wc_str() to allow assigning the returned value to simple pointers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-12 19:49:45 +00:00
Vadim Zeitlin
ba7e7253c6
fix PCH-less build after last change ( closes #10678 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-04 11:38:45 +00:00
Vadim Zeitlin
825d69c1ef
handle embedded NULs correctly in wxString::CmpNoCase() in all builds and not just UTF-8 one; incidentally improve its performance under Windows (see #10375 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-03 16:56:11 +00:00
Václav Slavík
38d26d6040
fixes or embedded NULs handling in wxString
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 15:35:47 +00:00
Václav Slavík
6df09f32fd
added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:58:39 +00:00
Václav Slavík
de4983f323
split wxCharTypeBuffer<T> into wxScopedCharTypeBuffer<T> and wxCharTypeBuffer<T> -- the former is for transient data with validity limited to parent's lifetime, the latter is for permanent storage of string data (bug #9638 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 15:33:55 +00:00
Vadim Zeitlin
4b6a582bef
replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Francesco Montorsi
529e491ce0
add the ToCLong, ToCULong and ToCDouble functions, with docs and test units
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 14:50:06 +00:00
Vadim Zeitlin
072682ce44
optimize Replace() to use a linear algorithm ( closes #9135 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59420 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-07 16:07:58 +00:00
Vadim Zeitlin
6689960c3c
use wcs(n)casecmp() if available; use wxStricmp() to implement wxString::CmpNoCase() as it's significantly more efficient than wx code ( closes #10375 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 19:03:26 +00:00
Vadim Zeitlin
4e79262f78
resolve the DLL linking problems with MSVC due to use of static variables of template types by replacing them by a non-template unique untypedNullDataPtr
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 01:48:36 +00:00
Vadim Zeitlin
6b583d40a8
fix linking problems due to MSVC implicitly considering template classes specializations used as base classes DLL-exported even though it doesn't actually export them when building the DLL (with or without explicit declspec(dllexport)); also replace wxCharTypeBuffer::NullData with a static function to allow not DLL-exporting this class
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-30 23:04:29 +00:00
Vadim Zeitlin
ddf01bdb96
don't crash when streaming out a wxString into an std::ostream, just set the failbit instead
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-10 16:11:40 +00:00
Vadim Zeitlin
7929902d65
no real changes, just fixed all occurences of 'occurence' typo
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:10:58 +00:00
Vadim Zeitlin
c565abe1c5
fix After{First,Last}() to work for strings with non-ASCII characters in UTF-8 build and added unit tests for this
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-29 12:08:44 +00:00
Jouk Jansen
c9b6cebdab
OpenVMS chokes on external templates
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 20:50:12 +00:00
Stefan Csomor
e317bd3f10
solving osx problems (default inlines-hidden) by explicitely exporting the involved methods
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 06:46:23 +00:00
Vadim Zeitlin
e810df36b3
access TLS cache variable directly and not via a helper function when using compiler with native TLS support to work around an apparent bug in g++
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-06 22:12:04 +00:00
Vadim Zeitlin
8c3b65d941
rename ShowCacheStats to wxStrCacheStatsDumper
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 15:07:12 +00:00
Vadim Zeitlin
ad8ae78878
call GetCache() from a global object ctor to ensure that it is done before any threads are created
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-31 14:57:53 +00:00
Vadim Zeitlin
8b73c5318c
chanegd wxTlsValue to be pointer-like instead of value-like which doesn't work for UDTs; use __thread keyword with mingw32 >= 4.3 too; use library-based thread-specific variables support in wxString cache now that it is fixed to work there; finally added a unit test for TLS stuff
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55361 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-29 23:28:42 +00:00
Vadim Zeitlin
68482dc584
add cache for last used position and string length to UTF-8 wxString, dramatically improving performance of the code using indices to iterate over strings
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55333 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-28 19:19:11 +00:00
Václav Slavík
5c1de526d2
added refcounting to wxCharBuffer to fix passing of wxCharBuffer to printf-like functions
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 19:37:51 +00:00
Vadim Zeitlin
dd79ca2fd8
undid changes accidentally committed as part of r55019
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55030 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 19:00:19 +00:00
Vadim Zeitlin
64a044d5a6
added wxTLS_TYPE() macro
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-08 02:59:32 +00:00
Vadim Zeitlin
0c7db140c5
add wxString::Capitalize() and MakeCapitalized() for consistency with Upper/Lower() we already have
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54915 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 23:39:11 +00:00
Vadim Zeitlin
8a6270322b
optimize Replace() for the common case of replacing one character with another one ( #9802 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54860 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-30 21:41:07 +00:00
Václav Slavík
f81cf71f9b
fixed wxString::Replace() to work directly on m_impl -- matters for UTF-8 build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-19 11:18:28 +00:00
Vadim Zeitlin
9ef1ad0d2c
fix crashes due to missing npos handling in several wxString methods in STL build (bug 1941352); add an assert to ensure this bug doesn't occur in the future
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53161 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-13 23:41:15 +00:00
Vadim Zeitlin
394b2900ff
don't stop on NULs in Replace()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53144 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-12 17:10:28 +00:00
Vadim Zeitlin
f172cb8200
removed support for Salford compiler (which was almost certainly broken anyhow) (patch 1861133)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-31 10:05:00 +00:00
Vadim Zeitlin
c95e653ca4
don't modify the output variable if ToXXX() fails to convert (modified patch 1849041)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-15 02:45:24 +00:00
Vadim Zeitlin
9d55bfef2c
don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
David Elliott
a9a854d73e
Go back to my original idea of checking for EILSEQ and EINVAL and failing
...
immediately if either of those is set after wxVsnprintf call returns a
negative number to indicate some type of failure.
All other errno are assumed to simply mean that the buffer is undersized so
the platform C library function can set errno to anything it likes or simply
not set it at all and our code will keep trying to increase the buffer size
just as it did originally.
This should (hopefully) fix compilation with C libraries that only support
the most basic set of errors (of which EINVAL and EILSEQ are part).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-23 03:30:16 +00:00
David Elliott
67612ff18e
Fix wxVsnprintf-using code on both trunk and 2.8 and document how native
...
functions are supposed to behave as well as how some of them do.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 03:44:01 +00:00
Václav Slavík
6a6ea041d9
compilation fix for Mingw: it doesn't have std::wostream
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49115 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-10 09:48:00 +00:00
Vadim Zeitlin
6b61b594cf
define insertion operator in std::wostream in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:09:01 +00:00
Vadim Zeitlin
7a906e1a21
fixed operator<<(ostream&, wxString) to output string contents and not wchar_t pointer value in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-09 00:01:59 +00:00
Paul Cornett
0d8b0f94c0
unused variable, more efficient increment operator
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-22 04:40:21 +00:00
Vadim Zeitlin
2a7431e130
no changes, just added a comment explaining the issues involved in doing the conversion in place in wxCStrData::AsChar()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48614 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 19:05:20 +00:00
Vadim Zeitlin
28be59b4ad
return empty string, not NULL, from wxCStrData::AsChar() if conversion to ANSI fails for compatibility with wxWidgets 2 and std::string
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48613 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-09 18:57:41 +00:00
Václav Slavík
c5288c5cfe
fixed wxString::FromAscii signature
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-06 13:31:08 +00:00
Robin Dunn
4f696af8d6
Pass length including the null-terminator to cWC2MB
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48579 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-05 22:53:29 +00:00
Václav Slavík
941a4e6260
replace wxStringToIntType<T> with a macro to make Watcom compile the code
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 19:06:31 +00:00
Václav Slavík
7d46f92bb0
compilation fix for UTF8+STL
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48327 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-22 11:30:10 +00:00
Václav Slavík
628f87da56
added wxUTF8StringBuffer for writing UTF8 data into wxString efficiently, similarly to existing wxStringBuffer classes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-20 15:19:15 +00:00
Václav Slavík
6798451bb2
renamed wxImplStringBuffer to wxStringInternalBuffer
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48205 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-08-19 21:24:50 +00:00
Vadim Zeitlin
4fdfe2f3ae
use wxMBConvStrictUTF8 instead of wxMBConvUTF8 in ConvertStr() and mb/wc_str()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-24 15:10:21 +00:00