]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/defs.h
implemented, tested and documented wxTextCtrl::SetMaxLength()
[wxWidgets.git] / include / wx / defs.h
index 35630816ebdd1a55e5821c3ea67384633ea11426..8cb02a12d82a446f5d4fe9ed5ce6f40c922512ae 100644 (file)
     #endif
 #endif // Win32
 
     #endif
 #endif // Win32
 
+#if defined(__WXMSW__) || defined(__WIN32__)
+    #if !defined(__WINDOWS__)
+        #define __WINDOWS__
+    #endif
+#endif
+
 #ifdef __WXWINE__
     #ifndef __WIN32__
         #define __WIN32__
 #ifdef __WXWINE__
     #ifndef __WIN32__
         #define __WIN32__
         #define __HPUX__
     #endif // HP-UX
 
         #define __HPUX__
     #endif // HP-UX
 
-    #if defined(__APPLE__)
-        // MacOS X
-        #ifndef __WXMAC__
-            #define __WXMAC__
-        #endif
-        #ifndef __WXMAC_X__
-            // This define really should not be necessary since __WXMAC__
-            // combined with __UNIX__ is sufficient to differentiate
-            // Classic Mac OS from Mac OS X. However, some code has been
-            // added to workaround defects(?) in the bundled gcc compiler
-            // and these corrections are identified by __WXMAC_X__
-            #define __WXMAC_X__
-        #endif
+    #if defined(__WXMAC__) && defined(__DARWIN__)
+        // Mac OS X
+
+        // Some code has been added to workaround defects(?) in the
+        // bundled gcc compiler. These corrections are identified by:
+        // __DARWIN__ for corrections necessary for Darwin (wxMac, wxMotif)
 
         #include <Carbon/Carbon.h>
 
         #include <Carbon/Carbon.h>
-    #endif // __APPLE__
+    #endif // __WXMAC__ && __DARWIN__
 #elif defined(applec) || \
       defined(THINK_C) || \
       (defined(__MWERKS__) && !defined(__INTEL__))
       // MacOS
 #elif defined(applec) || \
       defined(THINK_C) || \
       (defined(__MWERKS__) && !defined(__INTEL__))
       // MacOS
-#elif defined(__WXMAC__) && defined(__APPLE__)
-    // MacOS X
+#elif defined(__WXMAC__) && defined(__DARWIN__)
+    // Mac OS X
     #define __UNIX_LIKE__
 
     #define __UNIX_LIKE__
 
-    #ifndef __WXMAC__
-        #define __WXMAC__
-    #endif
-    #ifndef __WXMAC_X__
-        // This define really should not be necessary since __WXMAC__
-        // combined with __UNIX__ is sufficient to differentiate
-        // Classic Mac OS from Mac OS X. However, some code has been
-        // added to workaround defects(?) in the bundled gcc compiler
-        // and these corrections are identified by __WXMAC_X__
-        #define __WXMAC_X__
-    #endif
+    // Some code has been added to workaround defects(?) in the
+    // bundled gcc compiler. These corrections are identified by:
+    // __DARWIN__ for corrections necessary for Darwin (wxMac, wxMotif)
 
     #include <Carbon/Carbon.h>
 #elif defined(__OS2__)
 
     #include <Carbon/Carbon.h>
 #elif defined(__OS2__)
         #define __SYMANTECC__
     #endif  // compiler
 
         #define __SYMANTECC__
     #endif  // compiler
 
-    // size_t is the same as unsigned int for all Windows compilers we know
-    #define wxSIZE_T_IS_UINT
+    // size_t is the same as unsigned int for all Windows compilers we know,
+    // so define it if it hadn't been done by configure yet
+    #if !defined(wxSIZE_T_IS_UINT) && !defined(wxSIZE_T_IS_ULONG)
+        #define wxSIZE_T_IS_UINT
+    #endif
 #endif  // OS
 
 // if we're on a Unix system but didn't use configure (so that setup.h didn't
 #endif  // OS
 
 // if we're on a Unix system but didn't use configure (so that setup.h didn't
 // compatibility code
 #if !wxUSE_GUI
     #undef WXWIN_COMPATIBILITY_2
 // compatibility code
 #if !wxUSE_GUI
     #undef WXWIN_COMPATIBILITY_2
+    #undef WXWIN_COMPATIBILITY_2_2
+
     #define WXWIN_COMPATIBILITY_2 0
     #define WXWIN_COMPATIBILITY_2 0
+    #define WXWIN_COMPATIBILITY_2_2 0
 #endif // !GUI
 
 // ============================================================================
 #endif // !GUI
 
 // ============================================================================
@@ -406,7 +403,7 @@ typedef int wxWindowID;
 
 // wxCALLBACK should be used for the functions which are called back by
 // Windows (such as compare function for wxListCtrl)
 
 // wxCALLBACK should be used for the functions which are called back by
 // Windows (such as compare function for wxListCtrl)
-#if defined(__WIN32__)
+#if defined(__WIN32__) && !defined(__WXMICROWIN__)
     #define wxCALLBACK wxSTDCALL
 #else
     // no stdcall under Unix nor Win16
     #define wxCALLBACK wxSTDCALL
 #else
     // no stdcall under Unix nor Win16
@@ -1101,22 +1098,6 @@ enum wxBorder
 #define wxLB_HSCROLL        wxHSCROLL
 // always show an entire number of rows
 #define wxLB_INT_HEIGHT     0x0800
 #define wxLB_HSCROLL        wxHSCROLL
 // always show an entire number of rows
 #define wxLB_INT_HEIGHT     0x0800
-/*
- * wxTextCtrl style flags
- */
-// the flag bits 0x0001, 2, 4 and 8 are free but should be used only for the
-// things which don't make sense for a text control used by wxTextEntryDialog
-// because they would otherwise conflict with wxOK, wxCANCEL, wxCENTRE
-#define wxTE_READONLY       0x0010
-#define wxTE_MULTILINE      0x0020
-#define wxTE_PROCESS_TAB    0x0040
-// this style means to use RICHEDIT control and does something only under wxMSW
-// and Win32 and is silently ignored under all other platforms
-#define wxTE_RICH           0x0080
-#define wxTE_NO_VSCROLL     0x0100
-#define wxTE_AUTO_SCROLL    0x0200
-#define wxTE_PROCESS_ENTER  0x0400
-#define wxTE_PASSWORD       0x0800
 
 // use wxHSCROLL to not wrap text at all, wxTE_LINEWRAP to wrap it at any
 // position and wxTE_WORDWRAP to wrap at words boundary
 
 // use wxHSCROLL to not wrap text at all, wxTE_LINEWRAP to wrap it at any
 // position and wxTE_WORDWRAP to wrap at words boundary
@@ -1189,16 +1170,6 @@ enum wxBorder
 #define wxSB_HORIZONTAL      wxHORIZONTAL
 #define wxSB_VERTICAL        wxVERTICAL
 
 #define wxSB_HORIZONTAL      wxHORIZONTAL
 #define wxSB_VERTICAL        wxVERTICAL
 
-/*
- * wxButton flags (Win32 only)
- */
-#define wxBU_AUTODRAW        0x0004
-#define wxBU_NOAUTODRAW      0x0000
-#define wxBU_LEFT            0x0040
-#define wxBU_TOP             0x0080
-#define wxBU_RIGHT           0x0100
-#define wxBU_BOTTOM          0x0200
-
 /*
  * wxTreeCtrl flags
  */
 /*
  * wxTreeCtrl flags
  */
@@ -1214,36 +1185,6 @@ enum wxBorder
 #define wxTR_MAC_BUTTONS     0x0200
 #define wxTR_ROW_LINES       0x0400
 
 #define wxTR_MAC_BUTTONS     0x0200
 #define wxTR_ROW_LINES       0x0400
 
-/*
- * wxListCtrl flags
- */
-#define wxLC_VRULES          0x0001
-#define wxLC_HRULES          0x0002
-#define wxLC_ICON            0x0004
-#define wxLC_SMALL_ICON      0x0008
-#define wxLC_LIST            0x0010
-#define wxLC_REPORT          0x0020
-#define wxLC_ALIGN_TOP       0x0040
-#define wxLC_ALIGN_LEFT      0x0080
-#define wxLC_AUTOARRANGE     0x0100
-#define wxLC_USER_TEXT       0x0200
-#define wxLC_EDIT_LABELS     0x0400
-#define wxLC_NO_HEADER       0x0800
-#define wxLC_NO_SORT_HEADER  0x1000
-#define wxLC_SINGLE_SEL      0x2000
-#define wxLC_SORT_ASCENDING  0x4000
-#define wxLC_SORT_DESCENDING 0x8000
-
-#define wxLC_MASK_TYPE       (wxLC_ICON | wxLC_SMALL_ICON | wxLC_LIST | wxLC_REPORT)
-#define wxLC_MASK_ALIGN      (wxLC_ALIGN_TOP | wxLC_ALIGN_LEFT)
-#define wxLC_MASK_SORT       (wxLC_SORT_ASCENDING | wxLC_SORT_DESCENDING)
-
-// Omitted because (a) too much detail (b) not enough style flags
-// #define wxLC_NO_SCROLL
-// #define wxLC_NO_LABEL_WRAP
-// #define wxLC_OWNERDRAW_FIXED
-// #define wxLC_SHOW_SEL_ALWAYS
-
 /*
  * wxSpinButton flags.
  * Note that a wxSpinCtrl is sometimes defined as
 /*
  * wxSpinButton flags.
  * Note that a wxSpinCtrl is sometimes defined as
@@ -1268,14 +1209,6 @@ enum wxBorder
 #define wxSP_FULLSASH         0x0400
 #define wxSP_3D               (wxSP_3DBORDER | wxSP_3DSASH)
 
 #define wxSP_FULLSASH         0x0400
 #define wxSP_3D               (wxSP_3DBORDER | wxSP_3DSASH)
 
-/*
- * wxTabCtrl flags
- */
-#define wxTC_MULTILINE        0x0000
-#define wxTC_RIGHTJUSTIFY     0x0010
-#define wxTC_FIXEDWIDTH       0x0020
-#define wxTC_OWNERDRAW        0x0040
-
 /*
  * wxNotebook flags
  */
 /*
  * wxNotebook flags
  */
@@ -1286,6 +1219,14 @@ enum wxBorder
 #define wxNB_BOTTOM           0x0080
 #define wxNB_MULTILINE        0x0100
 
 #define wxNB_BOTTOM           0x0080
 #define wxNB_MULTILINE        0x0100
 
+/*
+ * wxTabCtrl flags
+ */
+#define wxTC_RIGHTJUSTIFY     0x0010
+#define wxTC_FIXEDWIDTH       0x0020
+#define wxTC_OWNERDRAW        0x0040
+#define wxTC_MULTILINE        wxNB_MULTILINE
+
 /*
  * wxStatusBar95 flags
  */
 /*
  * wxStatusBar95 flags
  */
@@ -2007,7 +1948,7 @@ typedef struct tagLOGPALETTE
 } LOGPALETTE;
 #endif //__WXPM__
 
 } LOGPALETTE;
 #endif //__WXPM__
 
-#if defined(__GNUWIN32__) || defined(__WXWINE__)
+#if defined(__GNUWIN32__) || defined(__WXWINE__) || defined(__WXMICROWIN__)
     typedef int (*WXFARPROC)();
 #elif defined(__WIN32__)
     typedef int (__stdcall *WXFARPROC)();
     typedef int (*WXFARPROC)();
 #elif defined(__WIN32__)
     typedef int (__stdcall *WXFARPROC)();
@@ -2050,7 +1991,6 @@ typedef void*           WXGC;
 typedef void*           WXRegion;
 typedef void*           WXFont;
 typedef void*           WXImage;
 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 */
 typedef void*           WXFontList;
 
 typedef unsigned long   Atom;  /* this might fail on a few architectures */