/* ---------------------------------------------------------------------------- */
/* Printf-like attribute definitions to obtain warnings with GNU C/C++ */
-#ifndef ATTRIBUTE_PRINTF
+#ifndef WX_ATTRIBUTE_PRINTF
# if defined(__GNUC__) && !wxUSE_UNICODE
-# define ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
+# define WX_ATTRIBUTE_PRINTF(m, n) __attribute__ ((__format__ (__printf__, m, n)))
# else
-# define ATTRIBUTE_PRINTF(m, n)
+# define WX_ATTRIBUTE_PRINTF(m, n)
# endif
-# 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 /* !defined(ATTRIBUTE_PRINTF) */
+# define WX_ATTRIBUTE_PRINTF_1 WX_ATTRIBUTE_PRINTF(1, 2)
+# define WX_ATTRIBUTE_PRINTF_2 WX_ATTRIBUTE_PRINTF(2, 3)
+# define WX_ATTRIBUTE_PRINTF_3 WX_ATTRIBUTE_PRINTF(3, 4)
+# define WX_ATTRIBUTE_PRINTF_4 WX_ATTRIBUTE_PRINTF(4, 5)
+# define WX_ATTRIBUTE_PRINTF_5 WX_ATTRIBUTE_PRINTF(5, 6)
+#endif /* !defined(WX_ATTRIBUTE_PRINTF) */
/* Macro to issue warning when using deprecated functions with gcc3 or MSVC7: */
handle the deprecation attribute even in the constructor.
doesn't seem to work on Apple's gcc 4.0.1 unless using -O0
*/
-#if defined( __DARWIN__ ) && !defined(__WXDEBUG__)
+#if wxCHECK_GCC_VERSION(3, 4) || defined( __DARWIN__ )
#define wxDEPRECATED_CONSTRUCTOR(x) x
#else
#define wxDEPRECATED_CONSTRUCTOR(x) wxDEPRECATED( inline x)
# define wxDEPRECATED_BUT_USED_INTERNALLY(x) wxDEPRECATED(x)
#endif
+/*
+ Combination of the two variants above: should be used for deprecated
+ functions which are defined inline and are used by wxWidgets itself.
+ */
+#ifdef WXBUILDING
+# define wxDEPRECATED_BUT_USED_INTERNALLY_INLINE(func, body) func { body }
+#else
+# define wxDEPRECATED_BUT_USED_INTERNALLY_INLINE(func, body) \
+ wxDEPRECATED(func) { body }
+#endif
+
/* everybody gets the assert and other debug macros */
#include "wx/debug.h"
/* base floating point types */
-/* wxFloat32: 32 bit IEEE float ( 1 sign, 8 exponent bits, 23 fraction bits */
-/* wxFloat64: 64 bit IEEE float ( 1 sign, 11 exponent bits, 52 fraction bits */
+/* wxFloat32: 32 bit IEEE float ( 1 sign, 8 exponent bits, 23 fraction bits ) */
+/* wxFloat64: 64 bit IEEE float ( 1 sign, 11 exponent bits, 52 fraction bits ) */
/* wxDouble: native fastest representation that has at least wxFloat64 */
/* precision, so use the IEEE types for storage, and this for */
/* calculations */
/* ---------------------------------------------------------------------------- */
/* Standard menu IDs */
-enum
+enum wxStandardID
{
/*
These ids delimit the range used by automatically-generated ids
wxID_ICONIZE_FRAME,
wxID_RESTORE_FRAME,
+ /* MDI window menu ids */
+ wxID_MDI_WINDOW_FIRST = 5230,
+ wxID_MDI_WINDOW_CASCADE = wxID_MDI_WINDOW_FIRST,
+ wxID_MDI_WINDOW_TILE_HORZ,
+ wxID_MDI_WINDOW_TILE_VERT,
+ wxID_MDI_WINDOW_ARRANGE_ICONS,
+ wxID_MDI_WINDOW_PREV,
+ wxID_MDI_WINDOW_NEXT,
+ wxID_MDI_WINDOW_LAST = wxID_MDI_WINDOW_NEXT,
+
/* IDs used by generic file dialog (13 consecutive starting from this value) */
wxID_FILEDLGG = 5900,
#define wxSIZE_NO_ADJUSTMENTS 0x0008
/* Change the window position even if it seems to be already correct */
#define wxSIZE_FORCE 0x0010
+/* Emit size event even if size didn't change */
+#define wxSIZE_FORCE_EVENT 0x0020
/* ---------------------------------------------------------------------------- */
/* GDI descriptions */
/* Virtual keycodes */
enum wxKeyCode
{
- WXK_BACK = 8,
+ WXK_BACK = 8, // backspace
WXK_TAB = 9,
WXK_RETURN = 13,
WXK_ESCAPE = 27,
+
+ /* values from 33 to 126 are reserved for the standard ASCII characters */
+
WXK_SPACE = 32,
WXK_DELETE = 127,
+ /* values from 128 to 255 are reserved for ASCII extended characters
+ (note that there isn't a real widely used standard for the meaning
+ of these values; avoid them in portable apps!) */
+
/* These are, by design, not compatible with unicode characters.
If you want to get a unicode character from a key event, use
wxKeyEvent::GetUnicodeKey instead. */
DECLARE_WXCOCOA_OBJC_CLASS(NSView);
DECLARE_WXCOCOA_OBJC_CLASS(NSOpenGLContext);
DECLARE_WXCOCOA_OBJC_CLASS(NSOpenGLPixelFormat);
+DECLARE_WXCOCOA_OBJC_CLASS( NSPrintInfo );
#ifndef __WXMAC__
typedef WX_NSView WXWidget; /* wxWidgets BASE definition */
#endif
#include "wx/features.h"
/* --------------------------------------------------------------------------- */
-/* macro to define a class without copy ctor nor assignment operator */
+/* macros to define a class without copy ctor nor assignment operator */
/* --------------------------------------------------------------------------- */
-#define DECLARE_NO_COPY_CLASS(classname) \
+#define wxDECLARE_NO_COPY_CLASS(classname) \
private: \
classname(const classname&); \
- classname& operator=(const classname&);
+ classname& operator=(const classname&)
+
+#define wxDECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg) \
+ private: \
+ classname(const classname<arg>&); \
+ classname& operator=(const classname<arg>&)
-#define DECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg) \
- private: \
- classname(const classname<arg>&); \
- classname& operator=(const classname<arg>&);
+#define wxDECLARE_NO_COPY_TEMPLATE_CLASS_2(classname, arg1, arg2) \
+ private: \
+ classname(const classname<arg1, arg2>&); \
+ classname& operator=(const classname<arg1, arg2>&)
-#define DECLARE_NO_ASSIGN_CLASS(classname) \
+#define wxDECLARE_NO_ASSIGN_CLASS(classname) \
private: \
- classname& operator=(const classname&);
+ classname& operator=(const classname&)
+
+// deprecated variants _not_ requiring a semicolon after them
+#define DECLARE_NO_COPY_CLASS(classname) \
+ wxDECLARE_NO_COPY_CLASS(classname);
+#define DECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg) \
+ wxDECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg);
+#define DECLARE_NO_ASSIGN_CLASS(classname) \
+ wxDECLARE_NO_ASSIGN_CLASS(classname);
/* --------------------------------------------------------------------------- */
/* If a manifest is being automatically generated, add common controls 6 to it */