X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5de76427c87d8289f5c343cef16e9375056fc49f..362c669367af6c1b024d531c31a76692a6e9ad13:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index 1f0ba22911..f5bfc86b80 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -70,11 +70,12 @@ // Make sure the environment is set correctly #if defined(__WXMSW__) && defined(__X__) # error "Target can't be both X and Windows" -#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && !defined(__MAC__) && !defined(__X__) -#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__MAC__]" +#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \ + !defined(__MAC__) && !defined(__X__) && !defined(__WXQT__) +#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__MAC__|__QT__]" #endif -#if defined(__WXMOTIF__) || defined(__WXGTK__) +#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) // Bool is now obsolete, use bool instead // typedef int Bool; @@ -210,10 +211,15 @@ enum ErrCode /** @name Very common macros */ // ---------------------------------------------------------------------------- //@{ -/// delete pointer if it is not NULL -#define DELETEP(p) if ( (p) != NULL ) delete (p) -/// delete array pointer if it is not NULL -#define DELETEA(p) if ( (p) != NULL ) delete [] (p) +/// 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) +#define wxDELETE(p) if ( (p) != NULL ) { delete (p); p = NULL; } + +// delete an array and NULL it (see comments above) +#define wxDELETEA(p) if ( (p) != NULL ) { delete [] (p); p = NULL; } /// size of statically declared array #define WXSIZEOF(array) (sizeof(array)/sizeof(array[0])) @@ -389,21 +395,14 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); * Styles for wxListBox */ -// In wxListBox style flag -#define wxSB_MASK 0x0008 -#define wxNEEDED_SB 0x0000 -#define wxALWAYS_SB 0x0008 - -// New naming convention -#define wxLB_NEEDED_SB wxNEEDED_SB -#define wxLB_ALWAYS_SB wxALWAYS_SB #define wxLB_SORT 0x0010 -// These duplicate the styles in the Multiple argument -#define wxLB_SINGLE 0x0000 +#define wxLB_SINGLE 0x0020 #define wxLB_MULTIPLE 0x0040 #define wxLB_EXTENDED 0x0080 // wxLB_OWNERDRAW is Windows-only #define wxLB_OWNERDRAW 0x0100 +#define wxLB_NEEDED_SB 0x0200 +#define wxLB_ALWAYS_SB 0x0400 #define wxLB_HSCROLL wxHSCROLL /* @@ -416,19 +415,16 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxTE_READONLY 0x0010 #define wxTE_MULTILINE 0x0020 -// TODO For backward compatibility, need wxOLD_READONLY -#define wxREADONLY wxTE_READONLY -#define wxEDITABLE 0 - -// #define wxTE_RICHTEXT 0x0020 +// MSW-only +#define wxTE_RICHTEXT 0x0020 /* * wxComboBox style flags */ #define wxCB_SIMPLE 0x0004 -#define wxCB_DROPDOWN 0x0000 #define wxCB_SORT 0x0008 -#define wxCB_READONLY wxREADONLY +#define wxCB_READONLY 0x0010 +#define wxCB_DROPDOWN 0x0020 /* * wxRadioBox/wxRadioButton style flags @@ -877,7 +873,7 @@ typedef unsigned long WXHCONV; typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; -typedef int (*WXFARPROC)(); +typedef int (__stdcall *WXFARPROC)(); #endif