From: Julian Smart <julian@anthemion.co.uk>
Date: Mon, 1 Mar 1999 13:06:15 +0000 (+0000)
Subject: Added dummy OnIdle to wxWindow in wxGTK; doc tweaks
X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/20e85460c40ebc4dcc9577928771adb264cc998f

Added dummy OnIdle to wxWindow in wxGTK; doc tweaks


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1837 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---

diff --git a/docs/changes.txt b/docs/changes.txt
index c74207ec04..25287c316a 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -1,8 +1,8 @@
 wxWindows 2 Change Log
 ----------------------
 
-Beta 6 (release), February 28th 1999
-------------------------------------
+2.0.1 (release), March 1st 1999
+-------------------------------
 
 wxGTK:
 
@@ -13,14 +13,19 @@ wxMSW:
 
 - Fixed problems with <return> in dialogs/panels.
 - Fixed window cursor setting.
+- Some makefile fixes.
 
 wxMotif:
 
+- None.
 
 General:
 
 - Added wxUSE_SOCKETS.
 - More topic overviews.
+- Put wxPrintPaperType, wxPrintPaperDatabase into
+  prntbase.h/cpp for use in non-PostScript situations
+  (e.g. Win16 wxPageSetupDialog).
 
 
 Beta 5, February 18th 1999
diff --git a/docs/latex/porting/porting.tex b/docs/latex/porting/porting.tex
index 3c29f69eec..b786ea614d 100644
--- a/docs/latex/porting/porting.tex
+++ b/docs/latex/porting/porting.tex
@@ -40,13 +40,10 @@ how you can modify your application to be 2.0-compliant.
 You may be worrying that porting to 2.0 will be a lot of work,
 particularly if you have only recently started using 1.xx. In fact,
 the wxWindows 2.0 API has far more in common with 1.xx than it has differences.
-With backward compatibility mode on, much of the conversion can be
-done gradually. The main challenges are doing without the default
+The main challenges are using the new event system, doing without the default
 panel item layout, and the lack of automatic labels in some controls.
-However, if you already use resource files (.wxr), or application-specific positioning,
-or constraints, then even this will be quite painless.
 
-So please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
+Please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
 and will be supported by the user community for some time. And when you have
 changed to 2.0, we hope that you will appreciate the benefits in terms
 of greater flexibility, better user interface aesthetics, improved C++ conformance,
@@ -100,7 +97,7 @@ void MyFrame::OnOK(wxCommandEvent& event)
 
 You may find that writing the extra code to call a member function isn't worth it at this stage,
 but the option is there.
-\item {\bf Use wxString wherever possible.} 2.0 will replace char * with wxString
+\item {\bf Use wxString wherever possible.} 2.0 replaces char * with wxString
 in most cases, and if you use wxString to receive strings returned from
 wxWindows functions (except when you need to save the pointer if deallocation is required), there should
 be no conversion problems later on.
@@ -112,7 +109,7 @@ Windows and X under wxWindows 1.66. Yes, this is not easy... but I think it's be
 standards of each platform, and currently the size difference makes it difficult to
 conform to Windows UI standards. You may eventually wish to build in a global 'fudge-factor' to compensate
 for size differences. The old font sizing will still be available via wx\_setup.h, so do not panic...
-\item {\bf Consider dropping wxForm usage}: an alternative is to be found in utils/wxprop.
+\item {\bf Consider dropping wxForm usage}:
 wxPropertyFormView can be used in a wxForm-like way, except that you specify a pre-constructed panel
 or dialog; or you can use a wxPropertyListView to show attributes in a scrolling list - you don't even need
 to lay panel items out.
@@ -180,7 +177,8 @@ See \helpref{Device contexts and painting}{dc}.
 These objects - instances of classes such as wxPen, wxBrush, wxBitmap (but not wxColour) -
 are now implemented with reference-counting. This makes assignment a very cheap operation,
 and also means that management of the resource is largely automatic. You now pass {\it references} to
-objects to functions such as wxDC::SetPen. The device context does not store a copy of the pen
+objects to functions such as wxDC::SetPen, not pointers, so you will need to derefence your pointers.
+The device context does not store a copy of the pen
 itself, but takes a copy of it (via reference counting), and the object's data gets freed up
 when the reference count goes to zero. The application does not have to worry so much about
 who the object belongs to: it can pass the reference, then destroy the object without
@@ -191,11 +189,8 @@ pointers to GDI objects, and using the FindOrCreate... functions. However, it is
 keep this explicit management to a minimum, instead creating objects on the fly as needed, on the stack,
 unless this causes too much of an overhead in your application.
 
-At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Some compilers
-will do the conversion from pointer to reference automatically (via a constructor in the GDI
-class) but you cannot rely on this being true for all compilers. Also, where you pass NULL to these
-functions, you will need to either cast to the appropriate reference type, or instead
-use an identifier such as wxNullPen or wxNullBrush.
+At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Also, where you pass NULL to these
+functions, you will need to use an identifier such as wxNullPen or wxNullBrush.
 
 \chapter{Dialogs and controls}\label{dialogscontrols}
 
@@ -213,8 +208,7 @@ properties.
 
 All window constructors have two main changes, apart from the label issue mentioned above.
 Windows now have integer identifiers; and position and size are now passed as wxPoint and
-wxSize objects. In addition, some windows have a wxValidator argument. wxWindows 2.0 may provide
-old-style constructors in WXWIN\_COMPATIBILITY mode for limited backward compatibility.
+wxSize objects. In addition, some windows have a wxValidator argument.
 
 \wxheading{Show versus ShowModal}
 
@@ -253,7 +247,7 @@ wxGroupBox is renamed wxStaticBox.
 
 \wxheading{wxForm}
 
-Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyForm class
+Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyFormView class
 instead, which takes standard dialogs and panels and associates controls with property objects.
 You may also find that the new validation method, combined with dialog resources, is easier
 and more flexible than using wxForm.
@@ -327,7 +321,7 @@ Try to use the {\bf const} keyword in your own code where possible.
 \chapter{Backward compatibility}\label{compat}
 
 Some wxWindows 1.xx functionality has been left to ease the transition to 2.0. This functionality
-(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1.
+(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1 in setup.h.
 
 Mostly this defines old names to be the new names (e.g. wxRectangle is defined to be wxRect).
 
@@ -336,50 +330,169 @@ Mostly this defines old names to be the new names (e.g. wxRectangle is defined t
 This section allows you to quickly find features that
 need to be converted.
 
-TODO
+\section{Include files}
+
+Use the form:
+
+\begin{verbatim}
+#include <wx/wx.h>
+#include <wx/button.h>
+\end{verbatim}
+
+For precompiled header support, use this form:
+
+\begin{verbatim}
+// For compilers that support precompilation, includes "wx.h".
+#include <wx/wxprec.h>
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
+// Any files you want to include if not precompiling by including
+// the whole of <wx/wx.h>
+#ifndef WX_PRECOMP
+    #include <stdio.h>
+    #include <wx/setup.h>
+    #include <wx/bitmap.h>
+    #include <wx/brush.h>
+#endif
+
+// Any files you want to include regardless of precompiled headers
+#include <wx/toolbar.h>
+\end{verbatim}
+
+\section{IPC classes}
+
+These are now separated out into wxDDEServer/Client/Connection (Windows only) and wxTCPServer/Client/Connection
+(Windows and Unix). Take care to use wxString for your overridden function arguments, instead of char*, as per
+the documentation.
+
+\section{MDI style frames}
+
+MDI is now implemented as a family of separate classes, so you can't switch to MDI just by
+using a different frame style. Please see the documentation for the MDI frame classes, and the MDI
+sample may be helpful too.
 
 \section{OnActivate}
 
-Rename to OldOnActivate, or replace arguments with one wxActivateEvent\& argument.
+Replace the arguments with one wxActivateEvent\& argument, make sure the function isn't virtual,
+and add an EVT\_ACTIVATE event table entry.
 
-\wxheading{See also}
+\section{OnChar}
 
-\helpref{Backward compatibility}{compat}
+This is now a non-virtual function, with the same wxKeyEvent\& argument as before.
+Add an EVT\_CHAR macro to the event table
+for your window, and the implementation of your function will need very few changes.
 
 \section{OnClose}
 
-This can either remain the same as before, or you can add an OnCloseWindow event
-handler using an EVT\_CLOSE event table entry.
+The old virtual function OnClose is now obsolete.
+Add an OnCloseWindow event handler using an EVT\_CLOSE event table entry. For details
+about window destruction, see the Windows Deletion Overview in the manual. This is a subtle
+topic so please read it very carefully. Basically, OnCloseWindow is now responsible for
+destroying a window with Destroy(), but the default implementation (for example for wxDialog) may not
+destroy the window, so to be sure, always provide this event handler so it's obvious what's going on.
 
-\wxheading{See also}
+\section{OnEvent}
+
+This is now a non-virtual function, with the same wxMouseEvent\& argument as before. However
+you may wish to rename it OnMouseEvent. Add an EVT\_MOUSE\_EVENTS macro to the event table
+for your window, and the implementation of your function will need very few changes.
+However, if you wish to intercept different events using different functions, you can
+specify specific events in your event table, such as EVT\_LEFT\_DOWN.
 
-\helpref{Backward compatibility}{compat}
+Your OnEvent function is likely to have references to GetDC(), so make sure you create
+a wxClientDC instead. See \helpref{Device contexts}{dc}.
+
+If you are using a wxScrolledWindow (formerly wxCanvas), you should call
+PrepareDC(dc) to set the correct translation for the current scroll position.
 
 \section{OnMenuCommand}
 
-Rename to OldOnMenuCommand, or replace with a series of functions, one for
-each case of your old switch statement. Create an event table for your frame
-containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class.
+You need to replace this virtual function with a series of non-virtual functions, one for
+each case of your old switch statement. Each function takes a wxCommandEvent\& argument.
+Create an event table for your frame
+containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class, as
+per the samples.
 
-\wxheading{See also}
+\section{OnPaint}
+
+This is now a non-virtual function, with a wxPaintEvent\& argument.
+Add an EVT\_PAINT macro to the event table
+for your window.
 
-\helpref{Backward compatibility}{compat}
+Your function {\it must} create a wxPaintDC object, instead of using GetDC to
+obtain the device context.
+
+If you are using a wxScrolledWindow (formerly wxCanvas), you should call
+PrepareDC(dc) to set the correct translation for the current scroll position.
 
 \section{OnSize}
 
-Rename to OldOnSize, or replace arguments with one wxSizeEvent\& argument.
+Replace the arguments with one wxSizeEvent\& argument, make it non-virtual, and add to your
+event table using EVT\_SIZE.
 
-\wxheading{See also}
+\section{wxApp definition}
 
-\helpref{Backward compatibility}{compat}
+The definition of OnInit has changed. Return a bool value, not a wxFrame.
+
+Also, do {\it not} declare a global application object. Instead, use the macros
+DECLARE\_APP and IMPLEMENT\_APP as per the samples. Remove any occurrences of IMPLEMENT\_WXWIN\_MAIN:
+this is subsumed in IMPLEMENT\_APP.
+
+\section{wxButton}
+
+For bitmap buttons, use wxBitmapButton.
+
+\section{wxCanvas}
+
+Change the name to wxScrolledWindow.
+
+\section{wxDialogBox}
+
+Change the name to wxDialog, and for modal dialogs, use ShowModal instead of Show.
 
 \section{wxDialog::Show}
 
-If you used {\bf Show} to show a modal dialog, or to override the standard
+If you used {\bf Show} to show a modal dialog or to override the standard
 modal dialog {\bf Show}, use {\bf ShowModal} instead.
 
 \wxheading{See also}
 
 \helpref{Dialogs and controls}{dialogscontrols}
 
+\section{wxForm}
+
+Sorry, this class is no longer available. Try using the wxPropertyListView or wxPropertyFormView class
+instead, or use .wxr files and validators.
+
+\section{wxPoint}
+
+The old wxPoint is called wxRealPoint, and wxPoint now uses integers.
+
+\section{wxRectangle}
+
+This is now called wxRect.
+
+\section{wxScrollBar}
+
+The function names have changed for this class: please refer to the documentation for wxScrollBar. Instead
+of setting properties individually, you will call SetScrollbar with several parameters.
+
+\section{wxText, wxMultiText, wxTextWindow}
+
+Change all these to wxTextCtrl. Add the window style wxTE\_MULTILINE if you
+wish to have a multi-line text control.
+
+\section{wxToolBar}
+
+This name is an alias for the most popular form of toolbar for your platform. There is now a family
+of toolbar classes, with for example wxToolBar95, wxToolBarMSW and wxToolBarSimple classes existing
+under Windows 95.
+
+Toolbar management is supported by frames, so calling wxFrame::CreateToolBar and adding tools is usually
+enough, and the SDI or MDI frame will manage the positioning for you. The client area of the frame is the space
+left over when the menu bar, toolbar and status bar have been taken into account.
+
 \end{document}
diff --git a/docs/latex/proplist/tex2rtf.ini b/docs/latex/proplist/tex2rtf.ini
index d3cacc5dd6..90c6676d9c 100644
--- a/docs/latex/proplist/tex2rtf.ini
+++ b/docs/latex/proplist/tex2rtf.ini
@@ -9,7 +9,7 @@ footerRule = yes
 useHeadingStyles = yes
 contentsDepth = 2
 listItemIndent=40
-generateHPJ = no
+generateHPJ = yes
 htmlBrowseButtons = bitmap
 winHelpVersion = 3
 winHelpContents = yes
diff --git a/docs/latex/wx/bitmap.tex b/docs/latex/wx/bitmap.tex
index bb815d6456..8eaa62d23d 100644
--- a/docs/latex/wx/bitmap.tex
+++ b/docs/latex/wx/bitmap.tex
@@ -14,6 +14,12 @@ either monochrome or colour.
 
 <wx/bitmap.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullBitmap}
+
 \wxheading{See also}
 
 \helpref{wxBitmap overview}{wxbitmapoverview},
diff --git a/docs/latex/wx/brush.tex b/docs/latex/wx/brush.tex
index 5fd3a60413..a12f90b4dd 100644
--- a/docs/latex/wx/brush.tex
+++ b/docs/latex/wx/brush.tex
@@ -13,6 +13,25 @@ style.
 
 <wx/brush.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullBrush}
+
+Pointers:
+
+{\bf wxBLUE\_BRUSH\\
+wxGREEN\_BRUSH\\
+wxWHITE\_BRUSH\\
+wxBLACK\_BRUSH\\
+wxGREY\_BRUSH\\
+wxMEDIUM\_GREY\_BRUSH\\
+wxLIGHT\_GREY\_BRUSH\\
+wxTRANSPARENT\_BRUSH\\
+wxCYAN\_BRUSH\\
+wxRED\_BRUSH}
+
 \wxheading{Remarks}
 
 On a monochrome display, wxWindows shows
diff --git a/docs/latex/wx/colour.tex b/docs/latex/wx/colour.tex
index c22c3baceb..51ff6ce6f2 100644
--- a/docs/latex/wx/colour.tex
+++ b/docs/latex/wx/colour.tex
@@ -15,6 +15,22 @@ Valid RGB values are in the range 0 to 255.
 
 <wx/colour.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullColour}
+
+Pointers:
+
+{\bf wxBLACK\\
+wxWHITE\\
+wxRED\\
+wxBLUE\\
+wxGREEN\\
+wxCYAN\\
+wxLIGHT\_GREY}
+
 \wxheading{See also}
 
 \helpref{wxColourDatabase}{wxcolourdatabase}, \helpref{wxPen}{wxpen}, \helpref{wxBrush}{wxbrush},\rtfsp
diff --git a/docs/latex/wx/cursor.tex b/docs/latex/wx/cursor.tex
index a99b758cf3..6358c7baf6 100644
--- a/docs/latex/wx/cursor.tex
+++ b/docs/latex/wx/cursor.tex
@@ -24,6 +24,18 @@ global \helpref{::wxSetCursor}{wxsetcursor} is also available for MS Windows use
 
 <wx/cursor.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullCursor}
+
+Pointers:
+
+{\bf wxSTANDARD\_CURSOR\\
+wxHOURGLASS\_CURSOR\\
+wxCROSS\_CURSOR}
+
 \wxheading{See also}
 
 \helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor},\rtfsp
diff --git a/docs/latex/wx/font.tex b/docs/latex/wx/font.tex
index 5f2f9f0c77..5c4b5548b9 100644
--- a/docs/latex/wx/font.tex
+++ b/docs/latex/wx/font.tex
@@ -13,6 +13,19 @@ a window's text.
 
 <wx/font.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullFont}
+
+Pointers:
+
+{\bf wxNORMAL\_FONT\\
+wxSMALL\_FONT\\
+wxITALIC\_FONT\\
+wxSWISS\_FONT}
+
 \wxheading{See also}
 
 \helpref{wxFont overview}{wxfontoverview}, \helpref{wxDC::SetFont}{wxdcsetfont},\rtfsp
diff --git a/docs/latex/wx/icon.tex b/docs/latex/wx/icon.tex
index 438cf63ce9..b5561fc37f 100644
--- a/docs/latex/wx/icon.tex
+++ b/docs/latex/wx/icon.tex
@@ -9,6 +9,22 @@ some platforms (X-based applications usually standardize on XPMs for small bitma
 and icons). However, some platforms (such as Windows) make the distinction, so
 a separate class is provided.
 
+\wxheading{Derived from}
+
+\helpref{wxBitmap}{wxbitmap}\\
+\helpref{wxGDIObject}{wxgdiobject}\\
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/icon.h>
+
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullIcon}
+
 \wxheading{Remarks}
 
 It is usually desirable to associate a pertinent icon with a frame. Icons
@@ -28,16 +44,6 @@ be deleted when the frame is deleted.
 
 For more information please see \helpref{Bitmap and icon overview}{wxbitmapoverview}.
 
-\wxheading{Derived from}
-
-\helpref{wxBitmap}{wxbitmap}\\
-\helpref{wxGDIObject}{wxgdiobject}\\
-\helpref{wxObject}{wxobject}
-
-\wxheading{Include files}
-
-<wx/icon.h>
-
 \wxheading{See also}
 
 \helpref{Bitmap and icon overview}{wxbitmapoverview}, \helpref{supported bitmap file formats}{supportedbitmapformats}, 
diff --git a/docs/latex/wx/palette.tex b/docs/latex/wx/palette.tex
index 5aeaa852fd..994a0c6727 100644
--- a/docs/latex/wx/palette.tex
+++ b/docs/latex/wx/palette.tex
@@ -13,6 +13,12 @@ of a low-depth bitmap, for example, to be mapped to the available colours in a d
 
 <wx/palette.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullPalette}
+
 \wxheading{See also}
 
 \helpref{wxDC::SetPalette}{wxdcsetpalette}, \helpref{wxBitmap}{wxbitmap}
diff --git a/docs/latex/wx/pen.tex b/docs/latex/wx/pen.tex
index 2f7b233933..361ab2f26c 100644
--- a/docs/latex/wx/pen.tex
+++ b/docs/latex/wx/pen.tex
@@ -13,6 +13,25 @@ colour, a width and a style.
 
 <wx/pen.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxNullPen}
+
+Pointers:
+
+{\bf wxRED\_PEN\\
+wxCYAN\_PEN\\
+wxGREEN\_PEN\\
+wxBLACK\_PEN\\
+wxWHITE\_PEN\\
+wxTRANSPARENT\_PEN\\
+wxBLACK\_DASHED\_PEN\\
+wxGREY\_PEN\\
+wxMEDIUM\_GREY\_PEN\\
+wxLIGHT\_GREY\_PEN}
+
 \wxheading{Remarks}
 
 On a monochrome display, wxWindows shows all non-white pens as black.
diff --git a/docs/latex/wx/tthreads.tex b/docs/latex/wx/tthreads.tex
index a034599c70..531a04375b 100644
--- a/docs/latex/wx/tthreads.tex
+++ b/docs/latex/wx/tthreads.tex
@@ -40,3 +40,4 @@ facilities for communicating between the threads. However, the usual
 thread communication too - but you should provide your own synchronisation
 mechanism if you use it (e.g. just use a critical section before sending a
 message) because there is no built-in synchronisation.
+
diff --git a/docs/latex/wx/wx.hpj b/docs/latex/wx/wx.hpj
index b97b7aa3b2..5bf567ae88 100644
--- a/docs/latex/wx/wx.hpj
+++ b/docs/latex/wx/wx.hpj
@@ -1,5 +1,5 @@
 [OPTIONS]
-BMROOT=d:\wx2\wxwind~1\docs/latex/wx ; Assume that bitmaps are where the source is
+BMROOT=d:\wx2\wxWind~1\docs/latex/wx ; Assume that bitmaps are where the source is
 TITLE=wxWindows Manual
 CONTENTS=Contents
 COMPRESS=HIGH
diff --git a/docs/latex/wx/wxstring.tex b/docs/latex/wx/wxstring.tex
index bd681259d6..467d206db5 100644
--- a/docs/latex/wx/wxstring.tex
+++ b/docs/latex/wx/wxstring.tex
@@ -16,6 +16,12 @@ None
 
 <wx/string.h>
 
+\wxheading{Predefined objects}
+
+Objects:
+
+{\bf wxEmptyString}
+
 \wxheading{See also}
 
 \overview{Overview}{wxstringoverview}
diff --git a/docs/msw/todo.txt b/docs/msw/todo.txt
index 091a048152..a6a72a791f 100644
--- a/docs/msw/todo.txt
+++ b/docs/msw/todo.txt
@@ -7,22 +7,6 @@ HIGH PRIORITY
 
 Add further controls and properties to Dialog Editor.
 
-Update manual.
-    wxMsgCatalog etc.
-    wxRegKey
-    wxStatusBar95 and wxFrame status bar functions
-    wxListBox changes (for ownerdraw functionality)
-    wxThread            DONE (except for topic overview)
-    wxString            PARTLY DONE
-    Document the include file for each class
-    wxSocket topic overview
-    Functions
-
-Makefiles and/or IDE files for other compilers: Symantec C++,
-Salford C++.
-
-Check TODO entries in source and manual.
-
 Add centring, right justify styles to wxStaticText.
 
 Extend wxSystemSettings to get symbols for current nationality,
@@ -30,8 +14,6 @@ e.g. ',' instead of '.' for decimal points.
 
 Supply correct ctl3d/odbc lib files for BC++, Watcom (corrupt?)
 
-Implement new wxClipboard and DnD (Vadim)
-
 wxToolTip::Enable should be static for wxGTK compatibility (VZ)
 
 LOW PRIORITY (MEDIUM TERM)
diff --git a/docs/readme.txt b/docs/readme.txt
index f0037ce8a3..bd82c3aaef 100644
--- a/docs/readme.txt
+++ b/docs/readme.txt
@@ -1,5 +1,5 @@
-wxWindows 2.0
--------------
+wxWindows 2.0.1
+---------------
 
 Welcome to wxWindows 2, a sophisticated cross-platform C++
 framework for writing advanced GUI applications using (where
diff --git a/include/wx/gtk/window.h b/include/wx/gtk/window.h
index fb1b13938b..b969665920 100644
--- a/include/wx/gtk/window.h
+++ b/include/wx/gtk/window.h
@@ -420,6 +420,9 @@ public:
 
     virtual void OnInternalIdle();
 
+    // For compatibility across platforms (not in event table)
+    void OnIdle(wxIdleEvent& WXUNUSED(event)) {};
+
     /* used by all classes in the widget creation process */
 
     void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
diff --git a/include/wx/gtk1/window.h b/include/wx/gtk1/window.h
index fb1b13938b..b969665920 100644
--- a/include/wx/gtk1/window.h
+++ b/include/wx/gtk1/window.h
@@ -420,6 +420,9 @@ public:
 
     virtual void OnInternalIdle();
 
+    // For compatibility across platforms (not in event table)
+    void OnIdle(wxIdleEvent& WXUNUSED(event)) {};
+
     /* used by all classes in the widget creation process */
 
     void PreCreation( wxWindow *parent, wxWindowID id, const wxPoint &pos,
diff --git a/include/wx/socket.h b/include/wx/socket.h
index 174c763734..9037f92c7b 100644
--- a/include/wx/socket.h
+++ b/include/wx/socket.h
@@ -169,7 +169,7 @@ public:
   inline size_t LastCount() const { return m_lcount; }
   inline int LastError() const { return m_error; }
   
-  inline void SetFlags(wxSockFlags _flags);
+  void SetFlags(wxSockFlags _flags);
   inline void SetTimeout(unsigned long sec) { m_timeout = sec; }
 
   // seconds = -1 means infinite wait
diff --git a/src/common/tbarsmpl.cpp b/src/common/tbarsmpl.cpp
index 10d7117d60..45b1eb74a9 100644
--- a/src/common/tbarsmpl.cpp
+++ b/src/common/tbarsmpl.cpp
@@ -75,7 +75,7 @@ wxToolBarSimple::~wxToolBarSimple ()
 {
 }
 
-void wxToolBarSimple::OnPaint (wxPaintEvent& event)
+void wxToolBarSimple::OnPaint (wxPaintEvent& WXUNUSED(event))
 {
   wxPaintDC dc(this);
   PrepareDC(dc);
@@ -103,7 +103,7 @@ void wxToolBarSimple::OnSize ( wxSizeEvent& event )
   wxToolBarBase::OnSize(event);
 }
 
-void wxToolBarSimple::OnKillFocus (wxFocusEvent& event)
+void wxToolBarSimple::OnKillFocus (wxFocusEvent& WXUNUSED(event))
 {
   OnMouseEnter(m_pressedTool = m_currentTool = -1);
 }
@@ -212,8 +212,10 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
 
   if (bitmap && bitmap->Ok())
   {
+#ifndef __WXGTK__
     if (bitmap->GetPalette())
       memDC.SetPalette(*bitmap->GetPalette());
+#endif
 
     int ax = (int)tool->m_x,
         ay = (int)tool->m_y,
@@ -246,17 +248,19 @@ void wxToolBarSimple::DrawTool(wxDC& dc, wxMemoryDC& memDC, wxToolBarTool *tool)
             &memDC, 0, 0);
     }
     memDC.SelectObject(wxNullBitmap);
+#ifndef __WXGTK__
     memDC.SetPalette(wxNullPalette);
+#endif
   }
   // No second bitmap, so draw a thick line around bitmap, or invert if mono
   else if (tool->m_toggleState)
   {
     bool drawBorder = FALSE;
-    #ifdef __X__ // X doesn't invert properly on colour
+#ifdef __X__ // X doesn't invert properly on colour
     drawBorder = wxColourDisplay();
-    #else       // Inversion works fine under Windows
+#else       // Inversion works fine under Windows
     drawBorder = FALSE;
-    #endif
+#endif
 
     if (!drawBorder)
     {
diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc
index 05422532b4..185f64258d 100644
--- a/src/msw/makefile.vc
+++ b/src/msw/makefile.vc
@@ -455,26 +455,21 @@ cleanall: clean
 # Making documents
 docs:   allhlp allhtml allpdfrtf
 alldocs: docs
-hlp:    wxhlp portinghlp # faqhlp
+hlp:    wxhlp portinghlp
 wxhlp:  $(DOCDIR)/winhelp/wx.hlp
 prophlp: $(DOCDIR)/winhelp/prop.hlp
-faqhlp: $(DOCDIR)/winhelp/faq.hlp
 refhlp: $(DOCDIR)/winhelp/techref.hlp
 rtf:    $(DOCDIR)/winhelp/wx.rtf
-faqrtf: $(DOCDIR)/winhelp/faq.rtf
 proprtf: $(DOCDIR)/winhelp/prop.rtf
 pdfrtf:    $(DOCDIR)/pdf/wx.rtf
-faqpdfrtf: $(DOCDIR)/pdf/faq.rtf
 proppdfrtf: $(DOCDIR)/pdf/prop.rtf
 refpdfrtf: $(DOCDIR)/pdf/techref.rtf
-html:	wxhtml # faqhtml
+html:	wxhtml portinghtml
 wxhtml:	$(DOCDIR)\html\wx\wx.htm
-faqhtml: $(DOCDIR)\html\faq\faq.htm
 prophtml: $(DOCDIR)\html\proplist\prop.htm
-ps:     wxps referencps # faqps
+ps:     wxps referencps
 wxps:	$(WXDIR)\docs\ps\wx.ps
 propps:	$(WXDIR)\docs\ps\prop.ps
-faqps:	$(WXDIR)\docs\ps\faq.ps
 referencps:	$(WXDIR)\docs\ps\referenc.ps
 
 portinghtml: $(DOCDIR)\html\porting\port.htm
@@ -483,7 +478,7 @@ portinghlp: $(DOCDIR)/winhelp/porting.hlp
 portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
 portingps:	$(WXDIR)\docs\ps\porting.ps
 
-allhlp: wxhlp portinghlp prop # faqhlp
+allhlp: wxhlp portinghlp prophlp
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc hlp
         cd $(THISDIR)
@@ -503,7 +498,7 @@ allhlp: wxhlp portinghlp prop # faqhlp
 #        cd $(WXDIR)\utils\wxgrid\src
 #        nmake -f makefile.vc hlp
 
-allhtml: wxhtml portinghtml prophtml # faqhtml
+allhtml: wxhtml portinghtml prophtml
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc html
         cd $(THISDIR)
@@ -524,12 +519,12 @@ allhtml: wxhtml portinghtml prophtml # faqhtml
 #        cd $(WXDIR)\utils\wxtree\src
 #        nmake -f makefile.vc html
 
-allps: wxps referencps portingps propps # faqps
+allps: wxps referencps portingps propps
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc ps
         cd $(THISDIR)
 
-allpdfrtf: pdfrtf portingpdfrtf proppdfrtf # faqpdfrtf
+allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
         cd $(WXDIR)\utils\dialoged\src
         nmake -f makefile.vc pdfrtf
         cd $(THISDIR)
@@ -562,14 +557,6 @@ $(DOCDIR)/winhelp/porting.hlp:         $(DOCDIR)/latex/porting/porting.rtf $(DOC
         move porting.cnt $(DOCDIR)\winhelp\porting.cnt
         cd $(THISDIR)
 
-$(DOCDIR)/winhelp/faq.hlp:         $(DOCDIR)/latex/faq/faq.rtf $(DOCDIR)/latex/faq/faq.hpj
-        cd $(DOCDIR)/latex/faq
-        -erase faq.ph
-        hc faq
-        move faq.hlp $(DOCDIR)\winhelp\faq.hlp
-        move faq.cnt $(DOCDIR)\winhelp\faq.cnt
-        cd $(THISDIR)
-
 $(DOCDIR)/winhelp/prop.hlp:         $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
         cd $(DOCDIR)/latex/proplist
         -erase prop.ph
@@ -596,11 +583,6 @@ $(DOCDIR)/latex/porting/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         -start /w tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
         cd $(THISDIR)
 
-$(DOCDIR)/latex/faq/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
-        cd $(DOCDIR)\latex\faq
-        -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/latex/faq/faq.rtf -twice -winhelp
-        cd $(THISDIR)
-
 $(DOCDIR)/latex/proplist/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
         cd $(DOCDIR)\latex\proplist
         -start /w tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
@@ -623,13 +605,7 @@ $(DOCDIR)/pdf/porting.rtf:         $(DOCDIR)/latex/porting/porting.tex
         -start /w tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
         cd $(THISDIR)
 
-$(DOCDIR)/pdf/faq.rtf:         $(DOCDIR)/latex/faq/faq.tex
-        cd $(DOCDIR)\latex\faq
-        -copy *.bmp *.wmf $(DOCDIR)\pdf
-        -start /w tex2rtf $(DOCDIR)/latex/faq/faq.tex $(DOCDIR)/pdf/faq.rtf -twice -rtf
-        cd $(THISDIR)
-
-$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/proplist.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
+$(DOCDIR)/pdf/prop.rtf:         $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
         cd $(DOCDIR)\latex\proplist
         -copy *.bmp *.wmf $(DOCDIR)\pdf
         -start /w tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
@@ -661,16 +637,6 @@ $(DOCDIR)\html\porting\port.htm:         $(DOCDIR)\latex\porting\porting.tex
         -erase $(DOCDIR)\latex\porting\*.ref
         cd $(THISDIR)
 
-$(DOCDIR)\html\faq\faq.htm:         $(DOCDIR)\latex\faq\faq.tex
-        cd $(DOCDIR)\latex\faq
-        -mkdir $(DOCDIR)\html\faq
-        -start /w tex2rtf $(DOCDIR)\latex\faq\faq.tex $(DOCDIR)\html\faq\faq.htm -twice -html
-        -erase $(DOCDIR)\html\faq\*.con
-        -erase $(DOCDIR)\html\faq\*.ref
-        -erase $(DOCDIR)\latex\faq\*.con
-        -erase $(DOCDIR)\latex\faq\*.ref
-        cd $(THISDIR)
-
 $(DOCDIR)\html\proplist\prop.htm:         $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
         cd $(DOCDIR)\latex\proplist
         -mkdir $(DOCDIR)\html\proplist
@@ -729,21 +695,6 @@ $(WXDIR)\docs\ps\referenc.ps:	$(WXDIR)\docs\latex\wx\referenc.dvi
         move referenc.ps $(WXDIR)\docs\ps\referenc.ps
         cd $(THISDIR)
 
-$(WXDIR)\docs\latex\faq\faq.dvi:	$(DOCDIR)/latex/faq/faq.tex
-	cd $(WXDIR)\docs\latex\faq
-        -latex faq
-        -latex faq
-        -makeindx faq
-        -latex faq
-        -latex faq
-        cd $(THISDIR)
-
-$(WXDIR)\docs\ps\faq.ps:	$(WXDIR)\docs\latex\faq\faq.dvi
-	cd $(WXDIR)\docs\latex\faq
-        -dvips32 -o faq.ps faq
-        move faq.ps $(WXDIR)\docs\ps\faq.ps
-        cd $(THISDIR)
-
 # In order to force document reprocessing
 touchmanual:
     -touch $(WXDIR)\docs\latex\wx\manual.tex
diff --git a/src/msw/radiobox.cpp b/src/msw/radiobox.cpp
index 4c8017f881..eff9d9a74b 100644
--- a/src/msw/radiobox.cpp
+++ b/src/msw/radiobox.cpp
@@ -66,7 +66,8 @@ LRESULT APIENTRY _EXPORT wxRadioBtnWndProc(HWND hWnd,
 // ---------------------------------------------------------------------------
 
 // the pointer to standard radio button wnd proc
-static WNDPROC s_wndprocRadioBtn = (WNDPROC)NULL;
+// static WNDPROC s_wndprocRadioBtn = (WNDPROC)NULL;
+static WXFARPROC s_wndprocRadioBtn = (WXFARPROC)NULL;
 
 // ===========================================================================
 // implementation
@@ -706,7 +707,8 @@ void wxRadioBox::SubclassRadioButton(WXHWND hWndBtn)
     HWND hwndBtn = (HWND)hWndBtn;
 
     if ( !s_wndprocRadioBtn )
-        s_wndprocRadioBtn = (WNDPROC)::GetWindowLong(hwndBtn, GWL_WNDPROC);
+        s_wndprocRadioBtn = (WXFARPROC)::GetWindowLong(hwndBtn, GWL_WNDPROC);
+//        s_wndprocRadioBtn = (WNDPROC)::GetWindowLong(hwndBtn, GWL_WNDPROC);
 
     // No GWL_USERDATA in Win16, so omit this subclassing.
 #ifdef __WIN32__
@@ -780,7 +782,7 @@ LRESULT APIENTRY _EXPORT wxRadioBtnWndProc(HWND hwnd,
     }
 
     if ( !processed )
-        return ::CallWindowProc((WNDPROC) s_wndprocRadioBtn, hwnd, msg, wParam, lParam);
+        return ::CallWindowProc(CASTWNDPROC s_wndprocRadioBtn, hwnd, msg, wParam, lParam);
     else
         return 0;
 }
diff --git a/utils/ogl/samples/ogledit/palette.cpp b/utils/ogl/samples/ogledit/palette.cpp
index 944afcb80a..b41ef0ff25 100644
--- a/utils/ogl/samples/ogledit/palette.cpp
+++ b/utils/ogl/samples/ogledit/palette.cpp
@@ -55,7 +55,7 @@ EditorToolPalette::EditorToolPalette(wxWindow* parent, const wxPoint& pos, const
 {
   currentlySelected = -1;
 
-#ifndef __WXGTK__
+#if 1 // ndef __WXGTK__
   SetMaxRowsCols(1000, 1);
 #endif
 }
diff --git a/utils/ogl/samples/studio/mainfrm.cpp b/utils/ogl/samples/studio/mainfrm.cpp
index e681b8c5be..eb0560ca41 100644
--- a/utils/ogl/samples/studio/mainfrm.cpp
+++ b/utils/ogl/samples/studio/mainfrm.cpp
@@ -150,10 +150,8 @@ void csFrame::OnSize(wxSizeEvent& event)
 // Make sure the correct toolbars are showing for the active view
 void csFrame::OnIdle(wxIdleEvent& event)
 {
-/* HH: gtk's wxFrame nor wxWindow have an OnIdle method. Is this a bug? */
-#ifndef __WXGTK__    
     wxDocMDIParentFrame::OnIdle(event);
-#endif
+
     wxSashLayoutWindow* paletteWin = wxGetApp().GetDiagramPaletteSashWindow();
     wxSashLayoutWindow* diagramToolBarWin = wxGetApp().GetDiagramToolBarSashWindow();
     if (!paletteWin || !diagramToolBarWin)