X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7f555861b7e50f335c7b929bb76be38e9ebd69c5..37cda9cb1c55bdbb10d017039ae5920f440ad3b0:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 0cbd0e9eff..cc731991c3 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -21,6 +21,7 @@ #include "glib.h" #include "gdk/gdk.h" #include "gtk/gtk.h" +#include "wx/gtk/win_gtk.h" #endif @@ -30,21 +31,29 @@ #include "wx/version.h" // Helps SGI compilation, apparently -#if defined(__SGI__) +#if defined(__SGI__) #if defined(__GNUG__) #define __need_wchar_t #else -/* Note I use the term __SGI_CC__ for both cc and CC, its not a good idea to +/* Note I use the term __SGI_CC__ for both cc and CC, its not a good idea to * mix gcc and cc/CC, the name mangling is different */ #define __SGI_CC__ #endif #endif -// Eliminate double/float warnings -#ifdef _MSC_VER -# pragma warning(disable:4244) +#if defined(sun) || defined(__SUN__) +# if !defined(__GNUG__) +# ifndef __SUNCC__ +# define __SUNCC__ +# endif +# endif #endif +// suppress some Visual C++ warnings +#ifdef _MSC_VER +# pragma warning(disable:4244) // cobversion from double to float +# pragma warning(disable:4100) // unreferenced formal parameter +#endif ////////////////////////////////////////////////////////////////////////////////// // Currently Only MS-Windows/NT, XView and Motif are supported @@ -56,6 +65,7 @@ # define __X__ #endif +#ifdef __WXMSW__ // wxWindows checks for WIN32, not __WIN32__ #if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__) && !defined(__WXSTUBS__)) #define __WIN32__ @@ -69,6 +79,8 @@ #define __WIN95__ #endif +#endif // wxMSW + // Make sure the environment is set correctly #if defined(__WXMSW__) && defined(__X__) # error "Target can't be both X and Windows" @@ -100,12 +112,23 @@ // VC++ 4.0 is 1000. // Add more tests here for compilers that don't already define bool. -#if ( defined(_MSC_VER) && (_MSC_VER <= 1000) ) || (defined(__BORLANDC__) && (__BORLANDC__ < 0x500)) -typedef unsigned int bool; +#if defined( __MWERKS__ ) + #if (__MWERKS__ < 0x1000) || !__option(bool) + typedef unsigned int bool; + #endif +#elif defined(_MSC_VER) && (_MSC_VER <= 1000) + typedef unsigned int bool; +#elif defined(_MSC_VER) && (_MSC_VER == 1020) + #define bool unsigned int +#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x500) + typedef unsigned int bool; +#elif defined(__SUNCC__) + // If we use int, we get identically overloaded functions in config.cpp + typedef unsigned char bool; #endif #if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__) -#define byte unsigned char + #define byte unsigned char #endif typedef short int WXTYPE; @@ -145,7 +168,7 @@ typedef int wxWindowID; # ifdef WXMAKINGDLL # define WXDLLEXPORT __declspec( dllexport ) # define WXDLLEXPORT_DATA(type) __declspec( dllexport ) type -# define WXDLLEXPORT_CTORFN __declspec( dllexport ) +# define WXDLLEXPORT_CTORFN // __declspec( dllexport ) # elif defined(WXUSINGDLL) # define WXDLLEXPORT __declspec( dllimport ) # define WXDLLEXPORT_DATA(type) __declspec( dllimport ) type @@ -206,13 +229,13 @@ enum ErrCode // be considered as an error by some overzealous debugging implementations of // the library, so we do it ourselves) #if defined(__SGI_CC__) -// Okay this is bad styling, but the native SGI compiler is very picky, it +// Okay this is bad styling, but the native SGI compiler is very picky, it // wont let you compare/assign between a NULL (void *) and another pointer -// type. To be really clean we'd need to pass in another argument, the type -// of p. -// Also note the use of 0L, this would allow future possible 64bit support -// (as yet untested) by ensuring that we zero all the bits in a pointer -// (which is always the same length as a long (at least with the LP64 standard) +// type. To be really clean we'd need to pass in another argument, the type +// of p. +// Also note the use of 0L, this would allow future possible 64bit support +// (as yet untested) by ensuring that we zero all the bits in a pointer +// (which is always the same length as a long (at least with the LP64 standard) // --- offer aug 98 #define wxDELETE(p) if ( (p) ) { delete (p); p = 0L; } #else @@ -239,7 +262,7 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse; // ---------------------------------------------------------------------------- // OS -#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi ) +#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi ) || defined(__unix__) #ifndef __UNIX__ #define __UNIX__ #endif @@ -266,7 +289,7 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse; // warnings just must be disabled #ifdef __VISUALC__ #pragma warning(disable: 4514) // unreferenced inline func has been removed -/* +/* you might be tempted to disable this one also: triggered by CHECK and FAIL macros in debug.h, but it's, overall, is a rather useful one, so I leave it and will try to find some way to disable this warning just for CHECK/FAIL. @@ -276,6 +299,19 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse; #endif // VC++ +#if _MSC_VER > 1010 +#undef try +#undef except +#undef finally +#define except(x) catch(...) +#endif + +// where should i put this? we need to make sure of this as it breaks +// the code. +#if !wxUSE_IOSTREAMH && defined(__WXDEBUG__) +#undef __WXDEBUG__ +#endif + // Callback function type definition typedef void (*wxFunction) (wxObject&, wxEvent&); @@ -290,7 +326,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); * Window (cross-group) styles now take up the first half * of the flag, and control-specific styles the * second half. - * + * */ /* @@ -369,7 +405,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxToolBar style flags */ - + #define wxTB_3DBUTTONS 0x8000 #define wxTB_HORIZONTAL 0x0002 #define wxTB_VERTICAL 0x0004 @@ -379,7 +415,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * Apply to all panel items */ - + #define wxCOLOURED 0x0800 // Alignment for panel item labels: replaces characters with zeros // when creating label, so spaces can be included in string for alignment. @@ -441,7 +477,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxSlider flags */ - + #define wxSL_HORIZONTAL wxHORIZONTAL #define wxSL_VERTICAL wxVERTICAL // The next one is obsolete - use scroll events instead @@ -459,7 +495,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxScrollBar flags */ - + #define wxSB_HORIZONTAL wxHORIZONTAL #define wxSB_VERTICAL wxVERTICAL @@ -825,6 +861,7 @@ enum { #define wxID_CLEAR 5033 #define wxID_FIND 5034 #define wxID_DUPLICATE 5035 +#define wxID_SELECTALL 5036 #define wxID_FILE1 5050 #define wxID_FILE2 5051 @@ -843,6 +880,11 @@ enum { #define wxID_NO 5104 #define wxID_STATIC 5105 +#define wxID_HIGHEST 5999 + +// Shortcut for easier dialog-unit-to-pixel conversion +#define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt) + #ifdef __WXMSW__ // Stand-ins for Windows types, to avoid // #including all of windows.h @@ -873,6 +915,7 @@ typedef void * WXRGNDATA; typedef void * WXMSG; typedef unsigned long WXHCONV; typedef unsigned long WXHKEY; +typedef unsigned long WXHTREEITEM; typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; @@ -884,5 +927,24 @@ typedef int (__stdcall *WXFARPROC)(); #endif +#ifdef __WXMOTIF__ +// Stand-ins for X/Xt/Motif types +typedef void* WXWindow; +typedef void* WXWidget; +typedef void* WXAppContext; +typedef void* WXColormap; +typedef void WXDisplay; +typedef void WXEvent; +typedef void* WXCursor; +typedef void* WXPixmap; +typedef void* WXFontStructPtr; +typedef void* WXGC; +typedef void* WXRegion; +typedef void* WXFont; +typedef void* WXImage; +typedef void* WXCursor; +typedef void* WXFontList; +#endif + #endif // _WX_DEFS_H_