#endif
#endif // Win32
+#if defined(__WXMSW__) || defined(__WIN32__)
+ #if !defined(__WINDOWS__)
+ #define __WINDOWS__
+ #endif
+#endif
+
#ifdef __WXWINE__
#ifndef __WIN32__
#define __WIN32__
#include "wx/setup.h"
+// check the consistency of the settings in setup.h
+#include "wx/chkconf.h"
+
// old C++ headers (like <iostream.h>) declare classes in the global namespace
// while the new, standard ones (like <iostream>) do it in std:: namespace
//
#error "Target can't be both X and Windows"
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \
!defined(__WXPM__) && !defined(__WXMAC__) && !defined(__X__) && \
- !defined(__WXQT__) && !defined(__WXMGL__) && wxUSE_GUI
+ !defined(__WXMGL__) && wxUSE_GUI
#ifdef __UNIX__
#error "No Target! You should use wx-config program for compilation flags!"
#else // !Unix
// because -1 is a valid (and largely used) value for window id.
typedef int wxWindowID;
-// Macro to cut down on compiler warnings.
-#if REMOVE_UNUSED_ARG
- #define WXUNUSED(identifier) /* identifier */
-#else // stupid, broken compiler
- #define WXUNUSED(identifier) identifier
-#endif
-
-// some arguments are only used in debug mode, but unused in release one
-#ifdef __WXDEBUG__
- #define WXUNUSED_UNLESS_DEBUG(param) param
-#else
- #define WXUNUSED_UNLESS_DEBUG(param) WXUNUSED(param)
-#endif
-
// ----------------------------------------------------------------------------
// portable calling conventions macros
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxEvent;
#endif
- /** symbolic constant used by all Find()-like functions returning positive
- integer on success as failure indicator */
+// symbolic constant used by all Find()-like functions returning positive
+// integer on success as failure indicator
#define wxNOT_FOUND (-1)
// ----------------------------------------------------------------------------
#include "wx/debug.h"
#endif
-// NULL declaration
+// NULL declaration: it must be defined as 0 for C++ programs (in particular,
+// it must not be defined as "(void *)0" which is standard for C but completely
+// breaks C++ code)
#include <stddef.h>
-//@{
-/// delete pointer if it is not NULL and NULL it afterwards
+// Macro to cut down on compiler warnings.
+#if REMOVE_UNUSED_ARG
+ #define WXUNUSED(identifier) /* identifier */
+#else // stupid, broken compiler
+ #define WXUNUSED(identifier) identifier
+#endif
+
+// some arguments are only used in debug mode, but unused in release one
+#ifdef __WXDEBUG__
+ #define WXUNUSED_UNLESS_DEBUG(param) param
+#else
+ #define WXUNUSED_UNLESS_DEBUG(param) WXUNUSED(param)
+#endif
+
+// delete pointer if it is not NULL and NULL it afterwards
// (checking that it's !NULL before passing it to delete is just a
// 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)
-#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)
-#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__ */
+#define wxDELETEA(p) if ( (p) ) { delete [] (p); p = NULL; }
-/// size of statically declared array
+// size of statically declared array
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
// ----------------------------------------------------------------------------
wxGTK_WIN32, // GTK on Win32
wxGTK_OS2, // GTK on OS/2
wxGTK_BEOS, // GTK on BeOS
- wxQT, // Qt
wxGEOS, // GEOS
wxOS2_PM, // OS/2 Workplace
wxWINDOWS, // Windows or WfW
// descend into all subwindows
#define wxWS_EX_VALIDATE_RECURSIVELY 0x00000001
+// wxCommandEvents and the objects of the derived classes are forwarded to the
+// parent window and so on recursively by default. Using this flag for the
+// given window allows to block this propagation at this window, i.e. prevent
+// the events from being propagated further upwards. The dialogs have this
+// flag on by default.
+#define wxWS_EX_BLOCK_EVENTS 0x00000002
+
/*
* wxFrame/wxDialog style flags
*/
#define wxSB_HORIZONTAL wxHORIZONTAL
#define wxSB_VERTICAL wxVERTICAL
-/*
- * wxTreeCtrl flags
- */
-#define wxTR_HAS_BUTTONS 0x0004
-#define wxTR_EDIT_LABELS 0x0008
-#define wxTR_LINES_AT_ROOT 0x0010
-
-#define wxTR_SINGLE 0x0000
-#define wxTR_MULTIPLE 0x0020
-#define wxTR_EXTENDED 0x0040
-#define wxTR_HAS_VARIABLE_ROW_HEIGHT 0x0080
-#define wxTR_NO_LINES 0x0100
-#define wxTR_MAC_BUTTONS 0x0200
-#define wxTR_ROW_LINES 0x0400
-
/*
* wxSpinButton flags.
* Note that a wxSpinCtrl is sometimes defined as
typedef void* WXRegion;
typedef void* WXFont;
typedef void* WXImage;
-typedef void* WXCursor;
typedef void* WXFontList;
typedef unsigned long Atom; /* this might fail on a few architectures */
#endif // GTK
#ifdef __WXMGL__
-typedef void *WXWidget; // FIXME_MGL - type-safe
+typedef struct window_t *WXWidget;
#endif // MGL
// This is required because of clashing macros in windows.h, which may be