From 1f11220943f14b4bb5190db0dfd0054304f5015c Mon Sep 17 00:00:00 2001
From: Julian Smart <julian@anthemion.co.uk>
Date: Tue, 2 Feb 1999 12:37:14 +0000
Subject: [PATCH] Consistent naming of e.g. wxUSE_CTRL

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 distrib/msw/glcanvas.rsp   |  5 +++
 distrib/msw/ogl.rsp        |  8 +++-
 distrib/msw/tex2rtf.rsp    |  1 +
 docs/latex/wx/cmdevent.tex |  9 +---
 docs/latex/wx/tevent.tex   | 91 ++++++++++++++++++++++++++++++--------
 include/wx/defs.h          |  4 +-
 include/wx/event.h         |  4 +-
 include/wx/motif/window.h  | 12 +++++
 include/wx/msw/private.h   |  2 +-
 include/wx/msw/setup.h     | 73 ++++--------------------------
 include/wx/msw/setup0.h    | 68 +++-------------------------
 include/wx/stubs/window.h  | 12 +++++
 src/motif/window.cpp       |  5 +++
 src/msw/app.cpp            |  4 +-
 src/msw/button.cpp         |  2 +-
 src/msw/checkbox.cpp       |  6 +--
 src/msw/choice.cpp         |  2 +-
 src/msw/combobox.cpp       |  2 +-
 src/msw/dialog.cpp         |  4 +-
 src/msw/font.cpp           |  2 +-
 src/msw/fontdlg.cpp        |  2 +-
 src/msw/listbox.cpp        |  4 +-
 src/msw/makefile.b32       |  3 ++
 src/msw/makefile.bcc       |  3 ++
 src/msw/makefile.dos       |  6 +++
 src/msw/makefile.g95       |  1 +
 src/msw/makefile.sc        |  1 +
 src/msw/makefile.sl        |  4 ++
 src/msw/makefile.twn       |  1 +
 src/msw/makefile.vc        |  5 +++
 src/msw/makefile.wat       |  4 ++
 src/msw/radiobox.cpp       | 14 +++---
 src/msw/radiobut.cpp       |  6 +--
 src/msw/statbox.cpp        |  4 +-
 src/msw/stattext.cpp       |  4 +-
 src/msw/textctrl.cpp       |  4 +-
 src/msw/window.cpp         |  4 +-
 src/stubs/window.cpp       |  5 +++
 38 files changed, 201 insertions(+), 190 deletions(-)

diff --git a/distrib/msw/glcanvas.rsp b/distrib/msw/glcanvas.rsp
index 1be7c7686c..3269bf0ae8 100644
--- a/distrib/msw/glcanvas.rsp
+++ b/distrib/msw/glcanvas.rsp
@@ -5,16 +5,19 @@ utils/glcanvas/win/make*.*
 utils/glcanvas/gtk/*.cpp
 utils/glcanvas/gtk/*.h
 utils/glcanvas/gtk/make*.*
+utils/glcanvas/gtk/Makefile
 utils/glcanvas/motif/*.cpp
 utils/glcanvas/motif/*.h
 utils/glcanvas/motif/make*.*
 utils/glcanvas/motif/*.txt
+utils/glcanvas/motif/Makefile
 utils/glcanvas/samples/cube/*.cpp
 utils/glcanvas/samples/cube/*.h
 utils/glcanvas/samples/cube/*.rc
 utils/glcanvas/samples/cube/*.ico
 utils/glcanvas/samples/cube/*.xbm
 utils/glcanvas/samples/cube/make*.*
+utils/glcanvas/samples/cube/Makefile
 
 utils/glcanvas/samples/isosurf/*.cpp
 utils/glcanvas/samples/isosurf/*.h
@@ -23,6 +26,7 @@ utils/glcanvas/samples/isosurf/*.ico
 utils/glcanvas/samples/isosurf/*.xbm
 utils/glcanvas/samples/isosurf/*.dat.gz
 utils/glcanvas/samples/isosurf/make*.*
+utils/glcanvas/samples/isosurf/Makefile
 
 utils/glcanvas/samples/penguin/*.cpp
 utils/glcanvas/samples/penguin/*.c
@@ -32,6 +36,7 @@ utils/glcanvas/samples/penguin/*.ico
 utils/glcanvas/samples/penguin/*.xbm
 utils/glcanvas/samples/penguin/*.xpm
 utils/glcanvas/samples/penguin/make*.*
+utils/glcanvas/samples/penguin/Makefile
 utils/glcanvas/samples/penguin/penguin.lwo
 
 
diff --git a/distrib/msw/ogl.rsp b/distrib/msw/ogl.rsp
index 27db43a242..f981ca6d6c 100644
--- a/distrib/msw/ogl.rsp
+++ b/distrib/msw/ogl.rsp
@@ -1,10 +1,13 @@
+utils/ogl/Makefile
+
 utils/ogl/src/*.cpp
 utils/ogl/src/*.h
 utils/ogl/src/*.rc
 utils/ogl/src/*.def
 utils/ogl/src/*.xbm
 utils/ogl/src/*.xpm
-utils/ogl/src/makefile*
+utils/ogl/src/make*.*
+utils/ogl/src/Makefile
 utils/ogl/src/*.txt
 utils/ogl/src/*.ico
 utils/ogl/src/*.bmp
@@ -14,7 +17,8 @@ utils/ogl/samples/ogledit/*.h
 utils/ogl/samples/ogledit/*.rc
 utils/ogl/samples/ogledit/*.def
 utils/ogl/samples/ogledit/*.xbm
-utils/ogl/samples/ogledit/makefile*
+utils/ogl/samples/ogledit/make*.*
+utils/ogl/samples/ogledit/Makefile
 utils/ogl/samples/ogledit/*.txt
 utils/ogl/samples/ogledit/*.ico
 utils/ogl/samples/ogledit/*.bmp
diff --git a/distrib/msw/tex2rtf.rsp b/distrib/msw/tex2rtf.rsp
index 5f531b87f0..294535d9d6 100644
--- a/distrib/msw/tex2rtf.rsp
+++ b/distrib/msw/tex2rtf.rsp
@@ -1,6 +1,7 @@
 utils/tex2rtf/src/*.cpp
 utils/tex2rtf/src/*.h
 utils/tex2rtf/src/make*.*
+utils/tex2rtf/src/Makefile
 utils/tex2rtf/src/*.xbm
 utils/tex2rtf/src/*.xpm
 utils/tex2rtf/src/*.sty
diff --git a/docs/latex/wx/cmdevent.tex b/docs/latex/wx/cmdevent.tex
index 649f0d5038..8d4873fb1f 100644
--- a/docs/latex/wx/cmdevent.tex
+++ b/docs/latex/wx/cmdevent.tex
@@ -14,9 +14,9 @@ functions that take a wxCommandEvent argument.
 
 \twocolwidtha{7cm}
 \begin{twocollist}\itemsep=0pt
-\twocolitem{{\bf EVT\_COMMAND(id, cmd, func)}}{Process a command, supplying the window identifier,
+\twocolitem{{\bf EVT\_COMMAND(id, event, func)}}{Process a command, supplying the window identifier,
 command event identifier, and member function.}
-\twocolitem{{\bf EVT\_COMMAND\_RANGE(id1, id2, cmd, func)}}{Process a command for a range
+\twocolitem{{\bf EVT\_COMMAND\_RANGE(id1, id2, event, func)}}{Process a command for a range
 of window identifiers, supplying the minimum and maximum window identifiers,
 command event identifier, and member function.}
 \twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED command,
@@ -181,8 +181,3 @@ Sets the {\bf m\_commandInt} member.
 
 Sets the {\bf m\_commandString} member.
 
-
-%%% Local Variables: 
-%%% mode: latex
-%%% TeX-master: "referenc"
-%%% End: 
diff --git a/docs/latex/wx/tevent.tex b/docs/latex/wx/tevent.tex
index a69b2f5350..2b67f2cfa3 100644
--- a/docs/latex/wx/tevent.tex
+++ b/docs/latex/wx/tevent.tex
@@ -77,9 +77,9 @@ It may be noted that wxWindows' event processing system implements something
 very close to virtual methods in normal C++, i.e. it is possible to alter
 the behaviour of a class by overriding its event handling functions. In
 many cases this works even for changing the behaviour of native controls.
-E.g. it is possible to filter out a number of key events sent by the
+For example it is possible to filter out a number of key events sent by the
 system to a native text control by overriding wxTextCtrl and defining a
-handler for key events using EVT_KEY_DOWN. This would in-deed prevent
+handler for key events using EVT\_KEY\_DOWN. This would indeed prevent
 any key events from being sent to the native control - which might not be
 what is desired. In this case the event handler function has to call Skip()
 so as to indicate that it did NOT handle the event at all.
@@ -107,7 +107,6 @@ void MyTextCtrl::OnChar(wxKeyEvent& event)
        wxBell();
     }
 }
-
 \end{verbatim}
 }%
 
@@ -158,7 +157,7 @@ events which will NOT get sent to the parent's event handler:
 \end{twocollist}
 
 In some cases, it might be desired by the programmer to get a certain number
-of system events in a parent window, e.g. all key events sent to, but not
+of system events in a parent window, for example all key events sent to, but not
 used by, the native controls in a dialog. In this case, a special event handler
 will have to be written that will override ProcessEvent() in order to pass
 all events (or any selection of them) to the parent window. See next section.
@@ -191,31 +190,87 @@ the original event handler. Use PushEventHandler/PopEventHandler
 to form a chain of event handlers, where each handler processes a different
 range of events independently from the other handlers.
 
-\subsection{Event macros summary}\label{eventmacros}
+\subsection{Window identifiers}\label{windowids}
 
-\wxheading{Specifying an event table}
+\index{identifiers}\index{wxID}Window identifiers are integers, and are used to uniquely determine window identity in the
+event system (though you can use it for other purposes). In fact, identifiers do not need
+to be unique across your entire application just so long as they are unique within a particular context you're interested
+in, such as a frame and its children. You may use the wxID\_OK identifier, for example, on
+any number of dialogs so long as you don't have several within the same dialog.
 
-\twocolwidtha{8cm}%
-\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{EVT\_CUSTOM(eventId, id, func)}}{Allows you to add a custom event table
-entry by specifying the event identifier (such as wxEVT\_SIZE), the window identifier,
-and a member function to call.}
-\twocolitem{\windowstyle{EVT\_CUSTOM\_RANGE(eventId, id1, id2, func)}}{The same as EVT\_CUSTOM,
-but responds to a range of window identifiers.}
-\end{twocollist}
+If you pass -1 to a window constructor, an identifier will be generated for you, but beware:
+if things don't respond in the way they should, it could be because of an id conflict. It's safer
+to supply window ids at all times. Automatic generation of identifiers starts at 1 so may well conflict
+with your own identifiers.
+
+The following standard identifiers are supplied. You can use wxID\_HIGHEST to determine the
+number above which it is safe to define your own identifiers. Or, you can use identifiers below
+wxID\_LOWEST.
+
+\begin{verbatim}
+#define wxID_LOWEST             4999
+
+#define wxID_OPEN               5000
+#define wxID_CLOSE              5001
+#define wxID_NEW                5002
+#define wxID_SAVE               5003
+#define wxID_SAVEAS             5004
+#define wxID_REVERT             5005
+#define wxID_EXIT               5006
+#define wxID_UNDO               5007
+#define wxID_REDO               5008
+#define wxID_HELP               5009
+#define wxID_PRINT              5010
+#define wxID_PRINT_SETUP        5011
+#define wxID_PREVIEW            5012
+#define wxID_ABOUT              5013
+#define wxID_HELP_CONTENTS      5014
+#define wxID_HELP_COMMANDS      5015
+#define wxID_HELP_PROCEDURES    5016
+#define wxID_HELP_CONTEXT       5017
+
+#define wxID_CUT                5030
+#define wxID_COPY               5031
+#define wxID_PASTE              5032
+#define wxID_CLEAR              5033
+#define wxID_FIND               5034
+#define wxID_DUPLICATE          5035
+#define wxID_SELECTALL          5036
+
+#define wxID_FILE1              5050
+#define wxID_FILE2              5051
+#define wxID_FILE3              5052
+#define wxID_FILE4              5053
+#define wxID_FILE5              5054
+#define wxID_FILE6              5055
+#define wxID_FILE7              5056
+#define wxID_FILE8              5057
+#define wxID_FILE9              5058
+
+#define wxID_OK                 5100
+#define wxID_CANCEL             5101
+#define wxID_APPLY              5102
+#define wxID_YES                5103
+#define wxID_NO                 5104
+#define wxID_STATIC             5105
+
+#define wxID_HIGHEST            5999
+\end{verbatim}
+
+\subsection{Event macros summary}\label{eventmacros}
 
 \wxheading{Generic event table macros}
 
 \twocolwidtha{8cm}%
 \begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{EVT\_CUSTOM(eventId, id, func)}}{Allows you to add a custom event table
+\twocolitem{\windowstyle{EVT\_CUSTOM(event, id, func)}}{Allows you to add a custom event table
 entry by specifying the event identifier (such as wxEVT\_SIZE), the window identifier,
 and a member function to call.}
-\twocolitem{\windowstyle{EVT\_CUSTOM\_RANGE(eventId, id1, id2, func)}}{The same as EVT\_CUSTOM,
+\twocolitem{\windowstyle{EVT\_CUSTOM\_RANGE(event, id1, id2, func)}}{The same as EVT\_CUSTOM,
 but responds to a range of window identifiers.}
-\twocolitem{\windowstyle{EVT\_COMMAND(eventId, id, func)}}{The same as EVT\_CUSTOM, but
+\twocolitem{\windowstyle{EVT\_COMMAND(id, event, func)}}{The same as EVT\_CUSTOM, but
 expects a member function with a wxCommandEvent argument.}
-\twocolitem{\windowstyle{EVT\_COMMAND\_RANGE(eventId, id1, id2, func)}}{The same as EVT\_CUSTOM\_RANGE, but
+\twocolitem{\windowstyle{EVT\_COMMAND\_RANGE(id1, id2, event, func)}}{The same as EVT\_CUSTOM\_RANGE, but
 expects a member function with a wxCommandEvent argument.}
 \end{twocollist}
 
diff --git a/include/wx/defs.h b/include/wx/defs.h
index 55a54645ef..eefebd53ed 100644
--- a/include/wx/defs.h
+++ b/include/wx/defs.h
@@ -140,7 +140,7 @@
             typedef unsigned char bool;
         #endif // Sun CC version
     #else
-        #error "Unknown compiler: only Sun's CC and gcc are currently reckognized."
+        #error "Unknown compiler: only Sun's CC and gcc are currently recognised."
     #endif // Sun CC
 #endif
 
@@ -894,6 +894,8 @@ enum
 #endif
 
 /* Standard menu identifiers */
+#define wxID_LOWEST             4999
+
 #define wxID_OPEN               5000
 #define wxID_CLOSE              5001
 #define wxID_NEW                5002
diff --git a/include/wx/event.h b/include/wx/event.h
index 8defe804d3..9ab216b3d5 100644
--- a/include/wx/event.h
+++ b/include/wx/event.h
@@ -1225,8 +1225,8 @@ const wxEventTableEntry theClass::sm_eventTableEntries[] = { \
  { wxEVT_LEAVE_WINDOW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxMouseEventFunction) & func, (wxObject *) NULL },
 
 // EVT_COMMAND
-#define EVT_COMMAND(id, cmd, fn)  { cmd, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },
-#define EVT_COMMAND_RANGE(id1, id2, cmd, fn)  { cmd, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },
+#define EVT_COMMAND(id, event, fn)  { event, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },
+#define EVT_COMMAND_RANGE(id1, id2, event, fn)  { eventId, id1, id2, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) & fn, (wxObject *) NULL },
 
 // Scrolling
 #define EVT_SCROLL(func) \
diff --git a/include/wx/motif/window.h b/include/wx/motif/window.h
index ae9f07668d..34e55e106b 100644
--- a/include/wx/motif/window.h
+++ b/include/wx/motif/window.h
@@ -244,6 +244,18 @@ public:
   // Accept files for dragging
   virtual void DragAcceptFiles(bool accept);
 
+  // tooltips
+    // create a tooltip with this text
+  void SetToolTip(const wxString& tip);
+
+  // TODO
+#if 0
+    // pointer may be NULL to remove the tooltip
+  void SetToolTip(wxToolTip *tooltip);
+    // get the current tooltip (may return NULL if none)
+  wxToolTip* GetToolTip() const { return m_tooltip; }
+#endif
+
   // Update region access
   virtual wxRegion& GetUpdateRegion() const;
   virtual bool IsExposed(int x, int y, int w, int h) const;
diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h
index 14ebb23d13..dcf23526ab 100644
--- a/include/wx/msw/private.h
+++ b/include/wx/msw/private.h
@@ -111,7 +111,7 @@ VOID    WINAPI ibAdjustWindowRect( HWND hWnd, LPRECT lprc ) ;
  *
  */
 
-#if CTL3D
+#if wxUSE_CTL3D
 #include <wx/msw/ctl3d/ctl3d.h>
 #endif
 
diff --git a/include/wx/msw/setup.h b/include/wx/msw/setup.h
index bf4d3db778..1e3d48f4d2 100644
--- a/include/wx/msw/setup.h
+++ b/include/wx/msw/setup.h
@@ -19,26 +19,20 @@
 
 #define wxUSE_CONFIG           1
                                 // Use wxConfig, with CreateConfig in wxApp
-#define _WX_GOODCOMPILER__
-                                // gcc can have problems, but Windows compilers
-                                // are generally OK.
-#define WXWIN_COMPATIBILITY  1  
+
+#define WXWIN_COMPATIBILITY  0
                                 // Compatibility with 1.68 API.
                                 // Level 0: no backward compatibility, all new features
                                 // Level 1: Some compatibility. In fact
                                 // the compatibility code is now very minimal so there
                                 // is little advantage to setting it to 1.
 
-#define wxUSE_AUTOTRANS   1
-                                // Define wxTString
 #define wxUSE_POSTSCRIPT  0
                             // 0 for no PostScript device context
 #define wxUSE_AFM_FOR_POSTSCRIPT 0
                                 // 1 to use font metric files in GetTextExtent
 #define wxUSE_METAFILE    1
                                 // 0 for no Metafile and metafile device context
-#define wxUSE_FORM        0
-                                // 0 for no wxForm
 #define wxUSE_IPC         1
                                 // 0 for no interprocess comms
 // Note: wxHELP uses IPC under X so these are interdependent!
@@ -54,11 +48,9 @@
 
 #define wxUSE_CLIPBOARD   1
                                 // 0 for no clipboard functions
+
 #define wxUSE_SPLINES     1
                                     // 0 for no splines
-#define wxUSE_XFIG_SPLINE_CODE  1
-                                   // 1 for XFIG spline code, 0 for AIAI spline code.
-// AIAI spline code is slower, but freer of copyright issues.
 
 #define wxUSE_DRAG_AND_DROP 1
                                 // 0 for no drag and drop
@@ -95,8 +87,6 @@
 #define wxUSE_WX_RESOURCES        0
 #endif
 
-#define HAVE_SOCKET             1
-                                  // Use WinSock if 1
 #define wxUSE_DOC_VIEW_ARCHITECTURE 1
                                   // Set to 0 to disable document/view architecture
 #define wxUSE_PRINTING_ARCHITECTURE  1
@@ -164,6 +154,9 @@
                                   // Use standard C++ streams if 1. If 0, use wxWin
                                   // streams implementation.
 
+#define wxUSE_TOOLTIPS      1
+                                  // Define to use wxToolTip class and
+                                  // wxWindow::SetToolTip() method
 /*
  * Finer detail
  *
@@ -180,9 +173,9 @@
  */
 
 #if defined(__WIN95__)
-#define CTL3D                      0
+#define wxUSE_CTL3D                      0
 #else
-#define CTL3D                      1
+#define wxUSE_CTL3D                      1
                                     // Define 1 to use Microsoft CTL3D library.
                                     // See note above about using FAFA and CTL3D.
 #endif
@@ -202,7 +195,7 @@
 #define wxUSE_PORTABLE_FONTS_IN_MSW  0
                                     // Define 1 to use new portable font scheme in Windows
                                     // (used by default under X)
-#define FONT_SIZE_COMPATIBILITY    0
+#define wxFONT_SIZE_COMPATIBILITY    0
                                     // Define 1 for font size to be backward compatible
                                     // to 1.63 and earlier. 1.64 and later define point
                                     // sizes to be compatible with Windows.
@@ -288,53 +281,5 @@
 
 #endif
 
-// Minimal setup e.g. for compiling small utilities
-#define MINIMAL_WXWINDOWS_SETUP 0
-
-#if MINIMAL_WXWINDOWS_SETUP
-#undef wxUSE_POSTSCRIPT
-# define wxUSE_POSTSCRIPT 0
-#undef wxUSE_PRINTING_ARCHITECTURE
-# define wxUSE_PRINTING_ARCHITECTURE 0
-#undef wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW
-# define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0
-#undef wxUSE_METAFILE
-# define wxUSE_METAFILE 0
-#undef wxUSE_FORM
-# define wxUSE_FORM 0
-#undef wxUSE_SPLINES
-# define wxUSE_SPLINES 0
-#undef wxUSE_SCROLLBAR
-# define wxUSE_SCROLLBAR 0
-#undef wxUSE_COMBOBOX
-# define wxUSE_COMBOBOX 0
-#undef wxUSE_RADIOBUTTON
-# define wxUSE_RADIOBUTTON 0
-#undef wxUSE_XPM_IN_MSW
-# define wxUSE_XPM_IN_MSW 0
-#undef wxUSE_WX_RESOURCES
-# define wxUSE_WX_RESOURCES 0
-#undef wxUSE_DOC_VIEW_ARCHITECTURE
-# define wxUSE_DOC_VIEW_ARCHITECTURE 0
-#undef wxUSE_GNU_WXSTRING
-# define wxUSE_GNU_WXSTRING 0
-#undef wxUSE_ODBC
-# define wxUSE_ODBC 0
-#undef wxUSE_TIMEDATE
-# define wxUSE_TIMEDATE 0
-#undef CTL3D
-# define CTL3D 0
-#undef wxUSE_ITSY_BITSY
-# define wxUSE_ITSY_BITSY 0
-#undef wxUSE_IMAGE_LOADING_IN_MSW
-# define wxUSE_IMAGE_LOADING_IN_MSW 0
-#undef wxUSE_GAUGE
-# define wxUSE_GAUGE 0
-#undef wxUSE_RESOURCE_LOADING_IN_MSW
-# define wxUSE_RESOURCE_LOADING_IN_MSW 0
-#undef wxUSE_DRAG_AND_DROP
-# define wxUSE_DRAG_AND_DROP 0
-#endif
-
 #endif
     // _WX_SETUP_H_
diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h
index d65e756645..83a7a95159 100644
--- a/include/wx/msw/setup0.h
+++ b/include/wx/msw/setup0.h
@@ -19,9 +19,7 @@
 
 #define wxUSE_CONFIG           1
                                 // Use wxConfig, with CreateConfig in wxApp
-#define _WX_GOODCOMPILER__
-                                // gcc can have problems, but Windows compilers
-                                // are generally OK.
+
 #define WXWIN_COMPATIBILITY  0
                                 // Compatibility with 1.68 API.
                                 // Level 0: no backward compatibility, all new features
@@ -29,16 +27,12 @@
                                 // the compatibility code is now very minimal so there
                                 // is little advantage to setting it to 1.
 
-#define wxUSE_AUTOTRANS   1
-                                // Define wxTString
 #define wxUSE_POSTSCRIPT  0
                             // 0 for no PostScript device context
 #define wxUSE_AFM_FOR_POSTSCRIPT 0
                                 // 1 to use font metric files in GetTextExtent
 #define wxUSE_METAFILE    1
                                 // 0 for no Metafile and metafile device context
-#define wxUSE_FORM        0
-                                // 0 for no wxForm
 #define wxUSE_IPC         1
                                 // 0 for no interprocess comms
 // Note: wxHELP uses IPC under X so these are interdependent!
@@ -54,11 +48,9 @@
 
 #define wxUSE_CLIPBOARD   1
                                 // 0 for no clipboard functions
+
 #define wxUSE_SPLINES     1
                                     // 0 for no splines
-#define wxUSE_XFIG_SPLINE_CODE  1
-                                   // 1 for XFIG spline code, 0 for AIAI spline code.
-// AIAI spline code is slower, but freer of copyright issues.
 
 #define wxUSE_DRAG_AND_DROP 1
                                 // 0 for no drag and drop
@@ -95,8 +87,6 @@
 #define wxUSE_WX_RESOURCES        0
 #endif
 
-#define HAVE_SOCKET             1
-                                  // Use WinSock if 1
 #define wxUSE_DOC_VIEW_ARCHITECTURE 1
                                   // Set to 0 to disable document/view architecture
 #define wxUSE_PRINTING_ARCHITECTURE  1
@@ -184,9 +174,9 @@
  */
 
 #if defined(__WIN95__)
-#define CTL3D                      0
+#define wxUSE_CTL3D                      0
 #else
-#define CTL3D                      1
+#define wxUSE_CTL3D                      1
                                     // Define 1 to use Microsoft CTL3D library.
                                     // See note above about using FAFA and CTL3D.
 #endif
@@ -206,7 +196,7 @@
 #define wxUSE_PORTABLE_FONTS_IN_MSW  0
                                     // Define 1 to use new portable font scheme in Windows
                                     // (used by default under X)
-#define FONT_SIZE_COMPATIBILITY    0
+#define wxFONT_SIZE_COMPATIBILITY    0
                                     // Define 1 for font size to be backward compatible
                                     // to 1.63 and earlier. 1.64 and later define point
                                     // sizes to be compatible with Windows.
@@ -292,53 +282,5 @@
 
 #endif
 
-// Minimal setup e.g. for compiling small utilities
-#define MINIMAL_WXWINDOWS_SETUP 0
-
-#if MINIMAL_WXWINDOWS_SETUP
-#undef wxUSE_POSTSCRIPT
-# define wxUSE_POSTSCRIPT 0
-#undef wxUSE_PRINTING_ARCHITECTURE
-# define wxUSE_PRINTING_ARCHITECTURE 0
-#undef wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW
-# define wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW 0
-#undef wxUSE_METAFILE
-# define wxUSE_METAFILE 0
-#undef wxUSE_FORM
-# define wxUSE_FORM 0
-#undef wxUSE_SPLINES
-# define wxUSE_SPLINES 0
-#undef wxUSE_SCROLLBAR
-# define wxUSE_SCROLLBAR 0
-#undef wxUSE_COMBOBOX
-# define wxUSE_COMBOBOX 0
-#undef wxUSE_RADIOBUTTON
-# define wxUSE_RADIOBUTTON 0
-#undef wxUSE_XPM_IN_MSW
-# define wxUSE_XPM_IN_MSW 0
-#undef wxUSE_WX_RESOURCES
-# define wxUSE_WX_RESOURCES 0
-#undef wxUSE_DOC_VIEW_ARCHITECTURE
-# define wxUSE_DOC_VIEW_ARCHITECTURE 0
-#undef wxUSE_GNU_WXSTRING
-# define wxUSE_GNU_WXSTRING 0
-#undef wxUSE_ODBC
-# define wxUSE_ODBC 0
-#undef wxUSE_TIMEDATE
-# define wxUSE_TIMEDATE 0
-#undef CTL3D
-# define CTL3D 0
-#undef wxUSE_ITSY_BITSY
-# define wxUSE_ITSY_BITSY 0
-#undef wxUSE_IMAGE_LOADING_IN_MSW
-# define wxUSE_IMAGE_LOADING_IN_MSW 0
-#undef wxUSE_GAUGE
-# define wxUSE_GAUGE 0
-#undef wxUSE_RESOURCE_LOADING_IN_MSW
-# define wxUSE_RESOURCE_LOADING_IN_MSW 0
-#undef wxUSE_DRAG_AND_DROP
-# define wxUSE_DRAG_AND_DROP 0
-#endif
-
 #endif
     // _WX_SETUP_H_
diff --git a/include/wx/stubs/window.h b/include/wx/stubs/window.h
index bf0b03db9e..aae03f8a6f 100644
--- a/include/wx/stubs/window.h
+++ b/include/wx/stubs/window.h
@@ -230,6 +230,18 @@ public:
   // Accept files for dragging
   virtual void DragAcceptFiles(bool accept);
 
+  // tooltips
+    // create a tooltip with this text
+  void SetToolTip(const wxString& tip);
+
+  // TODO
+#if 0
+    // pointer may be NULL to remove the tooltip
+  void SetToolTip(wxToolTip *tooltip);
+    // get the current tooltip (may return NULL if none)
+  wxToolTip* GetToolTip() const { return m_tooltip; }
+#endif
+
   // Update region access
   virtual wxRegion GetUpdateRegion() const;
   virtual bool IsExposed(int x, int y, int w, int h) const;
diff --git a/src/motif/window.cpp b/src/motif/window.cpp
index 139f5cced4..a37d58c0bd 100644
--- a/src/motif/window.cpp
+++ b/src/motif/window.cpp
@@ -3414,6 +3414,11 @@ void wxWindow::SetFont(const wxFont& font)
     ChangeFont();
 }
 
+void wxWindow::SetToolTip(const wxString& tooltip)
+{
+    // TODO
+}
+
 void wxWindow::ClearUpdateRects()
 {
     wxNode* node = m_updateRects.First();
diff --git a/src/msw/app.cpp b/src/msw/app.cpp
index 418073ea9f..ac63e42c76 100644
--- a/src/msw/app.cpp
+++ b/src/msw/app.cpp
@@ -192,7 +192,7 @@ bool wxApp::Initialize()
       wxFatalError(_("Cannot initialize OLE"));
 #endif
 
-#if CTL3D
+#if wxUSE_CTL3D
     if (!Ctl3dRegister(wxhInstance))
       wxFatalError("Cannot register CTL3D");
 
@@ -511,7 +511,7 @@ void wxApp::CleanUp()
   ::OleUninitialize();
 #endif
 
-#if CTL3D
+#if wxUSE_CTL3D
   Ctl3dUnregister(wxhInstance);
 #endif
 
diff --git a/src/msw/button.cpp b/src/msw/button.cpp
index fce544bd25..17f82e6e7f 100644
--- a/src/msw/button.cpp
+++ b/src/msw/button.cpp
@@ -78,7 +78,7 @@ bool wxButton::Create(wxWindow *parent, wxWindowID id, const wxString& label,
                     0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)m_windowId,
                     wxGetInstance(), NULL);
 
-#if CTL3D
+#if wxUSE_CTL3D
 //  if (!(GetParent()->GetWindowStyleFlag() & wxUSER_COLOURS))
 //    Ctl3dSubclassCtl(wx_button);
 #endif
diff --git a/src/msw/checkbox.cpp b/src/msw/checkbox.cpp
index 1461cf6f4f..3d6baa551f 100644
--- a/src/msw/checkbox.cpp
+++ b/src/msw/checkbox.cpp
@@ -95,7 +95,7 @@ bool wxCheckBox::Create(wxWindow *parent, wxWindowID id, const wxString& label,
                                   (HWND)parent->GetHWND(), (HMENU)m_windowId,
                                   wxGetInstance(), NULL);
 
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     Ctl3dSubclassCtl((HWND)m_hWnd);
@@ -186,7 +186,7 @@ bool wxCheckBox::GetValue(void) const
 WXHBRUSH wxCheckBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
 			WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
@@ -250,7 +250,7 @@ bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *l
                     0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)m_windowId,
                     wxGetInstance(), NULL);
 
-#if CTL3D
+#if wxUSE_CTL3D
   if (!(GetParent()->GetWindowStyleFlag() & wxUSER_COLOURS))
   {
     Ctl3dSubclassCtl(wx_button);
diff --git a/src/msw/choice.cpp b/src/msw/choice.cpp
index 26b67c9d36..4bba2263d7 100644
--- a/src/msw/choice.cpp
+++ b/src/msw/choice.cpp
@@ -94,7 +94,7 @@ bool wxChoice::Create(wxWindow *parent, wxWindowID id,
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create combobox" );
 
 /*
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     m_useCtl3D = TRUE;
diff --git a/src/msw/combobox.cpp b/src/msw/combobox.cpp
index abd740fa2b..ab5eb3ef41 100644
--- a/src/msw/combobox.cpp
+++ b/src/msw/combobox.cpp
@@ -115,7 +115,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id,
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create combobox" );
 
 /*
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     Ctl3dSubclassCtl(wx_combo);
diff --git a/src/msw/dialog.cpp b/src/msw/dialog.cpp
index d5f08d2412..765092e7da 100644
--- a/src/msw/dialog.cpp
+++ b/src/msw/dialog.cpp
@@ -513,7 +513,7 @@ void wxDialog::EndModal(int retCode)
 WXHBRUSH wxDialog::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
       WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
   return (WXHBRUSH) hbrush;
 #else
@@ -607,7 +607,7 @@ bool wxDialog::Destroy(void)
 
 void wxDialog::OnSysColourChanged(wxSysColourChangedEvent& event)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   Ctl3dColorChange();
 #else
   SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DFACE));
diff --git a/src/msw/font.cpp b/src/msw/font.cpp
index 1ef70b48b4..47f4ac63fa 100644
--- a/src/msw/font.cpp
+++ b/src/msw/font.cpp
@@ -192,7 +192,7 @@ bool wxFont::RealizeResource(void)
     // up fonts. So, set ppInch to a constant 96 dpi.
     ppInch = 96;
     
-#if FONT_SIZE_COMPATIBILITY
+#if wxFONT_SIZE_COMPATIBILITY
     // Incorrect, but compatible with old wxWindows behaviour
     int nHeight = (M_FONTDATA->m_pointSize*ppInch/72);
 #else
diff --git a/src/msw/fontdlg.cpp b/src/msw/fontdlg.cpp
index 69a1daa467..6ab94108d0 100644
--- a/src/msw/fontdlg.cpp
+++ b/src/msw/fontdlg.cpp
@@ -174,7 +174,7 @@ void wxFillLogFont(LOGFONT *logFont, wxFont *font)
     // up fonts. So, set ppInch to a constant 96 dpi.
     ppInch = 96;
 
-#if FONT_SIZE_COMPATIBILITY
+#if wxFONT_SIZE_COMPATIBILITY
     // Incorrect, but compatible with old wxWindows behaviour
     int nHeight = (font->GetPointSize()*ppInch/72);
 #else
diff --git a/src/msw/listbox.cpp b/src/msw/listbox.cpp
index 29eda8f233..9de6a74b3b 100644
--- a/src/msw/listbox.cpp
+++ b/src/msw/listbox.cpp
@@ -216,7 +216,7 @@ bool wxListBox::Create(wxWindow *parent, wxWindowID id,
 
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create listbox" );
 
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     Ctl3dSubclassCtl(hwnd);
@@ -688,7 +688,7 @@ void wxListBox::Command (wxCommandEvent & event)
 WXHBRUSH wxListBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
 			WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
diff --git a/src/msw/makefile.b32 b/src/msw/makefile.b32
index 49f7945204..15d88838ed 100644
--- a/src/msw/makefile.b32
+++ b/src/msw/makefile.b32
@@ -235,6 +235,7 @@ MSWOBJS = \
   $(MSWDIR)\textctrl.obj \
   $(MSWDIR)\thread.obj \
   $(MSWDIR)\timer.obj \
+  $(MSWDIR)\tooltip.obj \
   $(MSWDIR)\treectrl.obj \
   $(MSWDIR)\taskbar.obj \
   $(MSWDIR)\tbar95.obj \
@@ -449,6 +450,8 @@ $(MSWDIR)\thread.obj:     $(MSWDIR)\thread.$(SRCSUFF)
 
 $(MSWDIR)\timer.obj:     $(MSWDIR)\timer.$(SRCSUFF)
 
+$(MSWDIR)\tooltip.obj:     $(MSWDIR)\tooltip.$(SRCSUFF)
+
 $(MSWDIR)\treectrl.obj:     $(MSWDIR)\treectrl.$(SRCSUFF)
 
 $(MSWDIR)\utils.obj:     $(MSWDIR)\utils.$(SRCSUFF)
diff --git a/src/msw/makefile.bcc b/src/msw/makefile.bcc
index bf74b2988f..baac105820 100644
--- a/src/msw/makefile.bcc
+++ b/src/msw/makefile.bcc
@@ -228,6 +228,7 @@ MSWOBJS = \
   $(MSWDIR)\tbarmsw.obj \
   $(MSWDIR)\textctrl.obj \
   $(MSWDIR)\timer.obj \
+  $(MSWDIR)\tooltip.obj \
   $(MSWDIR)\utils.obj \
   $(MSWDIR)\utilsexc.obj \
   $(MSWDIR)\wave.obj \
@@ -434,6 +435,8 @@ $(MSWDIR)\thread.obj:     $(MSWDIR)\thread.$(SRCSUFF)
 
 $(MSWDIR)\timer.obj:     $(MSWDIR)\timer.$(SRCSUFF)
 
+$(MSWDIR)\tooltip.obj:     $(MSWDIR)\tooltip.$(SRCSUFF)
+
 # $(MSWDIR)\treectrl.obj:     $(MSWDIR)\treectrl.$(SRCSUFF)
 
 $(MSWDIR)\utils.obj:     $(MSWDIR)\utils.$(SRCSUFF)
diff --git a/src/msw/makefile.dos b/src/msw/makefile.dos
index b2810c50e9..7c4eae1c5c 100644
--- a/src/msw/makefile.dos
+++ b/src/msw/makefile.dos
@@ -195,6 +195,7 @@ MSWOBJS = \
   $(MSWDIR)\tbarmsw.obj \
   $(MSWDIR)\textctrl.obj \
   $(MSWDIR)\timer.obj \
+  $(MSWDIR)\tooltip.obj \
   $(MSWDIR)\utils.obj \
   $(MSWDIR)\utilsexc.obj \
   $(MSWDIR)\wave.obj \
@@ -614,6 +615,11 @@ $(MSWDIR)/timer.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
 <<
 
+$(MSWDIR)/tooltip.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
+<<
+
 $(MSWDIR)/treectrl.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
diff --git a/src/msw/makefile.g95 b/src/msw/makefile.g95
index deff283a4f..aee32cbfd7 100644
--- a/src/msw/makefile.g95
+++ b/src/msw/makefile.g95
@@ -218,6 +218,7 @@ MSWOBJS = \
   textctrl.$(OBJSUFF) \
   thread.$(OBJSUFF) \
   timer.$(OBJSUFF) \
+  tooltip.$(OBJSUFF) \
   treectrl.$(OBJSUFF) \
   utils.$(OBJSUFF) \
   utilsexc.$(OBJSUFF) \
diff --git a/src/msw/makefile.sc b/src/msw/makefile.sc
index 1c20c8c0e1..4828b35b59 100644
--- a/src/msw/makefile.sc
+++ b/src/msw/makefile.sc
@@ -192,6 +192,7 @@ MSWOBJS = \
   $(MSWDIR)\textctrl.obj \
   $(MSWDIR)\thread.obj \
   $(MSWDIR)\timer.obj \
+  $(MSWDIR)\tooltip.obj \
   $(MSWDIR)\utils.obj \
   $(MSWDIR)\utilsexc.obj \
   $(MSWDIR)\wave.obj \
diff --git a/src/msw/makefile.sl b/src/msw/makefile.sl
index dbd5d612b0..105badbf23 100644
--- a/src/msw/makefile.sl
+++ b/src/msw/makefile.sl
@@ -180,6 +180,7 @@ MSWOBJS = \
   textctrl.obj \
   thread.obj \
   timer.obj \
+  tooltip.obj \
   treectrl.obj \
   utils.obj \
   utilsexc.obj \
@@ -455,6 +456,9 @@ thread.obj:     $(MSWDIR)\thread.cpp
 timer.obj:     $(MSWDIR)\timer.cpp
   $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\timer.cpp /BINARY timer.obj
 
+tooltip.obj:     $(MSWDIR)\tooltip.cpp
+  $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\tooltip.cpp /BINARY tooltip.obj
+
 treectrl.obj:     $(MSWDIR)\treectrl.cpp
         cl @<<
   $(CCC) $(CPPFLAGS) $(IFLAGS) $(MSWDIR)\treectrl.cpp /BINARY treectrl.obj
diff --git a/src/msw/makefile.twn b/src/msw/makefile.twn
index af50b79e87..832d3a8fc8 100644
--- a/src/msw/makefile.twn
+++ b/src/msw/makefile.twn
@@ -215,6 +215,7 @@ MSWOBJS = \
   textctrl.$(OBJSUFF) \
   thread.$(OBJSUFF) \
   timer.$(OBJSUFF) \
+  tooltip.$(OBJSUFF) \
   treectrl.$(OBJSUFF) \
   utils.$(OBJSUFF) \
   utilsexc.$(OBJSUFF) \
diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc
index 667f7b3799..36270044ac 100644
--- a/src/msw/makefile.vc
+++ b/src/msw/makefile.vc
@@ -687,6 +687,11 @@ $(MSWDIR)/timer.obj:     $*.$(SRCSUFF)
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
 <<
 
+$(MSWDIR)/tooltip.obj:     $*.$(SRCSUFF)
+        cl @<<
+$(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
+<<
+
 $(MSWDIR)/treectrl.obj:     $*.$(SRCSUFF)
         cl @<<
 $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) /Fo$@
diff --git a/src/msw/makefile.wat b/src/msw/makefile.wat
index 5e14fef2ee..37416522c1 100644
--- a/src/msw/makefile.wat
+++ b/src/msw/makefile.wat
@@ -190,6 +190,7 @@ MSWOBJS = &
   textctrl.obj &
   thread.obj &
   timer.obj &
+  tooltip.obj &
   treectrl.obj &
   utils.obj &
   utilsexc.obj &
@@ -467,6 +468,9 @@ thread.obj:     $(MSWDIR)\thread.cpp
 timer.obj:     $(MSWDIR)\timer.cpp
   *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
 
+tooltip.obj:     $(MSWDIR)\tooltip.cpp
+  *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
+
 treectrl.obj:     $(MSWDIR)\treectrl.cpp
         cl @<<
   *$(CCC) $(CPPFLAGS) $(IFLAGS) $<
diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp
index 2120279d45..dc5008a687 100644
--- a/src/msw/radiobox.cpp
+++ b/src/msw/radiobox.cpp
@@ -148,7 +148,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title,
          NULL
         );
 
-#if CTL3D
+#if wxUSE_CTL3D
     if (want3D)
     {
         Ctl3dSubclassCtl((HWND)m_hWnd);
@@ -178,7 +178,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title,
         m_radioButtons[i] = (WXHWND) CreateWindowEx(exStyle, RADIO_CLASS, choices[i],
                 msStyle,0,0,0,0,
                 the_handle, (HMENU)newId, wxGetInstance(), NULL);
-#if CTL3D
+#if wxUSE_CTL3D
         if (want3D)
         {
             Ctl3dSubclassCtl((HWND) m_hWnd);
@@ -256,7 +256,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title,
 
     the_handle = (HWND) parent->GetHWND();
 
-#if CTL3D
+#if wxUSE_CTL3D
     if (want3D)
     {
         Ctl3dSubclassCtl((HWND) m_hWnd);
@@ -289,7 +289,7 @@ bool wxRadioBox::Create(wxWindow *parent, wxWindowID id, const wxString& title,
         m_radioButtons[i] = (WXHWND) CreateWindowEx(exStyle, RADIO_CLASS, tmp,
                 msStyle,0,0,0,0,
                 the_handle, (HMENU)newId, wxhInstance, NULL);
-#if CTL3D
+#if wxUSE_CTL3D
         if (want3D)
         {
             Ctl3dSubclassCtl((HWND) m_hWnd);
@@ -488,7 +488,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
             totHeight = nbVer * (maxHeight+cy1/2) ;
         totWidth  = nbHor * (maxWidth+cx1) ;
 
-#if (!CTL3D)
+#if (!wxUSE_CTL3D)
         // Requires a bigger group box in plain Windows
         MoveWindow((HWND) m_hWnd,x_offset,y_offset,totWidth+cx1,totHeight+(3*cy1)/2,TRUE) ;
 #else
@@ -498,7 +498,7 @@ void wxRadioBox::SetSize(int x, int y, int width, int height, int sizeFlags)
         y_offset += cy1;
     }
 
-#if (!CTL3D)
+#if (!wxUSE_CTL3D)
     y_offset += (int)(cy1/2); // Fudge factor since buttons overlapped label
     // JACS 2/12/93. CTL3D draws group label quite high.
 #endif
@@ -688,7 +688,7 @@ void wxRadioBox::Show(int item, bool show)
 WXHBRUSH wxRadioBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
         WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
     if ( m_useCtl3D )
     {
         HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
diff --git a/src/msw/radiobut.cpp b/src/msw/radiobut.cpp
index eb067a09a3..0117ba49f1 100644
--- a/src/msw/radiobut.cpp
+++ b/src/msw/radiobut.cpp
@@ -96,7 +96,7 @@ bool wxRadioButton::Create(wxWindow *parent, wxWindowID id,
 
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create radiobutton" );
 
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     Ctl3dSubclassCtl((HWND) m_hWnd);
@@ -160,7 +160,7 @@ bool wxRadioButton::GetValue(void) const
 WXHBRUSH wxRadioButton::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
       WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
@@ -231,7 +231,7 @@ bool wxBitmapRadioButton::Create(wxWindow *parent, wxWindowID id,
 
   wxCHECK_MSG( m_hWnd, "Failed to create radio button", FALSE );
 
-#if CTL3D
+#if wxUSE_CTL3D
   if (!(GetParent()->GetWindowStyleFlag() & wxUSER_COLOURS))
   {
     Ctl3dSubclassCtl((HWND) GetHWND());
diff --git a/src/msw/statbox.cpp b/src/msw/statbox.cpp
index 0be462b295..1121999a22 100644
--- a/src/msw/statbox.cpp
+++ b/src/msw/statbox.cpp
@@ -76,7 +76,7 @@ bool wxStaticBox::Create(wxWindow *parent, wxWindowID id,
     CreateWindowEx(exStyle, "BUTTON", (const char *)label, msStyle,
                     0, 0, 0, 0, (HWND) parent->GetHWND(), (HMENU)m_windowId,
                     wxGetInstance(), NULL);
-#if CTL3D
+#if wxUSE_CTL3D
   if (want3D)
   {
     Ctl3dSubclassCtl(wx_button);
@@ -146,7 +146,7 @@ void wxStaticBox::SetSize(int x, int y, int width, int height, int sizeFlags)
 WXHBRUSH wxStaticBox::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
 			WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
diff --git a/src/msw/stattext.cpp b/src/msw/stattext.cpp
index 47638caa1b..d5d2268447 100644
--- a/src/msw/stattext.cpp
+++ b/src/msw/stattext.cpp
@@ -79,7 +79,7 @@ bool wxStaticText::Create(wxWindow *parent, wxWindowID id,
 
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create static ctrl" );
 
-#if CTL3D
+#if wxUSE_CTL3D
 /*
   if (!(GetParent()->GetWindowStyleFlag() & wxUSER_COLOURS))
     Ctl3dSubclassCtl(static_item);
@@ -171,7 +171,7 @@ WXHBRUSH wxStaticText::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
       WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
 /*
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
diff --git a/src/msw/textctrl.cpp b/src/msw/textctrl.cpp
index b497ef0929..5643da7ebc 100644
--- a/src/msw/textctrl.cpp
+++ b/src/msw/textctrl.cpp
@@ -177,7 +177,7 @@ bool wxTextCtrl::Create(wxWindow *parent, wxWindowID id,
 
   wxCHECK_MSG( m_hWnd, FALSE, "Failed to create text ctrl" );
 
-#if CTL3D
+#if wxUSE_CTL3D
   if ( want3D )
   {
     Ctl3dSubclassCtl((HWND)m_hWnd);
@@ -923,7 +923,7 @@ wxTextCtrl& wxTextCtrl::operator<<(const char c)
 WXHBRUSH wxTextCtrl::OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
       WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
 {
-#if CTL3D
+#if wxUSE_CTL3D
   if ( m_useCtl3D )
   {
     HBRUSH hbrush = Ctl3dCtlColorEx(message, wParam, lParam);
diff --git a/src/msw/window.cpp b/src/msw/window.cpp
index 78eb269cf5..13feb6b789 100644
--- a/src/msw/window.cpp
+++ b/src/msw/window.cpp
@@ -3584,7 +3584,7 @@ WXDWORD wxWindow::Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D)
 
     // 5) If this isn't a Win95 app, and we are using CTL3D, remove border
     // effects from extended style
-#if CTL3D
+#if wxUSE_CTL3D
     if ( *want3D )
         nativeBorder = FALSE;
 #endif
@@ -3594,7 +3594,7 @@ WXDWORD wxWindow::Determine3DEffects(WXDWORD defaultBorderStyle, bool *want3D)
     // If we want 3D, but haven't specified a border here,
     // apply the default border style specified.
     // TODO what about non-Win95 WIN32? Does it have borders?
-#if defined(__WIN95__) && !CTL3D
+#if defined(__WIN95__) && !wxUSE_CTL3D
     if (defaultBorderStyle && (*want3D) && ! ((m_windowStyle & wxDOUBLE_BORDER) || (m_windowStyle & wxRAISED_BORDER) ||
         (m_windowStyle & wxSTATIC_BORDER) || (m_windowStyle & wxSIMPLE_BORDER) ))
         exStyle |= defaultBorderStyle; // WS_EX_CLIENTEDGE ;
diff --git a/src/stubs/window.cpp b/src/stubs/window.cpp
index ef3388cc30..8a4e50edb7 100644
--- a/src/stubs/window.cpp
+++ b/src/stubs/window.cpp
@@ -1293,6 +1293,11 @@ bool wxWindow::IsExposed(const wxRect& rect) const
     return (m_updateRegion.Contains(rect) != wxOutRegion);
 }
 
+void wxWindow::SetToolTip(const wxString& tooltip)
+{
+    // TODO
+}
+
 /*
  * Allocates control IDs
  */
-- 
2.50.0

