]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
Rename wxGenericImageList to wxImageList in generic wxListCtrl, too.
[wxWidgets.git] / include / wx / defs.h
index 80896a98d8d70ca93cd633054c89a6e725062ec5..dbd1be4c132f9ed5f5074f1f1326cd2dd7a32ac6 100644 (file)
@@ -210,7 +210,7 @@ typedef short int WXTYPE;
 // 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;
 
 // ----------------------------------------------------------------------------
@@ -229,6 +229,23 @@ 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
 // ----------------------------------------------------------------------------
@@ -428,7 +445,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
 #endif
 
 // Printf-like attribute definitions to obtain warnings with GNU C/C++
-#if defined(__GNUC__)
+#if defined(__GNUC__) && !wxUSE_UNICODE
 #  ifndef ATTRIBUTE_PRINTF
 #    define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
 #    define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2)