]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
DP: native wxTreeCtrl for GTK.
[wxWidgets.git] / include / wx / defs.h
index 4dc564eae3f487c4d84f3cbbcca77d33706caa85..f5bfc86b809389ba516d2a098b6f682042565c9f 100644 (file)
 // 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
@@ -680,15 +676,22 @@ typedef enum {
 // 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,
@@ -836,6 +839,7 @@ enum {
 #define wxID_APPLY              5102
 #define wxID_YES                5103
 #define wxID_NO                 5104
+#define wxID_STATIC             5105
 
 #ifdef __WXMSW__
 // Stand-ins for Windows types, to avoid
@@ -851,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;
@@ -868,12 +873,9 @@ 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__