]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
made wxCommandEvent::GetInt() return int, not long (patch 1473771)
[wxWidgets.git] / include / wx / defs.h
index c9d7f22c3e71b7d6ac125f34d250b19250e46cec..8bfbee8cc236d3a30953494c77971ba625ce5280 100644 (file)
 #   pragma warning(disable:4511)    /*  copy ctor couldn't be generated */
 #   pragma warning(disable:4512)    /*  operator=() couldn't be generated */
 #   pragma warning(disable:4710)    /*  function not inlined */
 #   pragma warning(disable:4511)    /*  copy ctor couldn't be generated */
 #   pragma warning(disable:4512)    /*  operator=() couldn't be generated */
 #   pragma warning(disable:4710)    /*  function not inlined */
+
+    /* For VC++ 5.0 for release mode, the warning 'C4702: unreachable code */
+    /* is buggy, and occurs for code that does actually get executed */
+#   if !defined __WXDEBUG__ && __VISUALC__ <= 1100
+#       pragma warning(disable:4702)    /* unreachable code */
+#   endif
+
+    /*
+       VC++ 8 gives a warning when using standard functions such as sprintf,
+       localtime, ... -- stop this madness, unless the user had already done it
+     */
+    #if __VISUALC__ >= 1400
+        #ifndef _CRT_SECURE_NO_DEPRECATE
+            #define _CRT_SECURE_NO_DEPRECATE 1
+        #endif
+        #ifndef _CRT_NON_CONFORMING_SWPRINTFS
+            #define _CRT_NON_CONFORMING_SWPRINTFS 1
+        #endif
+    #endif /* VC++ 8 */
 #endif /*  __VISUALC__ */
 
 /*  suppress some Salford C++ warnings */
 #endif /*  __VISUALC__ */
 
 /*  suppress some Salford C++ warnings */
 #   pragma warn -inl                /*  Functions containing reserved words and certain constructs are not expanded inline */
 #endif /*  __BORLANDC__ */
 
 #   pragma warn -inl                /*  Functions containing reserved words and certain constructs are not expanded inline */
 #endif /*  __BORLANDC__ */
 
+/*
+   g++ gives a warning when a class has private dtor if it has no friends but
+   this is a perfectly valid situation for a ref-counted class which destroys
+   itself when its ref count drops to 0, so provide a macro to suppress this
+   warning
+ */
+#ifdef __GNUG__
+#   define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name) \
+        friend class wxDummyFriendFor ## name;
+#else /* !g++ */
+#   define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name)
+#endif
+
 /*  ---------------------------------------------------------------------------- */
 /*  wxWidgets version and compatibility defines */
 /*  ---------------------------------------------------------------------------- */
 /*  ---------------------------------------------------------------------------- */
 /*  wxWidgets version and compatibility defines */
 /*  ---------------------------------------------------------------------------- */
@@ -669,6 +701,24 @@ enum
     wxDOS                     /*  wxBase under MS-DOS */
 };
 
     wxDOS                     /*  wxBase under MS-DOS */
 };
 
+/* Friendlier platform names */
+enum
+{
+    wxMotif = wxMOTIF_X,
+    wxMac = wxMAC,
+    wxMSW = wxWINDOWS,
+    wxWinCE = wxWINDOWS_CE,
+    wxWinPocketPC = wxWINDOWS_POCKETPC,
+    wxWinSmartPhone = wxWINDOWS_SMARTPHONE,
+    wxWin95= wxWIN95,
+    wxUnix = wxUNIX,                   /*  wxBase under Unix */
+    wxPalmOS = wxPALMOS,               /*  PalmOS */
+    wxOS2 = wxOS2_PM,
+
+    wxMGL = 100,
+    wxCocoa
+};
+
 /*  ---------------------------------------------------------------------------- */
 /*  standard wxWidgets types */
 /*  ---------------------------------------------------------------------------- */
 /*  ---------------------------------------------------------------------------- */
 /*  standard wxWidgets types */
 /*  ---------------------------------------------------------------------------- */
@@ -875,40 +925,42 @@ inline wxUIntPtr wxPtrToUInt(const void *p)
        explicit with /Wp64 option, suppress them as we really know what we're
        doing here. Same thing with icc with -Wall.
      */
        explicit with /Wp64 option, suppress them as we really know what we're
        doing here. Same thing with icc with -Wall.
      */
-#if defined(__VISUALC__) || defined(__INTELC__)
-    #pragma warning(push)
-    #ifdef __VISUALC__
-        /* pointer truncation from '' to '' */
-        #pragma warning(disable: 4311)
-    #elif defined(__INTELC__)
-        /* conversion from pointer to same-sized integral type */
-        #pragma warning(disable: 1684)
+#ifdef __VISUALC__
+    #if __VISUALC__ >= 1200
+        #pragma warning(push)
     #endif
     #endif
+    /* pointer truncation from '' to '' */
+    #pragma warning(disable: 4311)
+#elif defined(__INTELC__)
+    #pragma warning(push)
+    /* conversion from pointer to same-sized integral type */
+    #pragma warning(disable: 1684)
 #endif
 
     return wx_reinterpret_cast(wxUIntPtr, p);
 
 #endif
 
     return wx_reinterpret_cast(wxUIntPtr, p);
 
-#if defined(__VISUALC__) || defined(__INTELC__)
+#if (defined(__VISUALC__) && __VISUALC__ >= 1200) || defined(__INTELC__)
     #pragma warning(pop)
 #endif
 }
 
 inline void *wxUIntToPtr(wxUIntPtr p)
 {
     #pragma warning(pop)
 #endif
 }
 
 inline void *wxUIntToPtr(wxUIntPtr p)
 {
-#if defined(__VISUALC__) || defined(__INTELC__)
-    #pragma warning(push)
-    #ifdef __VISUALC__
-        /* conversion to type of greater size */
-        #pragma warning(disable: 4312)
-    #elif defined(__INTELC__)
-        /* invalid type conversion: "wxUIntPtr={unsigned long}" to "void *" */
-        #pragma warning(disable: 171)
+#ifdef __VISUALC__
+    #if __VISUALC__ >= 1200
+        #pragma warning(push)
     #endif
     #endif
+    /* conversion to type of greater size */
+    #pragma warning(disable: 4312)
+#elif defined(__INTELC__)
+    #pragma warning(push)
+    /* invalid type conversion: "wxUIntPtr={unsigned long}" to "void *" */
+    #pragma warning(disable: 171)
 #endif
 
     return wx_reinterpret_cast(void *, p);
 
 #endif
 
     return wx_reinterpret_cast(void *, p);
 
-#if defined(__VISUALC__) || defined(__INTELC__)
+#if (defined(__VISUALC__) && __VISUALC__ >= 1200) || defined(__INTELC__)
     #pragma warning(pop)
 #endif
 }
     #pragma warning(pop)
 #endif
 }
@@ -993,6 +1045,23 @@ inline void *wxUIntToPtr(wxUIntPtr p)
 
     typedef wxLongLong_t wxInt64;
     typedef wxULongLong_t wxUint64;
 
     typedef wxLongLong_t wxInt64;
     typedef wxULongLong_t wxUint64;
+
+    #define wxHAS_INT64 1
+
+#elif wxUSE_LONGLONG
+    /*  these macros allow to definea 64 bit constants in a portable way */
+    #define wxLL(x) wxLongLong(x)
+    #define wxULL(x) wxULongLong(x)
+
+    #define wxInt64 wxLongLong
+    #define wxUint64 wxULongLong
+
+    #define wxHAS_INT64 1
+
+#else /* !wxUSE_LONGLONG */
+
+    #define wxHAS_INT64 0
+
 #endif
 
 
 #endif
 
 
@@ -1154,7 +1223,7 @@ typedef float wxFloat32;
         (((wxUint64) (val) & (wxUint64) wxULL(0x0000ff0000000000)) >> 24) | \
         (((wxUint64) (val) & (wxUint64) wxULL(0x00ff000000000000)) >> 40) | \
         (((wxUint64) (val) & (wxUint64) wxULL(0xff00000000000000)) >> 56)))
         (((wxUint64) (val) & (wxUint64) wxULL(0x0000ff0000000000)) >> 24) | \
         (((wxUint64) (val) & (wxUint64) wxULL(0x00ff000000000000)) >> 40) | \
         (((wxUint64) (val) & (wxUint64) wxULL(0xff00000000000000)) >> 56)))
-#else /*  !wxLongLong_t */
+#elif wxUSE_LONGLONG /*  !wxLongLong_t */
     #define wxUINT64_SWAP_ALWAYS(val) \
        ((wxUint64) ( \
         ((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
     #define wxUINT64_SWAP_ALWAYS(val) \
        ((wxUint64) ( \
         ((wxULongLong(val) & wxULongLong(0L, 0x000000ffU)) << 56) | \
@@ -1187,8 +1256,10 @@ typedef float wxFloat32;
     #define wxINT32_SWAP_ON_BE(val)   wxINT32_SWAP_ALWAYS(val)
     #define wxUINT32_SWAP_ON_LE(val)  (val)
     #define wxINT32_SWAP_ON_LE(val)   (val)
     #define wxINT32_SWAP_ON_BE(val)   wxINT32_SWAP_ALWAYS(val)
     #define wxUINT32_SWAP_ON_LE(val)  (val)
     #define wxINT32_SWAP_ON_LE(val)   (val)
-    #define wxUINT64_SWAP_ON_BE(val)  wxUINT64_SWAP_ALWAYS(val)
-    #define wxUINT64_SWAP_ON_LE(val)  (val)
+    #if wxHAS_INT64
+        #define wxUINT64_SWAP_ON_BE(val)  wxUINT64_SWAP_ALWAYS(val)
+        #define wxUINT64_SWAP_ON_LE(val)  (val)
+    #endif
 #else
     #define wxUINT16_SWAP_ON_LE(val)  wxUINT16_SWAP_ALWAYS(val)
     #define wxINT16_SWAP_ON_LE(val)   wxINT16_SWAP_ALWAYS(val)
 #else
     #define wxUINT16_SWAP_ON_LE(val)  wxUINT16_SWAP_ALWAYS(val)
     #define wxINT16_SWAP_ON_LE(val)   wxINT16_SWAP_ALWAYS(val)
@@ -1198,8 +1269,10 @@ typedef float wxFloat32;
     #define wxINT32_SWAP_ON_LE(val)   wxINT32_SWAP_ALWAYS(val)
     #define wxUINT32_SWAP_ON_BE(val)  (val)
     #define wxINT32_SWAP_ON_BE(val)   (val)
     #define wxINT32_SWAP_ON_LE(val)   wxINT32_SWAP_ALWAYS(val)
     #define wxUINT32_SWAP_ON_BE(val)  (val)
     #define wxINT32_SWAP_ON_BE(val)   (val)
-    #define wxUINT64_SWAP_ON_LE(val)  wxUINT64_SWAP_ALWAYS(val)
-    #define wxUINT64_SWAP_ON_BE(val)  (val)
+    #if wxHAS_INT64
+        #define wxUINT64_SWAP_ON_LE(val)  wxUINT64_SWAP_ALWAYS(val)
+        #define wxUINT64_SWAP_ON_BE(val)  (val)
+    #endif
 #endif
 
 /*  ---------------------------------------------------------------------------- */
 #endif
 
 /*  ---------------------------------------------------------------------------- */
@@ -1477,9 +1550,11 @@ enum wxBorder
 /*  always show an entire number of rows */
 #define wxLB_INT_HEIGHT     0x0800
 
 /*  always show an entire number of rows */
 #define wxLB_INT_HEIGHT     0x0800
 
-/*  deprecated synonyms */
-#define wxPROCESS_ENTER     0x0400  /*  wxTE_PROCESS_ENTER */
-#define wxPASSWORD          0x0800  /*  wxTE_PASSWORD */
+#if WXWIN_COMPATIBILITY_2_6
+    /*  deprecated synonyms */
+    #define wxPROCESS_ENTER   0x0400  /*  wxTE_PROCESS_ENTER */
+    #define wxPASSWORD        0x0800  /*  wxTE_PASSWORD */
+#endif
 
 /*
  * wxComboBox style flags
 
 /*
  * wxComboBox style flags
@@ -1605,6 +1680,8 @@ enum wxBorder
  * wxStaticText flags
  */
 #define wxST_NO_AUTORESIZE    0x0001
  * wxStaticText flags
  */
 #define wxST_NO_AUTORESIZE    0x0001
+#define wxST_DOTS_MIDDLE      0x0002
+#define wxST_DOTS_END         0x0004
 
 /*
  * wxStaticBitmap flags
 
 /*
  * wxStaticBitmap flags
@@ -2035,8 +2112,6 @@ enum wxKeyCode
     WXK_MENU,
     WXK_PAUSE,
     WXK_CAPITAL,
     WXK_MENU,
     WXK_PAUSE,
     WXK_CAPITAL,
-    WXK_PRIOR,  /*  Page up */
-    WXK_NEXT,   /*  Page down */
     WXK_END,
     WXK_HOME,
     WXK_LEFT,
     WXK_END,
     WXK_HOME,
     WXK_LEFT,
@@ -2093,6 +2168,10 @@ enum wxKeyCode
     WXK_SCROLL,
     WXK_PAGEUP,
     WXK_PAGEDOWN,
     WXK_SCROLL,
     WXK_PAGEUP,
     WXK_PAGEDOWN,
+#if WXWIN_COMPATIBILITY_2_6
+    WXK_PRIOR = WXK_PAGEUP,
+    WXK_NEXT  = WXK_PAGEDOWN,
+#endif
 
     WXK_NUMPAD_SPACE,
     WXK_NUMPAD_TAB,
 
     WXK_NUMPAD_SPACE,
     WXK_NUMPAD_TAB,
@@ -2106,10 +2185,12 @@ enum wxKeyCode
     WXK_NUMPAD_UP,
     WXK_NUMPAD_RIGHT,
     WXK_NUMPAD_DOWN,
     WXK_NUMPAD_UP,
     WXK_NUMPAD_RIGHT,
     WXK_NUMPAD_DOWN,
-    WXK_NUMPAD_PRIOR,
     WXK_NUMPAD_PAGEUP,
     WXK_NUMPAD_PAGEUP,
-    WXK_NUMPAD_NEXT,
     WXK_NUMPAD_PAGEDOWN,
     WXK_NUMPAD_PAGEDOWN,
+#if WXWIN_COMPATIBILITY_2_6
+    WXK_NUMPAD_PRIOR = WXK_NUMPAD_PAGEUP,
+    WXK_NUMPAD_NEXT  = WXK_NUMPAD_PAGEDOWN,
+#endif
     WXK_NUMPAD_END,
     WXK_NUMPAD_BEGIN,
     WXK_NUMPAD_INSERT,
     WXK_NUMPAD_END,
     WXK_NUMPAD_BEGIN,
     WXK_NUMPAD_INSERT,
@@ -2821,6 +2902,16 @@ typedef GtkWidget *WXWidget;
 #define GTK_CLASS_TYPE(klass) ((klass)->type)
 #endif
 
 #define GTK_CLASS_TYPE(klass) ((klass)->type)
 #endif
 
+#ifdef __WXGTK20__
+#define G_DISABLE_DEPRECATED
+#define PANGO_DISABLE_DEPRECATED
+#define GDK_PIXBUF_DISABLE_DEPRECATED
+#ifndef __VMS
+/* GtkCombo is not defined on VMS if this is defined */
+# define GTK_DISABLE_DEPRECATED
+#endif
+#endif
+
 #endif /*  __WXGTK__ */
 
 #if defined(__WXGTK20__) || (defined(__WXX11__) && wxUSE_UNICODE)
 #endif /*  __WXGTK__ */
 
 #if defined(__WXGTK20__) || (defined(__WXX11__) && wxUSE_UNICODE)