// window id is unsigned, so we must always do the cast before comparing them
// (or else they would be always different!). Usign wxGetWindowId() which does
// the cast itself is recommended. Note that this type can't be unsigned
-// because -1 is a valid (and largely used) value for window id.
+// because wxID_ANY == -1 is a valid (and largely used) value for window id.
typedef int wxWindowID;
// ----------------------------------------------------------------------------
#define wxUSE_NESTED_CLASSES 0
#endif
+// check for explicit keyword support
+#ifndef HAVE_EXPLICIT
+ // VC++ 6.0 has explicit (what about the earlier versions?)
+ #if defined(__VISUALC__) && (__VISUALC__ > 1200)
+ #define HAVE_EXPLICIT
+ // Metrowerks CW6 or higher has explicit
+ #elif defined(__MWERKS__) && (__MWERKS__ >= 0x2400)
+ #define HAVE_EXPLICIT
+ #endif
+#endif // !HAVE_EXPLICIT
+
+#ifdef HAVE_EXPLICIT
+ #define wxEXPLICIT explicit
+#else // !HAVE_EXPLICIT
+ #define wxEXPLICIT
+#endif // HAVE_EXPLICIT/!HAVE_EXPLICIT
+
// ----------------------------------------------------------------------------
// portable calling conventions macros
// ----------------------------------------------------------------------------