X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bb6290e3514a84a7b50860d1c75d4623696ff601..0acb94947f39951a1688bbaa57d3a4bf5be40dbb:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index aac88fdfa9..f5bfc86b80 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -16,7 +16,7 @@ #pragma interface "defs.h" #endif -#ifdef __GTK__ +#ifdef __WXGTK__ #include "glib.h" #include "gdk/gdk.h" @@ -43,14 +43,14 @@ ////////////////////////////////////////////////////////////////////////////////// // Currently Only MS-Windows/NT, XView and Motif are supported // -#if defined(__HPUX__) && !defined(__MOTIF__) -# define __MOTIF__ +#if defined(__HPUX__) && !defined(__WXMOTIF__) +# define __WXMOTIF__ #endif -#if defined(__MOTIF__) +#if defined(__WXMOTIF__) # define __X__ -#elif defined(__WINDOWS__) || defined(__WINDOWS_386__) || defined(__NT__) || defined(__MSDOS__) -# ifndef __WINDOWS__ -# define __WINDOWS__ +#elif defined(__WXMSW__) || defined(__WINDOWS_386__) || defined(__NT__) || defined(__MSDOS__) +# ifndef __WXMSW__ +# define __WXMSW__ # endif #endif @@ -68,13 +68,14 @@ #endif // Make sure the environment is set correctly -#if defined(__WINDOWS__) && defined(__X__) +#if defined(__WXMSW__) && defined(__X__) # error "Target can't be both X and Windows" -#elif !defined(__MOTIF__) && !defined(__WINDOWS__) && !defined(__GTK__) && !defined(__MAC__) && !defined(__X__) -#error "No Target! Use -D[__MOTIF__|__GTK__|__WINDOWS__|__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(__MOTIF__) || defined(__GTK__) +#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) // Bool is now obsolete, use bool instead // typedef int Bool; @@ -85,7 +86,7 @@ # define Bool_DEFINED #endif -#elif defined(__WINDOWS__) +#elif defined(__WXMSW__) #ifndef TRUE # define TRUE 1 @@ -119,7 +120,7 @@ typedef int wxWindowID; * Making or using wxWindows as a Windows DLL */ -#ifdef __WINDOWS__ +#ifdef __WXMSW__ #ifdef __BORLANDC__ @@ -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])) @@ -230,8 +236,8 @@ enum ErrCode #endif #ifndef __UNIX__ // Windows - #ifndef __WINDOWS__ - #define __WINDOWS__ + #ifndef __WXMSW__ + #define __WXMSW__ #endif #if defined(_MSC_VER) @@ -248,7 +254,7 @@ enum ErrCode #if defined(__UNIX__) #define FILE_PATH_SEPARATOR ('/') -#elif defined(__WINDOWS__) +#elif defined(__WXMSW__) #define FILE_PATH_SEPARATOR ('\\') #else #error "don't know path separator for this platform" @@ -367,8 +373,10 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); */ #define wxTB_3DBUTTONS 0x8000 +#define wxTB_HORIZONTAL 0x0002 +#define wxTB_VERTICAL 0x0004 // Flatbar/Coolbar under Win98 -#define wxTB_FLAT 0x0002 +#define wxTB_FLAT 0x0008 /* * Apply to all panel items @@ -387,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 /* @@ -414,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 @@ -665,26 +663,35 @@ typedef enum { // Possible SetSize flags // Use internally-calculated width if -1 -#define wxSIZE_AUTO_WIDTH 1 +#define wxSIZE_AUTO_WIDTH 0x0001 // Use internally-calculated height if -1 -#define wxSIZE_AUTO_HEIGHT 2 +#define wxSIZE_AUTO_HEIGHT 0x0002 // Use internally-calculated width and height if each is -1 -#define wxSIZE_AUTO 3 +#define wxSIZE_AUTO (wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT) // Ignore missing (-1) dimensions (use existing). // For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code. -#define wxSIZE_USE_EXISTING 0 +#define wxSIZE_USE_EXISTING 0x0000 // Allow -1 as a valid position -#define wxSIZE_ALLOW_MINUS_ONE 4 +#define wxSIZE_ALLOW_MINUS_ONE 0x0004 +// Don't do parent client adjustments (for implementation only) +#define wxSIZE_NO_ADJUSTMENTS 0x0008 -// Clipboard formats -// Numbers as per winuser.h -# define wxCF_TEXT 1 /* CF_TEXT */ -# define wxCF_BITMAP 2 /* CF_BITMAP */ -# define wxCF_METAFILE 3 /* CF_METAFILEPICT */ -# define wxCF_DIB 8 /* CF_DIB */ -# define wxCF_OEMTEXT 7 /* CF_OEMTEXT */ + +// Data format for drag & drop and clipboard operations +// numbers as per winuser.h + +enum wxDataFormat +{ + wxDF_TEXT = 1, /* CF_TEXT */ + wxDF_BITMAP = 2, /* CF_BITMAP */ + wxDF_METAFILE = 3, /* CF_METAFILEPICT */ + wxDF_DIB = 8, /* CF_DIB */ + wxDF_OEMTEXT = 7, /* CF_OEMTEXT */ + wxDF_FILENAME = 15 /* CF_HDROP */ +}; // Virtual keycodes + enum _Virtual_keycodes { WXK_BACK = 8, WXK_TAB = 9, @@ -832,8 +839,9 @@ enum { #define wxID_APPLY 5102 #define wxID_YES 5103 #define wxID_NO 5104 +#define wxID_STATIC 5105 -#ifdef __WINDOWS__ +#ifdef __WXMSW__ // Stand-ins for Windows types, to avoid // #including all of windows.h @@ -847,6 +855,7 @@ typedef unsigned long WXHBRUSH; typedef unsigned long WXHPALETTE; typedef unsigned long WXHCURSOR; typedef unsigned long WXHRGN; +typedef unsigned long WXHACCEL; typedef unsigned long WXHINSTANCE; typedef unsigned long WXHBITMAP; typedef unsigned long WXHIMAGELIST; @@ -858,19 +867,15 @@ typedef unsigned short WXWORD; typedef unsigned int WXWPARAM; typedef long WXLPARAM; typedef unsigned long WXCOLORREF; -typedef void * WXRGN; typedef void * WXRGNDATA; typedef void * WXMSG; typedef unsigned long WXHCONV; typedef void * WXDRAWITEMSTRUCT; typedef void * WXMEASUREITEMSTRUCT; typedef void * WXLPCREATESTRUCT; -typedef int (*WXFARPROC)(); +typedef int (__stdcall *WXFARPROC)(); #endif -// for drag & drop and clipboard operations -typedef unsigned short wxDataFormat; - #endif // __WXDEFSH__