]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
disable clearing event tables by default, only do it if wxUSE_MEMORY_TRACING is used...
[wxWidgets.git] / include / wx / defs.h
index 117e8443befbf4bc0962734063b3fe53dc825d9a..d5fc6c3c56fb3770e8cb801460736984ce4a6ba7 100644 (file)
@@ -269,6 +269,8 @@ typedef int wxWindowID;
         #define HAVE_EXPLICIT
     #elif defined(__DIGITALMARS__)
         #define HAVE_EXPLICIT
+    #elif defined(__WATCOMC__)
+        #define HAVE_EXPLICIT
     #endif
 #endif /*  !HAVE_EXPLICIT */
 
@@ -434,6 +436,12 @@ typedef int wxWindowID;
     #endif /* va_copy/!va_copy */
 #endif /* wxVaCopy */
 
+#ifndef HAVE_VARIADIC_MACROS
+    #if wxCHECK_WATCOM_VERSION(1,2)
+        #define HAVE_VARIADIC_MACROS
+    #endif
+#endif /* HAVE_VARIADIC_MACROS */
+
 
 /*  ---------------------------------------------------------------------------- */
 /*  portable calling conventions macros */
@@ -561,12 +569,20 @@ typedef int wxWindowID;
 #define wxFOR_ALL_COMPARISONS_3(m, x, y, z) \
     m(==,x,y,z) m(!=,x,y,z) m(>=,x,y,z) m(<=,x,y,z) m(>,x,y,z) m(<,x,y,z)
 
+/*
+    This is only used with wxDEFINE_COMPARISON_REV: it passes both the normal
+    and the reversed comparison operators to the macro.
+ */
+#define wxFOR_ALL_COMPARISONS_3_REV(m, x, y, z) \
+    m(==,x,y,z,==) m(!=,x,y,z,!=) m(>=,x,y,z,<=) \
+    m(<=,x,y,z,>=) m(>,x,y,z,<) m(<,x,y,z,>)
+
 
 #define wxDEFINE_COMPARISON(op, T1, T2, cmp) \
     inline bool operator op(T1 x, T2 y) { return cmp(x, y, op); }
 
-#define wxDEFINE_COMPARISON_REV(op, T1, T2, cmp) \
-    inline bool operator op(T2 y, T1 x) { return cmp(x, y, op); }
+#define wxDEFINE_COMPARISON_REV(op, T1, T2, cmp, oprev) \
+    inline bool operator op(T2 y, T1 x) { return cmp(x, y, oprev); }
 
 /*
     Define all 6 comparison operators (==, !=, <, <=, >, >=) for the given
@@ -586,7 +602,7 @@ typedef int wxWindowID;
  */
 #define wxDEFINE_ALL_COMPARISONS(T1, T2, cmp) \
     wxFOR_ALL_COMPARISONS_3(wxDEFINE_COMPARISON, T1, T2, cmp) \
-    wxFOR_ALL_COMPARISONS_3(wxDEFINE_COMPARISON_REV, T1, T2, cmp)
+    wxFOR_ALL_COMPARISONS_3_REV(wxDEFINE_COMPARISON_REV, T1, T2, cmp)
 
 /*  ---------------------------------------------------------------------------- */
 /*  macros to avoid compiler warnings */
@@ -739,7 +755,7 @@ typedef wxUint16 wxWord;
   |short      | 16    16    16    16    16 |
   |int        | 32    64    32    32    16 |
   |long       | 64    64    32    32    32 |
-  |long long  |             64             |
+  |long long  | 64    64    64    --    -- |
   |void *     | 64    64    64    32    32 |
   +-----------+----------------------------+
 
@@ -862,8 +878,33 @@ typedef wxUint16 wxWord;
     #endif
 #endif /*  Win/!Win */
 
+/* also define C99-like sized MIN/MAX constants */
+#define wxINT8_MIN CHAR_MIN
+#define wxINT8_MAX CHAR_MAX
+
+#define wxINT16_MIN SHRT_MIN
+#define wxINT16_MAX SHRT_MAX
+
+#if SIZEOF_INT == 4
+    #define wxINT32_MIN INT_MIN
+    #define wxINT32_MAX INT_MAX
+#elif SIZEOF_LONG == 4
+    #define wxINT32_MIN LONG_MIN
+    #define wxINT32_MAX LONG_MAX
+#else
+    #error "Unknown 32 bit type"
+#endif
+
 typedef wxUint32 wxDword;
 
+#ifdef LLONG_MAX
+    #define wxINT64_MAX LLONG_MAX
+    #define wxINT64_MIN LLONG_MIN
+#else
+    #define wxINT64_MAX wxLL(9223372036854775807)
+    #define wxINT64_MIN wxLL(-9223372036854775807-1)
+#endif
+
 /*
    Define an integral type big enough to contain all of long, size_t and void *.
  */
@@ -1603,13 +1644,6 @@ enum wxBorder
  */
 #define wxST_SIZEGRIP         0x0010
 
-/*
- * wxStaticText flags
- */
-#define wxST_NO_AUTORESIZE    0x0001
-#define wxST_DOTS_MIDDLE      0x0002
-#define wxST_DOTS_END         0x0004
-
 /*
  * wxStaticBitmap flags
  */
@@ -1635,6 +1669,8 @@ enum wxBorder
 #define wxNO                    0x00000008
 #define wxYES_NO                (wxYES | wxNO)
 #define wxCANCEL                0x00000010
+#define wxAPPLY                 0x00000020
+#define wxCLOSE                 0x00000040
 
 #define wxYES_DEFAULT           0x00000000  /*  has no effect (default) */
 #define wxNO_DEFAULT            0x00000080
@@ -1667,6 +1703,16 @@ enum wxBackgroundStyle
   wxBG_STYLE_CUSTOM
 };
 
+/*
+ * Key types used by (old style) lists and hashes.
+ */
+enum wxKeyType
+{
+    wxKEY_NONE,
+    wxKEY_INTEGER,
+    wxKEY_STRING
+};
+
 /*  ---------------------------------------------------------------------------- */
 /*  standard IDs */
 /*  ---------------------------------------------------------------------------- */
@@ -1816,6 +1862,7 @@ enum wxItemKind
     wxITEM_NORMAL,
     wxITEM_CHECK,
     wxITEM_RADIO,
+    wxITEM_DROPDOWN,
     wxITEM_MAX
 };
 
@@ -2802,6 +2849,7 @@ typedef struct _GtkItemFactory    GtkItemFactory;
 typedef struct _GtkSelectionData  GtkSelectionData;
 typedef struct _GtkTextBuffer     GtkTextBuffer;
 typedef struct _GtkRange          GtkRange;
+typedef struct _GtkCellRenderer   GtkCellRenderer;
 
 typedef GtkWidget *WXWidget;