X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/691aba016bccb44aa30cb7fdd9c232a85d56c4b2..f9b170bd18b4421b53296bea80f24dce1db3e359:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 80b4fbb845..ea7a3722ae 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -176,11 +176,23 @@ #ifdef __cplusplus // define boolean constants: don't use true/false here as not all compilers - // support them - #undef TRUE - #undef FALSE - #define TRUE ((bool)1) - #define FALSE ((bool)0) + // support them but also redefine TRUE which could have been defined as 1 + // by previous headers: this would be incorrect as our TRUE is supposed to + // be of type bool, just like true, not int + // + // however if the user code absolutely needs TRUE to be defined in its own + // way, it can predefine WX_TRUE_DEFINED to prevent the redefinition here + #ifdef TRUE + #ifndef WX_TRUE_DEFINED + #undef TRUE + #undef FALSE + #endif + #endif + + #ifndef TRUE + #define TRUE ((bool)1) + #define FALSE ((bool)0) + #endif #else // !__cplusplus // the definitions above don't work for C sources #ifndef TRUE @@ -415,6 +427,27 @@ class WXDLLEXPORT wxEvent; typedef void (*wxFunction) (wxObject&, wxEvent&); #endif +// Printf-like attribute definitions to obtain warnings with GNU C/C++ +#if defined(__GNUC__) +# ifndef ATTRIBUTE_PRINTF +# define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n))) +# define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) +# define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) +# define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) +# define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) +# define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) +# endif /* ATTRIBUTE_PRINTF */ +#else +# ifndef ATTRIBUTE_PRINTF +# define ATTRIBUTE_PRINTF +# define ATTRIBUTE_PRINTF_1 +# define ATTRIBUTE_PRINTF_2 +# define ATTRIBUTE_PRINTF_3 +# define ATTRIBUTE_PRINTF_4 +# define ATTRIBUTE_PRINTF_5 +# endif /* ATTRIBUTE_PRINTF */ +#endif + // ---------------------------------------------------------------------------- // OS mnemonics -- Identify the running OS (useful for Windows) // ---------------------------------------------------------------------------- @@ -934,11 +967,11 @@ enum wxBorder #define wxDIALOG_NO_PARENT 0x0001 // Don't make owned by apps top window #define wxFRAME_NO_TASKBAR 0x0002 // No taskbar button (MSW only) #define wxFRAME_TOOL_WINDOW 0x0004 // No taskbar button, no system menu +#define wxFRAME_FLOAT_ON_PARENT 0x0008 // Always above its parent // deprecated versions defined for compatibility reasons #define wxRESIZE_BOX wxMAXIMIZE_BOX #define wxTHICK_FRAME wxRESIZE_BORDER -#define wxFRAME_FLOAT_ON_PARENT wxFRAME_TOOL_WINDOW // obsolete styles, unused any more #define wxDIALOG_MODAL 0x0020 // free flag value 0x0020 @@ -1463,6 +1496,7 @@ enum wxDataFormatId wxDF_FILENAME = 15, /* CF_HDROP */ wxDF_LOCALE = 16, wxDF_PRIVATE = 20, + wxDF_HTML = 30, /* Note: does not correspond to CF_ constant */ wxDF_MAX };