X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/34138703c3997ce676a1e713d9ff9eb020640da7..1b826605f5ab0bb680925f5e24a57b068ce2bdc5:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 456eb162ed..22c8db9a99 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -30,8 +30,14 @@ #include "wx/version.h" // Helps SGI compilation, apparently -#if defined(__SGI__) && defined(__GNUG__) +#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 + * mix gcc and cc/CC, the name mangling is different */ +#define __SGI_CC__ +#endif #endif // Eliminate double/float warnings @@ -98,6 +104,10 @@ typedef unsigned int bool; #endif +#if defined(_MSC_VER) && (_MSC_VER == 1020) +#define bool unsigned int +#endif + #if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__) #define byte unsigned char #endif @@ -169,22 +179,9 @@ typedef int wxWindowID; class WXDLLEXPORT wxObject; class WXDLLEXPORT wxEvent; -// Vadim's types - check whether we need them all - -/// the type for various indexes (string, arrays, ...) -typedef unsigned int uint; - -/// extended boolean type: { yes, no, may be } -typedef signed int EBool; - -/// with TRUE and FALSE is a possible value for a "3-state" boolean var -#define UNKNOWN (-1) - /** symbolic constant used by all Find()-like functions returning positive + /** symbolic constant used by all Find()-like functions returning positive integer on success as failure indicator */ #define NOT_FOUND (-1) - /** useful for Windows programmers: makes somewhat more clear all these - zeroes being passed to Windows APIs */ -#define RESERVED (NULL) // ---------------------------------------------------------------------------- // Error codes @@ -212,20 +209,41 @@ enum ErrCode // a question of style, because delete will do it itself anyhow, but it might // be considered as an error by some overzealous debugging implementations of // the library, so we do it ourselves) -#define wxDELETE(p) if ( (p) != NULL ) { delete (p); p = NULL; } +#if defined(__SGI_CC__) +// 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) +// --- offer aug 98 +#define wxDELETE(p) if ( (p) ) { delete (p); p = 0L; } +#else +#define wxDELETE(p) if ( (p) != NULL ) { delete p; p = NULL; } +#endif /* __SGI__CC__ */ // delete an array and NULL it (see comments above) -#define wxDELETEA(p) if ( (p) != NULL ) { delete [] (p); p = NULL; } +#if defined(__SGI_CC__) +// see above comment. +#define wxDELETEA(p) if ( (p) ) { delete [] (p); p = 0L; } +#else +#define wxDELETEA(p) if ( ((void *) (p)) != NULL ) { delete [] p; p = NULL; } +#endif /* __SGI__CC__ */ /// size of statically declared array #define WXSIZEOF(array) (sizeof(array)/sizeof(array[0])) +// Use of these suppresses some compiler warnings +WXDLLEXPORT_DATA(extern const bool) wxTrue; +WXDLLEXPORT_DATA(extern const bool) wxFalse; + // ---------------------------------------------------------------------------- // compiler and OS identification // ---------------------------------------------------------------------------- // OS -#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) +#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi ) || defined(__unix__) #ifndef __UNIX__ #define __UNIX__ #endif @@ -244,14 +262,6 @@ enum ErrCode #endif // OS -#if defined(__UNIX__) - #define FILE_PATH_SEPARATOR ('/') -#elif defined(__WXMSW__) - #define FILE_PATH_SEPARATOR ('\\') -#else - #define FILE_PATH_SEPARATOR ('/') -#endif - // ---------------------------------------------------------------------------- // compiler specific settings // ---------------------------------------------------------------------------- @@ -260,7 +270,7 @@ enum ErrCode // 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. @@ -284,7 +294,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. - * + * */ /* @@ -363,7 +373,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxToolBar style flags */ - + #define wxTB_3DBUTTONS 0x8000 #define wxTB_HORIZONTAL 0x0002 #define wxTB_VERTICAL 0x0004 @@ -373,7 +383,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. @@ -435,7 +445,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 @@ -453,7 +463,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxScrollBar flags */ - + #define wxSB_HORIZONTAL wxHORIZONTAL #define wxSB_VERTICAL wxVERTICAL @@ -684,7 +694,7 @@ enum wxDataFormat // Virtual keycodes -enum _Virtual_keycodes { +enum wxKeyCode { WXK_BACK = 8, WXK_TAB = 9, WXK_RETURN = 13, @@ -818,6 +828,7 @@ enum { #define wxID_PASTE 5032 #define wxID_CLEAR 5033 #define wxID_FIND 5034 +#define wxID_DUPLICATE 5035 #define wxID_FILE1 5050 #define wxID_FILE2 5051 @@ -836,6 +847,8 @@ enum { #define wxID_NO 5104 #define wxID_STATIC 5105 +#define wxID_HIGHEST 5999 + #ifdef __WXMSW__ // Stand-ins for Windows types, to avoid // #including all of windows.h @@ -865,6 +878,7 @@ typedef unsigned long WXCOLORREF; typedef void * WXRGNDATA; typedef void * WXMSG; typedef unsigned long WXHCONV; +typedef unsigned long WXHKEY; typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; @@ -876,5 +890,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_