acconfig.h
 *.m4
 autogen.sh
+configure
 config.guess
 config.sub
 configure.in
 template.mak
 wx-config.in
 makefile.unx.in
+wxinstall
+Makefile
 
 distrib/msw/*.rsp
 distrib/msw/*.bat
 docs/html/*.gif
 docs/html/*.png
 
+src/makeenvs/*.env
+src/make.env
+src/makeprog.env
+src/makelib.env
+
+src/Makefile
 src/*.inc
 src/mkdir
 src/Makefile
 samples/config/*.rc
 samples/config/*.wav
 
+samples/db/*.cpp
+samples/db/*.h
+samples/db/*.def
+samples/db/makefile*
+samples/db/*.xbm
+samples/db/*.xpm
+samples/db/*.txt
+samples/db/*.ico
+samples/db/*.bmp
+samples/db/*.rc
+samples/db/*.wav
+
 samples/dynamic/*.cpp
 samples/dynamic/*.h
 samples/dynamic/*.def
 samples/console/*.ico
 samples/console/*.txt
 
+samples/font/*.cpp
+samples/font/*.h
+samples/font/makefile*
+samples/font/*.rc
+samples/font/*.def
+samples/font/*.bmp
+samples/font/*.xpm
+samples/font/*.xbm
+samples/font/*.png
+samples/font/*.ico
+samples/font/*.txt
+
+samples/nettest/*.cpp
+samples/nettest/*.h
+samples/nettest/makefile*
+samples/nettest/*.rc
+samples/nettest/*.def
+samples/nettest/*.bmp
+samples/nettest/*.xpm
+samples/nettest/*.xbm
+samples/nettest/*.png
+samples/nettest/*.ico
+samples/nettest/*.txt
+
+samples/scrollsub/*.cpp
+samples/scrollsub/*.h
+samples/scrollsub/makefile*
+samples/scrollsub/*.rc
+samples/scrollsub/*.def
+samples/scrollsub/*.bmp
+samples/scrollsub/*.xpm
+samples/scrollsub/*.xbm
+samples/scrollsub/*.png
+samples/scrollsub/*.ico
+samples/scrollsub/*.txt
+
 
 include/install-sh
 include/wx/install-sh
 
-src/Makefile
-src/gtk.inc
-src/make.env
-src/makelib.env
-src/makeprog.env
-
 src/gtk/Makefile
 src/gtk/*.cpp
 src/gtk/*.c
 
 samples/checklst/Makefile.in
 samples/config/Makefile.in
 samples/controls/Makefile.in
+samples/db/Makefile.in
 samples/dialogs/Makefile.in
 samples/dnd/Makefile.in
 samples/docview/Makefile.in
 samples/wizard/Makefile.in
 samples/wxpoem/Makefile.in
 samples/wxsocket/Makefile.in
+samples/nettest/Makefile.in
+samples/scrollsub/Makefile.in
+utils/glcanvas/motif/Makefile.in
 utils/Makefile.in
 utils/wxMMedia2/Makefile.in
 utils/wxMMedia2/lib/Makefile.in
 
-install-sh
-Makefile
-template.mak
-configure
-configure.in
-config.guess
-config.sub
-wx-config.in
-mkinstalldirs
-wxinstall
-
-src/makeenvs/*.env
-src/make.env
-src/makeprog.env
-src/makelib.env
-
-src/Makefile
 src/motif.inc
 
 src/motif/*.cpp
 
 rem Zip up an external, generic + Windows distribution of wxWindows 2.0
 set src=%wxwin
 set dest=%src\deliver
+set wise=0
 if "%src" == "" goto usage
 if "%dest" == "" goto usage
+if "%1" == "-help" goto usage
+if "%1" == "--help" goto usage
+if "%1" == "/?" goto usage
+if "%1" == "wise" set wise=1
 echo About to archive an external wxWindows distribution:
 echo   From   %src
 echo   To     %dest
+if "%wise" == "1" echo with WISE setup creation.
 echo CTRL-C if this is not correct.
 pause
 
 
 cd %dest
 
+Rem Skip WISE setup if wise is 0.
+if "%wise" == "0" goto end
+
 rem Unzip the Windows files into 'wx'
 mkdir %dest\wx
 
 goto end
 
 :usage
-echo DOS wxWindows distribution.
-echo Usage: zipdist source destination
-echo e.g. zipdist d:\wx2\wxWindows d:\wx2\wxWindows\deliver
+echo DOS wxWindows distribution. Zips up all GTK/Motif/MSW/doc files,
+echo and optionally makes a deliver\wx directory and a setup.exe
+echo if you specify 'wise'.
+echo.
+echo Usage: zipdist [wise]
 
 :end
 
 wxWindows 2.0 for Motif installation
 ------------------------------------
 
-IMPORTANT NOTE: If you experience problems installing, please re-read this
-                instructions and other related files (todo.txt, bugs.txt and
-                osname.txt for your platform if it exists) carefully before
-                mailing wxwin-users or the author. Preferably, try to fix the
-                problem first and then send a patch to the author.
+IMPORTANT NOTE:
+
+  If you experience problems installing, please re-read these
+  instructions and other related files (todo.txt, bugs.txt and
+  osname.txt for your platform if it exists) carefully before
+  mailing wxwin-users or the author. Preferably, try to fix the
+  problem first and then send a patch to the author.
+  
+  When sending bug reports tell us what version of wxWindows you are 
+  using (including the beta) and what compiler on what system. One 
+  example: wxMotif 2.1 beta 6, egcs 1.1.1, Redhat 5.0
+
+First steps
+-----------
 
 - Prerequisites: Motif 1.2 or above, or Lesstif
   (not yet tested). Motif 2.0 and above may also be suitable.
 
-- Download the files wx200gen.zip and wx200mot.zip, and
-  documentation in a preferred format, such as wx200htm.zip
-  or wx200pdf.zip.
+- Download the appropriate .tgz archive, or alternatively the files
+  wx200gen.zip and wx200mot.zip. Download documentation in a preferred format,
+  such as wx200htm.zip or wx200pdf.zip.
 
-- Make a directory such as ~/wx and unzip the files into this
-  directory. Use the -a option if available to convert the ASCII
-  files to Unix format. Don't worry about files being
+- Make a directory such as ~/wx and unarchive the files into this
+  directory. If using the zip archives, use the -a option if available
+  to convert the ASCII files to Unix format. Don't worry about files being
   overwritten: they should be identical anyway.
 
   (See http://www.cdrom.com/pub/infozip/ if you don't have zip/unzip
 COMPILING USING CONFIGURE
 =========================
 
-- You can use the wxGTK configure system to make wxMotif, or
-  you can follow the following steps to use the simpler (but
-  less automatic) makefile system. If using configure, the
-  following script should make the library and samples, when
-  run from the top-level wxWindows directory (see also 'makewxmotif'
-  in this directory). Make this script executable with the command
+* The most simple case
+-----------------------
+
+If you compile wxWindows on Linux for the first time and don't like to read 
+install instructions just do (in the base dir):
+
+> ./configure --with-motif
+> make
+> su <type root password>
+> make install
+> ldconfig
+> exit
+
+Afterwards you can continue with
+
+> make
+> su <type root password>
+> make install
+> ldconfig
+> exit
+
+If you want to remove wxWindows on Unix you can do this:
+
+> su <type root password>
+> make uninstall
+> ldconfig
+> exit
+
+* The expert case
+-----------------
+
+If you want to do some more serious cross-platform programming with wxWindows, 
+such as for GTK and Motif, you can now build two complete libraries and use 
+them concurretly. For this end, you have to create a directory for each build 
+of wxWindows - you may also want to create different versions of wxWindows
+and test them concurrently. Most typically, this would be a version configured 
+with --enable-debug_flag and one without. Note, that only one build can currently 
+be installed, so you'd have to use local version of the library for that purpose.
+For building three versions (one GTK, one Motif and a debug version of the GTK 
+source) you'd do this:
+
+md buildmotif
+cd buildmotif
+../configure --with-motif
+make
+cd ..
+
+md buildgtk
+cd buildgtk
+../configure --with-gtk
+make
+cd ..
+
+md buildgtkd
+cd buildgtkd
+../configure --with-gtk --enable-debug_flag
+make
+cd ..
+
+* The most simple errors
+------------------------
+
+You get errors during compilation: The reason is that you probably have a broken 
+compiler, which includes almost everything that is called gcc. If you use gcc 2.8 
+you have to disable optimsation as the compiler will give up with an internal 
+compiler error.
+
+If there is just any way for you to use egcs, use egcs. We cannot fix gcc.
+
+You get immediate segfault when starting any sample or application: This is either 
+due to having compiled the library with different flags or options than your program - 
+typically you might have the __WXDEBUG__ option set for the library but not for your 
+program - or due to using a broken compiler (and its optimisation) such as GCC 2.8.
+
+* The most simple program
+-------------------------
+
+Now create your super-application myfoo.app and compile anywhere with
+
+g++ myfoo.cpp `wx-config --libs --cflags` -o myfoo
+
+* General
+-----------------------
+
+The Unix variants of wxWindows use GNU configure. If you have problems with your 
+make use GNU make instead.
+
+If you have general problems with installation, read my homepage at 
+
+  http://wesley.informatik.uni-freiburg.de/~wxxt
+  
+for newest information. If you still don't have any success, please send a bug 
+report to one of our mailing lists (see my homepage) INCLUDING A DESCRIPTION OF 
+YOUR SYSTEM AND YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT DISTRIBUTION 
+YOU USE AND WHAT ERROR WAS REPORTED. I know this has no effect, but I tried...
+
+* GUI libraries
+-----------------------
+
+wxWindows/Motif requires the Motif library to be installed on your system. As
+an alternative, you may also use the free library "lesstif" which implements
+most of the Motif API without the licence restrictions of Motif.
+
+You can get the newest version of the Lesstif from the lesstif homepage at:
+
+  http://www.lesstif.org
+  
+* Additional libraries
+-----------------------
+
+wxWindows/Motif requires a thread library and X libraries known to work with threads. 
+This is the case on all commercial Unix-Variants and all Linux-Versions that are 
+based on glibc 2 except RedHat 5.0 which is broken in many aspects. As of writing 
+this, these Linux distributions have correct glibc 2 support:
+
+ - RedHat 5.1
+ - Debian 2.0
+ - Stampede
+ - DLD 6.0
+ - SuSE 6.0
+ 
+You can disable thread support by running 
+
+./configure "--disable-threads"
+make
+su <type root password>
+make install
+ldconfig
+exit
+  
+NB: DO NOT COMPILE WXGTK WITH GCC AND THREADS, SINCE ALL PROGRAMS WILL CRASH UPON 
+START-UP! Just always use egcs and be happy.
+
+* Building wxMotif on SGI
+--------------------------
+
+Using the SGI native compilers, it is recommended that you
+also set CFLAGS and CXXFLAGS before running configure. These 
+should be set to :
+
+CFLAGS="-mips3 -n32" 
+CXXFLAGS="-mips3 -n32"
+
+This is essential if you want to use the resultant binaries 
+on any other machine than the one it was compiled on. If you 
+have a 64bit machine (Octane) you should also do this to ensure 
+you don't accidently build the libraries as 64bit (which is 
+untested).
+
+The SGI native compiler support has only been tested on Irix 6.5.
+
+* Create your configuration
+-----------------------------
+
+Usage:
+       ./configure options
+`
+If you want to use system's C and C++ compiler,
+set environment variables CC and CCC as
+
+       % setenv CC cc
+       % setenv CCC CC
+       % ./configure options
+
+to see all the options please use:
+
+       ./configure --help
+
+The basic philosophy is that if you want to use different
+configurations, like a debug and a release version, 
+or use the same source tree on different systems,
+you have only to change the environment variable OSTYPE.
+(Sadly this variable is not set by default on some systems
+in some shells - on SGI's for example). So you will have to 
+set it there. This variable HAS to be set before starting 
+configure, so that it knows which system it tries to 
+configure for.
+
+Configure will complain if the system variable OSTYPE has 
+not been defined. And Make in some circumstances as well...
+
+
+* General options
+-------------------
+
+Given below are the commands to change the default behaviour,
+i.e. if it says "--disable-threads" it means that threads
+are enabled by default.
+
+Many of the confiugre options have been thoroughly tested
+in wxWindows snapshot 6, but not yet all (ODBC not).
+
+You have to add --with-motif on platforms, where Motif is
+not the default (on Linux, configure will deafult to GTK).
+
+        --without-gtk            Don't use the GIMP ToolKit (GTK)
+       
+       --with-motif             Use either Motif or Lesstif
+                                Configure will look for both. 
+
+The following options handle the kind of library you want to build.
+
+       --disable-threads       Compile without thread support. Threads
+                               support is also required for the
+                               socket code to work.
+
+       --disable-shared        Do not create shared libraries.
+
+       --disable-optimise      Do not optimise the code. Can
+                               sometimes be useful for debugging
+                               and is required on some architectures
+                               such as Sun with gcc 2.8.X which
+                               would otherwise produce segvs.
+
+       --enable-profile        Add profiling info to the object 
+                               files. Currently broken, I think.
+                               
+       --enable-no_rtti        Enable compilation without creation of
+                               C++ RTTI information in object files. 
+                               This will speed-up compilation and reduce 
+                               binary size.
+                               
+       --enable-no_exceptions  Enable compilation without creation of
+                               C++ exception information in object files. 
+                               This will speed-up compilation and reduce 
+                               binary size. Also fewer crashes during the
+                               actual compilation...
+                               
+       --enable-no_deps        Enable compilation without creation of
+                               dependency information.
+                               
+       --enable-permissive     Enable compilation without creation of
+                               giving erros as soon as you compile with
+                               Solaris ANSI-defying headers...
+                               
+       --enable-mem_tracing    Add built-in memory tracing. 
+                               
+       --enable-dmalloc        Use the dmalloc memory debugger.
+                               Read more at www.letters.com/dmalloc/
+                               
+       --enable-debug_info     Add debug info to object files and
+                               executables for use with debuggers
+                               such as gdb (or its many frontends).
+
+       --enable-debug_flag     Define __DEBUG__ and __WXDEBUG__ when
+                               compiling. This enable wxWindows' very
+                               useful internal debugging tricks (such
+                               as automatically reporting illegal calls)
+                               to work. Note that program and library
+                               must be compiled with the same debug 
+                               options.
+
+* Feature Options
+-------------------
+
+Many of the confiugre options have been thoroughly tested
+in wxWindows snapshot 6, but not yet all (ODBC not).
+
+When producing an executable that is linked statically with wxGTK
+you'll be surprised at its immense size. This can sometimes be
+drastically reduced by removing features from wxWindows that 
+are not used in your program. The most relevant such features
+are
+
+       --without-libpng        Disables PNG image format code.
+       
+       --without-libjpeg       Disables JPEG image format code.
+       
+{      --without-odbc          Disables ODBC code. Not yet. }
+       
+        --disable-resources     Disables the use of *.wxr type
+                               resources.
+               
+       --disable-threads       Disables threads. Will also
+                               disable sockets.
+
+       --disable-sockets       Disables sockets.
+
+       --disable-dnd           Disables Drag'n'Drop.
+       
+       --disable-clipboard     Disables Clipboard.
+       
+       --disable-serial        Disables object instance serialiasation.
+       
+       --disable-streams       Disables the wxStream classes.
+       
+       --disable-file          Disables the wxFile class.
+       
+       --disable-textfile      Disables the wxTextFile class.
+       
+       --disable-intl          Disables the internationalisation.
+       
+       --disable-validators    Disables validators.
+       
+       --disable-accel         Disables accel.
+       
+Apart from disabling certain features you can very often "strip"
+the program of its debugging information resulting in a significant
+reduction in size.
+
+* Compiling
+-------------
+
+The following must be done in the base directory (e.g. ~/wxGTK
+or ~/wxWin or whatever)
+
+Now the makefiles are created (by configure) and you can compile 
+the library by typing:
+
+       make
+
+make yourself some coffee, as it will take some time. On an old
+386SX possibly two weeks. During compilation, you'll get a few 
+warning messages depending in your compiler.
+
+If you want to be more selective, you can change into a specific
+directiry and type "make" there.
+
+Then you may install the library and it's header files under
+/usr/local/include/wx and /usr/local/lib respectively. You
+have to log in as root (i.e. run "su" and enter the root
+password) and type
+
+        make install   
+
+You can remove any traces of wxWindows by typing
+
+        make uninstall
+       
+If you want to save disk space by removing unnecessary
+object-files:
+
+        make clean
+
+in the various directories will do the work for you.
+
+* Creating a new Project
+--------------------------
+
+1) The first way uses the installed libraries and header files
+automatically using wx-config
+
+g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
+
+Using this way, a make file for the minimal sample would look
+like this
+
+CC = g++
+
+minimal: minimal.o
+    $(CC) -o minimal minimal.o `wx-config --libs` 
+
+minimal.o: minimal.cpp mondrian.xpm
+    $(CC) `wx-config --cflags` -c minimal.cpp -o minimal.o
+
+clean: 
+       rm -f *.o minimal
+
+This is certain to become the standard way unless we decide
+to sitch to tmake.
+
+2) The other way creates a project within the source code 
+directories of wxWindows. For this endeavour, you'll need
+GNU autoconf version 2.14 and add an entry to your Makefile.in
+to the bottom of the configure.in script and run autoconf
+and configure before you can type make.
+
+* Further notes by Julian Smart
+---------------------------------
+
+- You may find the following script useful for compiling wxMotif:
+  Make this script executable with the command
   chmod a+x makewxmotif.
 
   -------:x-----Cut here-----:x-----
   # if they're not supported by the target platform, they will be disabled
   # anyhow
   # -- Julian Smart
-  chmod a+x configure config.sub config.guess setup/general/* setup/shared/*
-  ./configure --with-shared --with-motif --without-gtk --with-debug_flag --with-debug_info --without-threads
+  chmod a+x configure config.sub config.guess
+  ./configure --with-shared --with-motif --without-gtk --with-debug_flag --with-debug_info --enable-debug --without-threads --without-sockets --without-odbc
   make
   -------:x-----Cut here-----:x-----
 
-  This script will build wxMotif using shared libraries.
-
-- Change directory to a sample e.g. samples/minimal, and type make.
-  The binary will end up under the Linux (or other appropriate) subdirectory.
-
-- To build an application outside the wxWindows hierarchy, you can
-  use `wx-config --cflags` when compiling source files and `wx-config --libs`
-  when linking, where wx-config is in the wxWindows root directory.
-  These invocations return the appropriate flags for the compiler.
-
-- When compiling certain utilities such as Dialog Editor, you may find
-  that the makefile refers to wx-config as above. Unless you have used
-  "make install" to install wxWindows, wx-config won't be found, so
-  either edit the makefile to hard-wire the flags, or place wx-config
-  where it will be found by the makefile, or add the directory where you have
-  installed wxWindows to your PATH.
-
-- If switching between wxMotif and wxGTK, you should remove the
-  config.cache file manually before running configure again.
+  This script will build wxMotif using shared libraries. If you want to build
+  a static wxWindows library, use --disable-shared.
 
 COMPILING USING MAKEFILES
 =========================
 Other Notes
 -----------
 
-- Better installation and makefile systems are
-  required. A revised configure system is in preparation.
-
 - Debugging mode is switched on by default in the makefiles, but using
   configure will create a release build of the library by default: it's
   recommended to use --with-debug_info and --with-debug_flag configure
 
-wxMotif ReadMe
---------------
 
-This file is currently under construction.
+  Welcome to wxWindows/Motif 2.1 snapshot 7,
+
+you have downloaded version 2.1 of the Motif port of 
+the wxWindows GUI library. This is a developers release
+and is it not suited for production development. Beware
+that major changes can happen before a final release.
+
+More information is available from my homepage at:
+
+  http://wesley.informatik.uni-freiburg.de/~wxxt
+  
+and about the wxWindows project as a whole (and the
+Windows and Motif ports in particular) can be found
+at Julian Smart's homepage at:
+
+  http://web.ukonline.co.uk/julian.smart/wxwin
+  
+Information on how to install can be found in the file 
+INSTALL.txt, but if you cannot wait, this should work on
+many systems:
+
+./configure --with-motif
+make
+su <type root password>
+make install
+ldconfig
+exit
+
+When you run into problems, please read the INSTALL.txt and
+follow those instructions. If you still don't have any success,
+please send a bug report to one of our mailing lists (see
+my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND 
+YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
+DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know 
+this has no effect, but I tried...
+
+The library produced by the install process will be called 
+libwx_motif.a (static) and libwx_motif-2.1.so.0.0.0 (shared) so that 
+once a binary incompatible version of wxWindows/Motif comes out 
+we'll augment the library version number to avoid linking problems.
+
+Please send problems concerning installation, feature requests, 
+bug reports or comments to the wxWindows users list. Information 
+on how to subscribe is available from my homepage.
+
+wxWindows/Motif doesn't come with any guarantee whatsoever. It might 
+crash your harddisk or destroy your monitor. It doesn't claim to be
+suitable for any special or general purpose.
+
+  Regards,
+
+    Robert Roebling
+
+
 
-For further details of the Motif port, please see changes.txt and
-todo.txt.
 
-wxWindows 2.0.1
----------------
+wxWindows 2.1
+-------------
 
 Welcome to wxWindows 2, a sophisticated cross-platform C++
 framework for writing advanced GUI applications using (where
 Where certain features are not available on a platform, such as MDI and
 tree controls on Unix, they are emulated.
 
-A detailed 700-page reference manual is supplied in HTML, PDF and
+A detailed 1100-page reference manual is supplied in HTML, PDF and
 Windows Help form: see the docs hierarchy.
 
 For a quick start, point your Web browser at docs/html/index.htm for a list of
 Files
 -----
 
+The distribution is available in a number of formats.
+The most convenient is the platform-specific distribution,
+but the zip set forms a more complete distribution, for example if
+you wish to take part in wxWindows development. Also, add-ons
+such as OGL may only be available in zip form.
+
+Zip set
+-------
+
 Depending on what you downloaded, you may have one or more of
 these ports. You may unarchive any or all of the ports into
 the same directory hierarchy. The zip archive set comprises the
 wx200vc.zip             MS VC++ 5/6 project files
 wx200bc.zip             Borland C++ 5 project files
 wx200cw.zip             Metrowerks CodeWarrior 4.1 project files
+jpeg.zip                Optional JPEG library
+ogl3.zip                Optional Object Graphics Library
+glcanvas.zip            Optional wxGLCanvas class (Motif, GTK, MSW)
+tex2rtf2.zip            Tex2RTF documentation tool
 
-The tarred, gzip archive comprises the following (or similar
-names). Not all of these files are available in all distributions, due
-to space restrictions.
+wxWindows for GTK distribution
+------------------------------
 
-wx200gtk.tgz            All wxGTK source and samples
-wx200mot.tgz            All wxMotif source and samples
-wx200stubs.tgz          Stubs ('empty port') source. Needs
-                        wx200gen.zip/tgz.
-wx200gen.tgz            Generic code and samples (common to all ports)
-wx200pdf.tgz            Acrobat PDF documentation
-wx200htm.tgz            HTML documentation
-wx200src.tgz            Documentation source
+TODO
+
+wxWindows for Motif distribution
+--------------------------------
+
+TODO
+
+wxWindows for Windows distribution
+----------------------------------
+
+setup.exe               Setup file (Windows 95/98, NT)
+setup.*                 Other setup files
 
 Installation
 ------------
 
 A wxWindows CD-ROM with the latest distribution plus an HTML
 front-end and hundreds of MB of compilers, utilities and other
-material may be ordered from the CD-ROM page:
-
-  http://www.wxwindows.org/cdrom.htm
-
-or contact Julian Smart <julian.smart@ukonline.co.uk>.
+material may be ordered from the CD-ROM page (see the wxWindows
+web site) or contact Julian Smart <julian.smart@ukonline.co.uk>.
 
 Good luck!
 
-The wxWindows Team, March 1st, 1999
+The wxWindows Team, November 1999
 
 
 
     virtual wxString GetRowLabelValue( int row );
     virtual wxString GetColLabelValue( int col );
-    virtual void SetRowLabelValue( int row, const wxString& ) {}
-    virtual void SetColLabelValue( int col, const wxString& ) {}
+    virtual void SetRowLabelValue( int WXUNUSED(row), const wxString& ) {}
+    virtual void SetColLabelValue( int WXUNUSED(col), const wxString& ) {}
     
     DECLARE_ABSTRACT_CLASS( wxGridTableBase );
 };
                 SetRowLabelAlignment( align, -1 );
         }
 
-    int GetLabelAlignment( int orientation, int align )
+    int GetLabelAlignment( int orientation, int WXUNUSED(align) )
         {
             int h, v;
             if ( orientation == wxHORIZONTAL )
     wxFont GetCellTextFont() const 
         { return m_defaultCellFont; }
         
-    wxFont GetCellTextFont(int row, int col) const
+    wxFont GetCellTextFont(int WXUNUSED(row), int WXUNUSED(col)) const
         { return m_defaultCellFont; }
         
     void SetCellTextFont(const wxFont& fnt)
 
 // ----------------------------------------------------------------------------
 
 // id for a separator line in the menu (invalid for normal item)
-#define   ID_SEPARATOR    (-1)
+// #define   ID_SEPARATOR    (-1)
 
 // ----------------------------------------------------------------------------
 // wxMenuItem: an item in the menu, optionally implements owner-drawn behaviour
 
 }
 
 
-void wxGenericFontDialog::OnPaint(wxPaintEvent& event)
+void wxGenericFontDialog::OnPaint(wxPaintEvent& WXUNUSED(event))
 {
   wxPaintDC dc(this);
   PaintFontBackground(dc);
 
 }
 
 
-void wxGrid::OnPaint( wxPaintEvent& ev )
+void wxGrid::OnPaint( wxPaintEvent& WXUNUSED(ev) )
 {
     wxPaintDC dc( this );
 
 }
 
 
-void wxGrid::OnSize( wxSizeEvent& ev )
+void wxGrid::OnSize( wxSizeEvent& WXUNUSED(ev) )
 {
     if ( m_created ) CalcDimensions();
 }
     return wxColour( 255, 255, 255 );
 }
 
-wxColour wxGrid::GetCellBackgroundColour( int row, int col )
+wxColour wxGrid::GetCellBackgroundColour( int WXUNUSED(row), int WXUNUSED(col) )
 {
     // TODO: replace this temp test code
     //
     return wxColour( 0, 0, 0 );    
 }
 
-wxColour wxGrid::GetCellTextColour( int row, int col )
+wxColour wxGrid::GetCellTextColour( int WXUNUSED(row), int WXUNUSED(col) )
 {
     // TODO: replace this temp test code
     //
     return m_defaultCellFont;
 }
 
-wxFont wxGrid::GetCellFont( int row, int col )
+wxFont wxGrid::GetCellFont( int WXUNUSED(row), int WXUNUSED(col) )
 {
     // TODO: replace this temp test code
     //
     *vert  = wxTOP;
 }
 
-void wxGrid::GetCellAlignment( int row, int col, int *horiz, int *vert )
+void wxGrid::GetCellAlignment( int WXUNUSED(row), int WXUNUSED(col), int *horiz, int *vert )
 {
     // TODO: replace this temp test code
     //
     //
 }
 
-void wxGrid::SetCellBackgroundColour( int row, int col, const wxColour& )
+void wxGrid::SetCellBackgroundColour( int WXUNUSED(row), int WXUNUSED(col), const wxColour& )
 {
     // TODO: everything !!!
     //
     //
 }
 
-void wxGrid::SetCellTextColour( int row, int col, const wxColour& )
+void wxGrid::SetCellTextColour( int WXUNUSED(row), int WXUNUSED(col), const wxColour& )
 {
     // TODO: everything !!!
     //
     //
 }
 
-void wxGrid::SetCellFont( int row, int col, const wxFont& )
+void wxGrid::SetCellFont( int WXUNUSED(row), int WXUNUSED(col), const wxFont& )
 {
     // TODO: everything !!!
     //
 }
 
-void wxGrid::SetDefaultCellAlignment( int horiz, int vert )
+void wxGrid::SetDefaultCellAlignment( int WXUNUSED(horiz), int WXUNUSED(vert) )
 {
     // TODO: everything !!!
     //
 }
 
-void wxGrid::SetCellAlignment( int row, int col, int horiz, int vert )
+void wxGrid::SetCellAlignment( int WXUNUSED(row), int WXUNUSED(col), int WXUNUSED(horiz), int WXUNUSED(vert) )
 {
     // TODO: everything !!!
     //
 
     return TRUE;
 }
 
-void wxNotebook::Command(wxCommandEvent& event)
+void wxNotebook::Command(wxCommandEvent& WXUNUSED(event))
 {
     wxFAIL_MSG("wxNotebook::Command not implemented");
 }
 
     HP_TagHandler *handler = new HP_TagHandler(book);
     parser.AddTagHandler(handler);
 
-    f = ( contentsfile.IsEmpty() ? NULL : fsys.OpenFile(contentsfile) );
+    f = ( contentsfile.IsEmpty() ? 0 : fsys.OpenFile(contentsfile) );
     if (f) {
         sz = f -> GetStream() -> GetSize();
         buf = new char[sz+1];
         delete[] buf;
     }
 
-    f = ( indexfile.IsEmpty() ? NULL : fsys.OpenFile(indexfile) );
+    f = ( indexfile.IsEmpty() ? 0 : fsys.OpenFile(indexfile) );
     if (f) {
         sz = f -> GetStream() -> GetSize();
         buf = new  char[sz+1];
 
 # info
 
 # Set WXDIR for your system
-WXDIR = j:\dev\wx2\wxWindows
+WXDIR = $(WXWIN)
 
 !include $(WXDIR)\src\makevc.env
 
 
 # info
 
 # Set WXDIR for your system
-WXDIR = j:\dev\wx2\wxWindows
+WXDIR = $(WXWIN)
 
 WXUSINGDLL=0
 
 
 #
-# File:                ntwxwin.env
+# File:                makevc.env
 # Author:      Ulrich Leodolter
 # Created:     Wed May 17 08:36:42 1995
 # Updated:
  comctl32.lib ctl3d32.lib odbc32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib # libci.lib # libci.lib required for VC++ 4.2
 
 # Change this to your WXWIN directory
-WXDIR=j:\dev\wx2\wxWindows
+WXDIR=$(WXWIN)
 
 WXSRC=$(WXDIR)\src\msw
 WXINC=$(WXDIR)\include
 
 }
 
 // Load from .rc resource
-wxAcceleratorTable::wxAcceleratorTable(const wxString& resource)
+wxAcceleratorTable::wxAcceleratorTable(const wxString& WXUNUSED(resource))
 {
     m_refData = new wxAcceleratorRefData;
 }
 
 }
 
 // Bitmap checkbox
-bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *label,
-                              const wxPoint& pos,
-                              const wxSize& size, long style,
+bool wxBitmapCheckBox::Create(wxWindow *parent, wxWindowID id, const wxBitmap *WXUNUSED(label),
+                              const wxPoint& WXUNUSED(pos),
+                              const wxSize& WXUNUSED(size), long style,
                               const wxValidator& validator,
                               const wxString& name)
 {
     return FALSE;
 }
 
-void wxBitmapCheckBox::SetLabel(const wxBitmap& bitmap)
+void wxBitmapCheckBox::SetLabel(const wxBitmap& WXUNUSED(bitmap))
 {
     // TODO
 }
 
-void wxBitmapCheckBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
+void wxBitmapCheckBox::DoSetSize(int WXUNUSED(x), int WXUNUSED(y), int WXUNUSED(width), int WXUNUSED(height), int WXUNUSED(sizeFlags))
 {
     // TODO
 }
 
-void wxBitmapCheckBox::SetValue(bool val)
+void wxBitmapCheckBox::SetValue(bool WXUNUSED(val))
 {
     // TODO
 }
     return FALSE;
 }
 
-void wxCheckBoxCallback (Widget w, XtPointer clientData,
-                         XtPointer ptr)
+void wxCheckBoxCallback (Widget WXUNUSED(w), XtPointer clientData,
+                         XtPointer WXUNUSED(ptr))
 {
     wxCheckBox *item = (wxCheckBox *) clientData;
 
 
 // check items
 // -----------
 
-bool wxCheckListBox::IsChecked(size_t uiIndex) const
+bool wxCheckListBox::IsChecked(size_t WXUNUSED(uiIndex)) const
 {
     // TODO
     return FALSE;
 }
 
-void wxCheckListBox::Check(size_t uiIndex, bool bCheck)
+void wxCheckListBox::Check(size_t WXUNUSED(uiIndex), bool WXUNUSED(bCheck))
 {
     // TODO
 }
 
         return TRUE;
 }
 
-bool wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int width, int height)
+bool wxSetClipboardData(wxDataFormat dataFormat, wxObject *obj, int WXUNUSED(width), int WXUNUSED(height))
 {
     if (dataFormat != wxDF_TEXT)
         return FALSE;
        return wxDF_INVALID;
 }
 
-wxDataFormat  wxRegisterClipboardFormat(char *formatName)
+wxDataFormat  wxRegisterClipboardFormat(char *WXUNUSED(formatName))
 {
     // Not supported
     return (wxDataFormat) wxDF_INVALID;
 }
 
-bool wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int maxCount)
+bool wxGetClipboardFormatName(wxDataFormat dataFormat, char *formatName, int WXUNUSED(maxCount))
 {
     // Only wxDF_TEXT supported
     if (dataFormat == wxDF_TEXT)
 
 IMPLEMENT_DYNAMIC_CLASS(wxClipboard,wxObject)
 
-wxClipboard* wxTheClipboard = (wxClipboard*) NULL;
-
 wxClipboard::wxClipboard()
 {
     m_open = FALSE;
 
         int style;
         int join;
         int cap;
-        const static char dotted[] = {2, 5};
-        const static char short_dashed[] = {4, 4};
-        const static char long_dashed[] = {4, 8};
-        const static char dotted_dashed[] = {6, 6, 2, 6};
+        static const char dotted[] = {2, 5};
+        static const char short_dashed[] = {4, 4};
+        static const char long_dashed[] = {4, 8};
+        static const char dotted_dashed[] = {6, 6, 2, 6};
 
         // We express dash pattern in pen width unit, so we are
         // independent of zoom factor and so on...
 
 
 // Default resizing behaviour - if only ONE subwindow,
 // resize to client rectangle size
-void wxDialog::OnSize(wxSizeEvent& event)
+void wxDialog::OnSize(wxSizeEvent& WXUNUSED(event))
 {
     // if we're using constraints - do use them
 #if wxUSE_CONSTRAINTS
     }
 }
 
-void wxDialog::OnCloseWindow(wxCloseEvent& event)
+void wxDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
 {
     // We'll send a Cancel message by default,
     // which may close the dialog.
 
     m_pos = pos;
 }
 
-static void wxChangeListBoxColours(wxWindow* win, Widget widget)
+static void wxChangeListBoxColours(wxWindow* WXUNUSED(win), Widget widget)
 {
     wxWindow::DoChangeBackgroundColour((WXWidget) widget, *wxWHITE);
 
 
     if (y) *y = yy;
 }
 
-void wxFrame::DoSetSize(int x, int y, int width, int height, int sizeFlags)
+void wxFrame::DoSetSize(int x, int y, int width, int height, int WXUNUSED(sizeFlags))
 {
     if (x > -1)
         XtVaSetValues((Widget) m_frameShell, XmNx, x, NULL);
 
 // Default resizing behaviour - if only ONE subwindow,
 // resize to client rectangle size
-void wxFrame::OnSize(wxSizeEvent& event)
+void wxFrame::OnSize(wxSizeEvent& WXUNUSED(event))
 {
     // if we're using constraints - do use them
 #if wxUSE_CONSTRAINTS
 // subwindow found.
 void wxFrame::OnActivate(wxActivateEvent& event)
 {
+    if (!event.GetActive())
+        return;
+
     for(wxNode *node = GetChildren().First(); node; node = node->Next())
     {
         // Find a child that's a subwindow, but not a dialog box.
 // The default implementation for the close window event.
 // OnClose for backward compatibility.
 
-void wxFrame::OnCloseWindow(wxCloseEvent& event)
+void wxFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
 {
     this->Destroy();
 }
     XLowerWindow(XtDisplay((Widget) m_frameShell), parent_window);
 }
 
-void wxFrameFocusProc(Widget workArea, XtPointer clientData,
-                      XmAnyCallbackStruct *cbs)
+void wxFrameFocusProc(Widget WXUNUSED(workArea), XtPointer WXUNUSED(clientData),
+                      XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     // wxDebugMsg("focus proc from frame %ld\n",(long)frame);
     // TODO
     return m_clientArea;
 }
 
-void wxFrame::ChangeFont(bool keepOriginalSize)
+void wxFrame::ChangeFont(bool WXUNUSED(keepOriginalSize))
 {
     // TODO
 }
         DoChangeForegroundColour(GetClientWidget(), m_foregroundColour);
 }
 
-void wxCloseFrameCallback(Widget widget, XtPointer client_data, XmAnyCallbackStruct *cbs)
+void wxCloseFrameCallback(Widget WXUNUSED(widget), XtPointer client_data, XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     wxFrame *frame = (wxFrame *)client_data;
 
 
     XtVaSetValues((Widget) m_mainWidget, XmNshadowThickness, w, NULL);
 }
 
-void wxGauge::SetBezelFace(int w)
+void wxGauge::SetBezelFace(int WXUNUSED(w))
 {
 }
 
 #endif
 
 static void
-Initialize(Widget req, Widget new_w, ArgList args, Cardinal *num_args )
+Initialize(Widget WXUNUSED(req), Widget new_w, ArgList WXUNUSED(args), Cardinal *WXUNUSED(num_args ))
 {
     XmGaugeWidget gw = (XmGaugeWidget)new_w;
 #define THIS gw->gauge
 static Boolean
 SetValues(
           Widget cw,
-          Widget rw,
+          Widget WXUNUSED(rw),
           Widget nw,
-          ArgList args,
-          Cardinal *num_args )
+          ArgList WXUNUSED(args),
+          Cardinal *WXUNUSED(num_args) )
 {
     XmGaugeWidget cgw = (XmGaugeWidget)cw;
     XmGaugeWidget ngw = (XmGaugeWidget)nw;
 
 
 static void
-ExposeProc(Widget w, XEvent *event, Region r)
+ExposeProc(Widget w, XEvent *WXUNUSED(event), Region WXUNUSED(r))
 {
     XmGaugeWidget gw = (XmGaugeWidget)w;
 #define THIS gw->gauge
 
 
 void
-GaugePick(Widget w, XEvent *e, String *args, Cardinal  *num_args)
+GaugePick(Widget WXUNUSED(w), XEvent *WXUNUSED(e), String *WXUNUSED(args), Cardinal  *WXUNUSED(num_args))
 {
     /* Commented out for a read-only gauge in wxWindows */
 #if 0
 #define round(x) ( (x) > 0 ? ((x) + 0.5) : -(-(x) + 0.5) )
 
 void
-GaugeDrag(Widget w, XEvent *e, String *args, Cardinal  *num_args)
+GaugeDrag(Widget WXUNUSED(w), XEvent *WXUNUSED(e), String *WXUNUSED(args), Cardinal  *WXUNUSED(num_args))
 {
     /* Commented out for a read-only gauge in wxWindows */
 #if 0
 
 
 void
-GaugeDrop(Widget w, XEvent *e, String *args, Cardinal  *num_args)
+GaugeDrop(Widget WXUNUSED(w), XEvent *WXUNUSED(e), String *WXUNUSED(args), Cardinal  *WXUNUSED(num_args))
 {
     /* Commented out for a read-only gauge in wxWindows */
 #if 0
 
     ProcessCommand (event);
 }
 
-void wxListBoxCallback (Widget w, XtPointer clientData,
+void wxListBoxCallback (Widget WXUNUSED(w), XtPointer clientData,
                         XmListCallbackStruct * cbs)
 {
     /*
 * designated "default button" in the action area and activate it
 * as if the user had selected it.
 */
-void wxListBoxDefaultActionProc (Widget list_w, XtPointer client_data, XmListCallbackStruct * cbs)
+void wxListBoxDefaultActionProc (Widget WXUNUSED(list_w), XtPointer client_data, XmListCallbackStruct * WXUNUSED(cbs))
 {
     wxListBox *lbox = (wxListBox *) client_data;
 
 
     SetChildMenuBar((wxMDIChildFrame*) NULL);
 }
 
-void wxMDIParentFrame::OnSize(wxSizeEvent& event)
+void wxMDIParentFrame::OnSize(wxSizeEvent& WXUNUSED(event))
 {
 #if wxUSE_CONSTRAINTS
     if (GetAutoLayout())
     wxFrame::GetClientSize(width, height);
 }
 
-void wxMDIParentFrame::OnActivate(wxActivateEvent& event)
+void wxMDIParentFrame::OnActivate(wxActivateEvent& WXUNUSED(event))
 {
     // Do nothing
 }
                              const wxString& name)
 {
     SetName(name);
+    SetWindowStyleFlag(style);
 
     m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE);
     m_foregroundColour = *wxBLACK;
     // TODO
 }
 
-void wxMDIChildFrame::Iconize(bool iconize)
+void wxMDIChildFrame::Iconize(bool WXUNUSED(iconize))
 {
     // TODO
 }
 
 bool wxMDIClientWindow::CreateClient(wxMDIParentFrame *parent, long style)
 {
+    SetWindowStyleFlag(style);
+
     //    m_windowParent = parent;
     //    m_backgroundColour = wxSystemSettings::GetSystemColour(wxSYS_COLOUR_APPWORKSPACE);
 
 }
 
 // Explicitly call default scroll behaviour
-void wxMDIClientWindow::OnScroll(wxScrollEvent& event)
+void wxMDIClientWindow::OnScroll(wxScrollEvent& WXUNUSED(event))
 {
     Default(); // Default processing
 }
 
     item->Enable(flag);
 }
 
-void wxMenuBar::EnableTop(int pos, bool flag)
+void wxMenuBar::EnableTop(int WXUNUSED(pos), bool WXUNUSED(flag))
 {
     // TODO
 }
 
 }
 
-bool wxMenuBar::OnDelete(wxMenu *menu, int pos)
+bool wxMenuBar::OnDelete(wxMenu *menu, int WXUNUSED(pos))
 {
     // Only applies to dynamic deletion (when set in frame)
     if (!m_menuBarFrame)
 }
 
 void
-wxMenuPopdownCallback(Widget w, XtPointer clientData,
-                      XtPointer ptr)
+wxMenuPopdownCallback(Widget WXUNUSED(w), XtPointer clientData,
+                      XtPointer WXUNUSED(ptr))
 {
     wxMenu *menu = (wxMenu *)clientData;
 
         m_menus[i]->SetForegroundColour((wxColour&) col);
 }
 
-void wxMenuBar::ChangeFont(bool keepOriginalSize)
+void wxMenuBar::ChangeFont(bool WXUNUSED(keepOriginalSize))
 {
     // Nothing to do for menubar, fonts are kept in wxMenus
 }
 
     }
 }
 
-void wxMenuItemCallback (Widget w, XtPointer clientData,
-                         XtPointer ptr)
+void wxMenuItemCallback (Widget WXUNUSED(w), XtPointer clientData,
+                         XtPointer WXUNUSED(ptr))
 {
     wxMenuItem *item = (wxMenuItem *) clientData;
     if (item)
     }
 }
 
-void wxMenuItemArmCallback (Widget w, XtPointer clientData,
-                       XtPointer ptr)
+void wxMenuItemArmCallback (Widget WXUNUSED(w), XtPointer clientData,
+                       XtPointer WXUNUSED(ptr))
 {
     wxMenuItem *item = (wxMenuItem *) clientData;
     if (item)
 }
 
 void
-wxMenuItemDisarmCallback (Widget w, XtPointer clientData,
-                          XtPointer ptr)
+wxMenuItemDisarmCallback (Widget WXUNUSED(w), XtPointer clientData,
+                          XtPointer WXUNUSED(ptr))
 {
     wxMenuItem *item = (wxMenuItem *) clientData;
     if (item)
 
 
 static void msgboxCallBackOk(Widget w,
                              int client_data,
-                             XmAnyCallbackStruct *call_data)
+                             XmAnyCallbackStruct *WXUNUSED(call_data))
 {
     msgboxCallBack(w, client_data, wxID_OK);
 }
 
 static void msgboxCallBackCancel(Widget w,
                                  int client_data,
-                                 XmAnyCallbackStruct *call_data)
+                                 XmAnyCallbackStruct *WXUNUSED(call_data))
 {
     msgboxCallBack(w, client_data, wxID_CANCEL);
 }
 
 static void msgboxCallBackHelp(Widget w,
                                int client_data,
-                               XmAnyCallbackStruct *call_data)
+                               XmAnyCallbackStruct *WXUNUSED(call_data))
 {
     msgboxCallBack(w, client_data, wxID_HELP);
 }
 
 static void msgboxCallBackClose(Widget w,
                                 int client_data,
-                                XmAnyCallbackStruct *call_data)
+                                XmAnyCallbackStruct *WXUNUSED(call_data))
 {
     msgboxCallBack(w, client_data, wxID_CANCEL);
 }
                                  const wxString& message,
                                  const wxString& caption,
                                  long style,
-                                 const wxPoint& pos)
+                                 const wxPoint& WXUNUSED(pos))
 {
     m_caption = caption;
     m_message = message;
     XtSetArg(args[ac], XmNdialogTitle, title()); ac++;
 
     // do create message box
-    Widget wParent = m_parent ? GetWidget(m_parent) : NULL;
+    Widget wParent = m_parent ? GetWidget(m_parent) : (Widget) 0;
     if ( !wParent )
     {
         wxWindow *window = wxTheApp->GetTopWindow();
 
     return FALSE;
 }
 
-bool wxPalette::GetRGB(int index, unsigned char *red, unsigned char *green, unsigned char *blue) const
+bool wxPalette::GetRGB(int index, unsigned char *WXUNUSED(red), unsigned char *WXUNUSED(green), unsigned char *WXUNUSED(blue)) const
 {
     if ( !m_refData )
         return FALSE;
 
 //-----------------------------------------------------------------------------
 
 // Does the region contain the point (x,y)?
-wxRegionContain wxRegion::Contains(long x, long y) const
+wxRegionContain wxRegion::Contains(long WXUNUSED(x), long WXUNUSED(y)) const
 {
     if (!m_refData)
         return wxOutRegion;
 
 }
 
 void wxScrollBar::SetScrollbar(int position, int thumbSize, int range, int pageSize,
-    bool refresh)
+    bool WXUNUSED(refresh))
 {
     m_viewSize = pageSize;
     m_pageSize = thumbSize;
     ProcessCommand(event);
 }
 
-void wxScrollBar::ChangeFont(bool keepOriginalSize)
+void wxScrollBar::ChangeFont(bool WXUNUSED(keepOriginalSize))
 {
     // TODO
     // Do anything for a scrollbar? A font will never be seen.
     wxWindow::ChangeForegroundColour();
 }
 
-static void wxScrollBarCallback(Widget widget, XtPointer clientData,
+static void wxScrollBarCallback(Widget WXUNUSED(widget), XtPointer clientData,
                         XmScaleCallbackStruct *cbs)
 {
     wxScrollBar *scrollBar = (wxScrollBar *)clientData;
 
 }
 
 // For trackbars only
-void wxSlider::SetTickFreq(int n, int pos)
+void wxSlider::SetTickFreq(int n, int WXUNUSED(pos))
 {
     // Not implemented in Motif
     m_tickFreq = n;
 
 IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxScrollEvent);
 #endif
 
-bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
+bool wxSpinButton::Create(wxWindow *parent, wxWindowID id, const wxPoint& WXUNUSED(pos), const wxSize& WXUNUSED(size),
             long style, const wxString& name)
 {
     SetName(name);
     return 0;
 }
 
-void wxSpinButton::SetValue(int val)
+void wxSpinButton::SetValue(int WXUNUSED(val))
 {
     // TODO
 }
     wxSpinButtonBase::SetRange(minVal, maxVal);
 }
 
-void wxSpinButton::ChangeFont(bool keepOriginalSize)
+void wxSpinButton::ChangeFont(bool WXUNUSED(keepOriginalSize))
 {
     // TODO
 }
 
     Clear();
 
     Widget textWidget = (Widget) m_mainWidget;
-    FILE *fp;
+    FILE *fp = 0;
 
     struct stat statb;
     if ((stat ((char*) (const char*) file, &statb) == -1) || (statb.st_mode & S_IFMT) != S_IFREG ||
 }
 
 static void
-wxTextWindowChangedProc (Widget w, XtPointer clientData, XtPointer ptr)
+wxTextWindowChangedProc (Widget w, XtPointer clientData, XtPointer WXUNUSED(ptr))
 {
     if (!wxGetWindowFromTable(w))
         // Widget has been deleted!
 }
 
 static void
-wxTextWindowModifyProc (Widget w, XtPointer clientData, XmTextVerifyCallbackStruct *cbs)
+wxTextWindowModifyProc (Widget WXUNUSED(w), XtPointer clientData, XmTextVerifyCallbackStruct *cbs)
 {
     wxTextCtrl *tw = (wxTextCtrl *) clientData;
     tw->m_processedDefault = FALSE;
 }
 
 static void
-wxTextWindowGainFocusProc (Widget w, XtPointer clientData, XmAnyCallbackStruct *cbs)
+wxTextWindowGainFocusProc (Widget w, XtPointer clientData, XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     if (!wxGetWindowFromTable(w))
         return;
 }
 
 static void
-wxTextWindowLoseFocusProc (Widget w, XtPointer clientData, XmAnyCallbackStruct *cbs)
+wxTextWindowLoseFocusProc (Widget w, XtPointer clientData, XmAnyCallbackStruct *WXUNUSED(cbs))
 {
     if (!wxGetWindowFromTable(w))
         return;
 }
 
 static void wxTextWindowActivateProc(Widget w, XtPointer clientData,
-                                     XmAnyCallbackStruct *ptr)
+                                     XmAnyCallbackStruct *WXUNUSED(ptr))
 {
     if (!wxGetWindowFromTable(w))
         return;
 
 bool wxToolBar::Create(wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size,
             long style, const wxString& name)
 {
+    m_windowId = id;
     m_maxWidth = -1;
     m_maxHeight = -1;
 
 // created and used as the pushed/toggled image.
 // If toggle is TRUE, the button toggles between the two states.
 
-wxToolBarTool *wxToolBar::AddTool(int index, const wxBitmap& bitmap, const wxBitmap& pushedBitmap,
+wxToolBarTool *wxToolBar::AddTool(int index, const wxBitmap& bitmap, const wxBitmap& WXUNUSED(pushedBitmap),
              bool toggle, long xPos, long yPos, wxObject *clientData, const wxString& helpString1, const wxString& helpString2)
 {
   wxToolBarTool *tool = new wxToolBarTool(index, bitmap, wxNullBitmap, toggle, xPos, yPos, helpString1, helpString2);
 
 
 void wxToolButtonCallback (Widget w, XtPointer clientData,
-                    XtPointer ptr)
+                    XtPointer WXUNUSED(ptr))
 {
     wxToolBar *toolBar = (wxToolBar *) clientData;
     int index = toolBar->FindIndexForWidget((WXWidget) w);
 
 
 static void wxToolButtonPopupCallback (Widget w, XtPointer client_data,
-                     XEvent *event, Boolean *continue_to_dispatch)
+                     XEvent *event, Boolean *WXUNUSED(continue_to_dispatch))
 {
     // TODO: retrieve delay before popping up tooltip from wxSystemSettings.
     int delayMilli = 800;
 
 // wxExecute stuff
 // ----------------------------------------------------------------------------
 
-static void xt_notify_end_process(XtPointer data, int *fid,
+static void xt_notify_end_process(XtPointer data, int *WXUNUSED(fid),
                                   XtInputId *id)
 {
     wxEndProcessData *proc_data = (wxEndProcessData *)data;
     int h = hsv->h;
     int s = hsv->s;
     int v = hsv->v;
-    int r, g, b;
+    int r = 0, g = 0, b = 0;
     int i, f;
     int p, q, t;
     s = (s * wxMAX_RGB) / wxMAX_SV;
     int b = rgb->blue >> 8;
     int maxv = wxMax3(r, g, b);
     int minv = wxMin3(r, g, b);
-    int h, s, v;
+    int h = 0, s, v;
     v = maxv;
     if (maxv) s = (maxv - minv) * wxMAX_RGB / maxv;
     else s = 0;
     if (s == 0) h = 0;
     else
     {
-        int rc, gc, bc, hex;
+        int rc, gc, bc, hex = 0;
         rc = (maxv - r) * wxMAX_RGB / (maxv - minv);
         gc = (maxv - g) * wxMAX_RGB / (maxv - minv);
         bc = (maxv - b) * wxMAX_RGB / (maxv - minv);
     wxHSV hsv_defs, hsv;
     wxXColorToHSV(&hsv,xc);
 
-    int diff, min_diff, pixel = 0;
+    int diff, min_diff = 0, pixel = 0;
 
     for(llp = 0;llp < num_colors;llp++)
     {
 
     }
 }
 
-void wxWindow::OnIdle(wxIdleEvent& event)
+void wxWindow::OnIdle(wxIdleEvent& WXUNUSED(event))
 {
     // This calls the UI-update mechanism (querying windows for
     // menu/toolbar/control state information)
 // ----------------------------------------------------------------------------
 
 // Add to hash table, add event handler
-bool wxWindow::AttachWidget (wxWindow* parent, WXWidget mainWidget,
+bool wxWindow::AttachWidget (wxWindow* WXUNUSED(parent), WXWidget mainWidget,
                              WXWidget formWidget, int x, int y, int width, int height)
 {
     wxAddWindowToTable((Widget) mainWidget, this);
 
 // All widgets should have this as their resize proc.
 // OnSize sent to wxWindow via client data.
-void wxWidgetResizeProc(Widget w, XConfigureEvent *event, String args[], int *num_args)
+void wxWidgetResizeProc(Widget w, XConfigureEvent *WXUNUSED(event), String WXUNUSED(args)[], int *WXUNUSED(num_args))
 {
     wxWindow *win = wxGetWindowFromTable(w);
     if (!win)
 
 // Unable to deal with Enter/Leave without a separate EventHandler (Motif 1.1.4)
 static void wxCanvasEnterLeave(Widget drawingArea,
-                               XtPointer clientData,
+                               XtPointer WXUNUSED(clientData),
                                XCrossingEvent * event)
 {
     XmDrawingAreaCallbackStruct cbs;
 }
 
 // Fix to make it work under Motif 1.0 (!)
-static void wxCanvasMotionEvent (Widget drawingArea, XButtonEvent * event)
+static void wxCanvasMotionEvent (Widget WXUNUSED(drawingArea), XButtonEvent * WXUNUSED(event))
 {
 #if XmVersion <= 1000
     XmDrawingAreaCallbackStruct cbs;
 }
 
 static void wxCanvasInputEvent(Widget drawingArea,
-                               XtPointer data,
+                               XtPointer WXUNUSED(data),
                                XmDrawingAreaCallbackStruct * cbs)
 {
     wxWindow *canvas = wxGetWindowFromTable(drawingArea);
 }
 
 static void wxPanelItemEventHandler(Widget    wid,
-                                    XtPointer client_data,
+                                    XtPointer WXUNUSED(client_data),
                                     XEvent*   event,
                                     Boolean  *continueToDispatch)
 {
     return FALSE;
 }
 
-bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Widget widget, XEvent *xevent)
+bool wxTranslateKeyEvent(wxKeyEvent& wxevent, wxWindow *win, Widget WXUNUSED(widget), XEvent *xevent)
 {
     switch (xevent->xany.type)
     {
 
       who = getpwnam (user.mb_str());
     }
 
-    return wxConvertMB2WX(who ? who->pw_dir : NULL);
+    return wxConvertMB2WX(who ? who->pw_dir : 0);
 }
 
 // ----------------------------------------------------------------------------