projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed bug with the caret positioning after SetValue() introduced by the last commit
[wxWidgets.git]
/
include
/
wx
/
wxchar.h
diff --git
a/include/wx/wxchar.h
b/include/wx/wxchar.h
index 26ce087d2e3d04c02b8f8def262f3bf408c1320b..072e4cdf28506c8de47151df4036f5c955855073 100644
(file)
--- a/
include/wx/wxchar.h
+++ b/
include/wx/wxchar.h
@@
-63,12
+63,14
@@
#define wxHAVE_TCHAR_FUNCTIONS
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
#define wxHAVE_TCHAR_FUNCTIONS
#define wxHAVE_TCHAR_FUNCTIONS
#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x520)
#define wxHAVE_TCHAR_FUNCTIONS
- // w32api isn't yet tchar safe, will be soon, this is a placeholder
- #elif defined(__GNUWIN32__) && wxCHECK_W32API_VERSION( 10, 0 )
+ #elif defined(__MINGW32__) && wxCHECK_W32API_VERSION( 1, 0 )
#define wxHAVE_TCHAR_FUNCTIONS
#include <stddef.h>
#include <string.h>
#include <ctype.h>
#define wxHAVE_TCHAR_FUNCTIONS
#include <stddef.h>
#include <string.h>
#include <ctype.h>
+ #elif defined(__CYGWIN__)
+ #include <stddef.h>
+ #include <wchar.h>
#endif
#elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
// VisualAge 4.0+ supports TCHAR
#endif
#elif defined(__VISAGECPP__) && (__IBMCPP__ >= 400)
// VisualAge 4.0+ supports TCHAR
@@
-114,6
+116,11
@@
// time.h functions -- none defined in tchar.h
#define wxAsctime asctime
#define wxCtime ctime
// time.h functions -- none defined in tchar.h
#define wxAsctime asctime
#define wxCtime ctime
+#elif defined(__MWERKS__)
+ // for wcslen
+ #if wxUSE_WCHAR_T
+ #include <wchar.h>
+ #endif
#endif // compilers with (good) TCHAR support
#ifdef wxHAVE_TCHAR_FUNCTIONS
#endif // compilers with (good) TCHAR support
#ifdef wxHAVE_TCHAR_FUNCTIONS
@@
-266,7
+273,7
@@
typedef _TUCHAR wxUChar;
# if defined(__VISUALC__) && (__VISUALC__ < 900)
# define wxUSE_WCHAR_T 0 // wchar_t is not available for MSVC++ 1.5
# elif defined(__UNIX__)
# if defined(__VISUALC__) && (__VISUALC__ < 900)
# define wxUSE_WCHAR_T 0 // wchar_t is not available for MSVC++ 1.5
# elif defined(__UNIX__)
-# if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) ||
(defined(__APPLE__) && defined(__UNIX__)
)
+# if defined(HAVE_WCSTR_H) || defined(HAVE_WCHAR_H) || defined(__FreeBSD__) ||
defined(__DARWIN__
)
# define wxUSE_WCHAR_T 1
# else
# define wxUSE_WCHAR_T 0
# define wxUSE_WCHAR_T 1
# else
# define wxUSE_WCHAR_T 0
@@
-277,8
+284,8
@@
typedef _TUCHAR wxUChar;
# define wxUSE_WCHAR_T 0
# elif defined(__WATCOMC__)
# define wxUSE_WCHAR_T 0
# define wxUSE_WCHAR_T 0
# elif defined(__WATCOMC__)
# define wxUSE_WCHAR_T 0
-# elif defined(__VISAGECPP__) && (__IBMCPP__
>=
400)
-# define wxUSE_WCHAR_T
1
+# elif defined(__VISAGECPP__) && (__IBMCPP__
<
400)
+# define wxUSE_WCHAR_T
0
# else
// add additional compiler checks if this fails
# define wxUSE_WCHAR_T 1
# else
// add additional compiler checks if this fails
# define wxUSE_WCHAR_T 1
@@
-289,11
+296,17
@@
typedef _TUCHAR wxUChar;
# ifdef HAVE_WCSTR_H
# include <wcstr.h>
# else
# ifdef HAVE_WCSTR_H
# include <wcstr.h>
# else
-# if defined(__FreeBSD__) || (defined(__APPLE__) && defined(__UNIX__))
-# include <stdlib.h>
-# define wxNEED_WCSLEN
-# else
+# if defined(HAVE_WCHAR_H)
+
+// include wchar.h to get wcslen() declaration used by wx/buffer.h
# include <wchar.h>
# include <wchar.h>
+
+# elif defined(__FreeBSD__) || defined(__DARWIN__)
+
+// include stdlib.h for wchar_t, wcslen is provided in wxchar.cpp
+# include <stdlib.h>
+size_t WXDLLEXPORT wcslen(const wchar_t *s);
+
# endif
# endif
# endif
# endif
# endif
# endif
@@
-379,7
+392,7
@@
typedef unsigned __WCHAR_TYPE__ wxUChar;
# define wxUChar unsigned char
# endif
# define wxUChar unsigned char
# endif
-# if defined(__FreeBSD__) ||
(defined(__APPLE__) && defined(__UNIX__)
)
+# if defined(__FreeBSD__) ||
defined(__DARWIN__
)
# undef _T
# endif
# undef _T
# endif
@@
-518,11
+531,6
@@
typedef unsigned __WCHAR_TYPE__ wxUChar;
# endif
#endif //!Unicode
# endif
#endif //!Unicode
-#if defined(wxNEED_WCSLEN) && wxUSE_UNICODE
-# define wcslen wxStrlen
-# undef wxNEED_WCSLEN
-#endif
-
// checks whether the passed in pointer is NULL and if the string is empty
inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; }
// checks whether the passed in pointer is NULL and if the string is empty
inline bool wxIsEmpty(const wxChar *p) { return !p || !*p; }
@@
-581,10
+589,6
@@
class wxWCharBuffer;
WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale);
#endif
WXDLLEXPORT wxWCharBuffer wxSetlocale(int category, const wxChar *locale);
#endif
-#ifdef wxNEED_WCSLEN // for use in buffer.h
-WXDLLEXPORT size_t wcslen(const wchar_t *s);
-#endif
-
#ifdef wxNEED_WX_CTYPE_H
WXDLLEXPORT int wxIsalnum(wxChar ch);
WXDLLEXPORT int wxIsalpha(wxChar ch);
#ifdef wxNEED_WX_CTYPE_H
WXDLLEXPORT int wxIsalnum(wxChar ch);
WXDLLEXPORT int wxIsalpha(wxChar ch);