Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
1cedeb5c04 This commit was manufactured by cvs2svn to create tag 'old_debug'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/old_debug@217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1998-07-10 10:39:48 +00:00
3699 changed files with 136075 additions and 546459 deletions

View File

@@ -1,33 +0,0 @@
system.list
bin
.gdb_history
Test
config.cache
config.status
system.list
linux.system.cache
wx-config
config.log
linux-gnu.system.cache
*.dsp
*.dsw
*.plg
*.opt
*.aps
*.ncb
*.pro
*.opt
Release
Debug
ReleaseDLL
DebugDLL
robert
Makefile.in
setup.h.in
stamp-h.in
Makefile
configure
setup.h
stamp-h
libtool
aclocal.m4

View File

@@ -1,182 +0,0 @@
------------------------------------------------------------------------
How to build the sources from CVS
------------------------------------------------------------------------
I) Windows using plain makefiles
----------------------------------------
a) Using the GNU MinGW32 or GNU CygWin32 compilers
You'll need the compiler itself which is available from
http://www.cygwin.com
When using MingW32 you'll need GNU make which is part of
part of the CygWin32 toolchain and is also available as
a stand alone port without the infamous Cygwin.dll from
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
The makefile has small problems with Cygwin<69>s tools
so it is recommended not to use these (but MingGW32
and its make.exe).
-> Set your path so that it includes the directory
where your compiler and tools reside
-> Assume that you installed the wxWindows sources
into c:\wxWin
-> Copy c:\wxWin\include\wx\msw\setup0.h
to c:\wxWin\include\wx\msw\setup.h
-> Edit c:\wxWin\include\wx\msw\setup.h so that
most features are enabled (i.e. defined to 1) with
#define wxUSE_SOCKETS 0
#define wxUSE_HTML 1
#define wxUSE_THREADS 1
#define wxUSE_FS_INET 0
#define wxUSE_FS_ZIP 1
#define wxUSE_BUSYINFO 1
#define wxUSE_DYNLIB_CLASS 1
#define wxUSE_ZIPSTREAM 1
#define wxUSE_JPEGLIB 1
#define wxUSE_PNGLIB 1
and iostreams ares disabled with
#define wxUSE_STD_IOSTREAM 0
-> type: cd c:\wxWin\src\msw
-> type: make -f makefile.g95
II) GTK port on Unix using plain makefiles.
------------------------------------------
Set WXWIN environment variable to the base directory such
as ~/wxWindows
-> type: export WXWIN=~/wxWindows
-> edit ~/wxWindows/src/gtk.env as you wish.
-> type: cd ~/wxWindows/src/gtk
-> type: cp ./setup0.h setup.h
-> type: make
III) Windows using configure
----------------------------------------
Take a look at Unix->Windows cross compiling. With minor
modifications, this should work in Windows if you've got the cygnus
utilities (bash, GNU make, etc) and either mingw32 or cygwin32 installed.
See http://www.cygnus.com for these programs, or go straight to their
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
Of course, you can also build the library using plain makefiles (see
section I).
IV) Unix using configure
----------------------------------------
a) You have all the newest and greatest GNU tools installed on your system
and in the same directory hierachy (e.g. either all tools in /usr or all
in /usr/local), these tools are:
- GNU libtool 1.2e (1.3 doesn't work here)
- GNU autoconf 2.13 (including autoheader 2.13)
- GNU automake 1.4 (including aclocal 1.4)
and possibly but not forcibly
- GNU make 3.76.1
- GNU C++ (EGCS)
-> Go to the base directory
-> type: ./autogen.sh
b) You don't know what autos are and have no driver's licence anyway:
-> Go to the testconf directory
-> type: ./apply
a+b) Then proceed in either case with:
-> Choose a directory name that seems fit for building wxWindows, e.g. mybuild
-> Go the base directory
-> type: mkdir mybuild
-> type: cd mybuild
-> type: ../configure --with-gtk
or type: ../configure --with-motif
or type: ../configure --with-wine
-> type make
-> drink lots of coffee and go shopping
V) MacOS
----------------------------------------
VI) OS/2
----------------------------------------
VII) Unix->Windows cross-compiling using configure
--------------------------------------------------
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
cygwin32 (both based on egcs) can be found at
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Otherwise you can
compile one yourself. Check the relevant FAQs.
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
binaries are always linked against cygwin.dll. This dll encapsulates most
standard Unix C extensions, which is very handy if you're porting unix
software to windows. However, wxMSW doesn't need this, so mingw32 is
preferable if you write portable C(++). ]
You might want to build both Unix and Windows binaries in the same source
tree; to do this make subdirs for each e.g. unix and win32. If you've
already build wxWindows in the main dir, do a 'make distclean' there,
otherwise configure will get confused. (In any case, read the section 'Unix
using configure' and make sure you're able to build a native wxWindows
library; cross-compiling errors can be pretty obscure and you'll want to be
sure that your configure setup is basically sound.)
To cross compile the windows library, do
-> cd win32
Now run configure. There are two ways to do this
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw \
--enable-dnd=no
where --build= should read whatever platform you're building on. Configure
will notice that build and host platforms differ, and automatically prepend
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
The other way to run configure is by specifying the names of the binaries
yourself:
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
../configure --host=i586-mingw32 --with-mingw --enable-dnd=no
(all assuming you're using mingw32)
Drag'n'drop is disabled because mingw32 lacks (AFAIK) OLE headers.
Configure will conclude that shared libraries are out of the question and
opt for a static one. I haven't looked into DLL creation yet.
Type
-> make -C src
and wait, wait, wait. Don't leave the room, because the minute you do there
will be a compile error :-)
If this is successful, try building the minimal sample:
-> cd samples/minimal
-> make
-> mv minimal minimal.exe
and run it with wine, for example
-> wine minimal.exe
If all is well, do an install; from win32
-> make install
Native and cross-compiled installations can co-exist peacefully
(as long as their widget sets differ), except for wx-config. You might
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
Cross-compiling TODO:
---------------------
- resource compiling must be done manually for now (should/can we link the
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
link it in... you have to supply an object file ]
- dynamic libraries
- static executables are HUGE -- there must be room for improvement.

167
Makefile Normal file
View File

@@ -0,0 +1,167 @@
# Top-level Makefile for wxGTK by Wolfram Gloger
# based on the version for wx-Xt by Martin Sperl
SHELL=/bin/sh
#if DIRS are defind make only executes in these diretories
all::
@if test "x$(DIRS)" = x; then \
for i in src samples utils user; do \
echo "entering directory $$i building $@"; \
(cd $$i; ${MAKE} -k $@); \
done; \
else \
for i in $(DIRS) xxx; do \
if test "$$i" != xxx; then \
echo "entering directory $$i building $@"; \
(cd $$i; ${MAKE} -k $@); \
fi; \
done; \
fi
# what to do if a target is not understood:
# pass it on to all the children...
.DEFAULT::
@if test "x$(DIRS)" = x; then \
for i in src samples utils user; do \
echo "entering directory $$i building $@"; \
(cd $$i; ${MAKE} -k $@); \
done; \
else \
for i in $(DIRS) xxx; do \
if test "$$i" != xxx; then \
echo "entering directory $$i building $@"; \
(cd $$i; ${MAKE} -k $@); \
fi; \
done; \
fi
src::
@echo "entering directory src building all"
@cd src; ${MAKE} all
samples::
@echo "entering directory samples building all"
@cd samples; ${MAKE} all
utils::
@echo "entering directory utils building all"
@cd utils; ${MAKE} all
user::
@echo "entering directory user building all"
@cd user; ${MAKE} all
# the following ones recreate all Makefiles.
makefiles:: recreate
Makefiles:: recreate
recreate::
@src/gtk/setup/general/createall
# the following ones define what needs to be done to distribute the
# library and its components
distribute:: distrib
distrib:: distrib_base distrib_user join_utils join_samples
distrib_samples::
@echo "entering directory samples creating distribution files"
@(cd samples; ${MAKE} -k distrib)
distrib_user::
@echo "entering directory user creating distribution files"
@(cd user; ${MAKE} -k distrib)
distrib_utils::
@echo "entering directory utils creating distribution files"
@(cd utils; ${MAKE} -k distrib)
join_utils:: distrib_utils
@$(MAKE) join \
BASEDIR=utils \
FILES=`echo distrib/utils/*.tgz `
join_samples:: distrib_samples
@$(MAKE) join \
BASEDIR=samples \
FILES=`echo distrib/samples/*.tgz `
join_user:: distrib_user
@$(MAKE) join \
BASEDIR=user \
FILES=`echo distrib/user/*.tgz `
join::
@# needed are BASEDIR and FILES
@if test "x$$BASEDIR" = x; then\
echo "BASEDIR not specified.";\
exit -1;\
fi
@if test "x$$FILES" != x ; then \
echo "putting all seperate distribution files:";\
echo "$$FILES";\
echo "into distrib/$(BASEDIR).tgz";\
src/gtk/setup/general/jointar $(BASEDIR) $$FILES distrib/$(BASEDIR).tgz; \
else \
echo "Nothing to join - deleting..."; \
echo "This may be the case, if you have not specified FILES."\
rm -f distrib/$(BASEDIR).tgz; \
fi
distrib_base::
@if test ! -d distrib ; then mkdir distrib; fi;
@if test ! -f system.list ; then \
echo "dummy" > system.list;\
fi
@(curr=`pwd`; direc=`basename $$curr`;\
(cd ..; \
echo creating distrib/$$direc.tar from the current directory;\
tar -cf /tmp/$$direc.tar \
$$direc/COPYING\
$$direc/INSTALL\
$$direc/Makefile\
$$direc/template.mak\
$$direc/configure\
$$direc/configure.in\
$$direc/config.guess\
$$direc/config.sub\
$$direc/install-sh\
$$direc/user/Makefile \
$$direc/utils/Makefile \
$$direc/samples/Makefile \
;\
sed "s|^\(.*\)$$|/\1/|g" $$direc/system.list \
| uniq > /tmp/$$direc.list; \
echo "/RCS/" >> /tmp/$$direc.list; \
for each in misc docs wx src setup; do \
tar -uf /tmp/$$direc.tar \
`\
find $$direc/$$each \( -type f -o -type l \) -print \
| fgrep -vf /tmp/$$direc.list \
| grep -v "[~#]$$" \
` ;\
done; \
echo compressing $$direc.tar to $$direc.tgz;\
gzip -9 -c /tmp/$$direc.tar > $$direc/distrib/$$direc.tgz;\
rm /tmp/$$direc.tar /tmp/$$direc.list;\
)\
)
# the following ones are only needed if configure.in has changed
# and needs to be updated...
config:: configure
configure::
@autoconf
@cat configure \
| sed "s/config.cache/\$$OSTYPE.config.cache/g" \
| sed "s/config.status/\$$OSTYPE.config.status/g" \
| sed "s/\*\*--/ --/g" \
> configure1
@chmod a+x configure1
@mv configure1 configure

View File

@@ -1,13 +0,0 @@
AUTOMAKE_OPTIONS = 1.3
# no-dependencies
SUBDIRS = include src samples misc # utils user docs
bin_SCRIPTS = wx-config
configincludedir = $(libdir)/wx/include/wx/$(TOOLKIT_DIR)
configinclude_DATA = \
setup.h

52
TODO.txt Normal file
View File

@@ -0,0 +1,52 @@
********************* TODO list for wxWindows 2 ******************************
The items are grouped by platform (generic, MSW, GTK...) and inside by
subject. The first 2 columns containg the following codes:
Priority classification: Amount of work expected:
9 next point release q quick fix
8 next release s small change
7 as soon as possible l a little work
6 soon w some work
5 should be included b big change
4 nice to have m major change
3 consider including ? don't know how to fix
2 maybe not - unclassified
1 probably not
- unclassified
After the subject the name in brackets indicates the person who is going to do
it.
=============================== common ========================================
4w wxString optimization (VZ)
allocate more memory than needed to avoid reallocation each time when
operator+ or += is used.
6b stream classes (VZ)
=============================== generic ======================================
7s wxTreeCtrl root item (RR)
root item is not shown currently (unlike in MSW version)
5w wxImageList
it's not implemented currently, to do (assuming that all images have the
same size - no resizing should be done to simplify the job)
================================ MSW ==========================================
7w consistent keyboard interface and focus behaviour (VZ)
currently, the focus is lost all the time (after a MessageBox, for example)
and sometimes TABbing through controls doesn't work
================================ GTK ==========================================
9m keyboard interface (RR)
TAB traversal, Alt-letter accelerators for the controls and accelerators
for menu items - TODO.
3b wxTreeCtrl native implementation?
GTK has a GtkCTree widget which seems to be quite close to the Windows
standard control - what about writing a native wxTreeCtrl based on it?

View File

@@ -1,617 +0,0 @@
/* Generate setup.h.in from this file using autoheader. */
/* */
/* Version: $Id$ */
/* This define (__WX_SETUP_H__) is used both to insure setup.h is included
* only once and to indicate that we are building using configure. */
#ifndef __WX_SETUP_H__
#define __WX_SETUP_H__
#ifdef __GNUG__
#pragma interface
#endif
@TOP@
/* ------------------------------------------------------------------------ */
/* wxWindows version (not used but required by autoheader) */
/* ------------------------------------------------------------------------ */
/* needed for older automake? */
#undef WITH_SYMBOL_UNDERSCORE
/* ------------------------------------------------------------------------ */
/* define if support for GTK 1.2 features */
/* ------------------------------------------------------------------------ */
#undef __WXGTK12__
/* ------------------------------------------------------------------------ */
/* define the system to compile */
/* ------------------------------------------------------------------------ */
/*
* Define to 1 for Unix[-like] system
*/
#define wxUSE_UNIX 0
#undef __UNIX__
#undef __LINUX__
#undef __SGI__
#undef __HPUX__
#undef __SYSV__
#undef __SVR4__
#undef __AIX__
#undef __SUN__
#undef __SOLARIS__
#undef __SUNOS__
#undef __ALPHA__
#undef __OSF__
#undef __BSD__
#undef __FREEBSD__
#undef __VMS__
#undef __ULTRIX__
#undef __DATA_GENERAL__
#undef __EMX__
#undef _GNU_SOURCE
#undef __WINDOWS__
#undef __WIN95__
#undef __WIN32__
#undef __GNUWIN32__
#undef WINVER
/* ------------------------------------------------------------------------ */
/* compiler options */
/* ------------------------------------------------------------------------ */
/*
* Supports bool type
*/
#undef HAVE_BOOL
/* ------------------------------------------------------------------------ */
/* library options */
/* ------------------------------------------------------------------------ */
/*
* Use zlib
*/
#define wxUSE_ZLIB 0
/*
* Use libpng
*/
#define wxUSE_LIBPNG 0
/*
* Use libjpeg
*/
#define wxUSE_LIBJPEG 0
/*
* Use libgif
*/
#define wxUSE_LIBGIF 0
/*
* Use iODBC
*/
#define wxUSE_ODBC 0
/*
* Use Threads
*/
#define wxUSE_THREADS 0
/*
* Have glibc2
*/
#define wxHAVE_GLIBC2 0
/*
* Use libXpm
*/
#define wxHAVE_LIB_XPM 0
/*
* Use OpenGL
*/
#define wxUSE_OPENGL 0
/* ------------------------------------------------------------------------ */
/* GUI or not GUI? */
/* ------------------------------------------------------------------------ */
/*
* Use GUI
*/
#define wxUSE_GUI 1
/*
* Defined if !wxUSE_GUI
*/
#undef wxUSE_NOGUI
/* ------------------------------------------------------------------------ */
/* "global" GUI options */
/* ------------------------------------------------------------------------ */
/*
* Use constraints mechanism
*/
#define wxUSE_CONSTRAINTS 0
/*
* Use validators
*/
#define wxUSE_VALIDATORS 0
/*
* Use accelerators
*/
#define wxUSE_ACCEL 0
/*
* Use wxTextEntryDialog
*/
#define wxUSE_TEXTDLG 0
/*
* Use startup tips
*/
#define wxUSE_STARTUP_TIPS 0
/*
* Use progress dialog
*/
#define wxUSE_PROGRESSDLG 0
/*
* Use directory chooser dialog
*/
#define wxUSE_DIRDLG 0
/*
* Joystick support (Linux/GTK only)
*/
#define wxUSE_JOYSTICK 0
/* ------------------------------------------------------------------------ */
/* GUI control options */
/* ------------------------------------------------------------------------ */
/*
* Use this control
*/
#define wxUSE_CARET 0
/*
* Use this control
*/
#define wxUSE_BMPBUTTON 0
/*
* Use this control
*/
#define wxUSE_CHECKBOX 0
/*
* Use this control
*/
#define wxUSE_CHECKLISTBOX 0
/*
* Use this control
*/
#define wxUSE_COMBOBOX 0
/*
* Use this control
*/
#define wxUSE_CHOICE 0
/*
* Use this control
*/
#define wxUSE_GAUGE 0
/*
* Use this control
*/
#define wxUSE_GRID 0
/*
* Use this control
*/
#define wxUSE_IMAGLIST 0
/*
* Use this control
*/
#define wxUSE_LISTBOX 0
/*
* Use this control
*/
#define wxUSE_LISTCTRL 0
/*
* Use this control
*/
#define wxUSE_NOTEBOOK 0
/*
* Use this control
*/
#define wxUSE_RADIOBOX 0
/*
* Use this control
*/
#define wxUSE_RADIOBTN 0
/*
* Use this control
*/
#define wxUSE_SASH 0
/*
* Use this control
*/
#define wxUSE_SCROLLBAR 0
/*
* Use this control
*/
#define wxUSE_SLIDER 0
/*
* Use this control
*/
#define wxUSE_SPINBTN 0
/*
* Use this control
*/
#define wxUSE_SPLITTER 0
/*
* Use this control
*/
#define wxUSE_STATBMP 0
/*
* Use this control
*/
#define wxUSE_STATBOX 0
/*
* Use this control
*/
#define wxUSE_STATLINE 0
/*
* Use this control
*/
#define wxUSE_STATUSBAR 0
/*
* Use Tab dialog class - obsolete, use wxNotebook instead
*/
#define wxUSE_TAB_DIALOG 0
/* compatibility */
#define wxUSE_TABDIALOG wxUSE_TAB_DIALOG
/*
* Use this control
*/
#define wxUSE_TOOLBAR 0
#if defined(__WXWINE__) || defined(__GNUWIN32__)
#if wxUSE_TOOLBAR
#define wxUSE_BUTTONBAR 1
#endif
#endif
/*
* Use this control
*/
#define wxUSE_TREECTRL 0
/* ------------------------------------------------------------------------ */
/* non-GUI options */
/* ------------------------------------------------------------------------ */
/*
* Use wxLongLong (a.k.a. int64) class
*/
#define wxUSE_LONGLONG 0
/*
* Use wxFile class
*/
#define wxUSE_FILE 0
/*
* Use wxTextFile class
*/
#define wxUSE_TEXTFILE 0
/*
* Use log classes and logging functions
*/
#define wxUSE_LOG 0
/*
* Use time and date classes
*/
#define wxUSE_TIMEDATE 0
/*
* Use wave class
*/
#define wxUSE_WAVE 0
/*
* Use config system
*/
#define wxUSE_CONFIG 0
/*
* Use intl system
*/
#define wxUSE_INTL 0
/*
* Use streams
*/
#define wxUSE_STREAMS 0
/*
* Use class serialization
*/
#define wxUSE_SERIAL 0
/*
* Use sockets
*/
#define wxUSE_SOCKETS 0
/*
* Use standard C++ streams if 1. If 0, use wxWin
* streams implementation.
*/
#define wxUSE_STD_IOSTREAM 0
/*
* wxLibrary class
*/
#define wxUSE_DYNLIB_CLASS 0
/* ------------------------------------------------------------------------ */
/* PS options */
/* ------------------------------------------------------------------------ */
/*
* Use font metric files in GetTextExtent for wxPostScriptDC
* Use consistent PostScript fonts for AFM and printing (!)
*/
#define wxUSE_AFM_FOR_POSTSCRIPT 0
#define wxUSE_NORMALIZED_PS_FONTS 0
/* compatibility */
#define WX_NORMALIZED_PS_FONTS wxUSE_NORMALIZED_PS_FONTS
/*
* Use PostScript device context
*/
#define wxUSE_POSTSCRIPT 0
/* ------------------------------------------------------------------------ */
/* wxString options */
/* ------------------------------------------------------------------------ */
/*
* Compile wxString with wide character (Unicode) support?
*/
#define wxUSE_UNICODE 0
/*
* Work around a bug in GNU libc 5.x wcstombs() implementation.
*
* Note that you must link your programs with libc.a if you enable this and you
* have libc 5 (you should enable this for libc6 where wcsrtombs() is
* thread-safe version of wcstombs()).
*/
#define wxUSE_WCSRTOMBS 0
/*
* On some platforms overloading on size_t/int doesn't work, yet we'd like
* to define both size_t and int version of wxString::operator[] because it
* should really be size_t, but a lot of old, broken code uses int indices.
*/
#define wxUSE_SIZE_T_STRING_OPERATOR 0
/*
* Use the new experimental implementation of wxString::Printf()?
*
* Warning: enabling this may cause internal compiler errors with gcc!
*/
#define wxUSE_EXPERIMENTAL_PRINTF 0
/* ------------------------------------------------------------------------ */
/* misc options */
/* ------------------------------------------------------------------------ */
/*
* Use Interprocess communication
*/
#define wxUSE_IPC 0
/*
* Use wxGetResource & wxWriteResource (change .Xdefaults)
*/
#define wxUSE_X_RESOURCES 0
/*
* Use clipboard
*/
#define wxUSE_CLIPBOARD 0
/*
* Use tooltips
*/
#define wxUSE_TOOLTIPS 0
/*
* Use dnd
*/
#define wxUSE_DRAG_AND_DROP 0
/*
* Use spline
*/
#define wxUSE_SPLINES 0
/*
* Use wxLibrary class
*/
#define wxUSE_DYNLIB_CLASS 0
/* ------------------------------------------------------------------------ */
/* architecture options */
/* ------------------------------------------------------------------------ */
/*
* Use the mdi architecture
*/
#define wxUSE_MDI_ARCHITECTURE 0
/*
* Use the document/view architecture
*/
#define wxUSE_DOC_VIEW_ARCHITECTURE 0
/*
* Use the print/preview architecture
*/
#define wxUSE_PRINTING_ARCHITECTURE 0
/* ------------------------------------------------------------------------ */
/* Prolog and wxWindows' resource system options */
/* ------------------------------------------------------------------------ */
/*
* Use Prolog IO
*/
#define wxUSE_PROLOGIO 0
/*
* Use wxWindows resource loading (.wxr-files) (Needs wxUSE_PROLOGIO 1)
*/
#define wxUSE_RESOURCES 0
/* for compatibility */
#define wxUSE_WX_RESOURCES wxUSE_RESOURCES
/* ------------------------------------------------------------------------ */
/* the rest */
/* ------------------------------------------------------------------------ */
/*
* Use wxWindows help facility (needs wxUSE_IPC 1)
*/
#define wxUSE_HELP 0
/*
* Use iostream.h rather than iostream
*/
#define wxUSE_IOSTREAMH 0
/*
* Use Apple Ieee-double converter
*/
#define wxUSE_APPLE_IEEE 0
/*
* Compatibility with 1.66 API.
* Level 0: no backward compatibility, all new features
* Level 1: wxDC, OnSize (etc.) compatibility, but
* some new features such as event tables
*/
#define WXWIN_COMPATIBILITY 0
/*
* Compatibility with 2.0 API.
*/
#define WXWIN_COMPATIBILITY_2 1
/*
* Enables debugging: memory tracing, assert, etc., contains debug level
*/
#define WXDEBUG 0
/*
* Enables debugging version of wxObject::new and wxObject::delete (IF WXDEBUG)
* WARNING: this code may not work with all architectures, especially
* if alignment is an issue.
*/
#define wxUSE_MEMORY_TRACING 0
/*
* Enable debugging version of global memory operators new and delete
* Disable it, If this causes problems (e.g. link errors)
*/
#define wxUSE_DEBUG_NEW_ALWAYS 0
/*
* VZ: What does this one do? (FIXME)
*/
#define wxUSE_DEBUG_CONTEXT 0
/*
* In debug mode, causes new to be defined to
* be WXDEBUG_NEW (see object.h). If this causes
* problems (e.g. link errors), set this to 0.
*/
#define wxUSE_GLOBAL_MEMORY_OPERATORS 0
/*
* Matthews garbage collection (used for MrEd?)
*/
#define WXGARBAGE_COLLECTION_ON 0
/*
* Use splines
*/
#define wxUSE_SPLINES 0
/*
* wxUSE_DYNAMIC_CLASSES is TRUE for the Xt port
*/
#define wxUSE_DYNAMIC_CLASSES 1
/*
* Support for metafiles
*/
#define wxUSE_METAFILE 0
/*
* wxMiniFrame
*/
#define wxUSE_MINIFRAME 0
/*
* wxHTML
*/
#define wxUSE_HTML 0
/*
* (virtual) filesystems code
*/
#define wxUSE_FS_INET 0
#define wxUSE_FS_ZIP 0
/*
* A class that shows info window when app is busy
* (works exactly like wxBusyCursor)
*/
#define wxUSE_BUSYINFO 0
/*
* Zip stream for accessing files stored inside .zip archives
*/
#define wxUSE_ZIPSTREAM 0
/*
* Disable this if your compiler can't cope
* with omission of prototype parameters.
*/
#define REMOVE_UNUSED_ARG 1
/*
* The const keyword is being introduced more in wxWindows.
* You can use this setting to maintain backward compatibility.
* If 0: will use const wherever possible.
* If 1: will use const only where necessary
* for precompiled headers to work.
* If 2: will be totally backward compatible, but precompiled
* headers may not work and program size will be larger.
*/
#define CONST_COMPATIBILITY 0
/* ------------------------------------------------------------------------ */
/* System-specific stuff */
/* ------------------------------------------------------------------------ */
/* The type of 3rd argument to getsockname() - usually size_t or int */
#undef SOCKLEN_T
/* Define if you have dlopen() */
#undef HAVE_DLOPEN
/* Define if you have nanosleep() */
#undef HAVE_NANOSLEEP
/* Define if you have sched_yield */
#undef HAVE_SCHED_YIELD
/* Define if you have pthread_cancel */
#undef HAVE_PTHREAD_CANCEL
/* Define if you have all functions to set thread priority */
#undef HAVE_THREAD_PRIORITY_FUNCTIONS
/* Define if you can specify exit functions to a thread */
#undef HAVE_THREAD_CLEANUP_FUNCTIONS
/* Define if you have shl_load() */
#undef HAVE_SHL_LOAD
/* Define if you have vsnprintf() */
#undef HAVE_VSNPRINTF
/* Define if you have usleep() */
#undef HAVE_USLEEP
/* Define if you have wcslen function */
#undef HAVE_WCSLEN
@BOTTOM@
#endif /* __WX_SETUP_H__ */

View File

@@ -1,423 +0,0 @@
dnl ---------------------------------------------------------------------------
dnl
dnl Purpose: Cursom macros for autoconf configure script.
dnl Author: Vadim Zeitlin
dnl Created: 26.05.99
dnl Version: $Id$
dnl ---------------------------------------------------------------------------
dnl ===========================================================================
dnl GKT+ version test
dnl ===========================================================================
dnl ---------------------------------------------------------------------------
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS. Uses variables
dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
dnl ---------------------------------------------------------------------------
dnl
AC_DEFUN(AM_PATH_GTK,
[
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" != "no" ; then
GTK_CFLAGS=`$GTK_CONFIG --cflags`
GTK_LIBS=`$GTK_CONFIG --libs`
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent)
dnl
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <stdio.h>
int
main ()
{
int major, minor, micro;
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
else
no_gtk=yes
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
])
dnl ===========================================================================
dnl macros to find the a file in the list of include/lib paths
dnl ===========================================================================
dnl ---------------------------------------------------------------------------
dnl call WX_PATH_FIND_INCLUDES(search path, header name), sets ac_find_includes
dnl to the full name of the file that was found or leaves it empty if not found
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_PATH_FIND_INCLUDES,
[
ac_find_includes=
for ac_dir in $1;
do
if test -f "$ac_dir/$2"; then
ac_find_includes=$ac_dir
break
fi
done
])
dnl ---------------------------------------------------------------------------
dnl call WX_PATH_FIND_LIBRARIES(search path, header name), sets ac_find_includes
dnl to the full name of the file that was found or leaves it empty if not found
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_PATH_FIND_LIBRARIES,
[
ac_find_libraries=
for ac_dir in $1;
do
for ac_extension in a so sl; do
if test -f "$ac_dir/lib$2.$ac_extension"; then
ac_find_libraries=$ac_dir
break 2
fi
done
done
])
dnl ---------------------------------------------------------------------------
dnl Path to include, already defined
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_INCLUDE_PATH_EXIST,
[
ac_path_to_include=$1
echo "$2" | grep "\-I$1" > /dev/null
result=$?
if test $result = 0; then
ac_path_to_include=""
else
ac_path_to_include="-I$1"
fi
])
dnl ---------------------------------------------------------------------------
dnl Path to link, already defined
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_LINK_PATH_EXIST,
[
echo "$2" | grep "\-L$1" > /dev/null
result=$?
if test $result = 0; then
ac_path_to_link=""
else
ac_path_to_link="-L$1"
fi
])
dnl ===========================================================================
dnl C++ features test
dnl ===========================================================================
dnl ---------------------------------------------------------------------------
dnl WX_CPP_NEW_HEADERS checks whether the compiler has "new" <iostream> header
dnl or only the old <iostream.h> one - it may be generally assumed that if
dnl <iostream> exists, the other "new" headers (without .h) exist too.
dnl
dnl call WX_CPP_NEW_HEADERS(actiof-if-true, action-if-false-or-cross-compiling)
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_CPP_NEW_HEADERS,
[
if test "$cross_compiling" = "yes"; then
ifelse([$2], , :, [$2])
else
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_HEADERS(iostream)
if test "x$HAVE_IOSTREAM" = x ; then
ifelse([$2], , :, [$2])
else
ifelse([$1], , :, [$1])
fi
AC_LANG_RESTORE
fi
])
dnl ---------------------------------------------------------------------------
dnl WX_CPP_BOOL checks whether the C++ compiler has a built in bool type
dnl
dnl call WX_CPP_BOOL - will define HAVE_BOOL if the compiler supports bool
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_CPP_BOOL,
[
AC_CACHE_CHECK([if C++ compiler supports bool], wx_cv_cpp_bool,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
int main()
{
bool b = true;
return 0;
}
],
[
AC_DEFINE(HAVE_BOOL)
wx_cv_cpp_bool=yes
],
wx_cv_cpp_bool=no,
wx_cv_cpp_bool=no
)
AC_LANG_RESTORE
])
if test "$wx_cv_cpp_bool" = "yes"; then
AC_DEFINE(HAVE_BOOL)
fi
])
dnl ---------------------------------------------------------------------------
dnl WX_CPP_SIZE_T_IS_NOT_INT checks whether size_t and int are different types,
dnl i.e. whether we may overload operator[] on its argument type
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_CPP_SIZE_T_IS_NOT_INT,
[
AC_CACHE_CHECK([if size_t and int are different types], wx_cv_cpp_sizet_not_int,
[
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_RUN([
#include <stdlib.h>
class S
{
public:
S(char *s) { m_s = s; }
char operator[](size_t n) const { return m_s[n]; }
char operator[](int n) const { return m_s[n]; }
private:
char *m_s;
};
int main()
{
S s("dummy");
size_t n1 = 2;
int n2 = 3;
return s[n1] == s[n2];
}
],
AC_DEFINE(wxUSE_SIZE_T_STRING_OPERATOR) wx_cv_cpp_sizet_not_int=yes,
wx_cv_cpp_sizet_not_int=no,
wx_cv_cpp_sizet_not_int=no
)
AC_LANG_RESTORE
])
])
dnl ---------------------------------------------------------------------------
dnl a slightly better AC_C_BIGENDIAN macro which allows cross-compiling
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_C_BIGENDIAN,
[AC_CACHE_CHECK(whether byte ordering is bigendian, ac_cv_c_bigendian,
[ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro.
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/param.h>], [
#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
bogus endian macros
#endif], [# It does; now see whether it defined to BIG_ENDIAN or not.
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/param.h>], [
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif], ac_cv_c_bigendian=yes, ac_cv_c_bigendian=no)])
if test $ac_cv_c_bigendian = unknown; then
AC_TRY_RUN([main () {
/* Are we little or big endian? From Harbison&Steele. */
union
{
long l;
char c[sizeof (long)];
} u;
u.l = 1;
exit (u.c[sizeof (long) - 1] == 1);
}], ac_cv_c_bigendian=no, ac_cv_c_bigendian=yes, ac_cv_c_bigendian=unknown)
fi])
if test $ac_cv_c_bigendian = unknown; then
AC_MSG_WARN([Assuming little-endian target machine - this may be overriden by adding the line "ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}" to config.cache file])
fi
if test $ac_cv_c_bigendian = yes; then
AC_DEFINE(WORDS_BIGENDIAN)
fi
])
dnl ---------------------------------------------------------------------------
dnl override AC_ARG_ENABLE/WITH to cache the results in .cache file
dnl ---------------------------------------------------------------------------
AC_DEFUN(WX_ARG_CACHE_INIT,
[
wx_arg_cache_file="configarg.cache"
echo "loading argument cache $wx_arg_cache_file"
rm -f ${wx_arg_cache_file}.tmp
touch ${wx_arg_cache_file}.tmp
touch ${wx_arg_cache_file}
])
AC_DEFUN(WX_ARG_CACHE_FLUSH,
[
echo "saving argument cache $wx_arg_cache_file"
mv ${wx_arg_cache_file}.tmp ${wx_arg_cache_file}
])
dnl this macro checks for a command line argument and caches the result
dnl usage: WX_ARG_WITH(option, helpmessage, variable-name)
AC_DEFUN(WX_ARG_WITH,
[
AC_MSG_CHECKING("for --with-$1")
no_cache=0
AC_ARG_WITH($1, $2,
[
if test "$withval" = yes; then
ac_cv_use_$1='$3=yes'
else
ac_cv_use_$1='$3=no'
fi
],
[
LINE=`grep "$3" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
else
no_cache=1
fi
ac_cv_use_$1='$3='$DEFAULT_$3
])
eval "$ac_cv_use_$1"
if test "$no_cache" != 1; then
echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
fi
if test "$$3" = yes; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl like WX_ARG_WITH but uses AC_ARG_ENABLE instead of AC_ARG_WITH
dnl usage: WX_ARG_ENABLE(option, helpmessage, variable-name)
AC_DEFUN(WX_ARG_ENABLE,
[
AC_MSG_CHECKING("for --enable-$1")
no_cache=0
AC_ARG_ENABLE($1, $2,
[
if test "$enableval" = yes; then
ac_cv_use_$1='$3=yes'
else
ac_cv_use_$1='$3=no'
fi
],
[
LINE=`grep "$3" ${wx_arg_cache_file}`
if test "x$LINE" != x ; then
eval "DEFAULT_$LINE"
else
no_cache=1
fi
ac_cv_use_$1='$3='$DEFAULT_$3
])
eval "$ac_cv_use_$1"
if test "$no_cache" != 1; then
echo $ac_cv_use_$1 >> ${wx_arg_cache_file}.tmp
fi
if test "$$3" = yes; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
dnl -
dnl - GNU libc extension (added by GL)
dnl -
AC_DEFUN(WX_GNU_EXTENSIONS,
[
AC_MSG_CHECKING([if you need GNU extensions])
AC_CACHE_VAL(wx_cv_gnu_extensions,[
AC_TRY_COMPILE([#include <features.h>],[
#ifndef __GNU_LIBRARY__
Compile error wanted
#endif
],
[wx_cv_gnu_extensions=yes],
[wx_cv_gnu_extensions=no])
])
AC_MSG_RESULT($wx_cv_gnu_extensions)
if test "$wx_cv_gnu_extensions" = "yes"; then
AC_DEFINE_UNQUOTED(_GNU_SOURCE)
fi
])

View File

@@ -1,5 +0,0 @@
#!/bin/sh
aclocal -I .
autoheader
automake --foreign --verbose
autoconf

File diff suppressed because it is too large Load Diff

View File

@@ -1,376 +0,0 @@
wxPython README
---------------
Welcome to the wonderful world of wxPython!
Once you have installed the wxPython extension module, you can try it
out by going to the [install dir]\wxPython\demo directory and typing:
python demo.py
There are also some other sample files there for you to play with and
learn from.
If you selected to install the documentation then point your browser
to [install dir]\wxPython\docs\index.htm and you will then be looking
at the docs for wxWindows. For the most part you can use the C++ docs
as most classes and methods are used identically. Where there are
differences they are documented with a "wxPython Note."
On Win32 systems the binary self-installer creates a program group on
the Start Menu that contains a link to running the demo and a link to
the help file. To help you save disk space I'm now using Microsoft's
HTML Help format. If your system doesn't know what to do with the help
file, you can install the HTML Help Viewer as part of IE 4+, NT
Service Pack 4+, or the HTML Workshop at
http://msdn.microsoft.com/workshop/author/htmlhelp/download.asp.
Getting Help
------------
Since wxPython is a blending of multiple technologies, help comes from
multiple sources. See the http://alldunn.com/wxPython for details on
various sources of help, but probably the best source is the
wxPython-users mail list. You can view the archive or subscribe by
going to
http://starship.python.net/mailman/listinfo/wxpython-users
Or you can send mail directly to the list using this address:
wxpython-users@starship.python.net
----------------------------------------------------------------------
What's new in 2.1b2
--------------------
Added the missing wxWindow.GetUpdateRegion() method.
Made a new change in SWIG (update your patches everybody) that
provides a fix for global shadow objects that get an exception in
their __del__ when their extension module has already been deleted.
It was only a 1 line change in .../SWIG/Modules/pycpp.cxx at about
line 496 if you want to do it by hand.
It is now possible to run through MainLoop more than once in any one
process. The cleanup that used to happen as MainLoop completed (and
prevented it from running again) has been delayed until the wxc module
is being unloaded by Python.
I fixed a bunch of stuff in the C++ version of wxGrid so it wouldn't
make wxPython look bad.
wxWindow.PopupMenu() now takes a wxPoint instead of x,y. Added
wxWindow.PopupMenuXY to be consistent with some other methods.
Added wxGrid.SetEditInPlace and wxGrid.GetEditInPlace.
You can now provide your own app.MainLoop method. See
wxPython/demo/demoMainLoop.py for an example and some explaination.
Got the in-place-edit for the wxTreeCtrl fixed and added some demo
code to show how to use it.
Put the wxIcon constructor back in for GTK as it now has one that
matches MSW's.
Added wxGrid.GetCells
Added wxSystemSettings static methods as functions with names like
wxSystemSettings_GetSystemColour.
Removed wxPyMenu since using menu callbacks have been depreciated in
wxWindows. Use wxMenu and events instead.
Added alternate wxBitmap constructor (for MSW only) as
wxBitmapFromData(data, type, width, height, depth = 1)
Added a helper function named wxPyTypeCast that can convert shadow
objects of one type into shadow objects of another type. (Like doing
a down-cast.) See the implementation in wx.py for some docs.
What's new in 2.1b1
--------------------
Fixed wxComboBox.SetSelection so that it actually sets the selected
item. (Actually just removed it from wxPython and let it default to
wxChoice.SetSelection which was already doing the right thing.)
Added the Printing Framework.
Switched back to using the wxWindows DLL for the pre-built Win32
version. The problem was needing to reinitialize static class info
data after loading each extension module.
Lots of little tweaks and additions to reflect changes to various
wxWindows classes.
Fixed a bug with attaching objects to tree items. Actually was a
symptom of a larger problem with not obtaining the interpreter lock
when doing any Py_DECREFs.
wxSizer and friends. Sizers are layout tools that manage a colection
of windows and sizers. Different types of sizers apply different
types of layout algorithms. You saw it here first! These classes are
not even in the wxWindows C++ library yet!
What's new in 2.0b9
-------------------
Bug fix for ListCtrl in test4.py (Was a missing file... DSM!)
Bug fix for occassional GPF on Win32 systems upon termination of a
wxPython application.
Added wxListBox.GetSelections returning selections as a Tuple.
Added a wxTreeItemData that is able to hold any Python object and be
associated with items in a wxTreeCtrl. Added test pytree.py to show
this feature off.
Added wxSafeYield function.
OpenGL Canvas can be optionally compiled in to wxPython.
Awesome new Demo Framework for showing off wxPython and for learning
how it all works.
The pre-built Win32 version is no longer distributing the wxWindows
DLL. It is statically linked with the wxWindows library instead.
Added a couple missing items from the docs.
Added wxImage, wxImageHandler, wxPNGHandler, wxJPEGHandler,
wxGIFHandler and wxBMPHandler.
Added new methods to wxTextCtrl.
Fixed some problems with how SWIG was wrapping some wxTreeCtrl
methods.
What's new in 2.0b8
-------------------
Support for using Python threads in wxPython apps.
Several missing methods from various classes.
Various bug fixes.
What's new in 2.0b7
-------------------
Added DLG_PNT and DLG_SZE convienience methods to wxWindow class.
Added missing constructor and other methods for wxMenuItem.
What's new in 2.0b6
-------------------
Just a quickie update to fix the self-installer to be compatible with
Python 1.5.2b2's Registry settings.
What's new in 2.0b5
-------------------
Well obviously the numbering scheme has changed. I did this to
reflect the fact that this truly is the second major revision of
wxPython, (well the third actually if you count the one I did for
wxWindows 1.68 and then threw away...) and also that it is associated
with the 2.0 version of wxWindows.
I have finally started documenting wxPython. There are several pages
in the wxWindows documentation tree specifically about wxPython, and I
have added notes within the class references about where and how wxPython
diverges from wxWindows.
Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
window handle. If you can get the window handle into the python code,
it should just work... More news on this later.
Added wxImageList, wxToolTip.
Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
wxRegConfig class.
As usual, some bug fixes, tweaks, etc.
What's new in 0.5.3
-------------------
Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
Various cleanup, tweaks, minor additions, etc. to maintain
compatibility with the current wxWindows.
What's new in 0.5.0
-------------------
Changed the import semantics from "from wxPython import *" to "from
wxPython.wx import *" This is for people who are worried about
namespace pollution, they can use "from wxPython import wx" and then
prefix all the wxPython identifiers with "wx."
Added wxTaskbarIcon for wxMSW.
Made the events work for wxGrid.
Added wxConfig.
Added wxMiniFrame for wxGTK.
Changed many of the args and return values that were pointers to gdi
objects to references to reflect changes in the wxWindows API.
Other assorted fixes and additions.
What's new in 0.4.2
-------------------
wxPython on wxGTK works!!! Both dynamic and static on Linux and
static on Solaris have been tested. Many thanks go to Harm
<H.v.d.Heijden@phys.tue.nl> for his astute detective work on tracking
down a nasty DECREF bug. Okay so I have to confess that it was just a
DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
because the behavior was so different on different platforms.
The dynamicly loaded module on Solaris is still segfaulting, so it
must have been a different issue all along...
What's New in 0.4
-----------------
1. Worked on wxGTK compatibility. It is partially working. On a
Solaris/Sparc box wxPython is working but only when it is statically
linked with the Python interpreter. When built as a dyamically loaded
extension module, things start acting weirdly and it soon seg-faults.
And on Linux both the statically linked and the dynamically linked
version segfault shortly after starting up.
2. Added Toolbar, StatusBar and SplitterWindow classes.
3. Varioius bug fixes, enhancements, etc.
----------------------------------------------------------------------
Build Instructions
------------------
I used SWIG (http://www.swig.org) to create the source code for the
extension module. This enabled me to only have to deal with a small
amount of code and only have to bother with the exceptional issues.
SWIG takes care of the rest and generates all the repetative code for
me. You don't need SWIG to build the extension module as all the
generated C++ code is included under the src directory.
I added a few minor features to SWIG to control some of the code
generation. If you want to playaround with this the patches are in
wxPython/SWIG.patches and they should be applied to the 1.1p5 version
of SWIG. These new patches are documented at
http://starship.skyport.net/crew/robind/#swig, and they should also
end up in the 1.2 version of SWIG.
wxPython is organized as a Python package. This means that the
directory containing the results of the build process should be a
subdirectory of a directory on the PYTHONPATH. (And preferably should
be named wxPython.) You can control where the build process will dump
wxPython by setting the TARGETDIR makefile variable. The default is
$(WXWIN)/utils/wxPython, where this README.txt is located. If you
leave it here then you should add $(WXWIN)/utils to your PYTHONPATH.
However, you may prefer to use something that is already on your
PYTHONPATH, such as the site-packages directory on Unix systems.
Win32
-----
1. Build wxWindows with wxUSE_RESOURCE_LOADING_IN_MSW set to 1 in
include/wx/msw/setup.h so icons can be loaded dynamically. While
there, make sure wxUSE_OWNER_DRAWN is also set to 1.
2. Change into the $(WXWIN)/utils/wxPython/src directory.
3. Edit makefile.vc and specify where your python installation is at.
You may also want to fiddle with the TARGETDIR variable as described
above.
4. Run nmake -f makefile.vc
5. If it builds successfully, congratulations! Move on to the next
step. If not then you can try mailing me for help. Also, I will
always have a pre-built win32 version of this extension module at
http://alldunn.com/wxPython/.
6. Change to the $(WXWIN)/utils/wxPython/demo directory.
7. Try executing the demo program. For example:
python demo.py
To run it without requiring a console, you can use the pythonw.exe
version of Python either from the command line or from a shortcut.
Unix
----
0. I configure wxWindows like this, YMMV:
./configure --with-gtk --disable-shared --enable-threads --disable-unicode
1. Change into the $(WXWIN)/utils/wxPython/src directory.
2. Edit Setup.in and ensure that the flags, directories, and toolkit
options are correct. See the above commentary about TARGETDIR. There
are a few sample Setup.in.[platform] files provided.
[I've written a Setup which should work in almost all Unix systems,
so that the steps 1 and 2 don't have to be done. Robert Roebling. ]
3. Run this command to generate a makefile:
make -f Makefile.pre.in boot
4. Run these commands to build and then install the wxPython extension
module:
make
4b. Log in as root. [Robert Roebling]
make install
4c. Log out from root. [Robert Roebling]
5. Change to the $(WXWIN)/utils/wxPython/tests directory.
6. Try executing the demo program. For example:
python demo.py
----------------
Robin Dunn
robin@alldunn.com

View File

@@ -1,47 +0,0 @@
# This file gives the details of what is needed to build this extension
# module so the Makefile can be created.
###
### This file should be created by configure. Currently it is tweaked by hand.
###
*shared*
CCC=g++
WXWIN=~/wxWindows
GENCODEDIR=gtk
srcdir=$(GENCODEDIR)
WX_CONFIG_CFLAGS=`wx-config --cflags` `gtk-config --cflags`
WX_CONFIG_LIBS=`wx-config --libs`
# Depending on how your Python was built, you may have to set this
# value to use the C++ driver to link with instead of the default
# C driver. For example:
MY_LDSHARED=$(CCC) -shared $(WX_CONFIG_LIBS)
# Same as above, but for statically linking Python and wxPython together,
# in other words, if you comment out the *shared* above. If this is the
# case then you should ensure that the main() function is Python's, not
# wxWindows'. You can rebuild $(WXWIN)/src/gtk/app.cpp with NOMAIN defined
# to force this...
MY_LINKCC=$(CCC)
## Pick one of these, or set your own. This is where the
## wxPython module should be installed. It should be a
## subdirectory named wxPython.
#TARGETDIR=..
#TARGETDIR=$(BINLIBDEST)/site-packages/wxPython
TARGETDIR=$(BINLIBDEST)/wxPython
wxc wx.cpp helpers.cpp windows.cpp events.cpp misc.cpp gdi.cpp \
mdi.cpp controls.cpp controls2.cpp windows2.cpp cmndlgs.cpp \
frames.cpp stattool.cpp windows3.cpp image.cpp misc2.cpp \
utils.cpp printfw.cpp libpy.c libptr.c \
## comment out the next line to disable wxGLCanvas
##_glcanvas.cpp glcanvas.cpp -DWITH_GLCANVAS -lGL -lGLU \
-I. $(WX_CONFIG_CFLAGS) -I/usr/local/lib/glib/include \
-DSWIG_GLOBAL -DWXP_WITH_THREAD $(SEPARATE) -Xlinker $(WX_CONFIG_LIBS)

View File

@@ -1,814 +0,0 @@
#! /bin/sh
#
# This script is creates a dir tree in ~/wxgtk_dist which
# can then be packed into an archive
echo --------
echo This script will copy the wxGTK release files into ~/wxgtk_dist
echo --------
echo
mkdir ~/wxgtk_dist
mkdir ~/wxgtk_dist/wxGTK
echo Base dir..
cd ../..
cp wxGTK.spec ~/wxgtk_dist/wxGTK
cp Makefile.am ~/wxgtk_dist/wxGTK
cp acconfig.h ~/wxgtk_dist/wxGTK
cp acinclude.m4 ~/wxgtk_dist/wxGTK
cp aclocal.m4 ~/wxgtk_dist/wxGTK
cp configure.in ~/wxgtk_dist/wxGTK
cp configure ~/wxgtk_dist/wxGTK
cp config.sub ~/wxgtk_dist/wxGTK
cp config.guess ~/wxgtk_dist/wxGTK
cp install-sh ~/wxgtk_dist/wxGTK
cp ltconfig ~/wxgtk_dist/wxGTK
cp ltmain.sh ~/wxgtk_dist/wxGTK
cp missing ~/wxgtk_dist/wxGTK
cp mkinstalldirs ~/wxgtk_dist/wxGTK
cp wx-config.in ~/wxgtk_dist/wxGTK
cp makefile.unx.in ~/wxgtk_dist/wxGTK
cp setup.h.in ~/wxgtk_dist/wxGTK
cp stamp-h.in ~/wxgtk_dist/wxGTK
cp Makefile.in ~/wxgtk_dist/wxGTK
echo Docs..
cd docs/gtk
cp COPYING.LIB ~/wxgtk_dist/wxGTK
cp install.txt ~/wxgtk_dist/wxGTK/INSTALL.txt
cp changes.txt ~/wxgtk_dist/wxGTK/CHANGES.txt
cp licence.txt ~/wxgtk_dist/wxGTK/LICENCE.txt
cp readme.txt ~/wxgtk_dist/wxGTK/README.txt
cp todo.txt ~/wxgtk_dist/wxGTK/TODO.txt
cd ..
cp symbols.txt ~/wxgtk_dist/wxGTK/SYMBOLS.txt
cd ..
echo Include dir..
mkdir ~/wxgtk_dist/wxGTK/include
cd include
cp Makefile.am ~/wxgtk_dist/wxGTK/include
cp Makefile.in ~/wxgtk_dist/wxGTK/include
mkdir ~/wxgtk_dist/wxGTK/include/wx
cd wx
cp *.h ~/wxgtk_dist/wxGTK/include/wx
cp *.cpp ~/wxgtk_dist/wxGTK/include/wx
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx
mkdir ~/wxgtk_dist/wxGTK/include/wx/generic
cd generic
cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic
cp *.xpm ~/wxgtk_dist/wxGTK/include/wx/generic
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/generic
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/generic
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/html
cd html
cp *.h ~/wxgtk_dist/wxGTK/include/wx/html
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/html
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/html
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/unix
cd unix
cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/unix
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/unix
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
cd gtk
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
cp *.xpm ~/wxgtk_dist/wxGTK/include/wx/gtk
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/gtk
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/gtk
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/motif
cd motif
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/motif
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/motif
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/msw
cd msw
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/msw
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/msw
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol
cd protocol
cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/protocol
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/protocol
cd ..
cd ../..
echo Misc dir..
mkdir ~/wxgtk_dist/wxGTK/misc
cd misc
cp Makefile.am ~/wxgtk_dist/wxGTK/misc
cp Makefile.in ~/wxgtk_dist/wxGTK/misc
mkdir ~/wxgtk_dist/wxGTK/misc/afm
cd afm
cp *.afm ~/wxgtk_dist/wxGTK/misc/afm
cp Makefile.am ~/wxgtk_dist/wxGTK/misc/afm
cp Makefile.in ~/wxgtk_dist/wxGTK/misc/afm
cd ..
mkdir ~/wxgtk_dist/wxGTK/misc/gs_afm
cd gs_afm
cp *.afm ~/wxgtk_dist/wxGTK/misc/gs_afm
cp Makefile.am ~/wxgtk_dist/wxGTK/misc/gs_afm
cp Makefile.in ~/wxgtk_dist/wxGTK/misc/gs_afm
cd ../..
echo Src dir..
cd src
mkdir ~/wxgtk_dist/wxGTK/src
cp Makefile.am ~/wxgtk_dist/wxGTK/src
cp Makefile.in ~/wxgtk_dist/wxGTK/src
cd gtk
mkdir ~/wxgtk_dist/wxGTK/src/gtk
cp Makefile.am ~/wxgtk_dist/wxGTK/src/gtk
cp Makefile.in ~/wxgtk_dist/wxGTK/src/gtk
cp *.xbm ~/wxgtk_dist/wxGTK/src/gtk
cp *.c ~/wxgtk_dist/wxGTK/src/gtk
cp *.cpp ~/wxgtk_dist/wxGTK/src/gtk
cd ..
cd msw
mkdir ~/wxgtk_dist/wxGTK/src/msw
cp Makefile.am ~/wxgtk_dist/wxGTK/src/msw
cp Makefile.in ~/wxgtk_dist/wxGTK/src/msw
cd ..
cd motif
mkdir ~/wxgtk_dist/wxGTK/src/motif
cp Makefile.am ~/wxgtk_dist/wxGTK/src/motif
cp Makefile.in ~/wxgtk_dist/wxGTK/src/motif
cd ..
cd common
mkdir ~/wxgtk_dist/wxGTK/src/common
cp glob.inc ~/wxgtk_dist/wxGTK/src/common
cp lexer.l ~/wxgtk_dist/wxGTK/src/common
cp parser.y ~/wxgtk_dist/wxGTK/src/common
cp extended.c ~/wxgtk_dist/wxGTK/src/common
cp unzip.* ~/wxgtk_dist/wxGTK/src/common
cp *.cpp ~/wxgtk_dist/wxGTK/src/common
cd ..
cd unix
mkdir ~/wxgtk_dist/wxGTK/src/unix
cp *.cpp ~/wxgtk_dist/wxGTK/src/unix
cp *.h ~/wxgtk_dist/wxGTK/src/unix
cp *.c ~/wxgtk_dist/wxGTK/src/unix
cd ..
cd html
mkdir ~/wxgtk_dist/wxGTK/src/html
cp *.cpp ~/wxgtk_dist/wxGTK/src/html
cp *.h ~/wxgtk_dist/wxGTK/src/html
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/src/html/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/src/html/bitmaps
cd ../..
cd generic
mkdir ~/wxgtk_dist/wxGTK/src/generic
cp *.cpp ~/wxgtk_dist/wxGTK/src/generic
cd ..
cd iodbc
mkdir ~/wxgtk_dist/wxGTK/src/iodbc
cp * ~/wxgtk_dist/wxGTK/src/iodbc
cd ..
cd zlib
mkdir ~/wxgtk_dist/wxGTK/src/zlib
cp * ~/wxgtk_dist/wxGTK/src/zlib
cd ..
cd png
mkdir ~/wxgtk_dist/wxGTK/src/png
cp * ~/wxgtk_dist/wxGTK/src/png
cd ..
cd jpeg
mkdir ~/wxgtk_dist/wxGTK/src/jpeg
cp * ~/wxgtk_dist/wxGTK/src/jpeg
cd ../..
echo Utils dir..
cd utils
mkdir ~/wxgtk_dist/wxGTK/utils
cp Makefile.am ~/wxgtk_dist/wxGTK/utils
cp Makefile.in ~/wxgtk_dist/wxGTK/utils
echo wxGLCanvas..
cd glcanvas
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas
cp ./docs/notes.txt ~/wxgtk_dist/wxGTK/utils/glcanvas/NOTES.txt
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
cp ./gtk/glcanvas.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
cp ./gtk/glcanvas.h ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cd samples/cube
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
cp cube.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
cp cube.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
cd ..
cd isosurf
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
cp isosurf.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
cp isosurf.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
cp isosurf.dat.gz ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/isosurf
cd ..
cd penguin
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp penguin.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp penguin.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp trackball.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp trackball.c ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp lw.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp lw.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cp penguin.lwo ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
cd ../../..
echo DialogEd..
cd dialoged/src
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged
cp Makefile ~/wxgtk_dist/wxGTK/utils/dialoged
cp dialoged.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp dlghndlr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp edlist.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp edtree.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp reseditr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp reswrite.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp symbtabl.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp winprop.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp winstyle.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
cp dialoged.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp dlghndlr.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp edlist.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp edtree.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp reseditr.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp symbtabl.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp winprop.h ~/wxgtk_dist/wxGTK/utils/dialoged
cp winstyle.h ~/wxgtk_dist/wxGTK/utils/dialoged
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
cd ../../..
echo wxPython..
cd wxPython
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src
cp ./src/* ~/wxgtk_dist/wxGTK/utils/wxPython/src
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
cp ./src/gtk/* ~/wxgtk_dist/wxGTK/utils/wxPython/src/gtk
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/lib
cp ./lib/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/lib/sizers
cp ./lib/sizers/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib/sizers
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo
cp ./demo/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/demo
cp ./demo/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/demo
cp ./demo/*.pyc ~/wxgtk_dist/wxGTK/utils/wxPython/demo
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
cp ./demo/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
cd ../..
echo Samples dir..
cd samples
mkdir ~/wxgtk_dist/wxGTK/samples
cp Makefile.am ~/wxgtk_dist/wxGTK/samples
cp Makefile.in ~/wxgtk_dist/wxGTK/samples
echo Minimal sample..
cd minimal
mkdir ~/wxgtk_dist/wxGTK/samples/minimal
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/minimal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal
cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal
cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal
cd ..
echo Bombs sample..
cd bombs
mkdir ~/wxgtk_dist/wxGTK/samples/bombs
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/bombs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs
cp *.h ~/wxgtk_dist/wxGTK/samples/bombs
cp *.xpm ~/wxgtk_dist/wxGTK/samples/bombs
cd ..
echo Caret sample..
cd caret
mkdir ~/wxgtk_dist/wxGTK/samples/caret
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/caret
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/caret
cp *.cpp ~/wxgtk_dist/wxGTK/samples/caret
cp *.xpm ~/wxgtk_dist/wxGTK/samples/caret
cd ..
echo Checklst sample..
cd checklst
mkdir ~/wxgtk_dist/wxGTK/samples/checklst
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/checklst
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst
cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst
cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst
cd ..
echo Config sample..
cd config
mkdir ~/wxgtk_dist/wxGTK/samples/config
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/config
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config
cp *.cpp ~/wxgtk_dist/wxGTK/samples/config
cd ..
echo Controls sample..
cd controls
mkdir ~/wxgtk_dist/wxGTK/samples/controls
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/controls
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls
cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls
cd icons
mkdir ~/wxgtk_dist/wxGTK/samples/controls/icons
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls/icons
cd ../..
echo Db sample..
cd db
mkdir ~/wxgtk_dist/wxGTK/samples/db
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/db
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db
cp *.cpp ~/wxgtk_dist/wxGTK/samples/db
cp *.h ~/wxgtk_dist/wxGTK/samples/db
cp *.xpm ~/wxgtk_dist/wxGTK/samples/db
cd ..
#echo DDE sample..
#
#cd dde
#mkdir ~/wxgtk_dist/wxGTK/samples/dde
#cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dde
#cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
#cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
#cp *.h ~/wxgtk_dist/wxGTK/samples/dde
#cp *.xpm ~/wxgtk_dist/wxGTK/samples/dde
#cd ..
#
echo Dialogs sample..
cd dialogs
mkdir ~/wxgtk_dist/wxGTK/samples/dialogs
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dialogs
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs
cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs
cd ..
echo DnD sample..
cd dnd
mkdir ~/wxgtk_dist/wxGTK/samples/dnd
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dnd
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd
cd ..
echo Docview sample..
cd docview
mkdir ~/wxgtk_dist/wxGTK/samples/docview
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/docview
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview
cp *.h ~/wxgtk_dist/wxGTK/samples/docview
cp *.xpm ~/wxgtk_dist/wxGTK/samples/docview
cd ..
echo DocvwMDI sample..
cd docvwmdi
mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi
cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi
cd ..
echo Dynamic sample..
cd dynamic
mkdir ~/wxgtk_dist/wxGTK/samples/dynamic
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dynamic
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic
cd ..
echo Drawing sample..
cd drawing
mkdir ~/wxgtk_dist/wxGTK/samples/drawing
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/drawing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/drawing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/drawing
cp *.xpm ~/wxgtk_dist/wxGTK/samples/drawing
cd ..
echo Forty sample..
cd forty
mkdir ~/wxgtk_dist/wxGTK/samples/forty
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/forty
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty
cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty
cp *.h ~/wxgtk_dist/wxGTK/samples/forty
cp *.xpm ~/wxgtk_dist/wxGTK/samples/forty
cp *.xbm ~/wxgtk_dist/wxGTK/samples/forty
cd ..
echo Fractal sample..
cd fractal
mkdir ~/wxgtk_dist/wxGTK/samples/fractal
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/fractal
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal
cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal
cd ..
echo Grid sample..
cd grid
mkdir ~/wxgtk_dist/wxGTK/samples/grid
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/grid
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid
cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid
cd ..
echo Help sample..
cd help
mkdir ~/wxgtk_dist/wxGTK/samples/help
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/help
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help
cp *.cpp ~/wxgtk_dist/wxGTK/samples/help
cp *.xpm ~/wxgtk_dist/wxGTK/samples/help
cd doc
mkdir ~/wxgtk_dist/wxGTK/samples/help/doc
cp * ~/wxgtk_dist/wxGTK/samples/help/doc
cd ../..
echo HTML samples..
cd html
mkdir ~/wxgtk_dist/wxGTK/samples/html
cp Makefile.* ~/wxgtk_dist/wxGTK/samples/html
mkdir ~/wxgtk_dist/wxGTK/samples/html/about
cp about/Makefile.* ~/wxgtk_dist/wxGTK/samples/html/about
cp about/about.* ~/wxgtk_dist/wxGTK/samples/html/about
mkdir ~/wxgtk_dist/wxGTK/samples/html/about/data
cp about/data/*.* ~/wxgtk_dist/wxGTK/samples/html/about/data
mkdir ~/wxgtk_dist/wxGTK/samples/html/help
cp help/Makefile.* ~/wxgtk_dist/wxGTK/samples/html/help
cp help/help.* ~/wxgtk_dist/wxGTK/samples/html/help
mkdir ~/wxgtk_dist/wxGTK/samples/html/help/helpfiles
cp help/helpfiles/*.* ~/wxgtk_dist/wxGTK/samples/html/help/helpfiles
mkdir ~/wxgtk_dist/wxGTK/samples/html/printing
cp printing/*.* ~/wxgtk_dist/wxGTK/samples/html/printing
mkdir ~/wxgtk_dist/wxGTK/samples/html/test
cp test/*.* ~/wxgtk_dist/wxGTK/samples/html/test
mkdir ~/wxgtk_dist/wxGTK/samples/html/virtual
cp virtual/*.* ~/wxgtk_dist/wxGTK/samples/html/virtual
mkdir ~/wxgtk_dist/wxGTK/samples/html/widget
cp widget/*.* ~/wxgtk_dist/wxGTK/samples/html/widget
mkdir ~/wxgtk_dist/wxGTK/samples/html/zip
cp zip/*.* ~/wxgtk_dist/wxGTK/samples/html/zip
cd ..
echo Image sample..
cd image
mkdir ~/wxgtk_dist/wxGTK/samples/image
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/image
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image
cp *.cpp ~/wxgtk_dist/wxGTK/samples/image
cp horse.png ~/wxgtk_dist/wxGTK/samples/image
cp horse.gif ~/wxgtk_dist/wxGTK/samples/image
cp horse.jpg ~/wxgtk_dist/wxGTK/samples/image
cd ..
echo Internat sample..
cd internat
mkdir ~/wxgtk_dist/wxGTK/samples/internat
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/internat
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat
cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat
cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat
cp readme.txt ~/wxgtk_dist/wxGTK/samples/internat
cp wxstd.po ~/wxgtk_dist/wxGTK/samples/internat
cd fr
mkdir ~/wxgtk_dist/wxGTK/samples/internat/fr
cp *.?o ~/wxgtk_dist/wxGTK/samples/internat/fr
cd ../..
echo Layout sample..
cd layout
mkdir ~/wxgtk_dist/wxGTK/samples/layout
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/layout
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout
cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout
cp *.h ~/wxgtk_dist/wxGTK/samples/layout
cd ..
echo Listctrl sample..
cd listctrl
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/listctrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
cd ../..
echo MDI sample..
cd mdi
mkdir ~/wxgtk_dist/wxGTK/samples/mdi
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/mdi
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi
cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi
cp *.h ~/wxgtk_dist/wxGTK/samples/mdi
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
cd ../..
echo Memcheck sample..
cd memcheck
mkdir ~/wxgtk_dist/wxGTK/samples/memcheck
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/memcheck
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck
cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck
cd ..
echo Minifram sample..
cd minifram
mkdir ~/wxgtk_dist/wxGTK/samples/minifram
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/minifram
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram
cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram
cp *.h ~/wxgtk_dist/wxGTK/samples/minifram
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
cd ../..
echo Notebook sample..
cd notebook
mkdir ~/wxgtk_dist/wxGTK/samples/notebook
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/notebook
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook
cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook
cp *.h ~/wxgtk_dist/wxGTK/samples/notebook
cd ..
echo PNG sample..
cd png
mkdir ~/wxgtk_dist/wxGTK/samples/png
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/png
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png
cp *.cpp ~/wxgtk_dist/wxGTK/samples/png
cp *.h ~/wxgtk_dist/wxGTK/samples/png
cp *.png ~/wxgtk_dist/wxGTK/samples/png
cd ..
echo Printing sample..
cd printing
mkdir ~/wxgtk_dist/wxGTK/samples/printing
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/printing
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing
cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing
cp *.h ~/wxgtk_dist/wxGTK/samples/printing
cp *.xpm ~/wxgtk_dist/wxGTK/samples/printing
cd ..
echo Proplist sample..
cd proplist
mkdir ~/wxgtk_dist/wxGTK/samples/proplist
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/proplist
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist
cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist
cp *.h ~/wxgtk_dist/wxGTK/samples/proplist
cd ..
echo Resource sample..
cd resource
mkdir ~/wxgtk_dist/wxGTK/samples/resource
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/resource
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource
cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource
cp *.h ~/wxgtk_dist/wxGTK/samples/resource
cp *.wxr ~/wxgtk_dist/wxGTK/samples/resource
cd ..
echo Sashtest sample..
cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/sashtest
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/sashtest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest
cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest
cd ..
echo Scroll sample..
cd sashtest
mkdir ~/wxgtk_dist/wxGTK/samples/scroll
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/scroll
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/scroll
cp *.cpp ~/wxgtk_dist/wxGTK/samples/scroll
cp *.h ~/wxgtk_dist/wxGTK/samples/scroll
cd ..
echo Splitter sample..
cd splitter
mkdir ~/wxgtk_dist/wxGTK/samples/splitter
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/splitter
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter
cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter
cd ..
echo Text sample..
cd text
mkdir ~/wxgtk_dist/wxGTK/samples/text
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/text
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/text
cp *.cpp ~/wxgtk_dist/wxGTK/samples/text
cd ..
echo Thread sample..
cd thread
mkdir ~/wxgtk_dist/wxGTK/samples/thread
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/thread
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread
cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread
cd ..
echo Toolbar sample..
cd toolbar
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/toolbar
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
cd ../..
echo TreeCtrl sample..
cd treectrl
mkdir ~/wxgtk_dist/wxGTK/samples/treectrl
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/treectrl
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl
cp *.xpm ~/wxgtk_dist/wxGTK/samples/treectrl
cd ..
echo typetest sample..
cd typetest
mkdir ~/wxgtk_dist/wxGTK/samples/typetest
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/typetest
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest
cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest
cp *.h ~/wxgtk_dist/wxGTK/samples/typetest
cp *.xpm ~/wxgtk_dist/wxGTK/samples/typetest
cd ..
echo Validate sample..
cd validate
mkdir ~/wxgtk_dist/wxGTK/samples/validate
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/validate
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate
cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate
cp *.h ~/wxgtk_dist/wxGTK/samples/validate
cp *.xpm ~/wxgtk_dist/wxGTK/samples/validate
cd ..
echo wxPoem sample..
cd wxpoem
mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/wxpoem
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxpoem
cp wxpoem.dat ~/wxgtk_dist/wxGTK/samples/wxpoem
cp wxpoem.txt ~/wxgtk_dist/wxGTK/samples/wxpoem
cp wxpoem.idx ~/wxgtk_dist/wxGTK/samples/wxpoem
cd ..
echo wxSocket sample..
cd wxsocket
mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/wxsocket
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket
cd ../..
echo LOCAL CORRECTCIONS
cd distrib/gtk
cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src
cd ~/wxgtk_dist
tar ch wxGTK | gzip -f9 > wxGTK-2.1.0-b8.tgz

View File

@@ -1,701 +0,0 @@
#! /bin/sh
#
# This script is creates a dir tree in ~/wxmotif_dist which
# can then be packed into an archive
echo --------
echo This script will copy the wxMotif release files into ~/wxmotif_dist
echo --------
echo
mkdir ~/wxmotif_dist
mkdir ~/wxmotif_dist/wxMotif
echo Base dir..
cd ../..
cp wxMotif.spec ~/wxmotif_dist/wxMotif
cp Makefile.am ~/wxmotif_dist/wxMotif
cp acconfig.h ~/wxmotif_dist/wxMotif
cp acinclude.m4 ~/wxmotif_dist/wxMotif
cp aclocal.m4 ~/wxmotif_dist/wxMotif
cp configure.in ~/wxmotif_dist/wxMotif
cp configure ~/wxmotif_dist/wxMotif
cp config.sub ~/wxmotif_dist/wxMotif
cp config.guess ~/wxmotif_dist/wxMotif
cp install-sh ~/wxmotif_dist/wxMotif
cp ltconfig ~/wxmotif_dist/wxMotif
cp ltmain.sh ~/wxmotif_dist/wxMotif
cp missing ~/wxmotif_dist/wxMotif
cp mkinstalldirs ~/wxmotif_dist/wxMotif
cp wx-config.in ~/wxmotif_dist/wxMotif
cp makefile.unx.in ~/wxmotif_dist/wxMotif
cp setup.h.in ~/wxmotif_dist/wxMotif
cp stamp-h.in ~/wxmotif_dist/wxMotif
cp Makefile.in ~/wxmotif_dist/wxMotif
echo Docs..
cd docs/motif2
cp COPYING.LIB ~/wxmotif_dist/wxMotif
cp install.txt ~/wxmotif_dist/wxMotif/INSTALL.txt
cp changes.txt ~/wxmotif_dist/wxMotif/CHANGES.txt
cp licence.txt ~/wxmotif_dist/wxMotif/LICENCE.txt
cp readme.txt ~/wxmotif_dist/wxMotif/README.txt
cp todo.txt ~/wxmotif_dist/wxMotif/TODO.txt
cd ..
cp symbols.txt ~/wxmotif_dist/wxMotif/SYMBOLS.txt
cd ..
echo Include dir..
mkdir ~/wxmotif_dist/wxMotif/include
cd include
cp Makefile.am ~/wxmotif_dist/wxMotif/include
cp Makefile.in ~/wxmotif_dist/wxMotif/include
mkdir ~/wxmotif_dist/wxMotif/include/wx
cd wx
cp *.h ~/wxmotif_dist/wxMotif/include/wx
cp *.cpp ~/wxmotif_dist/wxMotif/include/wx
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx
mkdir ~/wxmotif_dist/wxMotif/include/wx/generic
cd generic
cp *.h ~/wxmotif_dist/wxMotif/include/wx/generic
cp *.xpm ~/wxmotif_dist/wxMotif/include/wx/generic
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/generic
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/generic
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/html
cd html
cp *.h ~/wxmotif_dist/wxMotif/include/wx/html
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/html
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/html
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/unix
cd unix
cp *.h ~/wxmotif_dist/wxMotif/include/wx/unix
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/unix
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/unix
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/msw
cd msw
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/msw
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/msw
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/motif
cd motif
cp *.h ~/wxmotif_dist/wxMotif/include/wx/motif
rm ~/wxmotif_dist/wxMotif/include/wx/motif/setup.h
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/motif
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/motif
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/gtk
cd gtk
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/gtk
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/gtk
cd ..
mkdir ~/wxmotif_dist/wxMotif/include/wx/protocol
cd protocol
cp *.h ~/wxmotif_dist/wxMotif/include/wx/protocol
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/protocol
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/protocol
cd ..
cd ../..
echo Misc dir..
mkdir ~/wxmotif_dist/wxMotif/misc
cd misc
cp Makefile.am ~/wxmotif_dist/wxMotif/misc
cp Makefile.in ~/wxmotif_dist/wxMotif/misc
mkdir ~/wxmotif_dist/wxMotif/misc/afm
cd afm
cp *.afm ~/wxmotif_dist/wxMotif/misc/afm
cp Makefile.am ~/wxmotif_dist/wxMotif/misc/afm
cp Makefile.in ~/wxmotif_dist/wxMotif/misc/afm
cd ..
mkdir ~/wxmotif_dist/wxMotif/misc/gs_afm
cd gs_afm
cp *.afm ~/wxmotif_dist/wxMotif/misc/gs_afm
cp Makefile.am ~/wxmotif_dist/wxMotif/misc/gs_afm
cp Makefile.in ~/wxmotif_dist/wxMotif/misc/gs_afm
cd ../..
echo Src dir..
cd src
mkdir ~/wxmotif_dist/wxMotif/src
cp Makefile.am ~/wxmotif_dist/wxMotif/src
cp Makefile.in ~/wxmotif_dist/wxMotif/src
cd motif
mkdir ~/wxmotif_dist/wxMotif/src/motif
cp Makefile.am ~/wxmotif_dist/wxMotif/src/motif
cp Makefile.in ~/wxmotif_dist/wxMotif/src/motif
cp *.xbm ~/wxmotif_dist/wxMotif/src/motif
cp *.c ~/wxmotif_dist/wxMotif/src/motif
cp *.cpp ~/wxmotif_dist/wxMotif/src/motif
cd ..
cd common
mkdir ~/wxmotif_dist/wxMotif/src/common
cp glob.inc ~/wxmotif_dist/wxMotif/src/common
cp lexer.l ~/wxmotif_dist/wxMotif/src/common
cp parser.y ~/wxmotif_dist/wxMotif/src/common
cp extended.c ~/wxmotif_dist/wxMotif/src/common
cp unzip.* ~/wxmotif_dist/wxMotif/src/common
cp *.cpp ~/wxmotif_dist/wxMotif/src/common
cd ..
cd html
mkdir ~/wxmotif_dist/wxMotif/src/html
cp *.cpp ~/wxmotif_dist/wxMotif/src/html
cp *.h ~/wxmotif_dist/wxMotif/src/html
cd bitmaps
mkdir ~/wxmotif_dist/wxMotif/src/html/bitmaps
cp *.xpm ~/wxmotif_dist/wxMotif/src/html/bitmaps
cd ../..
cd unix
mkdir ~/wxmotif_dist/wxMotif/src/unix
cp *.cpp ~/wxmotif_dist/wxMotif/src/unix
cp *.h ~/wxmotif_dist/wxMotif/src/unix
cp *.c ~/wxmotif_dist/wxMotif/src/unix
cd ..
cd generic
mkdir ~/wxmotif_dist/wxMotif/src/generic
cp *.cpp ~/wxmotif_dist/wxMotif/src/generic
cd ..
cd iodbc
mkdir ~/wxmotif_dist/wxMotif/src/iodbc
cp * ~/wxmotif_dist/wxMotif/src/iodbc
cd ..
cd zlib
mkdir ~/wxmotif_dist/wxMotif/src/zlib
cp * ~/wxmotif_dist/wxMotif/src/zlib
cd ..
cd png
mkdir ~/wxmotif_dist/wxMotif/src/png
cp * ~/wxmotif_dist/wxMotif/src/png
cd ..
cd jpeg
mkdir ~/wxmotif_dist/wxMotif/src/jpeg
cp * ~/wxmotif_dist/wxMotif/src/jpeg
cd ..
cd ..
echo Utils dir..
cd utils
mkdir ~/wxmotif_dist/wxMotif/utils
cp Makefile.am ~/wxmotif_dist/wxMotif/utils
cp Makefile.in ~/wxmotif_dist/wxMotif/utils
cd ..
echo Samples dir..
cd samples
mkdir ~/wxmotif_dist/wxMotif/samples
cp Makefile.am ~/wxmotif_dist/wxMotif/samples
cp Makefile.in ~/wxmotif_dist/wxMotif/samples
echo Minimal sample..
cd minimal
mkdir ~/wxmotif_dist/wxMotif/samples/minimal
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/minimal
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/minimal
cp minimal.cpp ~/wxmotif_dist/wxMotif/samples/minimal
cp mondrian.xpm ~/wxmotif_dist/wxMotif/samples/minimal
cd ..
echo Bombs sample..
cd bombs
mkdir ~/wxmotif_dist/wxMotif/samples/bombs
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/bombs
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/bombs
cp *.cpp ~/wxmotif_dist/wxMotif/samples/bombs
cp *.h ~/wxmotif_dist/wxMotif/samples/bombs
cp *.xpm ~/wxmotif_dist/wxMotif/samples/bombs
cd ..
echo Caret sample..
cd caret
mkdir ~/wxmotif_dist/wxMotif/samples/caret
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/caret
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/caret
cp *.cpp ~/wxmotif_dist/wxMotif/samples/caret
cp *.xpm ~/wxmotif_dist/wxMotif/samples/caret
cd ..
echo Checklst sample..
cd checklst
mkdir ~/wxmotif_dist/wxMotif/samples/checklst
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/checklst
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/checklst
cp *.cpp ~/wxmotif_dist/wxMotif/samples/checklst
cp *.xpm ~/wxmotif_dist/wxMotif/samples/checklst
cd ..
echo Config sample..
cd config
mkdir ~/wxmotif_dist/wxMotif/samples/config
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/config
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/config
cp *.cpp ~/wxmotif_dist/wxMotif/samples/config
cd ..
echo Controls sample..
cd controls
mkdir ~/wxmotif_dist/wxMotif/samples/controls
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/controls
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/controls
cp *.cpp ~/wxmotif_dist/wxMotif/samples/controls
cp *.xpm ~/wxmotif_dist/wxMotif/samples/controls
cd icons
mkdir ~/wxmotif_dist/wxMotif/samples/controls/icons
cp *.xpm ~/wxmotif_dist/wxMotif/samples/controls/icons
cd ../..
echo Db sample..
cd db
mkdir ~/wxmotif_dist/wxMotif/samples/db
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/db
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/db
cp *.cpp ~/wxmotif_dist/wxMotif/samples/db
cp *.h ~/wxmotif_dist/wxMotif/samples/db
cp *.xpm ~/wxmotif_dist/wxMotif/samples/db
cd ..
echo Dialogs sample..
cd dialogs
mkdir ~/wxmotif_dist/wxMotif/samples/dialogs
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/dialogs
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/dialogs
cp *.cpp ~/wxmotif_dist/wxMotif/samples/dialogs
cp *.h ~/wxmotif_dist/wxMotif/samples/dialogs
cd ..
echo DnD sample..
cd dnd
mkdir ~/wxmotif_dist/wxMotif/samples/dnd
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/dnd
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/dnd
cp *.cpp ~/wxmotif_dist/wxMotif/samples/dnd
cp *.xpm ~/wxmotif_dist/wxMotif/samples/dnd
cd ..
echo Docview sample..
cd docview
mkdir ~/wxmotif_dist/wxMotif/samples/docview
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/docview
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/docview
cp *.cpp ~/wxmotif_dist/wxMotif/samples/docview
cp *.h ~/wxmotif_dist/wxMotif/samples/docview
cp *.xpm ~/wxmotif_dist/wxMotif/samples/docview
cd ..
echo DocvwMDI sample..
cd docvwmdi
mkdir ~/wxmotif_dist/wxMotif/samples/docvwmdi
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/docvwmdi
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/docvwmdi
cp *.cpp ~/wxmotif_dist/wxMotif/samples/docvwmdi
cp *.h ~/wxmotif_dist/wxMotif/samples/docvwmdi
cd ..
echo Dynamic sample..
cd dynamic
mkdir ~/wxmotif_dist/wxMotif/samples/dynamic
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/dynamic
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/dynamic
cp *.cpp ~/wxmotif_dist/wxMotif/samples/dynamic
cp *.xpm ~/wxmotif_dist/wxMotif/samples/dynamic
cd ..
echo Drawing sample..
cd drawing
mkdir ~/wxmotif_dist/wxMotif/samples/drawing
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/drawing
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/drawing
cp *.cpp ~/wxmotif_dist/wxMotif/samples/drawing
cp *.xpm ~/wxmotif_dist/wxMotif/samples/drawing
cd ..
echo Forty sample..
cd forty
mkdir ~/wxmotif_dist/wxMotif/samples/forty
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/forty
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/forty
cp *.cpp ~/wxmotif_dist/wxMotif/samples/forty
cp *.h ~/wxmotif_dist/wxMotif/samples/forty
cp *.xpm ~/wxmotif_dist/wxMotif/samples/forty
cp *.xbm ~/wxmotif_dist/wxMotif/samples/forty
cd ..
echo Fractal sample..
cd fractal
mkdir ~/wxmotif_dist/wxMotif/samples/fractal
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/fractal
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/fractal
cp *.cpp ~/wxmotif_dist/wxMotif/samples/fractal
cd ..
echo Grid sample..
cd grid
mkdir ~/wxmotif_dist/wxMotif/samples/grid
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/grid
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/grid
cp *.cpp ~/wxmotif_dist/wxMotif/samples/grid
cd ..
echo Help sample..
cd help
mkdir ~/wxmotif_dist/wxMotif/samples/help
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/help
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/help
cp *.cpp ~/wxmotif_dist/wxMotif/samples/help
cp *.xpm ~/wxmotif_dist/wxMotif/samples/help
cd doc
mkdir ~/wxmotif_dist/wxMotif/samples/help/doc
cp * ~/wxmotif_dist/wxMotif/samples/help/doc
cd ../..
echo HTML samples..
cd html
mkdir ~/wxmotif_dist/wxMotif/samples/html
cp Makefile.* ~/wxmotif_dist/wxMotif/samples/html
mkdir ~/wxmotif_dist/wxMotif/samples/html/about
cp about/Makefile.* ~/wxmotif_dist/wxMotif/samples/html/about
cp about/about.* ~/wxmotif_dist/wxMotif/samples/html/about
mkdir ~/wxmotif_dist/wxMotif/samples/html/about/data
cp about/data/*.* ~/wxmotif_dist/wxMotif/samples/html/about/data
mkdir ~/wxmotif_dist/wxMotif/samples/html/help
cp help/Makefile.* ~/wxmotif_dist/wxMotif/samples/html/help
cp help/help.* ~/wxmotif_dist/wxMotif/samples/html/help
mkdir ~/wxmotif_dist/wxMotif/samples/html/help/helpfiles
cp help/helpfiles/*.* ~/wxmotif_dist/wxMotif/samples/html/help/helpfiles
mkdir ~/wxmotif_dist/wxMotif/samples/html/printing
cp printing/*.* ~/wxmotif_dist/wxMotif/samples/html/printing
mkdir ~/wxmotif_dist/wxMotif/samples/html/test
cp test/*.* ~/wxmotif_dist/wxMotif/samples/html/test
mkdir ~/wxmotif_dist/wxMotif/samples/html/virtual
cp virtual/*.* ~/wxgtk_dist/wxGTK/samples/html/virtual
mkdir ~/wxmotif_dist/wxMotif/samples/html/widget
cp widget/*.* ~/wxmotif_dist/wxMotif/samples/html/widget
mkdir ~/wxmotif_dist/wxMotif/samples/html/zip
cp zip/*.* ~/wxmotif_dist/wxMotif/samples/html/zip
cd ..
echo Image sample..
cd image
mkdir ~/wxmotif_dist/wxMotif/samples/image
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/image
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/image
cp *.cpp ~/wxmotif_dist/wxMotif/samples/image
cp horse.png ~/wxmotif_dist/wxMotif/samples/image
cp horse.gif ~/wxmotif_dist/wxMotif/samples/image
cp horse.jpg ~/wxmotif_dist/wxMotif/samples/image
cd ..
echo Internat sample..
cd internat
mkdir ~/wxmotif_dist/wxMotif/samples/internat
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/internat
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/internat
cp *.cpp ~/wxmotif_dist/wxMotif/samples/internat
cp *.xpm ~/wxmotif_dist/wxMotif/samples/internat
cp readme.txt ~/wxmotif_dist/wxMotif/samples/internat
cp wxstd.po ~/wxmotif_dist/wxMotif/samples/internat
cd fr
mkdir ~/wxmotif_dist/wxMotif/samples/internat/fr
cp *.?o ~/wxmotif_dist/wxMotif/samples/internat/fr
cd ../..
echo Layout sample..
cd layout
mkdir ~/wxmotif_dist/wxMotif/samples/layout
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/layout
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/layout
cp *.cpp ~/wxmotif_dist/wxMotif/samples/layout
cp *.h ~/wxmotif_dist/wxMotif/samples/layout
cd ..
echo Listctrl sample..
cd listctrl
mkdir ~/wxmotif_dist/wxMotif/samples/listctrl
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/listctrl
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/listctrl
cp *.cpp ~/wxmotif_dist/wxMotif/samples/listctrl
cp *.h ~/wxmotif_dist/wxMotif/samples/listctrl
cp *.xpm ~/wxmotif_dist/wxMotif/samples/listctrl
cd bitmaps
mkdir ~/wxmotif_dist/wxMotif/samples/listctrl/bitmaps
cp *.xpm ~/wxmotif_dist/wxMotif/samples/listctrl/bitmaps
cd ../..
echo MDI sample..
cd mdi
mkdir ~/wxmotif_dist/wxMotif/samples/mdi
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/mdi
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/mdi
cp *.cpp ~/wxmotif_dist/wxMotif/samples/mdi
cp *.h ~/wxmotif_dist/wxMotif/samples/mdi
cp *.xpm ~/wxmotif_dist/wxMotif/samples/mdi
cd bitmaps
mkdir ~/wxmotif_dist/wxMotif/samples/mdi/bitmaps
cp *.xpm ~/wxmotif_dist/wxMotif/samples/mdi/bitmaps
cd ../..
echo Memcheck sample..
cd memcheck
mkdir ~/wxmotif_dist/wxMotif/samples/memcheck
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/memcheck
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/memcheck
cp *.cpp ~/wxmotif_dist/wxMotif/samples/memcheck
cp *.xpm ~/wxmotif_dist/wxMotif/samples/memcheck
cd ..
echo Minifram sample..
cd minifram
mkdir ~/wxmotif_dist/wxMotif/samples/minifram
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/minifram
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/minifram
cp *.cpp ~/wxmotif_dist/wxMotif/samples/minifram
cp *.h ~/wxmotif_dist/wxMotif/samples/minifram
cp *.xpm ~/wxmotif_dist/wxMotif/samples/minifram
cd bitmaps
mkdir ~/wxmotif_dist/wxMotif/samples/minifram/bitmaps
cp *.xpm ~/wxmotif_dist/wxMotif/samples/minifram/bitmaps
cd ../..
echo Notebook sample..
cd notebook
mkdir ~/wxmotif_dist/wxMotif/samples/notebook
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/notebook
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/notebook
cp *.cpp ~/wxmotif_dist/wxMotif/samples/notebook
cp *.h ~/wxmotif_dist/wxMotif/samples/notebook
cd ..
echo PNG sample..
cd png
mkdir ~/wxmotif_dist/wxMotif/samples/png
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/png
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/png
cp *.cpp ~/wxmotif_dist/wxMotif/samples/png
cp *.h ~/wxmotif_dist/wxMotif/samples/png
cp *.png ~/wxmotif_dist/wxMotif/samples/png
cd ..
echo Printing sample..
cd printing
mkdir ~/wxmotif_dist/wxMotif/samples/printing
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/printing
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/printing
cp *.cpp ~/wxmotif_dist/wxMotif/samples/printing
cp *.h ~/wxmotif_dist/wxMotif/samples/printing
cp *.xpm ~/wxmotif_dist/wxMotif/samples/printing
cd ..
echo Proplist sample..
cd proplist
mkdir ~/wxmotif_dist/wxMotif/samples/proplist
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/proplist
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/proplist
cp *.cpp ~/wxmotif_dist/wxMotif/samples/proplist
cp *.h ~/wxmotif_dist/wxMotif/samples/proplist
cd ..
echo Resource sample..
cd resource
mkdir ~/wxmotif_dist/wxMotif/samples/resource
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/resource
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/resource
cp *.cpp ~/wxmotif_dist/wxMotif/samples/resource
cp *.h ~/wxmotif_dist/wxMotif/samples/resource
cp *.wxr ~/wxmotif_dist/wxMotif/samples/resource
cd ..
echo Sashtest sample..
cd sashtest
mkdir ~/wxmotif_dist/wxMotif/samples/sashtest
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/sashtest
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/sashtest
cp *.cpp ~/wxmotif_dist/wxMotif/samples/sashtest
cp *.h ~/wxmotif_dist/wxMotif/samples/sashtest
cd ..
echo Scroll sample..
cd sashtest
mkdir ~/wxmotif_dist/wxMotif/samples/scroll
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/scroll
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/scroll
cp *.cpp ~/wxmotif_dist/wxMotif/samples/scroll
cp *.h ~/wxmotif_dist/wxMotif/samples/scroll
cd ..
echo Splitter sample..
cd splitter
mkdir ~/wxmotif_dist/wxMotif/samples/splitter
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/splitter
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/splitter
cp *.cpp ~/wxmotif_dist/wxMotif/samples/splitter
cd ..
cd tab
mkdir ~/wxmotif_dist/wxMotif/samples/tab
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/tab
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/tab
cp *.cpp ~/wxmotif_dist/wxMotif/samples/tab
cp *.h ~/wxmotif_dist/wxMotif/samples/tab
cd ..
echo Text sample..
cd text
mkdir ~/wxmotif_dist/wxMotif/samples/text
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/text
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/text
cp *.cpp ~/wxmotif_dist/wxMotif/samples/text
cd ..
echo Thread sample..
cd thread
mkdir ~/wxmotif_dist/wxMotif/samples/thread
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/thread
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/thread
cp *.cpp ~/wxmotif_dist/wxMotif/samples/thread
cd ..
echo Toolbar sample..
cd toolbar
mkdir ~/wxmotif_dist/wxMotif/samples/toolbar
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/toolbar
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/toolbar
cp *.cpp ~/wxmotif_dist/wxMotif/samples/toolbar
cp *.h ~/wxmotif_dist/wxMotif/samples/toolbar
cp *.xpm ~/wxmotif_dist/wxMotif/samples/toolbar
cd bitmaps
mkdir ~/wxmotif_dist/wxMotif/samples/toolbar/bitmaps
cp *.xpm ~/wxmotif_dist/wxMotif/samples/toolbar/bitmaps
cd ../..
echo TreeCtrl sample..
cd treectrl
mkdir ~/wxmotif_dist/wxMotif/samples/treectrl
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/treectrl
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/treectrl
cp *.cpp ~/wxmotif_dist/wxMotif/samples/treectrl
cp *.h ~/wxmotif_dist/wxMotif/samples/treectrl
cp *.xpm ~/wxmotif_dist/wxMotif/samples/treectrl
cd ..
echo typetest sample..
cd typetest
mkdir ~/wxmotif_dist/wxMotif/samples/typetest
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/typetest
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/typetest
cp *.cpp ~/wxmotif_dist/wxMotif/samples/typetest
cp *.h ~/wxmotif_dist/wxMotif/samples/typetest
cp *.xpm ~/wxmotif_dist/wxMotif/samples/typetest
cd ..
echo Validate sample..
cd validate
mkdir ~/wxmotif_dist/wxMotif/samples/validate
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/validate
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/validate
cp *.cpp ~/wxmotif_dist/wxMotif/samples/validate
cp *.h ~/wxmotif_dist/wxMotif/samples/validate
cp *.xpm ~/wxmotif_dist/wxMotif/samples/validate
cd ..
echo wxPoem sample..
cd wxpoem
mkdir ~/wxmotif_dist/wxMotif/samples/wxpoem
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/wxpoem
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/wxpoem
cp *.cpp ~/wxmotif_dist/wxMotif/samples/wxpoem
cp *.h ~/wxmotif_dist/wxMotif/samples/wxpoem
cp *.xpm ~/wxmotif_dist/wxMotif/samples/wxpoem
cp wxpoem.dat ~/wxmotif_dist/wxMotif/samples/wxpoem
cp wxpoem.txt ~/wxmotif_dist/wxMotif/samples/wxpoem
cp wxpoem.idx ~/wxmotif_dist/wxMotif/samples/wxpoem
cd ..
echo wxSocket sample..
cd wxsocket
mkdir ~/wxmotif_dist/wxMotif/samples/wxsocket
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/wxsocket
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/wxsocket
cp *.cpp ~/wxmotif_dist/wxMotif/samples/wxsocket
cp *.xpm ~/wxmotif_dist/wxMotif/samples/wxsocket
cd ../..
cd ~/wxmotif_dist
tar ch wxMotif | gzip -f9 > wxMotif-2.1.0-b8.tgz

View File

@@ -1,3 +0,0 @@
src/bc32.ide
src/bc32d.ide
samples/bc32.ide

View File

@@ -1,733 +0,0 @@
echo --------
echo This script will copy the wxMSW release files into \wxmsw_dist
echo --------
echo
md \wxmsw_dist
md \wxmsw_dist\wxMSW
echo Base dir..
cd ..\..
echo Lib..
cd lib
md \wxmsw_dist\wxMSW\lib
copy dummy \wxmsw_dist\wxMSW\lib
cd ..
echo Locale..
cd locale
md \wxmsw_dist\wxMSW\locale
copy *.?? \wxmsw_dist\wxMSW\locale
cd ..
echo Docs..
cd docs\wine
copy COPYING.LIB \wxmsw_dist\wxMSW
copy licence.txt \wxmsw_dist\wxMSW\LICENCE.txt
cd ..\msw
copy install.txt \wxmsw_dist\wxMSW\INSTALL.txt
copy readme.txt \wxmsw_dist\wxMSW\README.txt
copy todo.txt \wxmsw_dist\wxMSW\TODO.txt
cd ..
copy symbols.txt \wxmsw_dist\wxMSW\SYMBOLS.txt
cd ..
echo Include dir..
md \wxmsw_dist\wxMSW\include
cd include
copy wx_*.* \wxmsw_dist\wxMSW\include
md \wxmsw_dist\wxMSW\include\wx
cd wx
copy *.h \wxmsw_dist\wxMSW\include\wx
copy *.cpp \wxmsw_dist\wxMSW\include\wx
md \wxmsw_dist\wxMSW\include\wx\generic
cd generic
copy *.h \wxmsw_dist\wxMSW\include\wx\generic
cd ..
md \wxmsw_dist\wxMSW\include\wx\html
cd html
copy *.h \wxmsw_dist\wxMSW\include\wx\html
md \wxmsw_dist\wxMSW\include\wx\html\msw
cd msw
copy *.* \wxmsw_dist\wxMSW\include\wx\html\msw
cd ..\..
md \wxmsw_dist\wxMSW\include\wx\msw
cd msw
copy *.* \wxmsw_dist\wxMSW\include\wx\msw
rem del \wxmsw_dist\wxMSW\include\wx\msw\setup.h
del \wxmsw_dist\wxMSW\include\wx\msw\Makefile.am
del \wxmsw_dist\wxMSW\include\wx\msw\Makefile.in
md \wxmsw_dist\wxMSW\include\wx\msw\gnuwin32
cd gnuwin32
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\gnuwin32
cd ..
md \wxmsw_dist\wxMSW\include\wx\msw\ole
cd ole
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\ole
cd ..
cd ctl3d
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\ctl3d
cd ..
cd ..
md \wxmsw_dist\wxMSW\include\wx\protocol
cd protocol
copy *.h \wxmsw_dist\wxMSW\include\wx\protocol
cd ..
cd ..\..
echo Src dir..
cd src
md \wxmsw_dist\wxMSW\src
copy *.* \wxmsw_dist\wxMSW\src
del Makefile.am \wxmsw_dist\wxMSW\src\Makefile.am
del Makefile.in \wxmsw_dist\wxMSW\src\Makefile.in
cd msw
md \wxmsw_dist\wxMSW\src\msw
copy *.cpp \wxmsw_dist\wxMSW\src\msw
copy *.c \wxmsw_dist\wxMSW\src\msw
copy *.def \wxmsw_dist\wxMSW\src\msw
copy makefile.* \wxmsw_dist\wxMSW\src\msw
del Makefile.am \wxmsw_dist\wxMSW\src\msw\Makefile.am
del Makefile.in \wxmsw_dist\wxMSW\src\msw\Makefile.in
cd ..
cd common
md \wxmsw_dist\wxMSW\src\common
copy glob.inc \wxmsw_dist\wxMSW\src\common
copy lexer.l \wxmsw_dist\wxMSW\src\common
copy parser.y \wxmsw_dist\wxMSW\src\common
copy *.c \wxmsw_dist\wxMSW\src\common
copy *.h \wxmsw_dist\wxMSW\src\common
copy *.cpp \wxmsw_dist\wxMSW\src\common
cd ..
cd html
md \wxmsw_dist\wxMSW\src\html
copy *.cpp \wxmsw_dist\wxMSW\src\html
copy *.h \wxmsw_dist\wxMSW\src\html
cd ..
cd generic
md \wxmsw_dist\wxMSW\src\generic
copy *.cpp \wxmsw_dist\wxMSW\src\generic
cd ..
cd zlib
md \wxmsw_dist\wxMSW\src\zlib
copy *.* \wxmsw_dist\wxMSW\src\zlib
cd ..
cd png
md \wxmsw_dist\wxMSW\src\png
copy *.* \wxmsw_dist\wxMSW\src\png
cd ..
cd jpeg
md \wxmsw_dist\wxMSW\src\jpeg
copy *.* \wxmsw_dist\wxMSW\src\jpeg
cd ..
cd xpm
md \wxmsw_dist\wxMSW\src\xpm
copy *.* \wxmsw_dist\wxMSW\src\xpm
cd ..
cd ..
echo Utils dir..
cd utils
md \wxmsw_dist\wxMSW\utils
echo wxGLCanvas..
cd glcanvas
md \wxmsw_dist\wxMSW\utils\glcanvas
copy .\docs\notes.txt \wxmsw_dist\wxMSW\utils\glcanvas\NOTES.txt
md \wxmsw_dist\wxMSW\utils\glcanvas\win
copy .\win\glcanvas.cpp \wxmsw_dist\wxMSW\utils\glcanvas\win
copy .\win\glcanvas.h \wxmsw_dist\wxMSW\utils\glcanvas\win
copy .\win\makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\win
md \wxmsw_dist\wxMSW\utils\glcanvas\samples
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
cd samples\cube
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
copy cube.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
copy cube.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
copy cube.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
cd ..
cd isosurf
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
copy isosurf.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
copy isosurf.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
copy isosurf.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
copy isosurf.dat.gz \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
cd ..
cd penguin
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy penguin.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy penguin.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy penguin.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy trackball.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy trackball.c \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy lw.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy lw.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy penguin.lwo \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
cd ..\..\..
echo DialogEd..
cd dialoged\src
md \wxmsw_dist\wxMSW\utils\dialoged
md \wxmsw_dist\wxMSW\utils\dialoged\src
copy Makefile.* \wxmsw_dist\wxMSW\utils\dialoged\src
copy dialoged.def \wxmsw_dist\wxMSW\utils\dialoged\src
copy dialoged.rc \wxmsw_dist\wxMSW\utils\dialoged\src
copy dialoged.ico \wxmsw_dist\wxMSW\utils\dialoged\src
copy dialoged.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy dlghndlr.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy edlist.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy edtree.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy reseditr.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy reswrite.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy symbtabl.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy winprop.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy winstyle.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
copy dialoged.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy dlghndlr.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy edlist.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy edtree.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy reseditr.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy symbtabl.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy winprop.h \wxmsw_dist\wxMSW\utils\dialoged\src
copy winstyle.h \wxmsw_dist\wxMSW\utils\dialoged\src
cd bitmaps
md \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
copy *.bmp \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
copy *.ico \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
cd ..\..\..
cd ..
echo Samples dir..
cd samples
md \wxmsw_dist\wxMSW\samples
copy makefile.* \wxmsw_dist\wxMSW\samples
echo Minimal sample..
cd minimal
md \wxmsw_dist\wxMSW\samples\minimal
copy Makefile.* \wxmsw_dist\wxMSW\samples\minimal
copy *.def \wxmsw_dist\wxMSW\samples\minimal
copy *.rc \wxmsw_dist\wxMSW\samples\minimal
copy minimal.cpp \wxmsw_dist\wxMSW\samples\minimal
copy mondrian.ico \wxmsw_dist\wxMSW\samples\minimal
cd ..
echo Bombs sample..
cd bombs
md \wxmsw_dist\wxMSW\samples\bombs
copy Makefile.* \wxmsw_dist\wxMSW\samples\bombs
copy *.cpp \wxmsw_dist\wxMSW\samples\bombs
copy *.h \wxmsw_dist\wxMSW\samples\bombs
copy *.ico \wxmsw_dist\wxMSW\samples\bombs
copy *.def \wxmsw_dist\wxMSW\samples\bombs
copy *.rc \wxmsw_dist\wxMSW\samples\bombs
cd ..
echo Caret sample..
cd caret
md \wxmsw_dist\wxMSW\samples\caret
copy Makefile.* \wxmsw_dist\wxMSW\samples\caret
copy *.cpp \wxmsw_dist\wxMSW\samples\caret
copy *.h \wxmsw_dist\wxMSW\samples\caret
copy *.ico \wxmsw_dist\wxMSW\samples\caret
copy *.def \wxmsw_dist\wxMSW\samples\caret
copy *.rc \wxmsw_dist\wxMSW\samples\caret
cd ..
echo Checklst sample..
cd checklst
md \wxmsw_dist\wxMSW\samples\checklst
copy Makefile.* \wxmsw_dist\wxMSW\samples\checklst
copy *.h \wxmsw_dist\wxMSW\samples\checklst
copy *.cpp \wxmsw_dist\wxMSW\samples\checklst
copy *.ico \wxmsw_dist\wxMSW\samples\checklst
copy *.def \wxmsw_dist\wxMSW\samples\checklst
copy *.rc \wxmsw_dist\wxMSW\samples\checklst
cd ..
echo Config sample..
cd config
md \wxmsw_dist\wxMSW\samples\config
copy Makefile.* \wxmsw_dist\wxMSW\samples\config
copy *.h \wxmsw_dist\wxMSW\samples\config
copy *.cpp \wxmsw_dist\wxMSW\samples\config
copy *.ico \wxmsw_dist\wxMSW\samples\config
copy *.def \wxmsw_dist\wxMSW\samples\config
copy *.rc \wxmsw_dist\wxMSW\samples\config
cd ..
echo Controls sample..
cd controls
md \wxmsw_dist\wxMSW\samples\controls
copy Makefile.* \wxmsw_dist\wxMSW\samples\controls
copy *.cpp \wxmsw_dist\wxMSW\samples\controls
copy *.h \wxmsw_dist\wxMSW\samples\controls
copy *.rc \wxmsw_dist\wxMSW\samples\controls
copy *.def \wxmsw_dist\wxMSW\samples\controls
copy *.ico \wxmsw_dist\wxMSW\samples\controls
cd icons
md \wxmsw_dist\wxMSW\samples\controls\icons
copy *.* \wxmsw_dist\wxMSW\samples\controls\icons
cd ..\..
echo Dialogs sample..
cd dialogs
md \wxmsw_dist\wxMSW\samples\dialogs
copy Makefile.* \wxmsw_dist\wxMSW\samples\dialogs
copy *.cpp \wxmsw_dist\wxMSW\samples\dialogs
copy *.h \wxmsw_dist\wxMSW\samples\dialogs
copy *.def \wxmsw_dist\wxMSW\samples\dialogs
copy *.rc \wxmsw_dist\wxMSW\samples\dialogs
copy *.ico \wxmsw_dist\wxMSW\samples\dialogs
cd ..
echo DnD sample..
cd dnd
md \wxmsw_dist\wxMSW\samples\dnd
copy Makefile.* \wxmsw_dist\wxMSW\samples\dnd
copy *.cpp \wxmsw_dist\wxMSW\samples\dnd
copy *.h \wxmsw_dist\wxMSW\samples\dnd
copy *.def \wxmsw_dist\wxMSW\samples\dnd
copy *.rc \wxmsw_dist\wxMSW\samples\dnd
copy *.ico \wxmsw_dist\wxMSW\samples\dnd
cd ..
echo Docview sample..
cd docview
md \wxmsw_dist\wxMSW\samples\docview
copy Makefile.* \wxmsw_dist\wxMSW\samples\docview
copy *.cpp \wxmsw_dist\wxMSW\samples\docview
copy *.h \wxmsw_dist\wxMSW\samples\docview
copy *.def \wxmsw_dist\wxMSW\samples\docview
copy *.rc \wxmsw_dist\wxMSW\samples\docview
copy *.ico \wxmsw_dist\wxMSW\samples\docview
cd ..
echo DocvwMDI sample..
cd docvwmdi
md \wxmsw_dist\wxMSW\samples\docvwmdi
copy Makefile.* \wxmsw_dist\wxMSW\samples\docvwmdi
copy *.cpp \wxmsw_dist\wxMSW\samples\docvwmdi
copy *.h \wxmsw_dist\wxMSW\samples\docvwmdi
copy *.def \wxmsw_dist\wxMSW\samples\docvwmdi
copy *.rc \wxmsw_dist\wxMSW\samples\docvwmdi
copy *.ico \wxmsw_dist\wxMSW\samples\docvwmdi
cd ..
echo Dynamic sample..
cd dynamic
md \wxmsw_dist\wxMSW\samples\dynamic
copy Makefile.* \wxmsw_dist\wxMSW\samples\dynamic
copy *.cpp \wxmsw_dist\wxMSW\samples\dynamic
copy *.h \wxmsw_dist\wxMSW\samples\dynamic
copy *.def \wxmsw_dist\wxMSW\samples\dynamic
copy *.rc \wxmsw_dist\wxMSW\samples\dynamic
copy *.ico \wxmsw_dist\wxMSW\samples\dynamic
cd ..
echo Drawing sample..
cd drawing
md \wxmsw_dist\wxMSW\samples\drawing
copy Makefile.* \wxmsw_dist\wxMSW\samples\drawing
copy *.cpp \wxmsw_dist\wxMSW\samples\drawing
copy *.ico \wxmsw_dist\wxMSW\samples\drawing
copy *.h \wxmsw_dist\wxMSW\samples\drawing
copy *.rc \wxmsw_dist\wxMSW\samples\drawing
copy *.def \wxmsw_dist\wxMSW\samples\drawing
cd ..
echo Forty sample..
cd forty
md \wxmsw_dist\wxMSW\samples\forty
copy Makefile.* \wxmsw_dist\wxMSW\samples\forty
copy *.cpp \wxmsw_dist\wxMSW\samples\forty
copy *.h \wxmsw_dist\wxMSW\samples\forty
copy *.def \wxmsw_dist\wxMSW\samples\forty
copy *.rc \wxmsw_dist\wxMSW\samples\forty
copy *.ico \wxmsw_dist\wxMSW\samples\forty
copy *.bmp \wxmsw_dist\wxMSW\samples\forty
copy *.xpm \wxmsw_dist\wxMSW\samples\forty
copy *.xbm \wxmsw_dist\wxMSW\samples\forty
cd ..
echo Fractal sample..
cd fractal
md \wxmsw_dist\wxMSW\samples\fractal
copy Makefile.* \wxmsw_dist\wxMSW\samples\fractal
copy *.cpp \wxmsw_dist\wxMSW\samples\fractal
copy *.h \wxmsw_dist\wxMSW\samples\fractal
copy *.def \wxmsw_dist\wxMSW\samples\fractal
copy *.rc \wxmsw_dist\wxMSW\samples\fractal
copy *.ico \wxmsw_dist\wxMSW\samples\fractal
cd ..
echo Grid sample..
cd grid
md \wxmsw_dist\wxMSW\samples\grid
copy Makefile.* \wxmsw_dist\wxMSW\samples\grid
copy *.cpp \wxmsw_dist\wxMSW\samples\grid
copy *.h \wxmsw_dist\wxMSW\samples\grid
copy *.def \wxmsw_dist\wxMSW\samples\grid
copy *.rc \wxmsw_dist\wxMSW\samples\grid
copy *.ico \wxmsw_dist\wxMSW\samples\grid
cd ..
echo Help sample..
cd help
md \wxmsw_dist\wxMSW\samples\help
copy Makefile.* \wxmsw_dist\wxMSW\samples\help
copy *.cpp \wxmsw_dist\wxMSW\samples\help
copy *.def \wxmsw_dist\wxMSW\samples\help
copy *.rc \wxmsw_dist\wxMSW\samples\help
copy *.ico \wxmsw_dist\wxMSW\samples\help
copy *.xpm \wxmsw_dist\wxMSW\samples\help
cd doc
md \wxmsw_dist\wxMSW\samples\help\doc
copy *.* \wxmsw_dist\wxMSW\samples\help\doc
cd ..\..
echo Image sample..
cd image
md \wxmsw_dist\wxMSW\samples\image
copy Makefile.* \wxmsw_dist\wxMSW\samples\image
copy *.cpp \wxmsw_dist\wxMSW\samples\image
copy *.def \wxmsw_dist\wxMSW\samples\image
copy *.rc \wxmsw_dist\wxMSW\samples\image
copy *.ico \wxmsw_dist\wxMSW\samples\image
copy horse.png \wxmsw_dist\wxMSW\samples\image
copy horse.gif \wxmsw_dist\wxMSW\samples\image
copy horse.jpg \wxmsw_dist\wxMSW\samples\image
cd ..
echo Internat sample..
cd internat
md \wxmsw_dist\wxMSW\samples\internat
copy Makefile.* \wxmsw_dist\wxMSW\samples\internat
copy *.cpp \wxmsw_dist\wxMSW\samples\internat
copy *.def \wxmsw_dist\wxMSW\samples\internat
copy *.rc \wxmsw_dist\wxMSW\samples\internat
copy *.ico \wxmsw_dist\wxMSW\samples\internat
copy readme.txt \wxmsw_dist\wxMSW\samples\internat
copy wxstd.po \wxmsw_dist\wxMSW\samples\internat
cd fr
md \wxmsw_dist\wxMSW\samples\internat\fr
copy *.?o \wxmsw_dist\wxMSW\samples\internat\fr
cd ..\..
echo Layout sample..
cd layout
md \wxmsw_dist\wxMSW\samples\layout
copy Makefile.* \wxmsw_dist\wxMSW\samples\layout
copy *.cpp \wxmsw_dist\wxMSW\samples\layout
copy *.ico \wxmsw_dist\wxMSW\samples\layout
copy *.def \wxmsw_dist\wxMSW\samples\layout
copy *.rc \wxmsw_dist\wxMSW\samples\layout
copy *.h \wxmsw_dist\wxMSW\samples\layout
cd ..
echo Listctrl sample..
cd listctrl
md \wxmsw_dist\wxMSW\samples\listctrl
copy Makefile.* \wxmsw_dist\wxMSW\samples\listctrl
copy *.cpp \wxmsw_dist\wxMSW\samples\listctrl
copy *.h \wxmsw_dist\wxMSW\samples\listctrl
copy *.def \wxmsw_dist\wxMSW\samples\listctrl
copy *.rc \wxmsw_dist\wxMSW\samples\listctrl
copy *.ico \wxmsw_dist\wxMSW\samples\listctrl
cd bitmaps
md \wxmsw_dist\wxMSW\samples\listctrl\bitmaps
copy *.* \wxmsw_dist\wxMSW\samples\listctrl\bitmaps
cd ..\..
echo MDI sample..
cd mdi
md \wxmsw_dist\wxMSW\samples\mdi
copy Makefile.* \wxmsw_dist\wxMSW\samples\mdi
copy *.cpp \wxmsw_dist\wxMSW\samples\mdi
copy *.rc \wxmsw_dist\wxMSW\samples\mdi
copy *.def \wxmsw_dist\wxMSW\samples\mdi
copy *.h \wxmsw_dist\wxMSW\samples\mdi
copy *.ico \wxmsw_dist\wxMSW\samples\mdi
cd bitmaps
md \wxmsw_dist\wxMSW\samples\mdi\bitmaps
copy *.* \wxmsw_dist\wxMSW\samples\mdi\bitmaps
cd ..\..
echo Memcheck sample..
cd memcheck
md \wxmsw_dist\wxMSW\samples\memcheck
copy Makefile.* \wxmsw_dist\wxMSW\samples\memcheck
copy *.cpp \wxmsw_dist\wxMSW\samples\memcheck
copy *.ico \wxmsw_dist\wxMSW\samples\memcheck
copy *.rc \wxmsw_dist\wxMSW\samples\memcheck
copy *.def \wxmsw_dist\wxMSW\samples\memcheck
copy *.xpm \wxmsw_dist\wxMSW\samples\memcheck
cd ..
echo Minifram sample..
cd minifram
md \wxmsw_dist\wxMSW\samples\minifram
copy Makefile.* \wxmsw_dist\wxMSW\samples\minifram
copy *.cpp \wxmsw_dist\wxMSW\samples\minifram
copy *.xpm \wxmsw_dist\wxMSW\samples\minifram
copy *.ico \wxmsw_dist\wxMSW\samples\minifram
copy *.def \wxmsw_dist\wxMSW\samples\minifram
copy *.rc \wxmsw_dist\wxMSW\samples\minifram
cd bitmaps
md \wxmsw_dist\wxMSW\samples\minifram\bitmaps
copy *.* \wxmsw_dist\wxMSW\samples\minifram\bitmaps
cd ..\..
echo Notebook sample..
cd notebook
md \wxmsw_dist\wxMSW\samples\notebook
copy Makefile.* \wxmsw_dist\wxMSW\samples\notebook
copy *.cpp \wxmsw_dist\wxMSW\samples\notebook
copy *.ico \wxmsw_dist\wxMSW\samples\notebook
copy *.def \wxmsw_dist\wxMSW\samples\notebook
copy *.rc \wxmsw_dist\wxMSW\samples\notebook
copy *.h \wxmsw_dist\wxMSW\samples\notebook
cd ..
echo Printing sample..
cd printing
md \wxmsw_dist\wxMSW\samples\printing
copy Makefile.* \wxmsw_dist\wxMSW\samples\printing
copy *.cpp \wxmsw_dist\wxMSW\samples\printing
copy *.h \wxmsw_dist\wxMSW\samples\printing
copy *.rc \wxmsw_dist\wxMSW\samples\printing
copy *.ico \wxmsw_dist\wxMSW\samples\printing
copy *.def \wxmsw_dist\wxMSW\samples\printing
copy *.xpm \wxmsw_dist\wxMSW\samples\printing
cd ..
echo Proplist sample..
cd proplist
md \wxmsw_dist\wxMSW\samples\proplist
copy Makefile.* \wxmsw_dist\wxMSW\samples\proplist
copy *.rc \wxmsw_dist\wxMSW\samples\printing
copy *.def \wxmsw_dist\wxMSW\samples\printing
copy *.cpp \wxmsw_dist\wxMSW\samples\proplist
copy *.ico \wxmsw_dist\wxMSW\samples\printing
copy *.h \wxmsw_dist\wxMSW\samples\proplist
cd ..
echo Resource sample..
cd resource
md \wxmsw_dist\wxMSW\samples\resource
copy Makefile.* \wxmsw_dist\wxMSW\samples\resource
copy *.ico \wxmsw_dist\wxMSW\samples\resource
copy *.rc \wxmsw_dist\wxMSW\samples\resource
copy *.def \wxmsw_dist\wxMSW\samples\resource
copy *.cpp \wxmsw_dist\wxMSW\samples\resource
copy *.h \wxmsw_dist\wxMSW\samples\resource
copy *.wxr \wxmsw_dist\wxMSW\samples\resource
cd ..
echo Sashtest sample..
cd sashtest
md \wxmsw_dist\wxMSW\samples\sashtest
copy Makefile.* \wxmsw_dist\wxMSW\samples\sashtest
copy *.cpp \wxmsw_dist\wxMSW\samples\sashtest
copy *.rc \wxmsw_dist\wxMSW\samples\sashtest
copy *.h \wxmsw_dist\wxMSW\samples\sashtest
copy *.def \wxmsw_dist\wxMSW\samples\sashtest
copy *.ico \wxmsw_dist\wxMSW\samples\sashtest
cd ..
echo Scroll sample..
cd scroll
md \wxmsw_dist\wxMSW\samples\scroll
copy Makefile.* \wxmsw_dist\wxMSW\samples\scroll
copy *.cpp \wxmsw_dist\wxMSW\samples\scroll
copy *.def \wxmsw_dist\wxMSW\samples\scroll
copy *.rc \wxmsw_dist\wxMSW\samples\scroll
copy *.ico \wxmsw_dist\wxMSW\samples\scroll
copy *.h \wxmsw_dist\wxMSW\samples\scroll
cd ..
echo Splitter sample..
cd splitter
md \wxmsw_dist\wxMSW\samples\splitter
copy Makefile.* \wxmsw_dist\wxMSW\samples\splitter
copy *.cpp \wxmsw_dist\wxMSW\samples\splitter
copy *.def \wxmsw_dist\wxMSW\samples\splitter
copy *.rc \wxmsw_dist\wxMSW\samples\splitter
copy *.ico \wxmsw_dist\wxMSW\samples\splitter
cd ..
echo Text sample..
cd text
md \wxmsw_dist\wxMSW\samples\text
copy Makefile.* \wxmsw_dist\wxMSW\samples\text
copy *.cpp \wxmsw_dist\wxMSW\samples\text
copy *.def \wxmsw_dist\wxMSW\samples\text
copy *.rc \wxmsw_dist\wxMSW\samples\text
copy *.ico \wxmsw_dist\wxMSW\samples\text
cd ..
echo Thread sample..
cd thread
md \wxmsw_dist\wxMSW\samples\thread
copy Makefile.* \wxmsw_dist\wxMSW\samples\thread
copy *.cpp \wxmsw_dist\wxMSW\samples\thread
copy *.def \wxmsw_dist\wxMSW\samples\thread
copy *.rc \wxmsw_dist\wxMSW\samples\thread
copy *.ico \wxmsw_dist\wxMSW\samples\thread
cd ..
echo Toolbar sample..
cd toolbar
md \wxmsw_dist\wxMSW\samples\toolbar
copy Makefile.* \wxmsw_dist\wxMSW\samples\toolbar
copy *.cpp \wxmsw_dist\wxMSW\samples\toolbar
copy *.h \wxmsw_dist\wxMSW\samples\toolbar
copy *.rc \wxmsw_dist\wxMSW\samples\toolbar
copy *.def \wxmsw_dist\wxMSW\samples\toolbar
copy *.xpm \wxmsw_dist\wxMSW\samples\toolbar
copy *.ico \wxmsw_dist\wxMSW\samples\toolbar
cd bitmaps
md \wxmsw_dist\wxMSW\samples\toolbar\bitmaps
copy *.* \wxmsw_dist\wxMSW\samples\toolbar\bitmaps
cd ..\..
echo TreeCtrl sample..
cd treectrl
md \wxmsw_dist\wxMSW\samples\treectrl
copy Makefile.* \wxmsw_dist\wxMSW\samples\treectrl
copy *.rc \wxmsw_dist\wxMSW\samples\treectrl
copy *.def \wxmsw_dist\wxMSW\samples\treectrl
copy *.cpp \wxmsw_dist\wxMSW\samples\treectrl
copy *.h \wxmsw_dist\wxMSW\samples\treectrl
copy *.xpm \wxmsw_dist\wxMSW\samples\treectrl
copy *.ico \wxmsw_dist\wxMSW\samples\treectrl
cd bitmaps
md \wxmsw_dist\wxMSW\samples\treectrl\bitmaps
copy *.* \wxmsw_dist\wxMSW\samples\treectrl\bitmaps
cd ..\..
echo typetest sample..
cd typetest
md \wxmsw_dist\wxMSW\samples\typetest
copy Makefile.* \wxmsw_dist\wxMSW\samples\typetest
copy *.cpp \wxmsw_dist\wxMSW\samples\typetest
copy *.h \wxmsw_dist\wxMSW\samples\typetest
copy *.ico \wxmsw_dist\wxMSW\samples\typetest
copy *.def \wxmsw_dist\wxMSW\samples\typetest
copy *.rc \wxmsw_dist\wxMSW\samples\typetest
cd ..
echo Validate sample..
cd validate
md \wxmsw_dist\wxMSW\samples\validate
copy Makefile.* \wxmsw_dist\wxMSW\samples\validate
copy *.cpp \wxmsw_dist\wxMSW\samples\validate
copy *.h \wxmsw_dist\wxMSW\samples\validate
copy *.xpm \wxmsw_dist\wxMSW\samples\validate
copy *.rc \wxmsw_dist\wxMSW\samples\validate
copy *.def \wxmsw_dist\wxMSW\samples\validate
cd ..
echo wxPoem sample..
cd wxpoem
md \wxmsw_dist\wxMSW\samples\wxpoem
copy Makefile.* \wxmsw_dist\wxMSW\samples\wxpoem
copy *.cpp \wxmsw_dist\wxMSW\samples\wxpoem
copy *.h \wxmsw_dist\wxMSW\samples\wxpoem
copy *.xpm \wxmsw_dist\wxMSW\samples\wxpoem
copy *.def \wxmsw_dist\wxMSW\samples\wxpoem
copy *.rc \wxmsw_dist\wxMSW\samples\wxpoem
copy wxpoem.dat \wxmsw_dist\wxMSW\samples\wxpoem
copy wxpoem.txt \wxmsw_dist\wxMSW\samples\wxpoem
copy wxpoem.idx \wxmsw_dist\wxMSW\samples\wxpoem
cd ..
echo wxSocket sample..
cd wxsocket
md \wxmsw_dist\wxMSW\samples\wxsocket
copy Makefile.* \wxmsw_dist\wxMSW\samples\wxsocket
copy *.cpp \wxmsw_dist\wxMSW\samples\wxsocket
copy *.h \wxmsw_dist\wxMSW\samples\wxsocket
copy *.rc \wxmsw_dist\wxMSW\samples\wxsocket
copy *.def \wxmsw_dist\wxMSW\samples\wxsocket
copy *.xpm \wxmsw_dist\wxMSW\samples\wxsocket
cd ..\..

View File

@@ -1,109 +0,0 @@
src/make_cw.mcp
src/common/cwy_tab.c
src/common/cwlex_yy.c
include/wx_cw.pch
include/wx_cw.pch++
include/wx_cw_d.pch
include/wx_cw_d.pch++
samples/bombs/make_cw.mcp
samples/checklst/make_cw.mcp
samples/config/make_cw.mcp
samples/controls/make_cw.mcp
samples/db/make_cw.mcp
samples/dialogs/make_cw.mcp
samples/dnd/make_cw.mcp
samples/docview/make_cw.mcp
samples/docvwmdi/make_cw.mcp
samples/dynamic/make_cw.mcp
samples/forty/make_cw.mcp
samples/fractal/make_cw.mcp
samples/grid/make_cw.mcp
samples/help/make_cw.mcp
samples/image/make_cw.mcp
samples/internat/make_cw.mcp
samples/joytest/make_cw.mcp
samples/layout/make_cw.mcp
samples/listctrl/make_cw.mcp
samples/mdi/make_cw.mcp
samples/memcheck/make_cw.mcp
samples/mfc/make_cw.mcp
samples/minimal/make_cw.mcp
samples/minifram/make_cw.mcp
samples/nativdlg/make_cw.mcp
samples/notebook/make_cw.mcp
samples/ownerdrw/make_cw.mcp
samples/png/make_cw.mcp
samples/printing/make_cw.mcp
samples/proplist/make_cw.mcp
samples/Regtest/make_cw.mcp
samples/resource/make_cw.mcp
samples/sashtest/make_cw.mcp
samples/splitter/make_cw.mcp
samples/tab/make_cw.mcp
samples/taskbar/make_cw.mcp
samples/thread/make_cw.mcp
samples/toolbar/make_cw.mcp
samples/treectrl/make_cw.mcp
samples/typetest/make_cw.mcp
samples/validate/make_cw.mcp
samples/wxsocket/make_cw.mcp
samples/wxpoem/make_cw.mcp
utils/wxprop/src/make_cw.mcp
utils/wxprop/src/make_sample.mcp
utils/dialoged/src/make_cw.mcp
utils/glcanvas/win/make_cw.mcp
utils/glcanvas/samples/cube/make_cw.mcp
utils/glcanvas/samples/isosurf/make_cw.mcp
utils/ogl/src/make_cw.mcp
utils/ogl/samples/ogledit/make_cw.mcp
utils/wxtree/src/make_cw.mcp
utils/wxtree/src/make_cw.mcp

View File

@@ -10,18 +10,6 @@ docs/latex/wx/*.bmp
docs/latex/wx/*.gif
docs/latex/wx/*.wmf
docs/latex/proplist/*.tex
docs/latex/proplist/*.sty
docs/latex/proplist/*.bib
docs/latex/proplist/*.hpj
docs/latex/proplist/*.ini
docs/latex/proplist/*.txt
docs/latex/proplist/*.cnt
docs/latex/proplist/*.eps
docs/latex/proplist/*.bmp
docs/latex/proplist/*.gif
docs/latex/proplist/*.wmf
docs/latex/porting/*.tex
docs/latex/porting/*.sty
docs/latex/porting/*.bib

View File

@@ -1,28 +1,4 @@
*.spec
BuildCVS.txt
acconfig.h
*.m4
autogen.sh
config.guess
config.sub
configure.in
install-sh
ltconfig
ltmain.sh
missing
mkinstalldirs
modules
template.mak
wx-config.in
makefile.unx.in
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tardist
distrib/gtk/*
locale/*.po
locale/*.mo
distrib/*.*
docs/readme.txt
docs/install.txt
@@ -32,13 +8,6 @@ docs/upgrade.txt
docs/todo.txt
docs/licence.txt
docs/symbols.txt
docs/bugs.txt
docs/*.htm
docs/html/*.htm
docs/html/*.gif
src/*.inc
src/mkdir
src/common/*.cpp
src/common/dosyacc.c
@@ -54,15 +23,9 @@ src/generic/*.cpp
src/generic/*.c
src/generic/*.inc
src/html/*.cpp
src/html/*.h
src/html/bitmaps/*.xpm
src/unix/*.cpp
src/png/*.c
src/png/*.h
src/png/makefile*
src/png/makefile.*
src/png/INSTALL
src/png/CHANGES
src/png/README
@@ -79,18 +42,15 @@ src/zlib/README
src/zlib/ChangeLog
src/zlib/configure
src/zlib/*.txt
src/zlib/makefile*
src/zlib/makefile.*
src/zlib/*.com
src/zlib/*.3
src/zlib/*.mms
include/wx/*.h
include/wx/*.cpp
include/wx/protocol/*.h
include/wx/wx_setup.vms
include/wx/common/*.h
include/wx/generic/*.h
include/wx/unix/*.h
lib/dummy
bin/*.*
@@ -109,9 +69,9 @@ bitmaps/ico/32x32/*.*
afm/*.*
utils/*.txt
utils/make*
utils/make*.*
utils/xpmshow/src/makefile*
utils/xpmshow/src/makefile.*
utils/xpmshow/src/*.cpp
utils/xpmshow/src/*.h
utils/xpmshow/src/*.def
@@ -122,31 +82,67 @@ utils/xpmshow/src/*.ico
utils/wxhelp/src/*.cpp
utils/wxhelp/src/*.h
utils/wxhelp/src/makefile*
utils/wxhelp/src/makefile.*
utils/wxhelp/src/*.xbm
utils/wxhelp/src/*.xpm
utils/wxhelp/src/*.txt
utils/wxhelp/src/*.ico
utils/wxhelp/src/*.def
utils/wxhelp/src/*.rc
utils/tex2rtf/src/wxwin/*.*
utils/tex2rtf/src/*.cpp
utils/tex2rtf/src/*.h
utils/tex2rtf/src/make*.*
utils/tex2rtf/src/*.xbm
utils/tex2rtf/src/*.sty
utils/tex2rtf/src/*.ini
utils/tex2rtf/src/*.inf
utils/tex2rtf/lib/dummy
utils/tex2rtf/src/*.bmp
utils/tex2rtf/src/*.ico
utils/tex2rtf/src/*.def
utils/tex2rtf/src/*.rc
utils/tex2rtf/tools/lacheck/*.*
utils/tex2rtf/tools/tcheck/*.awk
utils/tex2rtf/tools/tcheck/*.pl
utils/tex2rtf/tools/tcheck/*.bat
utils/wxtree/src/*.cpp
utils/wxtree/src/*.h
utils/wxtree/src/makefile.*
utils/wxtree/src/*.xbm
utils/wxtree/lib/dummy
utils/wxtree/src/*.ico
utils/wxtree/src/*.def
utils/wxtree/src/*.rc
utils/wxgraph/src/*.cpp
utils/wxgraph/src/*.c
utils/wxgraph/src/*.h
utils/wxgraph/src/makefile*
utils/wxgraph/src/makefile.*
utils/wxgraph/src/*.xbm
utils/wxgraph/src/*.xpm
utils/wxgraph/lib/dummy
utils/wxgraph/src/*.ico
utils/wxgraph/src/*.def
utils/wxgraph/src/*.rc
utils/mfutils/src/*.cpp
utils/mfutils/src/*.h
utils/mfutils/src/*.rc
utils/mfutils/src/*.def
utils/mfutils/src/makefile.*
utils/mfutils/src/*.txt
utils/mfutils/lib/dummy
utils/mfutils/src/*.ico
utils/mfutils/src/*.def
utils/mfutils/src/*.bmp
utils/mfutils/src/*.ico
utils/rcparser/src/*.cpp
utils/rcparser/src/*.c
utils/rcparser/src/*.h
utils/rcparser/src/makefile*
utils/rcparser/src/makefile.*
utils/rcparser/src/*.xbm
utils/rcparser/src/*.xpm
utils/rcparser/lib/dummy
utils/rcparser/src/*.ico
utils/rcparser/src/*.def
@@ -157,30 +153,28 @@ utils/colours/*.h
utils/colours/*.cpp
utils/colours/*.def
utils/colours/*.rc
utils/colours/makefile*
utils/colours/makefile.*
utils/colours/*.xbm
utils/colours/*.xpm
utils/colours/*.txt
utils/serialize/*.h
utils/serialize/*.cpp
utils/serialize/*.def
utils/serialize/*.rc
utils/serialize/makefile*
utils/serialize/*.xbm
utils/serialize/*.xpm
utils/serialize/*.txt
utils/wxprop/src/*.h
utils/wxprop/src/*.cpp
utils/wxprop/src/*.def
utils/wxprop/src/*.rc
utils/wxprop/src/makefile.*
utils/wxprop/src/*.xbm
utils/wxprop/src/*.txt
utils/wxprop/src/*.ico
utils/wxprop/src/*.bmp
utils/wxprop/lib/dummy
utils/dialoged/Makefile
utils/dialoged/src/bitmaps/*.xbm
utils/dialoged/src/bitmaps/*.xpm
utils/dialoged/src/*.h
utils/dialoged/src/*.cpp
utils/dialoged/src/*.def
utils/dialoged/src/*.rc
utils/dialoged/src/makefile*
utils/dialoged/src/makefile.*
utils/dialoged/src/*.xbm
utils/dialoged/src/*.xpm
utils/dialoged/src/*.txt
utils/dialoged/src/*.inf
utils/dialoged/test/*.h
@@ -192,80 +186,42 @@ utils/dialoged/src/bitmaps/*.ico
utils/dialoged/test/*.cpp
utils/dialoged/test/*.def
utils/dialoged/test/*.rc
utils/dialoged/test/makefile*
utils/dialoged/test/makefile.*
utils/dialoged/lib/dummy
utils/dialoged/test/*.ico
utils/dialoged/test/*.prj
utils/dialoged/test/*.bmp
samples/*.txt
samples/makefile*
samples/makefile.*
samples/config/*.cpp
samples/config/*.h
samples/config/*.def
samples/config/makefile*
samples/config/*.xbm
samples/config/*.xpm
samples/config/*.txt
samples/config/*.ico
samples/config/*.bmp
samples/config/*.rc
samples/config/*.wav
samples/hello/*.cpp
samples/hello/*.h
samples/hello/*.def
samples/hello/makefile.*
samples/hello/*.xbm
samples/hello/*.txt
samples/hello/*.ico
samples/hello/*.bmp
samples/hello/*.rc
samples/hello/*.wav
samples/dynamic/*.cpp
samples/dynamic/*.h
samples/dynamic/*.def
samples/dynamic/makefile*
samples/dynamic/makefile.*
samples/dynamic/*.xbm
samples/dynamic/*.xpm
samples/dynamic/*.txt
samples/dynamic/*.ico
samples/dynamic/*.bmp
samples/dynamic/*.rc
samples/dynamic/*.wav
samples/wxsocket/*.cpp
samples/wxsocket/*.h
samples/wxsocket/*.def
samples/wxsocket/makefile*
samples/wxsocket/client.wat
samples/wxsocket/server.wat
samples/wxsocket/client.vc
samples/wxsocket/server.vc
samples/wxsocket/client.dos
samples/wxsocket/server.dos
samples/wxsocket/client.b32
samples/wxsocket/server.b32
samples/wxsocket/client.bcc
samples/wxsocket/server.bcc
samples/wxsocket/*.xbm
samples/wxsocket/*.xpm
samples/wxsocket/*.ico
samples/wxsocket/*.rc
samples/help/*.cpp
samples/help/*.h
samples/help/*.def
samples/help/makefile*
samples/help/*.xbm
samples/help/*.xpm
samples/help/*.ico
samples/help/*.rc
samples/help/doc/*.html
samples/help/doc/*.htm
samples/help/doc/*.class
samples/help/doc/*.db
samples/help/doc/*.tex
samples/help/doc/*.gif
samples/help/doc/*.map
samples/bombs/*.cpp
samples/bombs/*.h
samples/bombs/*.def
samples/bombs/makefile*
samples/bombs/makefile.*
samples/bombs/*.xbm
samples/bombs/*.xpm
samples/bombs/*.txt
samples/bombs/*.ico
samples/bombs/*.bmp
@@ -274,31 +230,19 @@ samples/bombs/*.rc
samples/ipc/*.cpp
samples/ipc/*.h
samples/ipc/*.def
samples/ipc/makefile*
samples/ipc/makefile.*
samples/ipc/*.xbm
samples/ipc/*.xpm
samples/ipc/*.ico
samples/ipc/*.rc
samples/typetest/*.cpp
samples/typetest/*.h
samples/typetest/*.def
samples/typetest/*.rc
samples/typetest/*.txt
samples/typetest/makefile*
samples/typetest/*.xbm
samples/typetest/*.xpm
samples/typetest/*.ico
samples/sashtest/*.cpp
samples/sashtest/*.h
samples/sashtest/*.def
samples/sashtest/*.rc
samples/sashtest/*.txt
samples/sashtest/makefile*
samples/sashtest/*.xbm
samples/sashtest/*.xpm
samples/sashtest/*.ico
samples/types/*.cpp
samples/types/*.h
samples/types/*.def
samples/types/*.rc
samples/types/*.txt
samples/types/makefile.*
samples/types/*.xbm
samples/types/*.ico
samples/resource/*.cpp
samples/resource/*.h
@@ -306,152 +250,125 @@ samples/resource/*.def
samples/resource/*.rc
samples/resource/*.txt
samples/resource/*.wxr
samples/resource/makefile*
samples/resource/makefile.*
samples/resource/*.xbm
samples/resource/*.xpm
samples/resource/*.ico
samples/animate/*.cpp
samples/animate/*.h
samples/animate/*.def
samples/animate/makefile*
samples/animate/makefile.*
samples/animate/*.xbm
samples/animate/*.xpm
samples/animate/*.ico
samples/animate/*.rc
samples/mdi/*.cpp
samples/mdi/*.h
samples/mdi/*.def
samples/mdi/makefile*
samples/mdi/makefile.*
samples/mdi/*.xbm
samples/mdi/*.xpm
samples/mdi/*.ico
samples/mdi/*.rc
samples/mdi/bitmaps/*.bmp
samples/mdi/bitmaps/*.ico
samples/mdi/bitmaps/*.xpm
samples/mdi/bitmaps/*.xbm
samples/minimal/*.cpp
samples/minimal/*.h
samples/minimal/*.def
samples/minimal/makefile*
samples/minimal/makefile.*
samples/minimal/*.xbm
samples/minimal/*.xpm
samples/minimal/*.ico
samples/minimal/*.rc
samples/controls/*.cpp
samples/controls/*.h
samples/controls/*.def
samples/controls/makefile*
samples/controls/makefile.*
samples/controls/*.xbm
samples/controls/*.xpm
samples/controls/*.ico
samples/controls/*.bmp
samples/controls/*.rc
samples/controls/icons/*.bmp
samples/controls/icons/*.ico
samples/controls/icons/*.xpm
samples/fractal/*.cpp
samples/fractal/*.h
samples/fractal/*.def
samples/fractal/makefile*
samples/fractal/makefile.*
samples/fractal/*.xbm
samples/fractal/*.xpm
samples/fractal/*.ico
samples/fractal/*.rc
samples/proplist/*.cpp
samples/proplist/*.h
samples/proplist/*.def
samples/proplist/makefile*
samples/proplist/*.xbm
samples/proplist/*.xpm
samples/proplist/*.ico
samples/proplist/*.bmp
samples/proplist/*.rc
samples/layout/*.cpp
samples/layout/*.h
samples/layout/*.def
samples/layout/makefile*
samples/layout/makefile.*
samples/layout/*.xbm
samples/layout/*.xpm
samples/layout/*.ico
samples/layout/*.rc
samples/layout/*.bmp
samples/layout/*.xpm
samples/printing/*.cpp
samples/printing/*.h
samples/printing/*.def
samples/printing/makefile*
samples/printing/makefile.*
samples/printing/*.xbm
samples/printing/*.xpm
samples/printing/*.txt
samples/printing/*.ico
samples/printing/*.bmp
samples/printing/*.rc
samples/printing/*.afm
samples/toolbar/*.cpp
samples/toolbar/*.h
samples/toolbar/*.def
samples/toolbar/makefile*
samples/toolbar/*.txt
samples/toolbar/*.xbm
samples/toolbar/*.xpm
samples/toolbar/bitmaps/*.xbm
samples/toolbar/bitmaps/*.xpm
samples/toolbar/*.ico
samples/toolbar/*.bmp
samples/toolbar/*.rc
samples/toolbar/bitmaps/*.bmp
samples/tbarsmpl/*.cpp
samples/tbarsmpl/*.h
samples/tbarsmpl/*.def
samples/tbarsmpl/makefile.*
samples/tbarsmpl/*.txt
samples/tbarsmpl/*.xbm
samples/tbarsmpl/bitmaps/*.xbm
samples/tbarsmpl/*.ico
samples/tbarsmpl/*.bmp
samples/tbarsmpl/*.rc
samples/tbarsmpl/bitmaps/*.bmp
samples/tbar95/*.cpp
samples/tbar95/*.h
samples/tbar95/*.def
samples/tbar95/makefile.*
samples/tbar95/*.txt
samples/tbar95/*.xbm
samples/tbar95/bitmaps/*.xbm
samples/tbar95/*.ico
samples/tbar95/*.bmp
samples/tbar95/*.rc
samples/tbar95/bitmaps/*.bmp
samples/tbarmsw/*.cpp
samples/tbarmsw/*.h
samples/tbarmsw/*.def
samples/tbarmsw/makefile.*
samples/tbarmsw/*.txt
samples/tbarmsw/*.xbm
samples/tbarmsw/bitmaps/*.xbm
samples/tbarmsw/*.ico
samples/tbarmsw/*.bmp
samples/tbarmsw/*.rc
samples/tbarmsw/bitmaps/*.bmp
samples/docview/*.h
samples/docview/*.cpp
samples/docview/*.def
samples/docview/*.rc
samples/docview/makefile*
samples/docview/makefile.*
samples/docview/*.xbm
samples/docview/*.xpm
samples/docview/*.txt
samples/docview/*.ico
samples/docview/*.bmp
samples/docvwmdi/*.h
samples/docvwmdi/*.cpp
samples/docvwmdi/*.def
samples/docvwmdi/*.rc
samples/docvwmdi/makefile*
samples/docvwmdi/*.xbm
samples/docvwmdi/*.xpm
samples/docvwmdi/*.txt
samples/docvwmdi/*.ico
samples/docvwmdi/*.bmp
samples/minifram/*.h
samples/minifram/*.cpp
samples/minifram/*.def
samples/minifram/*.rc
samples/minifram/makefile*
samples/minifram/*.xbm
samples/minifram/*.xpm
samples/minifram/*.txt
samples/minifram/*.ico
samples/minifram/*.bmp
samples/minifram/bitmaps/*.bmp
samples/minifram/bitmaps/*.xpm
samples/memcheck/*.h
samples/memcheck/*.cpp
samples/memcheck/*.def
samples/memcheck/*.rc
samples/memcheck/makefile*
samples/memcheck/makefile.*
samples/memcheck/*.xbm
samples/memcheck/*.xpm
samples/memcheck/*.txt
samples/memcheck/*.ico
samples/memcheck/*.bmp
@@ -460,22 +377,21 @@ samples/odbc/*.h
samples/odbc/*.cpp
samples/odbc/*.def
samples/odbc/*.rc
samples/odbc/makefile*
samples/odbc/makefile.*
samples/odbc/*.inf
samples/odbc/*.xbm
samples/odbc/*.xpm
samples/odbc/*.ico
samples/odbc/*.bmp
samples/odbc/*.dbf
samples/odbc/*.cdx
samples/odbc/odbc32.lib
samples/dialogs/*.h
samples/dialogs/*.cpp
samples/dialogs/*.def
samples/dialogs/*.rc
samples/dialogs/makefile*
samples/dialogs/makefile.*
samples/dialogs/*.xbm
samples/dialogs/*.xpm
samples/dialogs/*.txt
samples/dialogs/*.bmp
samples/dialogs/*.ico
@@ -486,9 +402,8 @@ samples/wxpoem/*.def
samples/wxpoem/*.rc
samples/wxpoem/*.inf
samples/wxpoem/*.txt
samples/wxpoem/makefile*
samples/wxpoem/makefile.*
samples/wxpoem/*.xbm
samples/wxpoem/*.xpm
samples/wxpoem/*.ico
samples/wxpoem/*.bmp
samples/wxpoem/*.dat
@@ -500,9 +415,8 @@ samples/pressup/*.def
samples/pressup/*.rc
samples/pressup/*.inf
samples/pressup/*.txt
samples/pressup/makefile*
samples/pressup/makefile.*
samples/pressup/*.xbm
samples/pressup/*.xpm
samples/pressup/*.ico
samples/pressup/*.bmp
@@ -512,9 +426,8 @@ samples/validate/*.def
samples/validate/*.rc
samples/validate/*.inf
samples/validate/*.txt
samples/validate/makefile*
samples/validate/makefile.*
samples/validate/*.xbm
samples/validate/*.xpm
samples/validate/*.ico
samples/validate/*.bmp
@@ -524,9 +437,8 @@ samples/events/*.def
samples/events/*.rc
samples/events/*.inf
samples/events/*.txt
samples/events/makefile*
samples/events/makefile.*
samples/events/*.xbm
samples/events/*.xpm
samples/events/*.ico
samples/events/*.bmp
@@ -535,11 +447,9 @@ samples/treectrl/*.h
samples/treectrl/*.def
samples/treectrl/*.rc
samples/treectrl/*.txt
samples/treectrl/makefile*
samples/treectrl/makefile.*
samples/treectrl/*.xbm
samples/treectrl/*.xpm
samples/treectrl/bitmaps/*.xbm
samples/treectrl/bitmaps/*.xpm
samples/treectrl/*.ico
samples/treectrl/*.bmp
samples/treectrl/bitmaps/*.bmp
@@ -550,11 +460,9 @@ samples/listctrl/*.h
samples/listctrl/*.def
samples/listctrl/*.rc
samples/listctrl/*.txt
samples/listctrl/makefile*
samples/listctrl/makefile.*
samples/listctrl/*.xbm
samples/listctrl/*.xpm
samples/listctrl/bitmaps/*.xbm
samples/listctrl/bitmaps/*.xpm
samples/listctrl/*.ico
samples/listctrl/*.bmp
samples/listctrl/bitmaps/*.bmp
@@ -565,9 +473,8 @@ samples/splitter/*.h
samples/splitter/*.def
samples/splitter/*.rc
samples/splitter/*.txt
samples/splitter/makefile*
samples/splitter/makefile.*
samples/splitter/*.xbm
samples/splitter/*.xpm
samples/splitter/*.ico
samples/splitter/*.bmp
@@ -576,9 +483,8 @@ samples/grid/*.h
samples/grid/*.def
samples/grid/*.rc
samples/grid/*.txt
samples/grid/makefile*
samples/grid/makefile.*
samples/grid/*.xbm
samples/grid/*.xpm
samples/grid/*.ico
samples/grid/*.bmp
@@ -587,286 +493,48 @@ samples/internat/*.h
samples/internat/*.def
samples/internat/*.rc
samples/internat/*.txt
samples/internat/makefile*
samples/internat/makefile.*
samples/internat/*.xbm
samples/internat/*.xpm
samples/internat/*.po
samples/internat/*.ico
samples/internat/*.bmp
samples/internat/*.mo
samples/internat/fr/*.mo
samples/internat/fr/*.po
samples/checklst/*.cpp
samples/checklst/*.h
samples/checklst/*.def
samples/checklst/*.rc
samples/checklst/*.txt
samples/checklst/makefile*
samples/checklst/makefile.*
samples/checklst/*.xbm
samples/checklst/*.xpm
samples/checklst/*.ico
samples/checklst/*.bmp
samples/dnd/*.cpp
samples/dnd/*.h
samples/dnd/makefile*
samples/dnd/makefile.*
samples/dnd/*.rc
samples/dnd/*.def
samples/dnd/*.bmp
samples/dnd/*.xbm
samples/dnd/*.xpm
samples/dnd/*.ico
samples/dnd/*.txt
samples/tab/*.cpp
samples/tab/*.h
samples/tab/makefile*
samples/tab/makefile.*
samples/tab/*.rc
samples/tab/*.def
samples/tab/*.bmp
samples/tab/*.xbm
samples/tab/*.xpm
samples/tab/*.ico
samples/tab/*.txt
samples/notebook/*.cpp
samples/notebook/*.h
samples/notebook/makefile*
samples/notebook/*.rc
samples/notebook/*.def
samples/notebook/*.bmp
samples/notebook/*.xbm
samples/notebook/*.xpm
samples/notebook/*.ico
samples/notebook/*.txt
samples/png/*.cpp
samples/png/*.h
samples/png/makefile*
samples/png/makefile.*
samples/png/*.rc
samples/png/*.def
samples/png/*.bmp
samples/png/*.xpm
samples/png/*.xbm
samples/png/*.ico
samples/png/*.txt
samples/png/*.png
samples/image/*.cpp
samples/image/*.h
samples/image/makefile*
samples/image/*.rc
samples/image/*.def
samples/image/*.bmp
samples/image/*.xpm
samples/image/*.xbm
samples/image/*.png
samples/image/*.ico
samples/image/*.txt
samples/thread/*.cpp
samples/thread/*.h
samples/thread/makefile*
samples/thread/*.rc
samples/thread/*.def
samples/thread/*.bmp
samples/thread/*.xpm
samples/thread/*.xbm
samples/thread/*.png
samples/thread/*.ico
samples/thread/*.txt
samples/forty/*.cpp
samples/forty/*.h
samples/forty/makefile*
samples/forty/*.rc
samples/forty/*.def
samples/forty/*.bmp
samples/forty/*.xpm
samples/forty/*.xbm
samples/forty/*.png
samples/forty/*.ico
samples/forty/*.txt
samples/dde/*.cpp
samples/dde/*.h
samples/dde/makefile*
samples/dde/client.vc
samples/dde/server.vc
samples/dde/client.wat
samples/dde/server.wat
samples/dde/client.b32
samples/dde/server.b32
samples/dde/client.bcc
samples/dde/server.bcc
samples/dde/client.dos
samples/dde/server.dos
samples/dde/*.rc
samples/dde/*.def
samples/dde/*.bmp
samples/dde/*.xpm
samples/dde/*.xbm
samples/dde/*.png
samples/dde/*.ico
samples/dde/*.txt
samples/scroll/*.cpp
samples/scroll/*.h
samples/scroll/makefile*
samples/scroll/*.rc
samples/scroll/*.def
samples/scroll/*.bmp
samples/scroll/*.xpm
samples/scroll/*.xbm
samples/scroll/*.png
samples/scroll/*.ico
samples/scroll/*.txt
samples/caret/*.cpp
samples/caret/*.h
samples/caret/makefile*
samples/caret/*.rc
samples/caret/*.def
samples/caret/*.bmp
samples/caret/*.xpm
samples/caret/*.xbm
samples/caret/*.png
samples/caret/*.ico
samples/caret/*.txt
samples/drawing/*.cpp
samples/drawing/*.h
samples/drawing/makefile*
samples/drawing/*.rc
samples/drawing/*.def
samples/drawing/*.bmp
samples/drawing/*.xpm
samples/drawing/*.xbm
samples/drawing/*.png
samples/drawing/*.ico
samples/drawing/*.txt
samples/html/makefile*
samples/html/*.txt
samples/html/about/*.cpp
samples/html/about/*.h
samples/html/about/makefile*
samples/html/about/*.rc
samples/html/about/*.def
samples/html/about/*.bmp
samples/html/about/*.xpm
samples/html/about/*.xbm
samples/html/about/*.png
samples/html/about/*.ico
samples/html/about/*.txt
samples/html/about/data/*.htm
samples/html/about/data/*.png
samples/html/help/*.cpp
samples/html/help/*.h
samples/html/help/makefile*
samples/html/help/*.rc
samples/html/help/*.def
samples/html/help/*.bmp
samples/html/help/*.xpm
samples/html/help/*.xbm
samples/html/help/*.png
samples/html/help/*.ico
samples/html/help/*.txt
samples/html/help/helpfiles/*.htm
samples/html/help/helpfiles/*.hhc
samples/html/help/helpfiles/*.hhk
samples/html/help/helpfiles/*.hhp
samples/html/printing/*.cpp
samples/html/printing/*.h
samples/html/printing/makefile*
samples/html/printing/*.rc
samples/html/printing/*.def
samples/html/printing/*.bmp
samples/html/printing/*.xpm
samples/html/printing/*.xbm
samples/html/printing/*.png
samples/html/printing/*.ico
samples/html/printing/*.htm
samples/html/test/*.cpp
samples/html/test/*.h
samples/html/test/makefile*
samples/html/test/*.rc
samples/html/test/*.def
samples/html/test/*.bmp
samples/html/test/*.xpm
samples/html/test/*.xbm
samples/html/test/*.png
samples/html/test/*.ico
samples/html/test/*.htm
samples/html/test/*.html
samples/html/virtual/*.cpp
samples/html/virtual/*.h
samples/html/virtual/makefile*
samples/html/virtual/*.rc
samples/html/virtual/*.def
samples/html/virtual/*.bmp
samples/html/virtual/*.xpm
samples/html/virtual/*.xbm
samples/html/virtual/*.png
samples/html/virtual/*.ico
samples/html/virtual/*.htm
samples/html/virtual/*.html
samples/html/widget/*.cpp
samples/html/widget/*.h
samples/html/widget/makefile*
samples/html/widget/*.rc
samples/html/widget/*.def
samples/html/widget/*.bmp
samples/html/widget/*.xpm
samples/html/widget/*.xbm
samples/html/widget/*.png
samples/html/widget/*.ico
samples/html/widget/*.htm
samples/html/widget/*.html
samples/html/zip/*.cpp
samples/html/zip/*.h
samples/html/zip/makefile*
samples/html/zip/*.rc
samples/html/zip/*.def
samples/html/zip/*.bmp
samples/html/zip/*.xpm
samples/html/zip/*.xbm
samples/html/zip/*.png
samples/html/zip/*.ico
samples/html/zip/*.htm
samples/html/zip/*.html
samples/richedit/*.cpp
samples/richedit/*.h
samples/richedit/makefile*
samples/richedit/*.rc
samples/richedit/*.def
samples/richedit/*.bmp
samples/richedit/*.xpm
samples/richedit/*.xbm
samples/richedit/*.png
samples/richedit/*.ico
samples/richedit/*.txt
samples/richedit/TODO
samples/richedit/README
samples/text/*.cpp
samples/text/*.h
samples/text/makefile*
samples/text/*.rc
samples/text/*.def
samples/text/*.bmp
samples/text/*.xpm
samples/text/*.xbm
samples/text/*.png
samples/text/*.ico
samples/text/*.txt

View File

@@ -1,43 +0,0 @@
utils/glcanvas/docs/*.*
utils/glcanvas/win/*.cpp
utils/glcanvas/win/*.h
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
utils/glcanvas/samples/isosurf/*.rc
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
utils/glcanvas/samples/penguin/*.h
utils/glcanvas/samples/penguin/*.rc
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

View File

@@ -1,87 +0,0 @@
distrib/gtk/copy_src
distrib/gtk/README.txt
distrib/gtk/Setup
docs/gtk/*.html
docs/gtk/*.txt
docs/gtk/COPYING.LIB
docs/gtk/makewxgtk
include/wx/gtk/*.h
include/install-sh
include/wx/install-sh
src/Makefile
src/Makefile.in
src/gtk.inc
src/make.env
src/makelib.env
src/makeprog.env
src/gtk/*.cpp
src/gtk/*.c
src/gtk/*.inc
src/gtk/*.xbm
src/iodbc/*.c
src/iodbc/*.ci
src/iodbc/*.h
src/iodbc/IAFA-PACKAGE
src/iodbc/README
src/iodbc/*.exp
src/iodbc/*.mk
src/iodbc/autoconfig
src/iodbc/build
src/iodbc/Changes.log
src/iodbc/postgres/*.h
setup/*.in
setup/*.hin
setup/general/createall
setup/general/jointar
setup/general/makeapp
setup/general/makedirs
setup/general/makedoc
setup/general/mygrep
setup/general/needed
setup/rules/bin
setup/rules/bin2
setup/rules/doc
setup/rules/gbin
setup/rules/gbin2
setup/rules/glib
setup/rules/glibbin
setup/rules/glibgbin
setup/rules/gslib
setup/rules/lib
setup/rules/libbin
setup/rules/libgbin
setup/rules/generic/bin1
setup/rules/generic/bin1gen
setup/rules/generic/bin2
setup/rules/generic/bin2gen
setup/rules/generic/depend
setup/rules/generic/globals
setup/rules/generic/lib
setup/rules/generic/needed
setup/rules/generic/obj
setup/rules/generic/slib
setup/rules/generic/sobj
setup/shared/sharedAIX
setup/shared/sharedBsd
setup/shared/sharedDgux
setup/shared/sharedHpux
setup/shared/sharedIrix
setup/shared/sharedLinux
setup/shared/sharedOSF
setup/shared/sharedSolaris2
setup/shared/sharedSunos4
setup/shared/sharedSysV
misc/afm/*.afm
misc/gs_afm/*.afm

View File

@@ -1,172 +0,0 @@
samples/bombs/Makefile.in
samples/bombs/Makefile
samples/checklst/Makefile.in
samples/checklst/Makefile
samples/config/Makefile.in
samples/config/Makefile
samples/controls/Makefile.in
samples/controls/Makefile
samples/db/Makefile.in
samples/db/Makefile
samples/dde/Makefile.in
samples/dde/Makefile
samples/dialogs/Makefile.in
samples/dialogs/Makefile
samples/dnd/Makefile.in
samples/dnd/Makefile
samples/docview/Makefile.in
samples/docview/Makefile
samples/docvwmdi/Makefile.in
samples/docvwmdi/Makefile
samples/dynamic/Makefile.in
samples/dynamic/Makefile
samples/forty/Makefile.in
samples/forty/Makefile
samples/fractal/Makefile.in
samples/fractal/Makefile
samples/grid/Makefile.in
samples/grid/Makefile
samples/help/Makefile.in
samples/help/Makefile
samples/image/Makefile.in
samples/image/Makefile
samples/internat/Makefile.in
samples/internat/Makefile
samples/layout/Makefile.in
samples/layout/Makefile
samples/listctrl/Makefile.in
samples/listctrl/Makefile
samples/mdi/Makefile.in
samples/mdi/Makefile
samples/memcheck/Makefile.in
samples/memcheck/Makefile
samples/minifram/Makefile.in
samples/minifram/Makefile
samples/minimal/Makefile.in
samples/minimal/Makefile
samples/notebook/Makefile.in
samples/notebook/Makefile
samples/png/Makefile.in
samples/png/Makefile
samples/printing/Makefile.in
samples/printing/Makefile
samples/proplist/Makefile.in
samples/proplist/Makefile
samples/resource/Makefile.in
samples/resource/Makefile
samples/sashtest/Makefile.in
samples/sashtest/Makefile
samples/splitter/Makefile.in
samples/splitter/Makefile
samples/tab/Makefile.in
samples/tab/Makefile
samples/thread/Makefile.in
samples/thread/Makefile
samples/toolbar/Makefile.in
samples/toolbar/Makefile
samples/treectrl/Makefile.in
samples/treectrl/Makefile
samples/typetest/Makefile.in
samples/typetest/Makefile
samples/validate/Makefile.in
samples/validate/Makefile
samples/wxpoem/Makefile.in
samples/wxpoem/Makefile
samples/wxsocket/Makefile.in
samples/wxsocket/Makefile
samples/scroll/Makefile.in
samples/scroll/Makefile
samples/caret/Makefile.in
samples/caret/Makefile
samples/drawing/Makefile.in
samples/drawing/Makefile
samples/richedit/Makefile.in
samples/richedit/Makefile
samples/html/Makefile.in
samples/html/Makefile
src/Makefile.in
src/Makefile
utils/ogl/samples/ogledit/Makefile.in
utils/ogl/samples/ogledit/Makefile
utils/ogl/samples/studio/Makefile.in
utils/ogl/samples/studio/Makefile
utils/ogl/src/Makefile.in
utils/ogl/src/Makefile
Makefile.am
include/Makefile.am
include/wx/Makefile.am
include/wx/generic/Makefile.am
include/wx/gtk/Makefile.am
include/wx/html/Makefile.am
include/wx/motif/Makefile.am
include/wx/msw/Makefile.am
include/wx/msw/ctl3d/Makefile.am
include/wx/msw/gnuwin32/Makefile.am
include/wx/protocol/Makefile.am
include/wx/unix/Makefile.am
misc/Makefile.am
misc/afm/Makefile.am
misc/gs_afm/Makefile.am
samples/Makefile.am
samples/bombs/Makefile.am
samples/caret/Makefile.am
samples/checklst/Makefile.am
samples/config/Makefile.am
samples/controls/Makefile.am
samples/db/Makefile.am
samples/dialogs/Makefile.am
samples/dnd/Makefile.am
samples/docview/Makefile.am
samples/docvwmdi/Makefile.am
samples/drawing/Makefile.am
samples/dynamic/Makefile.am
samples/forty/Makefile.am
samples/fractal/Makefile.am
samples/grid/Makefile.am
samples/help/Makefile.am
samples/html/Makefile.am
samples/html/about/Makefile.am
samples/html/help/Makefile.am
samples/html/printing/Makefile.am
samples/html/test/Makefile.am
samples/html/virtual/Makefile.am
samples/html/widget/Makefile.am
samples/html/zip/Makefile.am
samples/image/Makefile.am
samples/internat/Makefile.am
samples/joytest/Makefile.am
samples/layout/Makefile.am
samples/listctrl/Makefile.am
samples/mdi/Makefile.am
samples/memcheck/Makefile.am
samples/mfc/Makefile.am
samples/minifram/Makefile.am
samples/minimal/Makefile.am
samples/nativdlg/Makefile.am
samples/notebook/Makefile.am
samples/oleauto/Makefile.am
samples/ownerdrw/Makefile.am
samples/png/Makefile.am
samples/printing/Makefile.am
samples/proplist/Makefile.am
samples/regtest/Makefile.am
samples/resource/Makefile.am
samples/richedit/Makefile.am
samples/sashtest/Makefile.am
samples/scroll/Makefile.am
samples/splitter/Makefile.am
samples/tab/Makefile.am
samples/taskbar/Makefile.am
samples/text/Makefile.am
samples/thread/Makefile.am
samples/toolbar/Makefile.am
samples/treectrl/Makefile.am
samples/typetest/Makefile.am
samples/validate/Makefile.am
samples/wxpoem/Makefile.am
samples/wxsocket/Makefile.am
src/Makefile.am
src/gtk/Makefile.am
src/motif/Makefile.am
src/msw/Makefile.am

View File

@@ -1,106 +0,0 @@
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/Makefile.in
src/motif.inc
src/motif/*.cpp
src/motif/*.c
src/motif/*.h
src/motif/makefile*
src/motif/*.inc
src/motif/*.xbm
src/motif/xmcombo/*.c
src/motif/xmcombo/*.h
src/motif/xmcombo/*.doc
src/motif/xmcombo/*.man
src/motif/xmcombo/*.txt
src/iodbc/*.c
src/iodbc/*.ci
src/iodbc/*.h
src/iodbc/IAFA-PACKAGE
src/iodbc/README
src/iodbc/*.exp
src/iodbc/*.mk
src/iodbc/autoconfig
src/iodbc/build
src/iodbc/Changes.log
src/iodbc/postgres/*.h
include/wx/motif/*.h
include/install-sh
include/wx/install-sh
docs/motif/*.txt
docs/motif/makewxmotif
docs/motif2/*.txt
docs/motif2/COPYING.LIB
lib/dummy
misc/afm/*.afm
misc/gs_afm/*.afm
setup/*.in
setup/*.hin
setup/general/createall
setup/general/jointar
setup/general/makeapp
setup/general/makedirs
setup/general/makedoc
setup/general/mygrep
setup/general/needed
setup/rules/bin
setup/rules/bin2
setup/rules/doc
setup/rules/gbin
setup/rules/gbin2
setup/rules/glib
setup/rules/glibbin
setup/rules/glibgbin
setup/rules/gslib
setup/rules/lib
setup/rules/libbin
setup/rules/libgbin
setup/rules/generic/bin1
setup/rules/generic/bin1gen
setup/rules/generic/bin2
setup/rules/generic/bin2gen
setup/rules/generic/depend
setup/rules/generic/globals
setup/rules/generic/lib
setup/rules/generic/needed
setup/rules/generic/obj
setup/rules/generic/slib
setup/rules/generic/sobj
setup/shared/sharedAIX
setup/shared/sharedBsd
setup/shared/sharedDgux
setup/shared/sharedHpux
setup/shared/sharedIrix
setup/shared/sharedLinux
setup/shared/sharedOSF
setup/shared/sharedSolaris2
setup/shared/sharedSunos4
setup/shared/sharedSysV

View File

@@ -1,45 +1,16 @@
docs/licence.txt
docs/msw/*.txt
docs/wine/*.txt
docs/wine/COPYING.LIB
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tmake/*.t
tools/gettext/xgettext.exe
tools/gettext/msgfmt.exe
tools/gettext/msgunfmt.exe
src/makeb32.env
src/makeprog.b32
src/makelib.b32
src/makebcc.env
src/makeprog.bcc
src/makelib.bcc
src/makemsc.env
src/makeprog.msc
src/makelib.msc
src/makemsw.env
src/makewat.env
src/makeprog.wat
src/makelib.wat
src/makesc.env
src/makevc.env
src/makeprog.vc
src/makelib.vc
src/makeg95.env
src/makeprog.g95
src/makelib.g95
src/makesl.env
src/makeprog.sl
src/makelib.sl
src/salford.lnk
src/maketwin.env
src/makeprog.twn
src/makelib.twn
src/makem95.env
src/ntwxwin.mak
src/makefile.bcc
src/makefile.dos
src/makefile.vc
src/makefile.nt
src/*.bat
src/common/dosyacc.c
@@ -51,7 +22,6 @@ src/msw/makefile.*
src/msw/*.lst
src/msw/*.def
src/msw/*.inc
src/msw/winestub.c
src/msw/ctl3d/*.*
src/msw/ctl3d/msvc/*.*
@@ -61,15 +31,6 @@ src/msw/ctl3d/borland/*.*
src/msw/ole/*.cpp
src/msw/*.prj
src/xpm/*.c
src/xpm/*.h
src/xpm/makefile*
src/xpm/changes
src/xpm/readme
src/xpm/readme.msw
src/xpm/copyrigh.t
src/xpm/files
include/wx/msw/*.h
include/wx/msw/*.rc
include/wx/msw/ctl3d/*.h
@@ -137,15 +98,6 @@ samples/joytest/*.bmp
samples/joytest/*.wav
samples/joytest/*.ico
samples/oleauto/*.h
samples/oleauto/*.cpp
samples/oleauto/*.def
samples/oleauto/*.rc
samples/oleauto/makefile.*
samples/oleauto/*.txt
samples/oleauto/*.bmp
samples/oleauto/*.ico
utils/nplugin/make*.*
utils/nplugin/src/*.cpp
utils/nplugin/src/*.h

View File

@@ -1,72 +0,0 @@
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/make*.*
utils/ogl/src/Makefile
utils/ogl/src/*.txt
utils/ogl/src/*.ico
utils/ogl/src/*.bmp
utils/ogl/samples/ogledit/*.cpp
utils/ogl/samples/ogledit/*.h
utils/ogl/samples/ogledit/*.rc
utils/ogl/samples/ogledit/*.def
utils/ogl/samples/ogledit/*.xbm
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
utils/ogl/samples/ogledit/*.xpm
utils/ogl/samples/ogledit/bitmaps/*.bmp
utils/ogl/samples/ogledit/bitmaps/*.gif
utils/ogl/samples/ogledit/bitmaps/*.xbm
utils/ogl/samples/ogledit/bitmaps/*.xpm
utils/ogl/samples/studio/*.cpp
utils/ogl/samples/studio/*.h
utils/ogl/samples/studio/*.rc
utils/ogl/samples/studio/*.def
utils/ogl/samples/studio/*.xbm
utils/ogl/samples/studio/make*.*
utils/ogl/samples/studio/Makefile
utils/ogl/samples/studio/*.txt
utils/ogl/samples/studio/*.ico
utils/ogl/samples/studio/*.bmp
utils/ogl/samples/studio/*.xpm
utils/ogl/samples/studio/*.wxr
utils/ogl/samples/studio/bitmaps/*.bmp
utils/ogl/samples/studio/bitmaps/*.gif
utils/ogl/samples/studio/bitmaps/*.xbm
utils/ogl/samples/studio/bitmaps/*.xpm
utils/ogl/samples/studio/manual/*.tex
utils/ogl/samples/studio/manual/*.ini
utils/ogl/samples/studio/manual/*.gif
utils/ogl/samples/studio/manual/*.bmp
utils/ogl/samples/studio/manual/*.htm
utils/ogl/samples/studio/manual/*.hlp
utils/ogl/samples/studio/manual/*.cnt
utils/ogl/samples/studio/manual/Makefile
utils/ogl/distrib/*.rsp
utils/ogl/distrib/*.bat
utils/ogl/docs/*.txt
utils/ogl/docs/*.tex
utils/ogl/docs/*.ini
utils/ogl/docs/*.hpj
utils/ogl/docs/*.ps
utils/ogl/docs/*.eps
utils/ogl/docs/*.bmp
utils/ogl/docs/*.gif
docs/html/ogl/*.*
docs/winhelp/ogl.hlp
docs/winhelp/ogl.cnt
docs/pdf/ogl.pdf

View File

@@ -1,15 +0,0 @@
src/stubs/*.cpp
src/stubs/*.h
src/stubs/makefile*
src/stubs/*.inc
src/make.env
src/makeprog.env
src/makelib.env
include/wx/stubs/*.h
include/wx/stubs/*.rc
lib/dummy

View File

@@ -1,108 +0,0 @@
#!/bin/sh
# tardist: make up a tar.gz distribution of wxWindows 2
# Supply a source (e.g. ~/wx2) and destination (e.g. ~/wx2/deliver)
init=""
if [ $1 = "" ]
then
exit
fi
if [ $2 = "" ]
then
exit
fi
echo About to archive wxWindows:
echo From $1
echo To $2
echo CTRL-C if this is not correct.
read dummy
cd $1
echo Removing backup files...
rm *~ */*~ */*/*~ */*/*/*~ */*/*/*/*~
rm -f $2/wx200*.tgz
rm -f $2/tex2rtf2.tgz
rm -f $2/ogl3.tgz
rm -f $2/treedraw.tar.gz
rm -f $2/glcanvas.tar.gz
rm -f $2/jpeg.tgz
echo Tarring...
### Generic
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxgen.txt
tar cvf $2/wx200gen.tar -T /tmp/wxgen.txt
gzip $2/wx200gen.tar
mv $2/wx200gen.tar.gz $2/wx200gen.tgz
### wxGTK
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/gtk.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxgtk.txt
tar cvf $2/wx200gtk.tar -T /tmp/wxgtk.txt
gzip $2/wx200gtk.tar
mv $2/wx200gtk.tar.gz $2/wx200gtk.tgz
### wxMotif
ls `cat $1/distrib/msw/generic.rsp $1/distrib/msw/motif.rsp $1/distrib/msw/makefile.rsp` > /tmp/wxmotif.txt
tar cvf $2/wx200mot.tar -T /tmp/wxmotif.txt
gzip $2/wx200mot.tar
mv $2/wx200mot.tar.gz $2/wx200mot.tgz
### Doc sources
ls `cat $1/distrib/msw/docsrc.rsp` > /tmp/docsrc.txt
tar cvf $2/wx200doc.tar -T /tmp/docsrc.txt
gzip $2/wx200doc.tar
mv $2/wx200doc.tar.gz $2/wx200doc.tgz
### HTML docs
ls `cat $1/distrib/msw/wx_html.rsp` > /tmp/html.txt
tar cvf $2/wx200htm.tar -T /tmp/html.txt
gzip $2/wx200htm.tar
mv $2/wx200htm.tar.gz $2/wx200htm.tgz
### PDF docs
ls `cat $1/distrib/msw/wx_pdf.rsp` > /tmp/pdf.txt
tar cvf $2/wx200pdf.tar -T /tmp/pdf.txt
gzip $2/wx200pdf.tar
mv $2/wx200pdf.tar.gz $2/wx200pdf.tgz
### Stubs files
ls `cat $1/distrib/msw/stubs.rsp` > /tmp/stubs.txt
tar cvf $2/wx200stubs.tar -T /tmp/stubs.txt
gzip $2/wx200stubs.tar
mv $2/wx200stubs.tar.gz $2/wx200stubs.tgz
### Tex2RTF
ls `cat $1/distrib/msw/tex2rtf.rsp` > /tmp/tex2rtf.txt
tar cvf $2/tex2rtf2.tar -T /tmp/tex2rtf.txt
gzip $2/tex2rtf2.tar
mv $2/tex2rtf2.tar.gz $2/tex2rtf2.tgz
### OGL
ls `cat $1/distrib/msw/ogl.rsp` > /tmp/ogl.txt
tar cvf $2/ogl3.tar -T /tmp/ogl.txt
gzip $2/ogl3.tar
mv $2/ogl3.tar.gz $2/ogl3.tgz
### wxGLCanvas
ls `cat $1/distrib/msw/glcanvas.rsp` > /tmp/glcanvas.txt
tar cvf $2/glcanvas.tar -T /tmp/glcanvas.txt
gzip $2/glcanvas.tar
mv $2/glcanvas.tar.gz $2/glcanvas.tgz
### wxTreeLayout
ls `cat $1/distrib/msw/wxtree.rsp` > /tmp/wxtree.txt
tar cvf $2/treedraw.tar -T /tmp/wxtree.txt
gzip $2/treedraw.tar
mv $2/treedraw.tar.gz $2/treedraw.tgz
### JPEG
ls `cat $1/distrib/msw/jpeg.rsp` > /tmp/jpeg.txt
tar cvf $2/jpeg.tar -T /tmp/jpeg.txt
gzip $2/jpeg.tar
mv $2/jpeg.tar.gz $2/jpeg.tgz
echo Done!

View File

@@ -1,27 +0,0 @@
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
utils/tex2rtf/src/*.ini
utils/tex2rtf/lib/dummy
utils/tex2rtf/src/*.bmp
utils/tex2rtf/src/*.ico
utils/tex2rtf/src/*.def
utils/tex2rtf/src/*.rc
utils/tex2rtf/docs/*.tex
utils/tex2rtf/docs/*.sty
utils/tex2rtf/docs/*.bib
utils/tex2rtf/docs/*.hpj
utils/tex2rtf/docs/*.ini
utils/tex2rtf/docs/*.txt
utils/tex2rtf/docs/*.cnt
utils/tex2rtf/docs/*.eps
utils/tex2rtf/docs/*.bmp
utils/tex2rtf/docs/*.gif
utils/tex2rtf/docs/*.wmf
utils/tex2rtf/docs/*.shg

View File

@@ -1,341 +0,0 @@
#!#############################################################################
#! File: b32.t
#! Purpose: tmake template file from which makefile.b32 is generated by running
#! tmake -t b32 wxwin.pro
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
my $tag = "";
next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
}
foreach $file (sort keys %wxCommon) {
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$obj = "\$(MSWDIR)\\" . $file . " ";
$project{"WXCOMMONOBJS"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
}
foreach $file (sort keys %wxMSW) {
next if $wxMSW{$file} =~ /\b16\b/;
if ( $file =~ /^automtn/ ) {
#! comment in old makefile.b32 seems to imply that this file can't
#! be compiled with Borland (leads to crash in oleauto sample)
next;
}
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/obj/;
my $obj = "\$(MSWDIR)\\" . $file . " ";
$project{"WXMSWOBJS"} .= $obj;
if ( $isOleObj ) {
#! remember that this file is in ole subdir
$project{"WXOLEOBJS"} .= $obj;
}
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
#
# File: makefile.b32
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright:
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for MS Windows,
# and Borland C++ (32-bit).
!if "$(BCCDIR)" == ""
!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
!endif
!if "$(WXWIN)" == ""
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
!endif
WXDIR = $(WXWIN)
# Set all these to 1 if you want to build a dynamic library
!if "$(DLL)" == "1"
WXMAKINGDLL=1
WXBUILDDLL=1
!endif
!include $(WXDIR)\src\makeb32.env
# Please set these according to the settings in wx_setup.h, so we can include
# the appropriate libraries in wx.lib
USE_CTL3D=0
USE_XPM_IN_MSW=0
PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
!if "$(USE_CTL3D)" == "1"
#Use WIN32S/WIN95 32 bit version ctl3d32.dll under win95 (Andre Beltman)
PERIPH_LIBS=$(WXDIR)\lib\ctl3d32.lib $(PERIPH_LIBS)
PERIPH_TARGET=ctl3d $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_ctl3d $(PERIPH_CLEAN_TARGET)
!endif
!if "$(USE_XPM_IN_MSW)" == "1"
PERIPH_LIBS=$(WXLIB)\xpm.lib $(PERIPH_LIBS)
PERIPH_TARGET=xpm $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
!endif
#PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\jpeg.lib $(PERIPH_LIBS)
PERIPH_LIBS=
PERIPH_TARGET=zlib png jpeg $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg $(PERIPH_CLEAN_TARGET)
!if "$(DLL)" == "0"
DUMMY=dummy
!else
DUMMY=dummydll
LIBS= cw32 import32 ole2w32
!endif
LIBTARGET=$(WXLIB)
GENDIR=..\generic
COMMDIR=..\common
OLEDIR=.\ole
MSWDIR=.
DOCDIR = $(WXDIR)\docs
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
# Not needed:
# $(MSWDIR)\colrdlgg.obj \
# $(MSWDIR)\fontdlgg.obj \
# $(MSWDIR)\helpxlp.obj \
# $(MSWDIR)\msgdlgg.obj \
# $(MSWDIR)\printps.obj \
# $(MSWDIR)\prntdlgg.obj \
# $(MSWDIR)\listctrl.obj \
# $(MSWDIR)\notebook.obj \
# $(MSWDIR)\treectrl.obj
COMMONOBJS = \
$(MSWDIR)\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
default: wx
wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
all: all_libs all_execs
!if "$(DLL)" == "0"
$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
-erase $(LIBTARGET)
tlib $(LIBTARGET) /P1024 @&&!
+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
!
!else
$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
-erase $(LIBTARGET)
-erase $(WXLIBDIR)\wx.dll
tlink32 $(LINK_FLAGS) /v @&&!
c0d32.obj $(OBJECTS)
$(WXLIBDIR)\wx
nul
$(PERIPH_LIBS) $(LIBS)
wxb32
!
implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
!endif
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
$(MSWDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
# cl @<<
# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
# <<
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
# $(OBJECTS): $(WXDIR)\include\wx\setup.h
#${
$_ = $project{"WXMSWOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
s/obj$/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
########################################################
# Common objects (always compiled)
#${
$_ = $project{"WXCOMMONOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/MSWDIR/COMMDIR/;
s/obj$/$suffix/;
$text .= $_ . "\n\n";
}
#$}
########################################################
# Generic objects (not always compiled, depending on
# whether platforms have native implementations)
#${
$_ = $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
s/MSWDIR/GENDIR/;
s/obj$/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
all_utils:
cd $(WXDIR)\utils
make -f makefile.b32
cd $(WXDIR)\src\msw
all_samples:
cd $(WXDIR)\samples
make -f makefile.b32
cd $(WXDIR)\src\msw
all_execs:
cd $(WXDIR)\utils
make -f makefile.b32 all_execs
cd $(WXDIR)\src\msw
wxxpm: $(CFG)
cd $(WXDIR)\src\xpm
make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
cd $(WXDIR)\src\msw
clean_wxxpm: $(CFG)
cd $(WXDIR)\src\xpm
make -f makefile.b32 clean
cd $(WXDIR)\src\msw
png: $(CFG)
cd $(WXDIR)\src\png
make -f makefile.b32
cd $(WXDIR)\src\msw
clean_png:
cd $(WXDIR)\src\png
make -f makefile.b32 clean
cd $(WXDIR)\src\msw
zlib: $(CFG)
cd $(WXDIR)\src\zlib
make -f makefile.b32 lib
cd $(WXDIR)\src\msw
clean_zlib:
cd $(WXDIR)\src\zlib
make -f makefile.b32 clean
cd $(WXDIR)\src\msw
jpeg: $(CFG)
cd $(WXDIR)\src\jpeg
make -f makefile.b32
cd $(WXDIR)\src\msw
clean_jpeg:
cd $(WXDIR)\src\jpeg
make -f makefile.b32 clean
cd $(WXDIR)\src\msw
$(CFG): makefile.b32
copy &&!
-H=$(WXDIR)\src\msw\wx32.csm
-3
-d
-R-
-X
-w-par
-w-aus
-w-hid # virtual function A hides virtual function B
-WE
-tWM
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-I$(WXDIR)\include\wx\msw\gnuwin32
-L$(BCCDIR)\lib
-D__WXWIN__
-D__WXMSW__
-D__WINDOWS__
-DWIN32
$(OPT)
$(DEBUG_FLAGS)
$(WIN95FLAG)
! $(CFG)
#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
# -Oxt
clean: $(PERIPH_CLEAN_TARGET)
-erase $(LIBTARGET)
-erase *.obj
-erase *.pch
-erase *.csm
-erase *.cfg
-erase ..\common\y_tab.c
-erase ..\common\lex_yy.c
cleanall: clean
MFTYPE=b32
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,308 +0,0 @@
#!#############################################################################
#! File: bcc.t
#! Purpose: tmake template file from which makefile.bcc is generated by running
#! tmake -t bcc wxwin.pro -o makefile.bcc
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
my $tag = "";
next if $wxGeneric{$file} =~ /\b(PS|G|U)\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
}
foreach $file (sort keys %wxCommon) {
#! socket files don't compile under Win16 currently
next if $wxCommon{$file} =~ /\b(32|S)\b/;
#! needs extra files (sql*.h) so not compiled by default.
next if $file =~ /^odbc\./;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$obj = "\$(MSWDIR)\\" . $file . " ";
$project{"WXCOMMONOBJS"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
}
#! special hack for Borland in 16 bits needs this file
$project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.cpp';
foreach $file (sort keys %wxMSW) {
#! don't take files not appropriate for 16-bit Windows
next if $wxMSW{$file} =~ /\b(32|O)\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
#
# File: makefile.bcc
# Author: Julian Smart
# Created: 1993
# Updated:
# Copyright:(c) 1993, AIAI, University of Edinburgh
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for Windows 3.1
# and Borland C++ 3.1
!if "$(BCCDIR)" == ""
!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
!endif
!if "$(WXWIN)" == ""
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
!endif
!if "$(CFG)" == ""
# !error You must start compiling from wx\src, not wx\src\msw.
!endif
!ifndef DEBUG
DEBUG=0
!endif
WXDIR = $(WXWIN)
!include $(WXDIR)\src\makebcc.env
THISDIR = $(WXDIR)\src\msw
# Please set these according to the settings in wx_setup.h, so we can include
# the appropriate libraries in wx.lib
USE_CTL3D=1
USE_XPM_IN_MSW=0
PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
!if "$(USE_CTL3D)" == "1"
PERIPH_LIBS=$(BCCDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
!endif
!if "$(USE_XPM_IN_MSW)" == "1"
PERIPH_LIBS=$(WXDIR)\xpm.lib $(PERIPH_LIBS)
PERIPH_TARGET=xpm $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
!endif
# TODO: add these libraries
# PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(PERIPH_LIBS)
PERIPH_TARGET=zlib png $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_zlib clean_png $(PERIPH_CLEAN_TARGET)
CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
LIBTARGET= $(WXLIBDIR)\wx.lib
DUMMY=dummy
GENDIR=..\generic
COMMDIR=..\common
OLEDIR=.\ole
MSWDIR=.
DOCDIR = $(WXDIR)\docs
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(MSWDIR)\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
default: wx
wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(PERIPH_LIBS)
erase $(LIBTARGET)
tlib $(LIBTARGET) /P1024 @&&!
+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
!
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
$(MSWDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
# cl @<<
# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
# <<
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
# $(OBJECTS): $(WXDIR)\include\wx\setup.h
#${
$_ = $project{"WXMSWOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
s/obj/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
########################################################
# Common objects (always compiled)
#${
$_ = $project{"WXCOMMONOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/MSWDIR/COMMDIR/;
s/obj/$suffix/;
$text .= $_ . "\n\n";
}
#$}
########################################################
# Generic objects (not always compiled, depending on
# whether platforms have native implementations)
#${
$_ = $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
s/MSWDIR/GENDIR/;
s/obj/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
all_utils:
cd $(WXDIR)\utils
make -f makefile.bcc
cd $(WXDIR)\src\msw
all_samples:
cd $(WXDIR)\samples
make -f makefile.bcc
cd $(WXDIR)\src\msw
all_execs:
cd $(WXDIR)\utils
make -f makefile.bcc all_execs
cd $(WXDIR)\src\msw
all_libs:
cd $(WXDIR)\src\msw
make -f makefile.bcc ctl3d dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
wxstring wxtree mfutils # wxxpm
all_contribs:
cd $(WXDIR)\src\msw
make -f makefile.bcc ctl3d fafa wxstring itsy gauge # wxxpm
# CONTRIB
ctl3d: $(CFG)
cd $(WXDIR)\src\msw\ctl3d\borland
make -f makefile.bcc -DCFG=$(CFG)
cd $(WXDIR)\src\msw
wxxpm: $(CFG)
cd $(WXDIR)\src\xpm
make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
cd $(WXDIR)\src\msw
png: $(CFG)
cd $(WXDIR)\src\png
make -f makefile.bcc
cd $(WXDIR)\src\msw
clean_png:
cd $(WXDIR)\src\png
make -f makefile.bcc clean
cd $(WXDIR)\src\msw
zlib: $(CFG)
cd $(WXDIR)\src\zlib
make -f makefile.bcc
cd $(WXDIR)\src\msw
clean_zlib:
cd $(WXDIR)\src\zlib
make -f makefile.bcc clean
cd $(WXDIR)\src\msw
$(CFG): makefile.bcc
copy &&!
-H=$(WXDIR)\src\msw\borland.pch
-2
-P
-d
-w-hid
-w-par
-w-pia
-w-aus
-w-rch
-ml
-Od
-WE
-Fs-
-Vf
-Ff=4
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-I$(WXDIR)\include\wx\msw\gnuwin32
-L$(BCCDIR)\lib
-D__WXWIN__
-D__WXMSW__
-D__WINDOWS__
-D__WIN16__
! $(CFG)
!if "$(BOR_VER)" == "3.1"
echo -Ff=4 >>$(CFG)
!elif "$(BOR_VER)" == "4"
echo -Ff=512 >>$(CFG)
echo -dc >>$(CFG)
!else
echo -Ff=512 >>$(CFG)
echo -dc >>$(CFG)
!endif
# -O was: -Oxt
clean: $(PERIPH_CLEAN_TARGET)
erase $(LIBTARGET)
erase *.obj
erase *.pch
erase *.csm
erase *.cfg
erase ..\common\y_tab.c
erase ..\common\lex_yy.c
cleanall: clean
MFTYPE=bcc
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,260 +0,0 @@
#!#############################################################################
#! File: dos.t
#! Purpose: tmake template file from which makefile.dos is generated by running
#! tmake -t dos wxwin.pro -o makefile.dos
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
#! this file for some reason was compiled for VC++ 1.52
next unless $file =~ /^prntdlgg\./;
}
$file =~ s/cp?p?$/obj/;
$project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
}
foreach $file (sort keys %wxCommon) {
#! socket files don't compile under Win16 currently
next if $wxCommon{$file} =~ /\b(32|S)\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
}
foreach $file (sort keys %wxMSW) {
#! don't take files not appropriate for 16-bit Windows
next if $wxMSW{$file} =~ /\b(32|O)\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
#
# File: makefile.dos
# Author: Julian Smart
# Created: 1997
# Updated:
# Copyright:(c) 1997, Julian Smart
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for VC++ (16-bit)
# Arguments:
#
# FINAL=1 argument to nmake to build version with no debugging info.
#
!include <..\makemsc.env>
LIBTARGET=$(WXLIB)
DUMMYOBJ=dummy.obj
# Please set these according to the settings in wx_setup.h, so we can include
# the appropriate libraries in wx.lib
# This one overrides the others, to be consistent with the settings in wx_setup.h
MINIMAL_WXWINDOWS_SETUP=0
USE_XPM_IN_MSW=0
USE_CTL3D=1
!if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
USE_CTL3D=0
USE_XPM_IN_MSW=0
!endif
PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
# !if "$(USE_CTL3D)" == "1"
# PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS)
# !endif
!if "$(USE_XPM_IN_MSW)" == "1"
PERIPH_LIBS=$(WXDIR)\contrib\wxxpm\xpm.lib $(PERIPH_LIBS)
PERIPH_TARGET=xpm $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
!endif
# PNG and Zlib
PERIPH_TARGET=png zlib $(PERIPH_TARGET)
PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET)
GENDIR=..\generic
COMMDIR=..\common
OLEDIR=.\ole
MSWDIR=.
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
# TODO: Implement XPM and PNG targets in this makefile!
# $(OLEDIR)\xpmhand \
# $(OLEDIR)\pnghand \
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
# Normal, static library
all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib
# $(WXDIR)\lib\wx.lib: dummy.obj $(OBJECTS) $(PERIPH_LIBS)
# -erase $(LIBTARGET)
# lib /PAGESIZE:128 @<<
# $(LIBTARGET)
# y
# $(OBJECTS) $(PERIPH_LIBS)
# nul
# ;
# <<
$(WXDIR)\lib\wx1.lib: $(COMMONOBJS) $(PERIPH_LIBS)
-erase $(WXDIR)\lib\wx1.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx1.lib
y
$(COMMONOBJS) $(PERIPH_LIBS)
nul
;
<<
$(WXDIR)\lib\wx2.lib: $(GENERICOBJS)
-erase $(WXDIR)\lib\wx2.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx2.lib
y
$(GENERICOBJS)
nul
;
<<
$(WXDIR)\lib\wx3.lib: $(MSWOBJS)
-erase $(WXDIR)\lib\wx3.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx3.lib
y
$(MSWOBJS)
nul
;
<<
########################################################
# Windows-specific objects
dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
cl @<<
cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
<<
#dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
# cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
cl @<<
$(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
<<
#${
$_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
s:\\:/:;
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
"<<\n\n";
}
#$}
$(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c
cl @<<
$(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c
<<
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h
# Peripheral components
xpm:
cd $(WXDIR)\src\xpm
nmake -f makefile.dos FINAL=$(FINAL)
cd $(WXDIR)\src\msw
clean_xpm:
cd $(WXDIR)\src\xpm
nmake -f makefile.dos clean
cd $(WXDIR)\src\msw
zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.dos FINAL=$(FINAL)
cd $(WXDIR)\src\msw
clean_zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.dos clean
cd $(WXDIR)\src\msw
png:
cd $(WXDIR)\src\png
nmake -f makefile.dos FINAL=$(FINAL)
cd $(WXDIR)\src\msw
clean_png:
cd $(WXDIR)\src\png
nmake -f makefile.dos clean
cd $(WXDIR)\src\msw
clean: $(PERIPH_CLEAN_TARGET)
-erase *.obj
-erase ..\lib\*.lib
-erase *.pdb
-erase *.sbr
-erase *.pch
cd $(WXDIR)\src\generic
-erase *.pdb
-erase *.sbr
-erase *.obj
cd $(WXDIR)\src\common
-erase *.pdb
-erase *.sbr
-erase *.obj
cd $(WXDIR)\src\msw\ole
-erase *.pdb
-erase *.sbr
-erase *.obj
cd $(WXDIR)\src\msw
cleanall: clean
MFTYPE=dos
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,58 +0,0 @@
#!#############################################################################
#! File: filelist.t
#! Purpose: tmake template file containig Perl code to parse the filelist.txt
#! file - this is used by all other templates.
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
open(FILELIST, "filelist.txt") or die "Can't open filelist file: $!\n";
line: while ( defined($_ = <FILELIST>) ) {
chomp;
#! comment or blank line, skip
next line if ( $_ eq "" or /^#/ );
#! if ( $verbose ) {
#! print STDERR "Processing line: '$_'\n";
#! }
my @fields = split "\t";
if ( $#fields > 2 ) {
warn "Ignoring malformed line $_ in the filelist file.\n";
next line;
} elsif ( $#fields == 1 ) {
#! add an empty flags string
$fields[2] = "";
}
if ( $verbose ) {
print STDERR "File $fields[0]: type '$fields[1]', flags '$fields[2]'\n";
}
#! first column is filename, second is type, third is flags
if ( $fields[1] eq "C" ) {
$wxCommon{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "G" ) {
$wxGeneric{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "M" ) {
$wxMSW{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "R" ) {
$wxGTK{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "H" ) {
$wxHTML{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "U" ) {
$wxUNIX{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "I" ) {
$wxINCLUDE{$fields[0]} = $fields[2];
} else {
warn "Unknown file type $fields[1] for $fields[0], ignoring.\n";
next line;
}
}
close(FILELIST);
#$}
#! vim:sw=4:ts=4:list:et

View File

@@ -1,572 +0,0 @@
###############################################################################
# File: src/msw/filelist.cpp
# Purpose: The list of source files for MSW version of wxWindows.
# Author: Vadim Zeitlin
# Created: 14.07.99
# Version: $Id$
#
# Format of this file: TAB separated columns. The first column contains the
# filename, the second a letter corresonding a directory:
# G /src/generic
# C /src/common
# M /src/msw
# U /src/unix
# R /src/gtk
# H /src/html
# I /include/wx, /include/wx/gtk, /include/wx/msw, etc.
#
# The third column may be empty or contain some additional info about this
# file (only compile it in 16bit mode, don't compile it with this or that
# compiler, &c)
#
# Known flags:
# 16 a generic file implementing Win32 control for Win16
# 32 only can be compiled under Win32
# PS PostScript related file, normally not compiled under Windows
# G generic code which might be used instead of native one
# U Unix-ish file, normally not compiled under Windows
# O OLE file (needs Win32 and a decent compiler)
# S Socket file (currently doesn't compile under Win16 nor with GNU)
# R Not required for the GTK port
# WX Base header
# GTK GTK header
# MSW MSW header
# MAC Mac header
# MOT Motif header
# PM OS/2 header
# GEN Generic header
# PRO Protocol header
# HTM wxHtml header
# UNX Unix header
###############################################################################
# File name Type Flags
busyinfo.cpp G
caret.cpp G U
choicdgg.cpp G R
colrdlgg.cpp G G
dirdlgg.cpp G 16
extdlgg.cpp G
fontdlgg.cpp G G
gridg.cpp G
helpxlp.cpp G G,R
imaglist.cpp G 16
laywin.cpp G
listctrl.cpp G 16
msgdlgg.cpp G G,R
notebook.cpp G 16,R
panelg.cpp G
printps.cpp G PS
prntdlgg.cpp G PS,U
progdlgg.cpp G
prop.cpp G
propform.cpp G
proplist.cpp G
sashwin.cpp G
scrolwin.cpp G
splitter.cpp G
statusbr.cpp G
tabg.cpp G R
numdlgg.cpp G
textdlgg.cpp G R
tipdlg.cpp G
treectrl.cpp G 16
choiccmn.cpp C R
cmndata.cpp C
config.cpp C
ctrlcmn.cpp C R
date.cpp C
datstrm.cpp C
db.cpp C
dbtable.cpp C
dcbase.cpp C
dlgcmn.cpp C
docmdi.cpp C
docview.cpp C
dynarray.cpp C
dynlib.cpp C
event.cpp C
extended.c C
ffile.cpp C
file.cpp C
fileconf.cpp C
filefn.cpp C
filesys.cpp C
framecmn.cpp C
fs_inet.cpp C
fs_zip.cpp C
ftp.cpp C S
gdicmn.cpp C
hash.cpp C
helpbase.cpp C
http.cpp C S
imagbmp.cpp C
image.cpp C
imaggif.cpp C
imagjpeg.cpp C
imagpng.cpp C
intl.cpp C
ipcbase.cpp C
layout.cpp C
list.cpp C
log.cpp C
memory.cpp C
mimetype.cpp C 32
module.cpp C
mstream.cpp C
object.cpp C
objstrm.cpp C
odbc.cpp C R
paper.cpp C
prntbase.cpp C
process.cpp C 32
protocol.cpp C S
resource.cpp C
sckaddr.cpp C S
sckfile.cpp C S
sckipc.cpp C S
sckstrm.cpp C S
socket.cpp C S
stream.cpp C
string.cpp C
tbarbase.cpp C
tbarsmpl.cpp C 16
textcmn.cpp C
textfile.cpp C
time.cpp C
timercmn.cpp C
tokenzr.cpp C
txtstrm.cpp C
unzip.c C
url.cpp C S
utilscmn.cpp C
valgen.cpp C
validate.cpp C
valtext.cpp C
variant.cpp C
wfstream.cpp C
wincmn.cpp C
wxchar.cpp C
wxexpr.cpp C
zipstream.cpp C
zstream.cpp C
accel.cpp M
app.cpp M
automtn.cpp M O
bitmap.cpp M
bmpbuttn.cpp M
brush.cpp M
button.cpp M
caret.cpp M
checkbox.cpp M
checklst.cpp M
choice.cpp M
clipbrd.cpp M
colordlg.cpp M
colour.cpp M
combobox.cpp M
control.cpp M
curico.cpp M
cursor.cpp M
data.cpp M
dataobj.cpp M O
dc.cpp M
dcclient.cpp M
dcmemory.cpp M
dcprint.cpp M
dcscreen.cpp M
dde.cpp M
dialog.cpp M
dib.cpp M
dibutils.cpp M
dirdlg.cpp M 32
dragimag.cpp M
dropsrc.cpp M O
droptgt.cpp M O
filedlg.cpp M
font.cpp M
fontdlg.cpp M
frame.cpp M
gauge95.cpp M 32
gaugemsw.cpp M 16
gdiobj.cpp M
helpwin.cpp M
icon.cpp M
imaglist.cpp M 32
iniconf.cpp M 16
joystick.cpp M
listbox.cpp M
listctrl.cpp M 32
main.cpp M
mdi.cpp M
menu.cpp M
menuitem.cpp M
metafile.cpp M
minifram.cpp M
msgdlg.cpp M
nativdlg.cpp M
notebook.cpp M 32
oleutils.cpp M O
ownerdrw.cpp M
palette.cpp M
pen.cpp M
penwin.cpp M
pnghand.cpp M
printdlg.cpp M
printwin.cpp M
radiobox.cpp M
radiobut.cpp M
regconf.cpp M 32
region.cpp M
registry.cpp M 32
scrolbar.cpp M
settings.cpp M
slider95.cpp M 32
slidrmsw.cpp M 16
spinbutt.cpp M
statbmp.cpp M
statbox.cpp M
statbr95.cpp M 32
statline.cpp M
stattext.cpp M
tabctrl.cpp M
taskbar.cpp M 32
tbar95.cpp M 32
tbarmsw.cpp M 16
textctrl.cpp M
thread.cpp M 32
timer.cpp M
tooltip.cpp M 32
treectrl.cpp M 32
utils.cpp M
utilsexc.cpp M
uuid.cpp M O
wave.cpp M
window.cpp M
xpmhand.cpp M
threadpsx.cpp U
utilsunx.cpp U
gsocket.c U
gsockgtk.c R
win_gtk.c R
accel.cpp R
app.cpp R
bitmap.cpp R
bmpbuttn.cpp R
brush.cpp R
button.cpp R
checkbox.cpp R
checklst.cpp R
choice.cpp R
choicdlg.cpp R
clipbrd.cpp R
colour.cpp R
combobox.cpp R
control.cpp R
cursor.cpp R
data.cpp R
dataobj.cpp R
dc.cpp R
dcclient.cpp R
dcmemory.cpp R
dcscreen.cpp R
dialog.cpp R
dnd.cpp R
filedlg.cpp R
font.cpp R
frame.cpp R
gauge.cpp R
gdiobj.cpp R
icon.cpp R
listbox.cpp R
main.cpp R
mdi.cpp R
menu.cpp R
minifram.cpp R
msgdlg.cpp R
notebook.cpp R
palette.cpp R
pen.cpp R
radiobox.cpp R
radiobut.cpp R
region.cpp R
scrolbar.cpp R
settings.cpp R
slider.cpp R
spinbutt.cpp R
statbmp.cpp R
statbox.cpp R
statline.cpp R
stattext.cpp R
tbargtk.cpp R
textctrl.cpp R
textdlg.cpp R
timer.cpp R
tooltip.cpp R
utilsgtk.cpp R
utilsres.cpp R
wave.cpp R
window.cpp R
htmlcell.cpp H
htmlfilter.cpp H
htmlhelp.cpp H
htmlhelp_io.cpp H
htmlparser.cpp H
htmltag.cpp H
htmlwin.cpp H
htmlwinparser.cpp H
mod_fonts.cpp H
mod_hline.cpp H
mod_image.cpp H
mod_layout.cpp H
mod_links.cpp H
mod_list.cpp H
mod_pre.cpp H
mod_tables.cpp H
search.cpp H
arrimpl.cpp I WX
listimpl.cpp I WX
accel.h I WX
app.h I WX
bitmap.h I WX
bmpbuttn.h I WX
brush.h I WX
buffer.h I WX
busyinfo.h I WX
button.h I WX
caret.h I WX
checkbox.h I WX
checklst.h I WX
choicdlg.h I WX
choice.h I WX
clipbrd.h I WX
cmndata.h I WX
colordlg.h I WX
colour.h I WX
combobox.h I WX
confbase.h I WX
config.h I WX
control.h I WX
cursor.h I WX
dataobj.h I WX
date.h I WX
datstrm.h I WX
db.h I WX
dbtable.h I WX
dc.h I WX
dcclient.h I WX
dcmemory.h I WX
dcprint.h I WX
dcps.h I WX
dcscreen.h I WX
dde.h I WX
debug.h I WX
defs.h I WX
dialog.h I WX
dirdlg.h I WX
dnd.h I WX
docmdi.h I WX
docview.h I WX
dragimag.h I WX
dynarray.h I WX
dynlib.h I WX
event.h I WX
expr.h I WX
extdlg.h I WX
ffile.h I WX
file.h I WX
fileconf.h I WX
filedlg.h I WX
filefn.h I WX
filesys.h I WX
font.h I WX
fontdlg.h I WX
frame.h I WX
fs_inet.h I WX
fs_zip.h I WX
gauge.h I WX
gdicmn.h I WX
gdiobj.h I WX
grid.h I WX
hash.h I WX
help.h I WX
helpbase.h I WX
helphtml.h I WX
helpwin.h I WX
helpxlp.h I WX
icon.h I WX
image.h I WX
imaglist.h I WX
intl.h I WX
ioswrap.h I WX
ipcbase.h I WX
joystick.h I WX
layout.h I WX
laywin.h I WX
list.h I WX
listbox.h I WX
listctrl.h I WX
log.h I WX
longlong.h I WX
matrix.h I WX
mdi.h I WX
memory.h I WX
menu.h I WX
menuitem.h I WX
metafile.h I WX
mimetype.h I WX
minifram.h I WX
module.h I WX
msgdlg.h I WX
mstream.h I WX
notebook.h I WX
object.h I WX
objstrm.h I WX
odbc.h I WX
ownerdrw.h I WX
palette.h I WX
panel.h I WX
paper.h I WX
pen.h I WX
pnghand.h I WX
print.h I WX
printdlg.h I WX
prntbase.h I WX
process.h I WX
progdlg.h I WX
prop.h I WX
propform.h I WX
proplist.h I WX
radiobox.h I WX
radiobut.h I WX
region.h I WX
resource.h I WX
sashwin.h I WX
sckaddr.h I WX
sckipc.h I WX
sckstrm.h I WX
scrolbar.h I WX
scrolwin.h I WX
serbase.h I WX
settings.h I WX
setup.h I WX
slider.h I WX
socket.h I WX
spinbutt.h I WX
splitter.h I WX
statbmp.h I WX
statbox.h I WX
statline.h I WX
stattext.h I WX
statusbr.h I WX
stream.h I WX
string.h I WX
tab.h I WX
tabctrl.h I WX
taskbar.h I WX
tbar95.h I WX
tbarbase.h I WX
tbarmsw.h I WX
tbarsmpl.h I WX
textctrl.h I WX
textdlg.h I WX
textfile.h I WX
txtstrm.h I WX
thread.h I WX
time.h I WX
timer.h I WX
tipdlg.h I WX
tokenzr.h I WX
toolbar.h I WX
tooltip.h I WX
treectrl.h I WX
types.h I WX
url.h I WX
utils.h I WX
valgen.h I WX
validate.h I WX
valtext.h I WX
variant.h I WX
version.h I WX
wave.h I WX
wfstream.h I WX
window.h I WX
wx.h I WX
wx_cw.h I WX
wx_cw_cm.h I WX
wx_cw_d.h I WX
wxchar.h I WX
wxexpr.h I WX
wxhtml.h I WX
wxprec.h I WX
xpmhand.h I WX
zipstream.h I WX
zstream.h I WX
accel.h I GTK
app.h I GTK
bitmap.h I GTK
bmpbuttn.h I GTK
brush.h I GTK
button.h I GTK
checkbox.h I GTK
checklst.h I GTK
choice.h I GTK
choicdlg.h I GTK
clipbrd.h I GTK
colour.h I GTK
combobox.h I GTK
control.h I GTK
cursor.h I GTK
dataobj.h I GTK
dc.h I GTK
dcclient.h I GTK
dcmemory.h I GTK
dcscreen.h I GTK
dialog.h I GTK
dnd.h I GTK
filedlg.h I GTK
font.h I GTK
frame.h I GTK
gauge.h I GTK
gdiobj.h I GTK
icon.h I GTK
joystick.h I GTK
listbox.h I GTK
mdi.h I GTK
menu.h I GTK
menuitem.h I GTK
msgdlg.h I GTK
minifram.h I GTK
notebook.h I GTK
palette.h I GTK
pen.h I GTK
radiobox.h I GTK
radiobut.h I GTK
region.h I GTK
scrolbar.h I GTK
settings.h I GTK
slider.h I GTK
spinbutt.h I GTK
statbmp.h I GTK
statbox.h I GTK
statline.h I GTK
stattext.h I GTK
tbargtk.h I GTK
textctrl.h I GTK
textdlg.h I GTK
timer.h I GTK
tooltip.h I GTK
treectrl.h I GTK
wave.h I GTK
win_gtk.h I GTK
window.h I GTK
# vi: set noet ts=16 nolist:

View File

@@ -1,267 +0,0 @@
#!#############################################################################
#! File: g95.t
#! Purpose: tmake template file from which makefile.g95 is generated by running
#! tmake -t g95 wxwin.pro -o makefile.g95
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
#! so take the generic version
if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) {
next unless $file =~ /^dirdlgg\./;
}
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b(16)\b/;
#! needs extra files (sql*.h) so not compiled by default.
next if $file =~ /^odbc\./;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
}
foreach $file (sort keys %wxMSW) {
#! Mingw32 doesn't have the OLE headers and has some troubles with
#! socket code
next if $wxMSW{$file} =~ /\b(O|16)\b/;
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
next if $file =~ /^dirdlg\./;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
}
foreach $file (sort keys %wxHTML) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
#
# File: makefile.g95
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
# Created: 1993
# Updated: 1999
# Copyright:(c) 1993, AIAI, University of Edinburgh,
# Copyright:(c) 1999, Vadim Zeitlin
# Copyright:(c) 1999, Robert Roebling
#
# Makefile for libwx.a
# Replace this with your own path if necessary
WXDIR = ../..
# All common compiler flags and options are now in
# this central makefile.
include $(WXDIR)/src/makeg95.env
# Subordinate library possibilities
EXTRAOBJS=
GENDIR = $(WXDIR)/src/generic
COMMDIR = $(WXDIR)/src/common
HTMLDIR = $(WXDIR)/src/html
XPMDIR = $(WXDIR)/src/xpm
PNGDIR = $(WXDIR)/src/png
JPEGDIR = $(WXDIR)/src/jpeg
ZLIBDIR = $(WXDIR)/src/zlib
OLEDIR = $(WXDIR)/src/msw/ole
MSWDIR = $(WXDIR)/src/msw
DOCDIR = $(WXDIR)\docs
GENERICOBJS = \
#$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)/y_tab.$(OBJSUFF) \
#$ ExpandList("WXCOMMONOBJS");
HTMLOBJS = \
#$ ExpandList("WXHTMLOBJS");
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
$(ZLIBDIR)/crc32.$(OBJSUFF) \
$(ZLIBDIR)/gzio.$(OBJSUFF) \
$(ZLIBDIR)/uncompr.$(OBJSUFF) \
$(ZLIBDIR)/deflate.$(OBJSUFF) \
$(ZLIBDIR)/trees.$(OBJSUFF) \
$(ZLIBDIR)/zutil.$(OBJSUFF) \
$(ZLIBDIR)/inflate.$(OBJSUFF) \
$(ZLIBDIR)/infblock.$(OBJSUFF) \
$(ZLIBDIR)/inftrees.$(OBJSUFF) \
$(ZLIBDIR)/infcodes.$(OBJSUFF) \
$(ZLIBDIR)/infutil.$(OBJSUFF) \
$(ZLIBDIR)/inffast.$(OBJSUFF)
PNGOBJS = \
$(PNGDIR)/png.$(OBJSUFF) \
$(PNGDIR)/pngread.$(OBJSUFF) \
$(PNGDIR)/pngrtran.$(OBJSUFF) \
$(PNGDIR)/pngrutil.$(OBJSUFF) \
$(PNGDIR)/pngpread.$(OBJSUFF) \
$(PNGDIR)/pngtrans.$(OBJSUFF) \
$(PNGDIR)/pngwrite.$(OBJSUFF) \
$(PNGDIR)/pngwtran.$(OBJSUFF) \
$(PNGDIR)/pngwutil.$(OBJSUFF) \
$(PNGDIR)/pngerror.$(OBJSUFF) \
$(PNGDIR)/pngmem.$(OBJSUFF) \
$(PNGDIR)/pngwio.$(OBJSUFF) \
$(PNGDIR)/pngrio.$(OBJSUFF) \
$(PNGDIR)/pngget.$(OBJSUFF) \
$(PNGDIR)/pngset.$(OBJSUFF)
JPEGOBJS = \
$(JPEGDIR)/jcomapi.$(OBJSUFF) \
$(JPEGDIR)/jutils.$(OBJSUFF) \
$(JPEGDIR)/jerror.$(OBJSUFF) \
$(JPEGDIR)/jmemmgr.$(OBJSUFF) \
$(JPEGDIR)/jmemnobs.$(OBJSUFF) \
$(JPEGDIR)/jcapimin.$(OBJSUFF) \
$(JPEGDIR)/jcapistd.$(OBJSUFF) \
$(JPEGDIR)/jctrans.$(OBJSUFF) \
$(JPEGDIR)/jcparam.$(OBJSUFF) \
$(JPEGDIR)/jdatadst.$(OBJSUFF) \
$(JPEGDIR)/jcinit.$(OBJSUFF) \
$(JPEGDIR)/jcmaster.$(OBJSUFF) \
$(JPEGDIR)/jcmarker.$(OBJSUFF) \
$(JPEGDIR)/jcmainct.$(OBJSUFF) \
$(JPEGDIR)/jcprepct.$(OBJSUFF) \
$(JPEGDIR)/jccoefct.$(OBJSUFF) \
$(JPEGDIR)/jccolor.$(OBJSUFF) \
$(JPEGDIR)/jcsample.$(OBJSUFF) \
$(JPEGDIR)/jchuff.$(OBJSUFF) \
$(JPEGDIR)/jcphuff.$(OBJSUFF) \
$(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
$(JPEGDIR)/jfdctfst.$(OBJSUFF) \
$(JPEGDIR)/jfdctflt.$(OBJSUFF) \
$(JPEGDIR)/jfdctint.$(OBJSUFF) \
$(JPEGDIR)/jdapimin.$(OBJSUFF) \
$(JPEGDIR)/jdapistd.$(OBJSUFF) \
$(JPEGDIR)/jdtrans.$(OBJSUFF) \
$(JPEGDIR)/jdatasrc.$(OBJSUFF) \
$(JPEGDIR)/jdmaster.$(OBJSUFF) \
$(JPEGDIR)/jdinput.$(OBJSUFF) \
$(JPEGDIR)/jdmarker.$(OBJSUFF) \
$(JPEGDIR)/jdhuff.$(OBJSUFF) \
$(JPEGDIR)/jdphuff.$(OBJSUFF) \
$(JPEGDIR)/jdmainct.$(OBJSUFF) \
$(JPEGDIR)/jdcoefct.$(OBJSUFF) \
$(JPEGDIR)/jdpostct.$(OBJSUFF) \
$(JPEGDIR)/jddctmgr.$(OBJSUFF) \
$(JPEGDIR)/jidctfst.$(OBJSUFF) \
$(JPEGDIR)/jidctflt.$(OBJSUFF) \
$(JPEGDIR)/jidctint.$(OBJSUFF) \
$(JPEGDIR)/jidctred.$(OBJSUFF) \
$(JPEGDIR)/jdsample.$(OBJSUFF) \
$(JPEGDIR)/jdcolor.$(OBJSUFF) \
$(JPEGDIR)/jquant1.$(OBJSUFF) \
$(JPEGDIR)/jquant2.$(OBJSUFF) \
$(JPEGDIR)/jdmerge.$(OBJSUFF)
XPMOBJECTS = $(XPMDIR)/crbuffri.o\
$(XPMDIR)/crdatfri.o\
$(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
$(XPMDIR)/crifrdat.o\
$(XPMDIR)/data.o\
$(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
$(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
$(XPMDIR)/rdftoi.o\
$(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
$(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
$(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
$(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
copy ..\common\dosyacc.c ..\common\y_tab.c
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
copy ..\common\doslex.c ..\common\lex_yy.c
# Replace lex with flex if you run into compilation
# problems with lex_yy.c. See also note about LEX_SCANNER
# above.
# $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
#
# Try one of these if the above line doesn't work.
# Alternative syntax (1)
# $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
# Alternative syntax (2)
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
#
# sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
# sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
# sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
# rm -f lex.yy.c
#
# Replace yacc with bison if you run into compilation
# problems with y_tab.c.
#
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
# $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
#
# If you use e.g. gcc on Unix, uncomment these lines
# and comment out the above.
#
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
# $(YACC) $(COMMDIR)/parser.y
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
-erase *.o
-erase *.bak
-erase core
-erase ..\common\y_tab.c
-erase ..\common\lex_yy.c
-erase ..\common\*.o
-erase ..\common\*.bak
-erase ..\generic\*.o
-erase ..\generic\*.bak
-erase ..\html\*.o
-erase ..\png\*.o
-erase ..\png\*.bak
-erase ..\zlib\*.o
-erase ..\zlib\*.bak
-erase ..\jpeg\*.o
-erase ..\..\lib\libwx.a
cleanall: clean

View File

@@ -1,219 +0,0 @@
#!#############################################################################
#! File: gtk.t
#! Purpose: tmake template file from which Makefile is generated by running
#! tmake -t gtk wxwin.pro -o Makefile
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
next if $wxGeneric{$file} =~ /\bR\b/;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\bR\b/;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
}
foreach $file (sort keys %wxGTK) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXGTKOBJS"} .= '$(GTKDIR)/' . $file . " "
}
foreach $file (sort keys %wxHTML) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
}
foreach $file (sort keys %wxUNIX) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXUNIXOBJS"} .= '$(UNIXDIR)/' . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
#
# File: Makefile
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
# Created: 1993
# Updated: 1999
# Copyright:(c) 1993, AIAI, University of Edinburgh,
# Copyright:(c) 1999, Vadim Zeitlin
# Copyright:(c) 1999, Robert Roebling
#
# Makefile for libwx_gtk.a
WXDIR = ../..
include $(WXDIR)/src/gtk.env
# Subordinate library possibilities
GENDIR = $(WXDIR)/src/generic
COMMDIR = $(WXDIR)/src/common
HTMLDIR = $(WXDIR)/src/html
UNIXDIR = $(WXDIR)/src/unix
PNGDIR = $(WXDIR)/src/png
JPEGDIR = $(WXDIR)/src/jpeg
ZLIBDIR = $(WXDIR)/src/zlib
GTKDIR = $(WXDIR)/src/gtk
DOCDIR = $(WXDIR)\docs
GENERICOBJS = \
#$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)/parser.$(OBJSUFF) \
#$ ExpandList("WXCOMMONOBJS");
HTMLOBJS = \
#$ ExpandList("WXHTMLOBJS");
GTKOBJS = \
#$ ExpandList("WXGTKOBJS");
UNIXOBJS = \
#$ ExpandList("WXUNIXOBJS");
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
$(ZLIBDIR)/crc32.$(OBJSUFF) \
$(ZLIBDIR)/gzio.$(OBJSUFF) \
$(ZLIBDIR)/uncompr.$(OBJSUFF) \
$(ZLIBDIR)/deflate.$(OBJSUFF) \
$(ZLIBDIR)/trees.$(OBJSUFF) \
$(ZLIBDIR)/zutil.$(OBJSUFF) \
$(ZLIBDIR)/inflate.$(OBJSUFF) \
$(ZLIBDIR)/infblock.$(OBJSUFF) \
$(ZLIBDIR)/inftrees.$(OBJSUFF) \
$(ZLIBDIR)/infcodes.$(OBJSUFF) \
$(ZLIBDIR)/infutil.$(OBJSUFF) \
$(ZLIBDIR)/inffast.$(OBJSUFF)
PNGOBJS = \
$(PNGDIR)/png.$(OBJSUFF) \
$(PNGDIR)/pngread.$(OBJSUFF) \
$(PNGDIR)/pngrtran.$(OBJSUFF) \
$(PNGDIR)/pngrutil.$(OBJSUFF) \
$(PNGDIR)/pngpread.$(OBJSUFF) \
$(PNGDIR)/pngtrans.$(OBJSUFF) \
$(PNGDIR)/pngwrite.$(OBJSUFF) \
$(PNGDIR)/pngwtran.$(OBJSUFF) \
$(PNGDIR)/pngwutil.$(OBJSUFF) \
$(PNGDIR)/pngerror.$(OBJSUFF) \
$(PNGDIR)/pngmem.$(OBJSUFF) \
$(PNGDIR)/pngwio.$(OBJSUFF) \
$(PNGDIR)/pngrio.$(OBJSUFF) \
$(PNGDIR)/pngget.$(OBJSUFF) \
$(PNGDIR)/pngset.$(OBJSUFF)
JPEGOBJS = \
$(JPEGDIR)/jcomapi.$(OBJSUFF) \
$(JPEGDIR)/jutils.$(OBJSUFF) \
$(JPEGDIR)/jerror.$(OBJSUFF) \
$(JPEGDIR)/jmemmgr.$(OBJSUFF) \
$(JPEGDIR)/jmemnobs.$(OBJSUFF) \
$(JPEGDIR)/jcapimin.$(OBJSUFF) \
$(JPEGDIR)/jcapistd.$(OBJSUFF) \
$(JPEGDIR)/jctrans.$(OBJSUFF) \
$(JPEGDIR)/jcparam.$(OBJSUFF) \
$(JPEGDIR)/jdatadst.$(OBJSUFF) \
$(JPEGDIR)/jcinit.$(OBJSUFF) \
$(JPEGDIR)/jcmaster.$(OBJSUFF) \
$(JPEGDIR)/jcmarker.$(OBJSUFF) \
$(JPEGDIR)/jcmainct.$(OBJSUFF) \
$(JPEGDIR)/jcprepct.$(OBJSUFF) \
$(JPEGDIR)/jccoefct.$(OBJSUFF) \
$(JPEGDIR)/jccolor.$(OBJSUFF) \
$(JPEGDIR)/jcsample.$(OBJSUFF) \
$(JPEGDIR)/jchuff.$(OBJSUFF) \
$(JPEGDIR)/jcphuff.$(OBJSUFF) \
$(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
$(JPEGDIR)/jfdctfst.$(OBJSUFF) \
$(JPEGDIR)/jfdctflt.$(OBJSUFF) \
$(JPEGDIR)/jfdctint.$(OBJSUFF) \
$(JPEGDIR)/jdapimin.$(OBJSUFF) \
$(JPEGDIR)/jdapistd.$(OBJSUFF) \
$(JPEGDIR)/jdtrans.$(OBJSUFF) \
$(JPEGDIR)/jdatasrc.$(OBJSUFF) \
$(JPEGDIR)/jdmaster.$(OBJSUFF) \
$(JPEGDIR)/jdinput.$(OBJSUFF) \
$(JPEGDIR)/jdmarker.$(OBJSUFF) \
$(JPEGDIR)/jdhuff.$(OBJSUFF) \
$(JPEGDIR)/jdphuff.$(OBJSUFF) \
$(JPEGDIR)/jdmainct.$(OBJSUFF) \
$(JPEGDIR)/jdcoefct.$(OBJSUFF) \
$(JPEGDIR)/jdpostct.$(OBJSUFF) \
$(JPEGDIR)/jddctmgr.$(OBJSUFF) \
$(JPEGDIR)/jidctfst.$(OBJSUFF) \
$(JPEGDIR)/jidctflt.$(OBJSUFF) \
$(JPEGDIR)/jidctint.$(OBJSUFF) \
$(JPEGDIR)/jidctred.$(OBJSUFF) \
$(JPEGDIR)/jdsample.$(OBJSUFF) \
$(JPEGDIR)/jdcolor.$(OBJSUFF) \
$(JPEGDIR)/jquant1.$(OBJSUFF) \
$(JPEGDIR)/jquant2.$(OBJSUFF) \
$(JPEGDIR)/jdmerge.$(OBJSUFF)
OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS)
ar $(AROPTIONS) $@ $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
$(COMMDIR)/parser.$(OBJSUFF): $(COMMDIR)/parser.c $(COMMDIR)/lexer.c
$(CCLEX) -c $(CFLAGS) -o $@ $(COMMDIR)/parser.c
$(COMMDIR)/parser.c: $(COMMDIR)/parser.y $(COMMDIR)/lexer.c
$(YACC) $(COMMDIR)/parser.y
@sed -e "s;$(COMMDIR)/y.tab.c;parser.y;g" < y.tab.c | \
sed -e "s/BUFSIZ/5000/g" | \
sed -e "s/YYLMAX 200/YYLMAX 5000/g" | \
sed -e "s/yy/PROIO_yy/g" | \
sed -e "s/input/PROIO_input/g" | \
sed -e "s/unput/PROIO_unput/g" > $(COMMDIR)/parser.c
@$(RM) y.tab.c
$(COMMDIR)/lexer.c: $(COMMDIR)/lexer.l
$(LEX) $(COMMDIR)/lexer.l
@sed -e "s;$(COMMDIR)/lex.yy.c;lexer.l;g" < lex.yy.c | \
sed -e "s/yy/PROIO_yy/g" | \
sed -e "s/input/PROIO_input/g" | \
sed -e "s/unput/PROIO_unput/g" > $(COMMDIR)/lexer.c
@$(RM) lex.yy.c
clean:
rm -f $(GTKDIR)/*.$(OBJSUFF)
rm -f $(COMMDIR)/parser.c
rm -f $(COMMDIR)/lexer.c
rm -f $(COMMDIR)/*.$(OBJSUFF)
rm -f $(GENDIR)/*.$(OBJSUFF)
rm -f $(PNGDIR)/*.$(OBJSUFF)
rm -f $(ZLIBDIR)/*.$(OBJSUFF)
rm -f $(JPEGDIR)/*.$(OBJSUFF)
rm -f $(UNIXDIR)/*.$(OBJSUFF)
rm -f $(HTMLDIR)/*.$(OBJSUFF)
rm -f $(WXWIN)/lib/libwx_$(GUI).a
cleanall: clean

View File

@@ -1,57 +0,0 @@
@echo off
rem File: makeall.bat
rem Purpose: create wxWindows makefiles for all compilers
rem Author: Vadim Zeitlin
rem Created: 14.07.99
rem Copyright: (c) 1999 Vadim Zeitlin
rem Version: $Id$
rem
rem Makefile to create the makefiles for all compilers from the templates using
rem tmake. The environment variable WX or WXWIN should be defined and contain
rem the root directory of wxWindows installation. TMAKE program should be in
rem path or, alternatively, TMAKE environment variable should be set.
if "x%WX%" == "x" goto skip
set WXDIR=%WX%
goto ok
:skip
if "x%WXWIN%" == "x" goto no_wx
set WXDIR=%WXWIN%
goto ok
:no_wx
echo "Please set WX environment variable!"
goto end
:ok
set TM=tmake
if "x%TMAKE%" == "x" goto skip2
set TM=%TMAKE%
:skip2
rem this loop just doesn't want to work under command.com and cmd.exe and
rem 4nt.exe, so I preferred to unroll it.
rem for %%c in (b32 bcc dos g95 sc vc wat) %TM% -t %c% wxwin.pro -o %WXDIR%\src\msw\makefile.%c%
echo Generating for Visual C++ 4.0...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t vc wxwin.pro -o makefile.vc
echo Generating for Borland C++ (32 bits)...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t b32 wxwin.pro -o makefile.b32
echo Generating for Visual C++ 1.52...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t dos wxwin.pro -o makefile.dos
echo Generating for Borland C++ (16 bits)...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t bcc wxwin.pro -o makefile.bcc
echo Generating for Cygwin/Mingw32
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t g95 wxwin.pro -o makefile.g95
echo Generating for Symantec C++...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t sc wxwin.pro -o makefile.sc
echo Generating for Watcom C++...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t wat wxwin.pro -o makefile.wat
echo Generating for wxGTK...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t gtk wxwin.pro -o Makefile
echo Generating for Unix and Configure...
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t unx wxwin.pro -o makefile.unx.in
:end

View File

@@ -1,119 +0,0 @@
#!#############################################################################
#! File: sc.t
#! Purpose: tmake template file from which makefile.sc is generated by running
#! tmake -t sc wxwin.pro -o makefile.sc
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
my $tag = "";
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
$tag = "WXNONESSENTIALOBJS";
}
else {
$tag = "WXGENERICOBJS";
}
$file =~ s/cp?p?$/obj/;
$project{$tag} .= '$(GENDIR)\\' . $file . " "
}
foreach $file (sort keys %wxCommon) {
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
}
foreach $file (sort keys %wxMSW) {
#! these files don't compile with SC++ 6
next if $file =~ /^(joystick|pnghand)\./;
next if $wxGeneric{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)\\' . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
# Symantec C++ makefile for the msw objects
# called from src\makefile.sc
# configuration section (see src\makefile.sc) ###########################
WXDIR = $(WXWIN)
include ..\makesc.env
DEBUG=0
LIBTARGET = $(LIBDIR)\wx.lib
OPTIONS=
# end of configuration section ##########################################
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
XPMDIR=$(WXDIR)\src\xpm
OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
XPMOBJECTS = $(XPMDIR)\crbuffri.obj\
$(XPMDIR)\crdatfri.obj\
$(XPMDIR)\create.obj $(XPMDIR)\crifrbuf.obj\
$(XPMDIR)\crifrdat.obj\
$(XPMDIR)\data.obj\
$(XPMDIR)\hashtab.obj $(XPMDIR)\misc.obj\
$(XPMDIR)\parse.obj $(XPMDIR)\rdftodat.obj\
$(XPMDIR)\rdftoi.obj\
$(XPMDIR)\rgb.obj $(XPMDIR)\scan.obj\
$(XPMDIR)\simx.obj $(XPMDIR)\wrffrdat.obj\
$(XPMDIR)\wrffrp.obj $(XPMDIR)\wrffri.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(XPMOBJECTS)
all: $(LIBTARGET)
$(LIBTARGET): $(OBJECTS)
-del $(LIBTARGET)
*lib /PAGESIZE:512 $(LIBTARGET) y $(OBJECTS), nul;
clean:
-del *.obj
-del $(LIBTARGET)
$(COMMDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
# $(COMMDIR)\cmndata.obj: $(COMMDIR)\cmndata.cpp
# *$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) $(COMMDIR)\cmndata.cpp -o$(COMMDIR)\cmndata.obj
MFTYPE=sc
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,343 +0,0 @@
#!################################################################################
#! File: unx.t
#! Purpose: tmake template file from which makefile.unx.in is generated by running
#! tmake -t unx wxwin.pro -o makefile.unx.in
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
#! Created: 14.07.99
#! Version: $Id$
#!################################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
next if $wxGeneric{$file} =~ /\bR\b/;
$file =~ s/cp?p?$/\o/;
$project{"WXGENERICOBJS"} .= $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\bR\b/;
$file =~ s/cp?p?$/\o/;
$project{"WXCOMMONOBJS"} .= $file . " "
}
foreach $file (sort keys %wxGTK) {
$file =~ s/cp?p?$/\o/;
$project{"WXGTKOBJS"} .= $file . " "
}
foreach $file (sort keys %wxHTML) {
$file =~ s/cp?p?$/\o/;
$project{"WXHTMLOBJS"} .= $file . " "
}
foreach $file (sort keys %wxUNIX) {
$file =~ s/cp?p?$/\o/;
$project{"WXUNIXOBJS"} .= $file . " "
}
#$}
#
# I want this to be:
# $(INSTALL_DATA) $(INCDIR)/wx/window.h $(includedir)/wx/window.h
#
# foreach $file (sort keys %wxINCLUDE) {
# next if $wxINCLUDE{$file} =~ /\b(GTK|MSW|MOT|PM|MAC|GEN|HTM|UNX)\b/;
#
# $project{"WXINSTALLWX"} .= "$(INSTALL_DATA)" . " " . "\$(INCDIR)/wx/" . $file . " \$(includedir)/wx/" . $file . "\n"
# }
#
#
#
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE UNX.T!
#
# File: makefile.unx
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
# Created: 1993
# Updated: 1999
# Copyright:(c) 1993, AIAI, University of Edinburgh,
# Copyright:(c) 1999, Vadim Zeitlin
# Copyright:(c) 1999, Robert Roebling
#
# Makefile for libwx_gtk.a, libwx_motif.a and libwx_msw.a
########################### VERSION #################################
LIBS = @LIBS@
TOOLKIT = @TOOLKIT@
WXLIB = @WX_LIBRARY@
########################### VERSION #################################
WX_MAJOR_VERSION_NUMBER = @WX_MAJOR_VERSION_NUMBER@
WX_MINOR_VERSION_NUMBER = @WX_MINOR_VERSION_NUMBER@
WX_RELEASE_NUMBER = @WX_RELEASE_NUMBER@
########################### Misc #################################
SHELL = @SHELL@
########################### Paths #################################
srcdir = @srcdir@/src/gtk
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
DESTDIR =
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_alias = @build_alias@
build_triplet = @build@
host_alias = @host_alias@
host_triplet = @host@
target_alias = @target_alias@
target_triplet = @target@
EXTRA_VPATH = @EXTRA_VPATH_MF@
VPATH = .:${srcdir}:${srcdir}/src/common:${srcdir}/src/generic:${srcdir}/src/html:${EXTRA_VPATH}
########################### Programs #################################
# C++ compiler
CC = @CXX@
CCPP = @CXXCPP@
# C compiler
CCC = @CC@
CCCPP = @CPP@
# Compiler for lex/yacc .c programs
CCLEX = @CC@
LEX = @LEX@
YACC = @YACC@
AR = @AR@
AS = @AS@
NM = @NM@
LN_S = @LN_S@
STRIP = @STRIP@
MAKE = make
AROPTIONS = ruv
RANLIB = @RANLIB@
LD = @LD@
MAKEINFO = @MAKEINFO@
########################### Flags #################################
CFLAGS = @TOOLKIT_DEF@ @WXDEBUG_DEFINE@ @CFLAGS@
CPPFLAGS = @TOOLKIT_DEF@ @WXDEBUG_DEFINE@ @CXXFLAGS@
########################### Rules #################################
# Clears all default suffixes
.SUFFIXES: .o .cpp .c
.c.o :
$(CCC) -c $(CFLAGS) -o $@ $<
.cpp.o :
$(CC) -c $(CPPFLAGS) -o $@ $<
########################### Files #################################
WXDIR = $(srcdir)/../..
# Subordinate library possibilities
GENDIR = $(WXDIR)/src/generic
COMMDIR = $(WXDIR)/src/common
HTMLDIR = $(WXDIR)/src/html
UNIXDIR = $(WXDIR)/src/unix
PNGDIR = $(WXDIR)/src/png
JPEGDIR = $(WXDIR)/src/jpeg
ZLIBDIR = $(WXDIR)/src/zlib
GTKDIR = $(WXDIR)/src/gtk
INCDIR = $(WXDIR)/include
DOCDIR = $(WXDIR)\docs
GENERICOBJS = \
#$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
parser.o \
#$ ExpandList("WXCOMMONOBJS");
HTMLOBJS = \
#$ ExpandList("WXHTMLOBJS");
GTKOBJS = \
#$ ExpandList("WXGTKOBJS");
UNIXOBJS = \
#$ ExpandList("WXUNIXOBJS");
ZLIBOBJS = \
adler32.o \
compress.o \
crc32.o \
gzio.o \
uncompr.o \
deflate.o \
trees.o \
zutil.o \
inflate.o \
infblock.o \
inftrees.o \
infcodes.o \
infutil.o \
inffast.o
PNGOBJS = \
png.o \
pngread.o \
pngrtran.o \
pngrutil.o \
pngpread.o \
pngtrans.o \
pngwrite.o \
pngwtran.o \
pngwutil.o \
pngerror.o \
pngmem.o \
pngwio.o \
pngrio.o \
pngget.o \
pngset.o
JPEGOBJS = \
jcomapi.o \
jutils.o \
jerror.o \
jmemmgr.o \
jmemnobs.o \
jcapimin.o \
jcapistd.o \
jctrans.o \
jcparam.o \
jdatadst.o \
jcinit.o \
jcmaster.o \
jcmarker.o \
jcmainct.o \
jcprepct.o \
jccoefct.o \
jccolor.o \
jcsample.o \
jchuff.o \
jcphuff.o \
jcdctmgr.o \
jfdctfst.o \
jfdctflt.o \
jfdctint.o \
jdapimin.o \
jdapistd.o \
jdtrans.o \
jdatasrc.o \
jdmaster.o \
jdinput.o \
jdmarker.o \
jdhuff.o \
jdphuff.o \
jdmainct.o \
jdcoefct.o \
jdpostct.o \
jddctmgr.o \
jidctfst.o \
jidctflt.o \
jidctint.o \
jidctred.o \
jdsample.o \
jdcolor.o \
jquant1.o \
jquant2.o \
jdmerge.o
OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS)
$AR) $(AROPTIONS) $@ $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
parser.o: parser.c lexer.c
$(CCLEX) -c $(CFLAGS) -o $@ parser.c
parser.c: $(COMMDIR)/parser.y lexer.c
$(YACC) $(COMMDIR)/parser.y
@sed -e "s;$(COMMDIR)/y.tab.c;parser.y;g" < y.tab.c | \
sed -e "s/BUFSIZ/5000/g" | \
sed -e "s/YYLMAX 200/YYLMAX 5000/g" | \
sed -e "s/yy/PROIO_yy/g" | \
sed -e "s/input/PROIO_input/g" | \
sed -e "s/unput/PROIO_unput/g" > parser.c
@$(RM) y.tab.c
lexer.c: $(COMMDIR)/lexer.l
$(LEX) $(COMMDIR)/lexer.l
@sed -e "s;$(COMMDIR)/lex.yy.c;lexer.l;g" < lex.yy.c | \
sed -e "s/yy/PROIO_yy/g" | \
sed -e "s/input/PROIO_input/g" | \
sed -e "s/unput/PROIO_unput/g" > lexer.c
@$(RM) lex.yy.c
install: $(WXLIB)
#$ ExpandList("WXINSTALLWX");
clean:
rm -f *.o
rm -f *.lo
rm -f parser.c
rm -f lexer.c
rm -f *.a
rm -f *.la
cleanall: clean

View File

@@ -1,638 +0,0 @@
#!#############################################################################
#! File: vc.t
#! Purpose: tmake template file from which makefile.vc is generated by running
#! tmake -t vc wxwin.pro -o makefile.vc
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
my $tag = "";
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
$tag = "WXNONESSENTIALOBJS";
}
else {
$tag = "WXGENERICOBJS";
}
$file =~ s/cp?p?$/obj/;
$project{$tag} .= "..\\generic\\\$D\\" . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
}
foreach $file (sort keys %wxMSW) {
next if $wxMSW{$file} =~ /\b16\b/;
#! OLE files live in a subdir
$project{"WXMSWOBJS"} .= '..\msw\\';
$project{"WXMSWOBJS"} .= 'ole\\' if $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= '$D\\' . $file . " ";
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
# File: makefile.vc
# Author: Julian Smart
# Created: 1997
# Updated:
# Copyright: (c) 1997, Julian Smart
#
# "%W% %G%"
#
# Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
# Arguments:
#
# FINAL=1 argument to nmake to build version with no debugging info.
# dll builds a library (wxdll.lib) suitable for creating DLLs
#
!include <..\makevc.env>
THISDIR=$(WXWIN)\src\msw
!if "$(WXMAKINGDLL)" == "1"
LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
DUMMYOBJ=$D\dummydll.obj
!else
LIBTARGET=$(WXLIB)
DUMMYOBJ=$D\dummy.obj
!endif
# Please set these according to the settings in setup.h, so we can include
# the appropriate libraries in wx.lib
# This one overrides the others, to be consistent with the settings in setup.h
MINIMAL_WXWINDOWS_SETUP=0
PERIPH_LIBS=
PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
# These are absolute paths, so that the compiler
# generates correct __FILE__ symbols for debugging.
# Otherwise you don't be able to double-click on a memory
# error to load that file.
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw
DOCDIR = $(WXDIR)\docs
HTMLDIR = $(WXDIR)\src\html
{..\generic}.cpp{..\generic\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\common}.cpp{..\common\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\common}.c{..\common\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
{..\msw}.cpp{..\msw\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\html}.cpp{..\html\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
# These are generic things that don't need to be compiled on MSW,
# but sometimes it's useful to do so for testing purposes.
NONESSENTIALOBJS= #$ ExpandList("WXNONESSENTIALOBJS");
COMMONOBJS = \
..\common\$D\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
HTMLOBJS = \
..\html\$D\htmlcell.obj \
..\html\$D\htmlfilter.obj \
..\html\$D\htmlhelp.obj \
..\html\$D\htmlhelp_io.obj \
..\html\$D\htmlparser.obj \
..\html\$D\htmltag.obj \
..\html\$D\htmlwin.obj \
..\html\$D\htmlwinparser.obj \
..\html\$D\mod_fonts.obj \
..\html\$D\mod_hline.obj \
..\html\$D\mod_image.obj \
..\html\$D\mod_layout.obj \
..\html\$D\mod_links.obj \
..\html\$D\mod_list.obj \
..\html\$D\mod_pre.obj \
..\html\$D\mod_tables.obj \
..\html\$D\search.obj
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
# Add $(HTMLOBJS) if wanting wxHTML classes
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
# Normal, static library
all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
test: $(MSWDIR)\$D\wave.obj
test2: ..\common\Debug\config.obj
$D:
mkdir $D
$(COMMDIR)\$D:
mkdir $(COMMDIR)\$D
$(MSWDIR)\$D:
mkdir $(MSWDIR)\$D
$(GENDIR)\$D:
mkdir $(GENDIR)\$D
$(OLEDIR)\$D:
mkdir $(OLEDIR)\$D
$(HTMLDIR)\$D:
mkdir $(HTMLDIR)\$D
# wxWindows library as DLL
dll:
nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
cleandll:
nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
# wxWindows + app as DLL. Only affects main.cpp.
dllapp:
nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
dllnp:
nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
# Use this to make dummy.obj and generate a PCH.
# You might use the dll target, then the pch target, in order to
# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
#
# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
# are associated with wx.lib. When using a DLL version of wxWindows, however,
# the DLL is compiled without a PCH, so you only need it for compiling the app.
# In fact headers are compiled differently depending on whether a DLL is being made
# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
# in each case) so you couldn't use the same PCH.
pch:
nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
pch1: dirs $(DUMMYOBJ)
echo $(DUMMYOBJ)
!if "$(WXMAKINGDLL)" != "1"
### Static library
$(WXDIR)\lib\$(WXLIBNAME).lib: $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
-erase $(LIBTARGET)
$(implib) @<<
-out:$@
-machine:$(CPU)
$(OBJECTS) $(PERIPH_LIBS)
<<
!else
### Update the import library
$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
$(implib) @<<
-machine:$(CPU)
-def:wx.def
$(DUMMYOBJ) $(OBJECTS)
-out:$(WXDIR)\lib\$(WXLIBNAME).lib
<<
# Update the dynamic link library
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
$(link) @<<
$(LINKFLAGS)
-out:$(WXDIR)\lib\$(WXLIBNAME).dll
$(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib $(WXDIR)\lib\jpeg.lib
<<
!endif
########################################################
# Windows-specific objects
$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
cl @<<
$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
<<
# If taking wxWindows from CVS, setup.h doesn't exist yet.
# Actually the 'if not exist setup.h' test doesn't work
# (copies the file anyway)
# we'll have to comment this rule out.
# $(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
# cd "$(WXDIR)"\include\wx\msw
# if not exist setup.h copy setup0.h setup.h
# cd "$(WXDIR)"\src\msw
..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
cl @<<
$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
<<
..\common\y_tab.c: ..\common\dosyacc.c
copy "..\common"\dosyacc.c "..\common"\y_tab.c
..\common\lex_yy.c: ..\common\doslex.c
copy "..\common"\doslex.c "..\common"\lex_yy.c
$(OBJECTS): $(WXDIR)/include/wx/setup.h
..\common\$D\unzip.obj: ..\common\unzip.c
cl @<<
$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
<<
# Peripheral components
png:
cd $(WXDIR)\src\png
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_png:
cd $(WXDIR)\src\png
nmake -f makefile.vc clean
cd $(WXDIR)\src\msw
zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.vc clean
cd $(WXDIR)\src\msw
jpeg:
cd $(WXDIR)\src\jpeg
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
cd $(WXDIR)\src\msw
clean_jpeg:
cd $(WXDIR)\src\jpeg
nmake -f makefile.vc clean
cd $(WXDIR)\src\msw
xpm:
cd $(WXDIR)\src\xpm
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_xpm:
cd $(WXDIR)\src\xpm
nmake -f makefile.vc clean
cd $(WXDIR)\src\msw
rcparser:
cd $(WXDIR)\utils\rcparser\src
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\src\msw
clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
-erase $(LIBTARGET)
-erase $(WXDIR)\lib\$(WXLIBNAME).pdb
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
-erase *.pdb
-erase *.sbr
-erase $(WXLIBNAME).pch
-erase $(GENDIR)\$D\*.obj
-erase $(GENDIR)\$D\*.pdb
-erase $(GENDIR)\$D\*.sbr
-erase $(COMMDIR)\$D\*.obj
-erase $(COMMDIR)\$D\*.pdb
-erase $(COMMDIR)\$D\*.sbr
-erase $(COMMDIR)\\y_tab.c
-erase $(COMMDIR)\lex_yy.c
-erase $(MSWDIR)\$D\*.obj
-erase $(MSWDIR)\$D\*.sbr
-erase $(MSWDIR)\$D\*.pdb
-erase $(OLEDIR)\$D\*.obj
-erase $(OLEDIR)\$D\*.sbr
-erase $(OLEDIR)\$D\*.pdb
-rmdir $(D)
-rmdir ole\$(D)
-rmdir ..\generic\$(D)
-rmdir ..\common\$(D)
cleanall: clean
# Making documents
docs: allhlp allhtml allpdfrtf
alldocs: docs
hlp: wxhlp portinghlp
wxhlp: $(DOCDIR)/winhelp/wx.hlp
prophlp: $(DOCDIR)/winhelp/prop.hlp
refhlp: $(DOCDIR)/winhelp/techref.hlp
rtf: $(DOCDIR)/winhelp/wx.rtf
proprtf: $(DOCDIR)/winhelp/prop.rtf
pdfrtf: $(DOCDIR)/pdf/wx.rtf
proppdfrtf: $(DOCDIR)/pdf/prop.rtf
refpdfrtf: $(DOCDIR)/pdf/techref.rtf
html: wxhtml portinghtml
wxhtml: $(DOCDIR)\html\wx\wx.htm
htmlhelp: $(DOCDIR)\html\wx\wx.chm
prophtml: $(DOCDIR)\html\proplist\prop.htm
ps: wxps referencps
wxps: $(WXDIR)\docs\ps\wx.ps
propps: $(WXDIR)\docs\ps\prop.ps
referencps: $(WXDIR)\docs\ps\referenc.ps
portinghtml: $(DOCDIR)\html\porting\port.htm
portingrtf: $(DOCDIR)/winhelp/porting.rtf
portinghlp: $(DOCDIR)/winhelp/porting.hlp
portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
portingps: $(WXDIR)\docs\ps\porting.ps
allhlp: wxhlp portinghlp prophlp
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc hlp
cd $(THISDIR)
# cd $(WXDIR)\utils\wxhelp\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\tex2rtf\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\wxgraph\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\wxchart\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\wxtree\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\wxbuild\src
# nmake -f makefile.vc hlp
# cd $(WXDIR)\utils\wxgrid\src
# nmake -f makefile.vc hlp
allhtml: wxhtml portinghtml prophtml
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc html
cd $(THISDIR)
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\dialoged\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\hytext\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\wxhelp\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\tex2rtf\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\wxgraph\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\wxchart\src
# nmake -f makefile.vc html
# cd $(WXDIR)\utils\wxtree\src
# nmake -f makefile.vc html
allps: wxps referencps portingps propps
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc ps
cd $(THISDIR)
allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
cd $(WXDIR)\utils\dialoged\src
nmake -f makefile.vc pdfrtf
cd $(THISDIR)
# cd $(WXDIR)\utils\wxhelp\src
# nmake -f makefile.vc ps
# cd $(WXDIR)\utils\tex2rtf\src
# nmake -f makefile.vc ps
# cd $(WXDIR)\utils\wxgraph\src
# nmake -f makefile.vc ps
# cd $(WXDIR)\utils\wxchart\src
# nmake -f makefile.vc ps
# cd $(WXDIR)\utils\wxtree\src
# nmake -f makefile.vc ps
# cd $(THISDIR)
$(DOCDIR)/winhelp/wx.hlp: $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
cd $(DOCDIR)/latex/wx
-erase wx.ph
hc wx
move wx.hlp $(DOCDIR)\winhelp\wx.hlp
move wx.cnt $(DOCDIR)\winhelp\wx.cnt
cd $(THISDIR)
$(DOCDIR)/winhelp/porting.hlp: $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
cd $(DOCDIR)/latex/porting
-erase porting.ph
hc porting
move porting.hlp $(DOCDIR)\winhelp\porting.hlp
move porting.cnt $(DOCDIR)\winhelp\porting.cnt
cd $(THISDIR)
$(DOCDIR)/winhelp/prop.hlp: $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
cd $(DOCDIR)/latex/proplist
-erase prop.ph
hc prop
move prop.hlp $(DOCDIR)\winhelp\prop.hlp
move prop.cnt $(DOCDIR)\winhelp\prop.cnt
cd $(THISDIR)
$(DOCDIR)/winhelp/techref.hlp: $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
cd $(DOCDIR)/latex/techref
-erase techref.ph
hc techref
move techref.hlp $(DOCDIR)\winhelp\techref.hlp
move techref.cnt $(DOCDIR)\winhelp\techref.cnt
cd $(THISDIR)
$(DOCDIR)/latex/wx/wx.rtf: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
cd $(DOCDIR)\latex\wx
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
cd $(THISDIR)
$(DOCDIR)/latex/porting/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
cd $(DOCDIR)\latex\porting
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.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 $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
cd $(THISDIR)
$(DOCDIR)/latex/techref/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
cd $(DOCDIR)\latex\techref
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
cd $(THISDIR)
$(DOCDIR)/pdf/wx.rtf: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
cd $(DOCDIR)\latex\wx
-copy *.bmp *.wmf $(DOCDIR)\pdf
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
cd $(THISDIR)
$(DOCDIR)/pdf/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
cd $(DOCDIR)\latex\porting
-copy *.bmp *.wmf $(DOCDIR)\pdf
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
cd $(THISDIR)
$(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 $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
cd $(THISDIR)
$(DOCDIR)/pdf/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
cd $(DOCDIR)\latex\techref
-copy *.bmp *.wmf $(DOCDIR)\pdf
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
cd $(THISDIR)
$(DOCDIR)\html\wx\wx.htm: $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex\wx\body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)\latex\wx\manual.tex
cd $(DOCDIR)\latex\wx
-mkdir $(DOCDIR)\html\wx
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
-erase $(DOCDIR)\html\wx\*.con
-erase $(DOCDIR)\html\wx\*.ref
-erase $(DOCDIR)\latex\wx\*.con
-erase $(DOCDIR)\latex\wx\*.ref
cd $(THISDIR)
$(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
cd $(DOCDIR)\html\wx
-hhc wx.hhp
cd $(THISDIR)
$(DOCDIR)\html\porting\port.htm: $(DOCDIR)\latex\porting\porting.tex
cd $(DOCDIR)\latex\porting
-mkdir $(DOCDIR)\html\porting
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
-erase $(DOCDIR)\html\porting\*.con
-erase $(DOCDIR)\html\porting\*.ref
-erase $(DOCDIR)\latex\porting\*.con
-erase $(DOCDIR)\latex\porting\*.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
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
-erase $(DOCDIR)\html\proplist\*.con
-erase $(DOCDIR)\html\proplist\*.ref
-erase $(DOCDIR)\latex\proplist\*.con
-erase $(DOCDIR)\latex\proplist\*.ref
cd $(THISDIR)
$(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
cd $(WXDIR)\docs\latex\wx
-latex manual
-latex manual
-makeindx manual
-bibtex manual
-latex manual
-latex manual
cd $(THISDIR)
$(WXDIR)\docs\latex\porting\porting.dvi: $(DOCDIR)/latex/porting/porting.tex
cd $(WXDIR)\docs\latex\porting
-latex porting
-latex porting
-makeindx porting
-bibtex porting
-latex porting
-latex porting
cd $(THISDIR)
$(WXDIR)\docs\ps\wx.ps: $(WXDIR)\docs\latex\wx\manual.dvi
cd $(WXDIR)\docs\latex\wx
-dvips32 -o wx.ps manual
move wx.ps $(WXDIR)\docs\ps\wx.ps
cd $(THISDIR)
$(WXDIR)\docs\ps\porting.ps: $(WXDIR)\docs\latex\porting\porting.dvi
cd $(WXDIR)\docs\latex\porting
-dvips32 -o porting.ps porting
move porting.ps $(WXDIR)\docs\ps\porting.ps
cd $(THISDIR)
$(WXDIR)\docs\latex\wx\referenc.dvi: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
cd $(WXDIR)\docs\latex\wx
-latex referenc
-latex referenc
-makeindx referenc
-bibtex referenc
-latex referenc
-latex referenc
cd $(THISDIR)
$(WXDIR)\docs\ps\referenc.ps: $(WXDIR)\docs\latex\wx\referenc.dvi
cd $(WXDIR)\docs\latex\wx
-dvips32 -o referenc.ps referenc
move referenc.ps $(WXDIR)\docs\ps\referenc.ps
cd $(THISDIR)
# In order to force document reprocessing
touchmanual:
-touch $(WXDIR)\docs\latex\wx\manual.tex
updatedocs: touchmanual alldocs
# Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
# Office StartUp folder, and PDFMaker should be installed.
updatepdf: # touchmanual pdfrtf
start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
MFTYPE=vc
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,146 +0,0 @@
#!#############################################################################
#! File: vc6.t
#! Purpose: tmake template file from which wxWindows.dsp is generated by running
#! tmake -t vc6 wxwin.pro -o wxWindows.dsp
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
$project{"WXGENERICSRCS"} .= $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b16\b/;
my $tag = $file =~ /\.c$/ ? "WXCSRCS" : "WXCOMMONSRCS";
$project{$tag} .= $file . " "
}
foreach $file (sort keys %wxMSW) {
next if $wxMSW{$file} =~ /\b16\b/;
my $tag = $wxMSW{$file} =~ /\bO\b/ ? "WXOLESRCS" : "WXMSWSRCS";
$project{$tag} .= $file . " "
}
#$}
# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=wxWindows - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "wxWindows.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "wxWindows.mak" CFG="wxWindows - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "wxWindows - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "wxWindows - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
RSC=rc.exe
!IF "$(CFG)" == "wxWindows - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /W3 /Zi /O2 /I "$(wx)\include" /I "$(wx)\src\zlib" /D "NDEBUG" /D WIN95=1 /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN32__" /Yu"wx/wxprec.h" /FD /c
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /I "$(wx)\src\zlib" /D "_DEBUG" /D DEBUG=1 /D WXDEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WIN32__" /D "__WXMSW__" /Fr /Yu"wx/wxprec.h" /FD /c
# ADD BASE RSC /l 0x409
# ADD RSC /l 0x409
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo /o"lib/wxWindows.bsc"
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo
!ENDIF
# Begin Target
# Name "wxWindows - Win32 Release"
# Name "wxWindows - Win32 Debug"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\msw\dummy.cpp
# ADD CPP /Yc"wx/wxprec.h"
# End Source File
#$ ExpandGlue("WXMSWSRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n");
#$ ExpandGlue("WXOLESRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n");
#$ ExpandGlue("WXGENERICSRCS", "# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n");
#$ ExpandGlue("WXCOMMONSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n");
#$ ExpandGlue("WXCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n");
# Begin Source File
SOURCE=.\src\common\y_tab.c
!IF "$(CFG)" == "wxWindows - Win32 Release"
# SUBTRACT CPP /YX /Yc /Yu
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
# ADD CPP /W1
# SUBTRACT CPP /YX /Yc /Yu
!ENDIF
# End Source File
# End Target
# End Project

View File

@@ -1,326 +0,0 @@
#!#############################################################################
#! File: wat.t
#! Purpose: tmake template file from which makefile.wat is generated by running
#! tmake -t wat wxwin.pro -o makefile.wat
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
IncludeTemplate("filelist.t");
#! now transform these hashes into $project tags
foreach $file (sort keys %wxGeneric) {
my $tag = "";
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
$tag = "WXNONESSENTIALOBJS";
}
else {
$tag = "WXGENERICOBJS";
}
$file =~ s/cp?p?$/obj/;
$project{$tag} .= $file . " "
}
foreach $file (sort keys %wxCommon) {
#! doesn't compile, apparently
next if $file =~ /^imagjpeg\./;
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= $file . " "
}
foreach $file (sort keys %wxMSW) {
#! these files don't compile
next if $file =~ /^pnghand\./;
next if $wxGeneric{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
#! an attempt to embed '#' directly in the string somehow didn't work...
#$ $text = chr(35) . '!/binb/wmake.exe';
#
# File: makefile.wat
# Author: Julian Smart
# Created: 1998
#
# Makefile : Builds wxWindows library for Watcom C++, WIN32
WXDIR = ..\..
!include $(WXDIR)\src\makewat.env
WXLIB = $(WXDIR)\lib
LIBTARGET = $(WXLIB)\wx.lib
DUMMY=dummydll
# ODBCLIB = ..\..\contrib\odbc\odbc32.lib
EXTRATARGETS = xpm png zlib
EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib
GENDIR=$(WXDIR)\src\generic
COMMDIR=$(WXDIR)\src\common
XPMDIR=$(WXDIR)\src\xpm
OLEDIR=ole
MSWDIR=$(WXDIR)\src\msw
DOCDIR = $(WXDIR)\docs
GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
# These are generic things that don't need to be compiled on MSW,
# but sometimes it's useful to do so for testing purposes.
NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "", " &\n\t")
COMMONOBJS = &
y_tab.obj &
#$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "", " &\n\t")
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
$(LIBTARGET) : $(OBJECTS)
%create tmp.lbc
@for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
wlib /b /c /n /p=512 $^@ @tmp.lbc
#test : $(OBJECTS)
# %create tmp.lbc
# @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
# wlib /b /c /n /p=512 $^@ @tmp.lbc
clean: .SYMBOLIC $(EXTRATARGETSCLEAN)
-erase *.obj
-erase $(LIBTARGET)
-erase *.pch
-erase *.err
-erase *.lbc
cleanall: clean
#${
$_ = $project{"WXMSWOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_ . ': $(';
s/\.obj$//;
if ( $wxMSW{$_} =~ /\bO\b/ ) {
$text .= 'OLEDIR)\\';
} else {
$text .= 'MSWDIR)\\';
}
$text .= $_ . ".cpp\n" .
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
}
#$}
########################################################
# Common objects (always compiled)
#${
$_ = $project{"WXCOMMONOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_;
s/\.obj$//;
$text .= ': $(COMMDIR)\\';
$text .= $_ . ".cpp\n" .
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
}
#$}
y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
*$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
########################################################
# Generic objects (not always compiled, depending on
# whether platforms have native implementations)
#${
$_ = $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
$text .= $_;
s/\.obj$//;
$text .= ': $(GENDIR)\\';
$text .= $_ . ".cpp\n" .
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
}
#$}
crbuffri.obj: $(XPMDIR)\crbuffri.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crbuffrp.obj: $(XPMDIR)\crbuffrp.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crdatfri.obj: $(XPMDIR)\crdatfri.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crdatfrp.obj: $(XPMDIR)\crdatfrp.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
create.obj: $(XPMDIR)\create.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crifrbuf.obj: $(XPMDIR)\crifrbuf.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crifrdat.obj: $(XPMDIR)\crifrdat.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
crpfrdat.obj: $(XPMDIR)\crpfrdat.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
# TODO: what to do about this clash of filename????
#data.obj: $(XPMDIR)\data.c
# *$(CC) $(CPPFLAGS) $(IFLAGS) $<
hashtab.obj: $(XPMDIR)\hashtab.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
misc.obj: $(XPMDIR)\misc.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
parse.obj: $(XPMDIR)\parse.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
rdftodat.obj: $(XPMDIR)\rdftodat.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
rdftoi.obj: $(XPMDIR)\rdftoi.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
rdftop.obj: $(XPMDIR)\rdftop.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
rgb.obj: $(XPMDIR)\rgb.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
scan.obj: $(XPMDIR)\scan.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
simx.obj: $(XPMDIR)\simx.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
wrffrdat.obj: $(XPMDIR)\wrffrdat.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
wrffri.obj: $(XPMDIR)\wrffri.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
wrffrp.obj: $(XPMDIR)\wrffrp.c
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
trees$(O)
OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
infutil$(O) inffast$(O)
adler32.obj: adler32.c zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
compress.obj: compress.c zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
crc32.obj: crc32.c zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
gzio.obj: gzio.c zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
infcodes.h infutil.h
$(CC) -c $(CFLAGS) $*.c
infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
infcodes.h inffast.h
$(CC) -c $(CFLAGS) $*.c
inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
$(CC) -c $(CFLAGS) $*.c
inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
$(CC) -c $(CFLAGS) $*.c
infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
$(CC) -c $(CFLAGS) $*.c
inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
$(CC) -c $(CFLAGS) $*.c
trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
uncompr.obj: uncompr.c zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
zutil.obj: zutil.c zutil.h zlib.h zconf.h
$(CC) -c $(CFLAGS) $*.c
xpm: .SYMBOLIC
cd $(WXDIR)\src\xpm
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
clean_xpm: .SYMBOLIC
cd $(WXDIR)\src\xpm
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
png: .SYMBOLIC
cd $(WXDIR)\src\png
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
clean_png: .SYMBOLIC
cd $(WXDIR)\src\png
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
zlib: .SYMBOLIC
cd $(WXDIR)\src\zlib
wmake -f makefile.wat all
cd $(WXDIR)\src\msw
clean_zlib: .SYMBOLIC
cd $(WXDIR)\src\zlib
wmake -f makefile.wat clean
cd $(WXDIR)\src\msw
MFTYPE=wat
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
cd $(WXWIN)\distrib\msw\tmake
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
copy makefile.$(MFTYPE) $(WXWIN)\src\msw

View File

@@ -1,10 +0,0 @@
###############################################################################
# File: wxwin.pro
# Purpose: tmake project file from which makefiles for wxWindows are generated
# tmake -t vc wxwin.pro
# Author: Vadim Zeitlin
# Created: 14.07.99
# Version: $Id$
###############################################################################
# this file is empty

View File

@@ -1,27 +0,0 @@
user/Makefile
user/wxConvert/*.cpp
user/wxConvert/*.h
user/wxConvert/Makefile
user/wxConvert/Makefile.in
user/wxFile/*.cpp
user/wxFile/*.h
user/wxFile/Makefile
user/wxFile/Makefile.in
user/wxFile/*.xpm
user/wxTest/*.cpp
user/wxTest/*.h
user/wxTest/Makefile
user/wxTest/Makefile.in
user/wxTest/*.xpm
user/wxTest/*.png
user/wxLayout/*.cpp
user/wxLayout/*.h
user/wxLayout/Makefile
user/wxLayout/Makefile.in
user/wxLayout/*.xpm
user/wxLayout/*.png

View File

@@ -1,159 +0,0 @@
src/wxvc.dsp
src/wxvc.dsw
src/wxvc6.dsp
src/wxvc6.dsw
src/wxvc_dll.dsp
src/wxvc_dll.dsw
samples/checklst/ChecklstVC.dsp
samples/checklst/ChecklstVC.dsw
samples/config/ConfigVC.dsp
samples/config/ConfigVC.dsw
samples/controls/ControlsVC.dsp
samples/controls/ControlsVC.dsw
samples/db/DbVC.dsp
samples/db/DbVC.dsw
samples/dialogs/DialogsVC.dsp
samples/dialogs/DialogsVC.dsw
samples/dnd/DndVC.dsp
samples/dnd/DndVC.dsw
samples/docview/DocviewVC.dsp
samples/docview/DocviewVC.dsw
samples/docvwmdi/DocViewVC.dsp
samples/docvwmdi/DocViewVC.dsw
samples/dynamic/DynamicVC.dsp
samples/dynamic/DynamicVC.dsw
samples/forty/FortyVC.dsp
samples/forty/FortyVC.dsw
samples/grid/GridVC.dsp
samples/grid/GridVC.dsw
samples/help/HelpVC.dsp
samples/help/HelpVC.dsw
samples/image/ImageVC.dsp
samples/image/ImageVC.dsw
samples/internat/InternatVC.dsp
samples/internat/InternatVC.dsw
samples/joytest/JoytestVC.dsp
samples/joytest/JoytestVC.dsw
samples/layout/LayoutVC.dsp
samples/layout/LayoutVC.dsw
samples/listctrl/ListCtrlVC.dsp
samples/listctrl/ListCtrlVC.dsw
samples/mdi/MdiVC.dsp
samples/mdi/MdiVC.dsw
samples/memcheck/MemcheckVC.dsp
samples/memcheck/MemcheckVC.dsw
samples/mfc/MfcVC.dsp
samples/mfc/MfcVC.dsw
samples/minimal/MinimalVC.dsp
samples/minimal/MinimalVC.dsw
samples/minifram/MiniframVC.dsp
samples/minifram/MiniframVC.dsw
samples/nativdlg/NativdlgVC.dsp
samples/nativdlg/NativdlgVC.dsw
samples/notebook/NotebookVC.dsp
samples/notebook/NotebookVC.dsw
samples/ownerdrw/OwnerDrwVC.dsp
samples/ownerdrw/OwnerDrwVC.dsw
samples/png/PngVC.dsp
samples/png/PngVC.dsw
samples/printing/PrintingVC.dsp
samples/printing/PrintingVC.dsw
samples/Regtest/RegtestVC.dsp
samples/Regtest/RegtestVC.dsw
samples/resource/ResourceVC.dsp
samples/resource/ResourceVC.dsw
samples/sashtest/SashtestVC.dsp
samples/sashtest/SashtestVC.dsw
samples/splitter/SplitterVC.dsp
samples/splitter/SplitterVC.dsw
samples/tab/TabVC.dsp
samples/tab/TabVC.dsw
samples/taskbar/TaskbarVC.dsp
samples/taskbar/TaskbarVC.dsw
samples/thread/ThreadVC.dsp
samples/thread/ThreadVC.dsw
samples/toolbar/ToolbarVC.dsp
samples/toolbar/ToolbarVC.dsw
samples/treectrl/TreectrlVC.dsp
samples/treectrl/TreeCtrlVC.dsw
samples/typetest/TypetestVC.dsp
samples/typetest/TypetestVC.dsw
samples/validate/ValidateVC.dsp
samples/validate/ValidateVC.dsw
samples/wxsocket/ClientVC.dsp
samples/wxsocket/ServerVC.dsw
samples/wxpoem/PoemVC.dsp
samples/wxpoem/PoemVC.dsw
utils/wxprop/src/PropVC.dsp
utils/wxprop/src/PropVC.dsw
utils/wxprop/src/PropSampleVC.dsp
utils/wxprop/src/PropSampleVC.dsw
utils/dialoged/src/DialogEdVC.dsp
utils/dialoged/src/DialogEdVC.dsw
utils/tex2rtf/src/Tex2RTFVC.dsp
utils/tex2rtf/src/Tex2RTFVC.dsw
utils/glcanvas/win/GlcanvasVC.dsp
utils/glcanvas/win/GlcanvasVC.dsw
utils/glcanvas/samples/cube/CubeVC.dsp
utils/glcanvas/samples/cube/CubeVC.dsw
utils/glcanvas/samples/isosurf/IsosurfVC.dsp
utils/glcanvas/samples/isosurf/IsosurfVC.dsw
utils/glcanvas/samples/penguin/PenguinVC.dsp
utils/glcanvas/samples/penguin/PenguinVC.dsw
utils/ogl/src/OglVC.dsp
utils/ogl/src/OglVC.dsw
utils/ogl/samples/ogledit/OgleditVC.dsp
utils/ogl/samples/ogledit/OgleditVC.dsw
utils/ogl/samples/studio/StudioVC.dsp
utils/ogl/samples/studio/StudioVC.dsw
utils/wxtree/src/TreeVC.dsp
utils/wxtree/src/TreeVC.dsw
utils/wxtree/src/TreeSampleVC.dsp
utils/wxtree/src/TreeSampleVC.dsw

View File

@@ -9,29 +9,30 @@ docs/html/faq/*.htm
docs/html/faq/*.gif
docs/html/techref/*.htm
docs/html/techref/*.gif
docs/html/prologio/*.htm
docs/html/prologio/*.gif
docs/html/dialoged/*.htm
docs/html/dialoged/*.gif
docs/html/wxbuild/*.htm
docs/html/wxbuild/*.gif
docs/html/wxtab/*.htm
docs/html/wxtab/*.gif
docs/html/wxchart/*.htm
docs/html/wxchart/*.gif
docs/html/wxtree/*.htm
docs/html/wxtree/*.gif
docs/html/wxgraph/*.htm
docs/html/wxgraph/*.gif
docs/html/wxgrid/*.htm
docs/html/wxgrid/*.gif
docs/html/wxhelp/*.htm
docs/html/wxhelp/*.gif
docs/html/proplist/*.htm
docs/html/proplist/*.gif
docs/html/wxhelp2/*.htm
docs/html/wxhelp2/*.gif
docs/html/wxprop/*.htm
docs/html/wxprop/*.gif
docs/html/winstall/*.htm
docs/html/winstall/*.gif
docs/html/tex2rtf/*.htm
docs/html/tex2rtf/*.gif
docs/html/odbc/*.htm
docs/html/gettext/*.htm

View File

@@ -1,2 +0,0 @@
docs/word/odbc.doc

View File

@@ -1,10 +0,0 @@
utils/wxtree/src/*.cpp
utils/wxtree/src/*.h
utils/wxtree/src/makefile*
utils/wxtree/src/*.xbm
utils/wxtree/src/*.xpm
utils/wxtree/lib/dummy
utils/wxtree/src/*.ico
utils/wxtree/src/*.def
utils/wxtree/src/*.rc

View File

@@ -1,70 +1,27 @@
@echo off
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
set src=%wxwin
set dest=%src\deliver
if "%src" == "" goto usage
if "%dest" == "" goto usage
if "%1" == "" goto usage
if "%2" == "" goto usage
echo About to archive an external wxWindows distribution:
echo From %src
echo To %dest
echo From %1
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
echo CTRL-C if this is not correct.
pause
erase %dest\wx200*.zip
erase %dest\glcanvas.zip
erase %dest\ogl3.zip
erase %dest\tex2rtf2.zip
erase %dest\jpeg.zip
erase %2\wx200*.zip
cd %src
cd %1
echo Zipping...
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
zip32 -@ %dest\wx200user.zip < %src\distrib\msw\user.rsp
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
zip32 -@ %dest\wx200wrd.zip < %src\distrib\msw\wx_word.rsp
rem VC++ project files
zip32 -@ %dest\wx200vc.zip < %src\distrib\msw\vc.rsp
rem BC++ project files
zip32 -@ %dest\wx200bc.zip < %src\distrib\msw\bc.rsp
rem CodeWarrior project files
zip32 -@ %dest\wx200cw.zip < %src\distrib\msw\cw.rsp
rem OGL 3
zip32 -@ %dest\ogl3.zip < %src\distrib\msw\ogl.rsp
rem GLCanvas
zip32 -@ %dest\glcanvas.zip < %src\distrib\msw\glcanvas.rsp
rem Tex2RTF
zip32 -@ %dest\tex2rtf2.zip < %src\distrib\msw\tex2rtf.rsp
rem wxTreeLayout
zip32 -@ %dest\treedraw.zip < %src\distrib\msw\wxtree.rsp
rem JPEG source
zip32 -@ %dest\jpeg.zip < %src\distrib\msw\jpeg.rsp
copy %src\docs\changes.txt %dest
copy %src\docs\msw\install.txt %dest\install_msw.txt
copy %src\docs\motif\install.txt %dest\install_motif.txt
copy %src\docs\gtk\install.txt %dest\install_gtk.txt
copy %src\docs\readme.txt %dest
copy %src\docs\motif\makewxmotif %dest
copy %src\docs\gtk\makewxgtk %dest
cd %dest
cd %2
echo wxWindows archived.
goto end

View File

@@ -1,675 +0,0 @@
#! /bin/sh
#
# This script is creates a dir tree in ~/wxwine_dist which
# can then be packed into an archive
echo --------
echo This script will copy the wxWINE release files into ~/wxwine_dist
echo --------
echo
mkdir ~/wxwine_dist
mkdir ~/wxwine_dist/wxWINE
echo Base dir..
cd ../..
cp wxWINE.spec ~/wxwine_dist/wxWINE
cp Makefile.am ~/wxwine_dist/wxWINE
cp acconfig.h ~/wxwine_dist/wxWINE
cp acinclude.m4 ~/wxwine_dist/wxWINE
cp aclocal.m4 ~/wxwine_dist/wxWINE
cp configure.in ~/wxwine_dist/wxWINE
cp configure ~/wxwine_dist/wxWINE
cp config.sub ~/wxwine_dist/wxWINE
cp config.guess ~/wxwine_dist/wxWINE
cp install-sh ~/wxwine_dist/wxWINE
cp ltconfig ~/wxwine_dist/wxWINE
cp ltmain.sh ~/wxwine_dist/wxWINE
cp missing ~/wxwine_dist/wxWINE
cp mkinstalldirs ~/wxwine_dist/wxWINE
cp wx-config.in ~/wxwine_dist/wxWINE
cp setup.h.in ~/wxwine_dist/wxWINE
cp stamp-h.in ~/wxwine_dist/wxWINE
cp Makefile.in ~/wxwine_dist/wxWINE
echo Docs..
cd docs/wine
cp COPYING.LIB ~/wxwine_dist/wxWINE
cp install.txt ~/wxwine_dist/wxWINE/INSTALL.txt
cp changes.txt ~/wxwine_dist/wxWINE/CHANGES.txt
cp licence.txt ~/wxwine_dist/wxWINE/LICENCE.txt
cp readme.txt ~/wxwine_dist/wxWINE/README.txt
cp todo.txt ~/wxwine_dist/wxWINE/TODO.txt
cd ..
cp symbols.txt ~/wxwine_dist/wxWINE/SYMBOLS.txt
cd ..
echo Include dir..
mkdir ~/wxwine_dist/wxWINE/include
cd include
cp Makefile.am ~/wxwine_dist/wxWINE/include
cp Makefile.in ~/wxwine_dist/wxWINE/include
mkdir ~/wxwine_dist/wxWINE/include/wx
cd wx
cp *.h ~/wxwine_dist/wxWINE/include/wx
cp *.cpp ~/wxwine_dist/wxWINE/include/wx
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx
mkdir ~/wxwine_dist/wxWINE/include/wx/generic
cd generic
cp *.h ~/wxwine_dist/wxWINE/include/wx/generic
cp *.xpm ~/wxwine_dist/wxWINE/include/wx/generic
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/generic
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/generic
cd ..
mkdir ~/wxgtk_dist/wxGTK/include/wx/html
cd html
cp *.h ~/wxgtk_dist/wxGTK/include/wx/html
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/html
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/html
cd ..
mkdir ~/wxwine_dist/wxWINE/include/wx/unix
cd unix
cp *.h ~/wxwine_dist/wxWINE/include/wx/unix
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/unix
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/unix
cd ..
mkdir ~/wxwine_dist/wxWINE/include/wx/msw
cd msw
cp *.h ~/wxwine_dist/wxWINE/include/wx/msw
rm ~/wxwine_dist/wxWINE/include/wx/msw/setup.h
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/msw
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/msw
cd ..
mkdir ~/wxwine_dist/wxWINE/include/wx/motif
cd motif
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/motif
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/motif
cd ..
mkdir ~/wxwine_dist/wxWINE/include/wx/gtk
cd gtk
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/gtk
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/gtk
cd ..
mkdir ~/wxwine_dist/wxWINE/include/wx/protocol
cd protocol
cp *.h ~/wxwine_dist/wxWINE/include/wx/protocol
cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/protocol
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/protocol
cd ..
cd ../..
echo Misc dir..
mkdir ~/wxwine_dist/wxWINE/misc
cd misc
cp Makefile.am ~/wxwine_dist/wxWINE/misc
cp Makefile.in ~/wxwine_dist/wxWINE/misc
mkdir ~/wxwine_dist/wxWINE/misc/afm
cd afm
cp *.afm ~/wxwine_dist/wxWINE/misc/afm
cp Makefile.am ~/wxwine_dist/wxWINE/misc/afm
cp Makefile.in ~/wxwine_dist/wxWINE/misc/afm
cd ..
mkdir ~/wxwine_dist/wxWINE/misc/gs_afm
cd gs_afm
cp *.afm ~/wxwine_dist/wxWINE/misc/gs_afm
cp Makefile.am ~/wxwine_dist/wxWINE/misc/gs_afm
cp Makefile.in ~/wxwine_dist/wxWINE/misc/gs_afm
cd ../..
echo Src dir..
cd src
mkdir ~/wxwine_dist/wxWINE/src
cp Makefile.am ~/wxwine_dist/wxWINE/src
cp Makefile.in ~/wxwine_dist/wxWINE/src
cd msw
mkdir ~/wxwine_dist/wxWINE/src/msw
cp Makefile.am ~/wxwine_dist/wxWINE/src/msw
cp Makefile.in ~/wxwine_dist/wxWINE/src/msw
cp *.xbm ~/wxwine_dist/wxWINE/src/msw
cp *.c ~/wxwine_dist/wxWINE/src/msw
cp *.inc ~/wxwine_dist/wxWINE/src/msw
cp *.cpp ~/wxwine_dist/wxWINE/src/msw
cd ..
cd common
mkdir ~/wxwine_dist/wxWINE/src/common
cp glob.inc ~/wxwine_dist/wxWINE/src/common
cp lexer.l ~/wxwine_dist/wxWINE/src/common
cp parser.y ~/wxwine_dist/wxWINE/src/common
cp extended.c ~/wxwine_dist/wxWINE/src/common
cp *.cpp ~/wxwine_dist/wxWINE/src/common
cd ..
cd html
mkdir ~/wxgtk_dist/wxGTK/src/html
cp *.cpp ~/wxgtk_dist/wxGTK/src/html
cp *.h ~/wxgtk_dist/wxGTK/src/html
cd bitmaps
mkdir ~/wxgtk_dist/wxGTK/src/html/bitmaps
cp *.xpm ~/wxgtk_dist/wxGTK/src/html/bitmaps
cd ../..
cd unix
mkdir ~/wxwine_dist/wxWINE/src/unix
cp *.cpp ~/wxwine_dist/wxWINE/src/unix
cd ..
cd generic
mkdir ~/wxwine_dist/wxWINE/src/generic
cp *.cpp ~/wxwine_dist/wxWINE/src/generic
cd ..
cd iodbc
mkdir ~/wxwine_dist/wxWINE/src/iodbc
cp * ~/wxwine_dist/wxWINE/src/iodbc
cd ..
cd zlib
mkdir ~/wxwine_dist/wxWINE/src/zlib
cp * ~/wxwine_dist/wxWINE/src/zlib
cd ..
cd png
mkdir ~/wxwine_dist/wxWINE/src/png
cp * ~/wxwine_dist/wxWINE/src/png
cd ..
cd jpeg
mkdir ~/wxwine_dist/wxWINE/src/jpeg
cp * ~/wxwine_dist/wxWINE/src/jpeg
cd ..
cd ..
echo Utils dir..
cd utils
mkdir ~/wxwine_dist/wxWINE/utils
cp Makefile.am ~/wxwine_dist/wxWINE/utils
cp Makefile.in ~/wxwine_dist/wxWINE/utils
cd ..
echo Samples dir..
cd samples
mkdir ~/wxwine_dist/wxWINE/samples
cp Makefile.am ~/wxwine_dist/wxWINE/samples
cp Makefile.in ~/wxwine_dist/wxWINE/samples
echo Minimal sample..
cd minimal
mkdir ~/wxwine_dist/wxWINE/samples/minimal
cp Makefile.am ~/wxwine_dist/wxWINE/samples/minimal
cp Makefile.in ~/wxwine_dist/wxWINE/samples/minimal
cp minimal.cpp ~/wxwine_dist/wxWINE/samples/minimal
cp mondrian.xpm ~/wxwine_dist/wxWINE/samples/minimal
cd ..
echo Bombs sample..
cd bombs
mkdir ~/wxwine_dist/wxWINE/samples/bombs
cp Makefile.am ~/wxwine_dist/wxWINE/samples/bombs
cp Makefile.in ~/wxwine_dist/wxWINE/samples/bombs
cp *.cpp ~/wxwine_dist/wxWINE/samples/bombs
cp *.h ~/wxwine_dist/wxWINE/samples/bombs
cp *.xpm ~/wxwine_dist/wxWINE/samples/bombs
cd ..
echo Caret sample..
cd caret
mkdir ~/wxwine_dist/wxWINE/samples/caret
cp Makefile.am ~/wxwine_dist/wxWINE/samples/caret
cp Makefile.in ~/wxwine_dist/wxWINE/samples/caret
cp *.cpp ~/wxwine_dist/wxWINE/samples/caret
cp *.xpm ~/wxwine_dist/wxWINE/samples/caret
cd ..
echo Checklst sample..
cd checklst
mkdir ~/wxwine_dist/wxWINE/samples/checklst
cp Makefile.am ~/wxwine_dist/wxWINE/samples/checklst
cp Makefile.in ~/wxwine_dist/wxWINE/samples/checklst
cp *.cpp ~/wxwine_dist/wxWINE/samples/checklst
cp *.xpm ~/wxwine_dist/wxWINE/samples/checklst
cd ..
echo Config sample..
cd config
mkdir ~/wxwine_dist/wxWINE/samples/config
cp Makefile.am ~/wxwine_dist/wxWINE/samples/config
cp Makefile.in ~/wxwine_dist/wxWINE/samples/config
cp *.cpp ~/wxwine_dist/wxWINE/samples/config
cd ..
echo Controls sample..
cd controls
mkdir ~/wxwine_dist/wxWINE/samples/controls
cp Makefile.am ~/wxwine_dist/wxWINE/samples/controls
cp Makefile.in ~/wxwine_dist/wxWINE/samples/controls
cp *.cpp ~/wxwine_dist/wxWINE/samples/controls
cp *.xpm ~/wxwine_dist/wxWINE/samples/controls
cd icons
mkdir ~/wxwine_dist/wxWINE/samples/controls/icons
cp *.xpm ~/wxwine_dist/wxWINE/samples/controls/icons
cd ../..
echo Db sample..
cd db
mkdir ~/wxwine_dist/wxWINE/samples/db
cp Makefile.am ~/wxwine_dist/wxWINE/samples/db
cp Makefile.in ~/wxwine_dist/wxWINE/samples/db
cp *.cpp ~/wxwine_dist/wxWINE/samples/db
cp *.h ~/wxwine_dist/wxWINE/samples/db
cp *.xpm ~/wxwine_dist/wxWINE/samples/db
cd ..
echo DDE sample..
cd dde
mkdir ~/wxwine_dist/wxWINE/samples/dde
cp Makefile.am ~/wxwine_dist/wxWINE/samples/dde
cp Makefile.in ~/wxwine_dist/wxWINE/samples/dde
cp *.cpp ~/wxwine_dist/wxWINE/samples/dde
cp *.h ~/wxwine_dist/wxWINE/samples/dde
cp *.xpm ~/wxwine_dist/wxWINE/samples/dde
cd ..
echo Dialogs sample..
cd dialogs
mkdir ~/wxwine_dist/wxWINE/samples/dialogs
cp Makefile.am ~/wxwine_dist/wxWINE/samples/dialogs
cp Makefile.in ~/wxwine_dist/wxWINE/samples/dialogs
cp *.cpp ~/wxwine_dist/wxWINE/samples/dialogs
cp *.h ~/wxwine_dist/wxWINE/samples/dialogs
cd ..
echo DnD sample..
cd dnd
mkdir ~/wxwine_dist/wxWINE/samples/dnd
cp Makefile.am ~/wxwine_dist/wxWINE/samples/dnd
cp Makefile.in ~/wxwine_dist/wxWINE/samples/dnd
cp *.cpp ~/wxwine_dist/wxWINE/samples/dnd
cp *.xpm ~/wxwine_dist/wxWINE/samples/dnd
cd ..
echo Docview sample..
cd docview
mkdir ~/wxwine_dist/wxWINE/samples/docview
cp Makefile.am ~/wxwine_dist/wxWINE/samples/docview
cp Makefile.in ~/wxwine_dist/wxWINE/samples/docview
cp *.cpp ~/wxwine_dist/wxWINE/samples/docview
cp *.h ~/wxwine_dist/wxWINE/samples/docview
cp *.xpm ~/wxwine_dist/wxWINE/samples/docview
cd ..
echo DocvwMDI sample..
cd docvwmdi
mkdir ~/wxwine_dist/wxWINE/samples/docvwmdi
cp Makefile.am ~/wxwine_dist/wxWINE/samples/docvwmdi
cp Makefile.in ~/wxwine_dist/wxWINE/samples/docvwmdi
cp *.cpp ~/wxwine_dist/wxWINE/samples/docvwmdi
cp *.h ~/wxwine_dist/wxWINE/samples/docvwmdi
cd ..
echo Dynamic sample..
cd dynamic
mkdir ~/wxwine_dist/wxWINE/samples/dynamic
cp Makefile.am ~/wxwine_dist/wxWINE/samples/dynamic
cp Makefile.in ~/wxwine_dist/wxWINE/samples/dynamic
cp *.cpp ~/wxwine_dist/wxWINE/samples/dynamic
cp *.xpm ~/wxwine_dist/wxWINE/samples/dynamic
cd ..
echo Drawing sample..
cd drawing
mkdir ~/wxwine_dist/wxWINE/samples/drawing
cp Makefile.am ~/wxwine_dist/wxWINE/samples/drawing
cp Makefile.in ~/wxwine_dist/wxWINE/samples/drawing
cp *.cpp ~/wxwine_dist/wxWINE/samples/drawing
cp *.xpm ~/wxwine_dist/wxWINE/samples/drawing
cd ..
echo Forty sample..
cd forty
mkdir ~/wxwine_dist/wxWINE/samples/forty
cp Makefile.am ~/wxwine_dist/wxWINE/samples/forty
cp Makefile.in ~/wxwine_dist/wxWINE/samples/forty
cp *.cpp ~/wxwine_dist/wxWINE/samples/forty
cp *.h ~/wxwine_dist/wxWINE/samples/forty
cp *.xpm ~/wxwine_dist/wxWINE/samples/forty
cp *.xbm ~/wxwine_dist/wxWINE/samples/forty
cd ..
echo Fractal sample..
cd fractal
mkdir ~/wxwine_dist/wxWINE/samples/fractal
cp Makefile.am ~/wxwine_dist/wxWINE/samples/fractal
cp Makefile.in ~/wxwine_dist/wxWINE/samples/fractal
cp *.cpp ~/wxwine_dist/wxWINE/samples/fractal
cd ..
echo Grid sample..
cd grid
mkdir ~/wxwine_dist/wxWINE/samples/grid
cp Makefile.am ~/wxwine_dist/wxWINE/samples/grid
cp Makefile.in ~/wxwine_dist/wxWINE/samples/grid
cp *.cpp ~/wxwine_dist/wxWINE/samples/grid
cd ..
echo Help sample..
cd help
mkdir ~/wxwine_dist/wxWINE/samples/help
cp Makefile.am ~/wxwine_dist/wxWINE/samples/help
cp Makefile.in ~/wxwine_dist/wxWINE/samples/help
cp *.cpp ~/wxwine_dist/wxWINE/samples/help
cp *.xpm ~/wxwine_dist/wxWINE/samples/help
cd doc
mkdir ~/wxwine_dist/wxWINE/samples/help/doc
cp * ~/wxwine_dist/wxWINE/samples/help/doc
cd ../..
echo Image sample..
cd image
mkdir ~/wxwine_dist/wxWINE/samples/image
cp Makefile.am ~/wxwine_dist/wxWINE/samples/image
cp Makefile.in ~/wxwine_dist/wxWINE/samples/image
cp *.cpp ~/wxwine_dist/wxWINE/samples/image
cp horse.png ~/wxwine_dist/wxWINE/samples/image
cp horse.gif ~/wxwine_dist/wxWINE/samples/image
cp horse.jpg ~/wxwine_dist/wxWINE/samples/image
cd ..
echo Internat sample..
cd internat
mkdir ~/wxwine_dist/wxWINE/samples/internat
cp Makefile.am ~/wxwine_dist/wxWINE/samples/internat
cp Makefile.in ~/wxwine_dist/wxWINE/samples/internat
cp *.cpp ~/wxwine_dist/wxWINE/samples/internat
cp *.xpm ~/wxwine_dist/wxWINE/samples/internat
cp readme.txt ~/wxwine_dist/wxWINE/samples/internat
cp wxstd.po ~/wxwine_dist/wxWINE/samples/internat
cd fr
mkdir ~/wxwine_dist/wxWINE/samples/internat/fr
cp *.?o ~/wxwine_dist/wxWINE/samples/internat/fr
cd ../..
echo Layout sample..
cd layout
mkdir ~/wxwine_dist/wxWINE/samples/layout
cp Makefile.am ~/wxwine_dist/wxWINE/samples/layout
cp Makefile.in ~/wxwine_dist/wxWINE/samples/layout
cp *.cpp ~/wxwine_dist/wxWINE/samples/layout
cp *.h ~/wxwine_dist/wxWINE/samples/layout
cd ..
echo Listctrl sample..
cd listctrl
mkdir ~/wxwine_dist/wxWINE/samples/listctrl
cp Makefile.am ~/wxwine_dist/wxWINE/samples/listctrl
cp Makefile.in ~/wxwine_dist/wxWINE/samples/listctrl
cp *.cpp ~/wxwine_dist/wxWINE/samples/listctrl
cp *.h ~/wxwine_dist/wxWINE/samples/listctrl
cp *.xpm ~/wxwine_dist/wxWINE/samples/listctrl
cd bitmaps
mkdir ~/wxwine_dist/wxWINE/samples/listctrl/bitmaps
cp *.xpm ~/wxwine_dist/wxWINE/samples/listctrl/bitmaps
cd ../..
echo MDI sample..
cd mdi
mkdir ~/wxwine_dist/wxWINE/samples/mdi
cp Makefile.am ~/wxwine_dist/wxWINE/samples/mdi
cp Makefile.in ~/wxwine_dist/wxWINE/samples/mdi
cp *.cpp ~/wxwine_dist/wxWINE/samples/mdi
cp *.h ~/wxwine_dist/wxWINE/samples/mdi
cp *.xpm ~/wxwine_dist/wxWINE/samples/mdi
cd bitmaps
mkdir ~/wxwine_dist/wxWINE/samples/mdi/bitmaps
cp *.xpm ~/wxwine_dist/wxWINE/samples/mdi/bitmaps
cd ../..
echo Memcheck sample..
cd memcheck
mkdir ~/wxwine_dist/wxWINE/samples/memcheck
cp Makefile.am ~/wxwine_dist/wxWINE/samples/memcheck
cp Makefile.in ~/wxwine_dist/wxWINE/samples/memcheck
cp *.cpp ~/wxwine_dist/wxWINE/samples/memcheck
cp *.xpm ~/wxwine_dist/wxWINE/samples/memcheck
cd ..
echo Minifram sample..
cd minifram
mkdir ~/wxwine_dist/wxWINE/samples/minifram
cp Makefile.am ~/wxwine_dist/wxWINE/samples/minifram
cp Makefile.in ~/wxwine_dist/wxWINE/samples/minifram
cp *.cpp ~/wxwine_dist/wxWINE/samples/minifram
cp *.h ~/wxwine_dist/wxWINE/samples/minifram
cp *.xpm ~/wxwine_dist/wxWINE/samples/minifram
cd bitmaps
mkdir ~/wxwine_dist/wxWINE/samples/minifram/bitmaps
cp *.xpm ~/wxwine_dist/wxWINE/samples/minifram/bitmaps
cd ../..
echo Notebook sample..
cd notebook
mkdir ~/wxwine_dist/wxWINE/samples/notebook
cp Makefile.am ~/wxwine_dist/wxWINE/samples/notebook
cp Makefile.in ~/wxwine_dist/wxWINE/samples/notebook
cp *.cpp ~/wxwine_dist/wxWINE/samples/notebook
cp *.h ~/wxwine_dist/wxWINE/samples/notebook
cd ..
echo PNG sample..
cd png
mkdir ~/wxwine_dist/wxWINE/samples/png
cp Makefile.am ~/wxwine_dist/wxWINE/samples/png
cp Makefile.in ~/wxwine_dist/wxWINE/samples/png
cp *.cpp ~/wxwine_dist/wxWINE/samples/png
cp *.h ~/wxwine_dist/wxWINE/samples/png
cp *.png ~/wxwine_dist/wxWINE/samples/png
cd ..
echo Printing sample..
cd printing
mkdir ~/wxwine_dist/wxWINE/samples/printing
cp Makefile.am ~/wxwine_dist/wxWINE/samples/printing
cp Makefile.in ~/wxwine_dist/wxWINE/samples/printing
cp *.cpp ~/wxwine_dist/wxWINE/samples/printing
cp *.h ~/wxwine_dist/wxWINE/samples/printing
cp *.xpm ~/wxwine_dist/wxWINE/samples/printing
cd ..
echo Proplist sample..
cd proplist
mkdir ~/wxwine_dist/wxWINE/samples/proplist
cp Makefile.am ~/wxwine_dist/wxWINE/samples/proplist
cp Makefile.in ~/wxwine_dist/wxWINE/samples/proplist
cp *.cpp ~/wxwine_dist/wxWINE/samples/proplist
cp *.h ~/wxwine_dist/wxWINE/samples/proplist
cd ..
echo Resource sample..
cd resource
mkdir ~/wxwine_dist/wxWINE/samples/resource
cp Makefile.am ~/wxwine_dist/wxWINE/samples/resource
cp Makefile.in ~/wxwine_dist/wxWINE/samples/resource
cp *.cpp ~/wxwine_dist/wxWINE/samples/resource
cp *.h ~/wxwine_dist/wxWINE/samples/resource
cp *.wxr ~/wxwine_dist/wxWINE/samples/resource
cd ..
echo Sashtest sample..
cd sashtest
mkdir ~/wxwine_dist/wxWINE/samples/sashtest
cp Makefile.am ~/wxwine_dist/wxWINE/samples/sashtest
cp Makefile.in ~/wxwine_dist/wxWINE/samples/sashtest
cp *.cpp ~/wxwine_dist/wxWINE/samples/sashtest
cp *.h ~/wxwine_dist/wxWINE/samples/sashtest
cd ..
echo Scroll sample..
cd sashtest
mkdir ~/wxwine_dist/wxWINE/samples/scroll
cp Makefile.am ~/wxwine_dist/wxWINE/samples/scroll
cp Makefile.in ~/wxwine_dist/wxWINE/samples/scroll
cp *.cpp ~/wxwine_dist/wxWINE/samples/scroll
cp *.h ~/wxwine_dist/wxWINE/samples/scroll
cd ..
echo Splitter sample..
cd splitter
mkdir ~/wxwine_dist/wxWINE/samples/splitter
cp Makefile.am ~/wxwine_dist/wxWINE/samples/splitter
cp Makefile.in ~/wxwine_dist/wxWINE/samples/splitter
cp *.cpp ~/wxwine_dist/wxWINE/samples/splitter
cd ..
echo Tab sample..
cd tab
mkdir ~/wxwine_dist/wxWINE/samples/tab
cp Makefile.am ~/wxwine_dist/wxWINE/samples/tab
cp Makefile.in ~/wxwine_dist/wxWINE/samples/tab
cp *.cpp ~/wxwine_dist/wxWINE/samples/tab
cp *.h ~/wxwine_dist/wxWINE/samples/tab
cd ..
echo Text sample..
cd text
mkdir ~/wxwine_dist/wxWINE/samples/text
cp Makefile.am ~/wxwine_dist/wxWINE/samples/text
cp Makefile.in ~/wxwine_dist/wxWINE/samples/text
cp *.cpp ~/wxwine_dist/wxWINE/samples/text
cd ..
echo Thread sample..
cd thread
mkdir ~/wxwine_dist/wxWINE/samples/thread
cp Makefile.am ~/wxwine_dist/wxWINE/samples/thread
cp Makefile.in ~/wxwine_dist/wxWINE/samples/thread
cp *.cpp ~/wxwine_dist/wxWINE/samples/thread
cd ..
echo Toolbar sample..
cd toolbar
mkdir ~/wxwine_dist/wxWINE/samples/toolbar
cp Makefile.am ~/wxwine_dist/wxWINE/samples/toolbar
cp Makefile.in ~/wxwine_dist/wxWINE/samples/toolbar
cp *.cpp ~/wxwine_dist/wxWINE/samples/toolbar
cp *.h ~/wxwine_dist/wxWINE/samples/toolbar
cp *.xpm ~/wxwine_dist/wxWINE/samples/toolbar
cd bitmaps
mkdir ~/wxwine_dist/wxWINE/samples/toolbar/bitmaps
cp *.xpm ~/wxwine_dist/wxWINE/samples/toolbar/bitmaps
cd ../..
echo TreeCtrl sample..
cd treectrl
mkdir ~/wxwine_dist/wxWINE/samples/treectrl
cp Makefile.am ~/wxwine_dist/wxWINE/samples/treectrl
cp Makefile.in ~/wxwine_dist/wxWINE/samples/treectrl
cp *.cpp ~/wxwine_dist/wxWINE/samples/treectrl
cp *.h ~/wxwine_dist/wxWINE/samples/treectrl
cp *.xpm ~/wxwine_dist/wxWINE/samples/treectrl
cd ..
echo typetest sample..
cd typetest
mkdir ~/wxwine_dist/wxWINE/samples/typetest
cp Makefile.am ~/wxwine_dist/wxWINE/samples/typetest
cp Makefile.in ~/wxwine_dist/wxWINE/samples/typetest
cp *.cpp ~/wxwine_dist/wxWINE/samples/typetest
cp *.h ~/wxwine_dist/wxWINE/samples/typetest
cp *.xpm ~/wxwine_dist/wxWINE/samples/typetest
cd ..
echo Validate sample..
cd validate
mkdir ~/wxwine_dist/wxWINE/samples/validate
cp Makefile.am ~/wxwine_dist/wxWINE/samples/validate
cp Makefile.in ~/wxwine_dist/wxWINE/samples/validate
cp *.cpp ~/wxwine_dist/wxWINE/samples/validate
cp *.h ~/wxwine_dist/wxWINE/samples/validate
cp *.xpm ~/wxwine_dist/wxWINE/samples/validate
cd ..
echo wxPoem sample..
cd wxpoem
mkdir ~/wxwine_dist/wxWINE/samples/wxpoem
cp Makefile.am ~/wxwine_dist/wxWINE/samples/wxpoem
cp Makefile.in ~/wxwine_dist/wxWINE/samples/wxpoem
cp *.cpp ~/wxwine_dist/wxWINE/samples/wxpoem
cp *.h ~/wxwine_dist/wxWINE/samples/wxpoem
cp *.xpm ~/wxwine_dist/wxWINE/samples/wxpoem
cp wxpoem.dat ~/wxwine_dist/wxWINE/samples/wxpoem
cp wxpoem.txt ~/wxwine_dist/wxWINE/samples/wxpoem
cp wxpoem.idx ~/wxwine_dist/wxWINE/samples/wxpoem
cd ..
echo wxSocket sample..
cd wxsocket
mkdir ~/wxwine_dist/wxWINE/samples/wxsocket
cp Makefile.am ~/wxwine_dist/wxWINE/samples/wxsocket
cp Makefile.in ~/wxwine_dist/wxWINE/samples/wxsocket
cp *.cpp ~/wxwine_dist/wxWINE/samples/wxsocket
cp *.xpm ~/wxwine_dist/wxWINE/samples/wxsocket
cd ../..
cd ~/wxwine_dist
tar ch wxWINE | gzip -f9 > wxWINE-2.1.0-b7.tgz

View File

@@ -1,54 +0,0 @@
wxWindows Buglist
-----------------
wxGTK:
------
- It is impossible to reposition a window before showing it
on screen. Suspected GTK bug.
- DnD does only moderately work.
wxMSW:
------
- TODO
wxMotif:
--------
- If a popup wxMenu is destroyed after its parent window has been
destroyed, we get the message "Object XXX does not have windowed
ancestor".
Workaround: delete the menu before deleting the window on which it
was popped up.
Possible fix: call menu->DestroyMenu() before deleting the window,
if the window knows about the menu that was last popped up (hard
to know this with confidence).
- In wxGrid, cell highlight is not drawn/erased properly.
- Setting the size of a hidden window may show that window.
- wxRadioBox sometimes doesn't show (e.g. in controls sample).
- Can't set the colours for the buttons in the file selector, for
some reason.
- On SGI IRIX 6.4, XtDestroyWidget in ~wxWindow causes a crash in
some cicumstances. This is being looked into. Meanwhile, a
possible workaround is to remove the final XtDestroyWidget line in ~wxWindow
(window.cpp). This will mean that child windows will only get
destroyed when frames and dialogs are destroyed, so dynamic subwindow
deletion may not work properly.
- There are reports that scrolling can cause crashes under Lesstif.
This is probably a Lesstif bug.
General:
--------
- Dialog Editor could be more user-friendly. Controls are hard to
size and position accurately. No way of changing tab order
except by editing .wxr file.

View File

@@ -1,430 +1,18 @@
wxWindows 2 Change Log
----------------------
Generic wxWindows 2.0 Change Log
--------------------------------
2.1.0, b?, June 2nd 1999
------------------------
wxGTK:
wxMSW:
wxMotif:
General:
- Fixed day_of_week bug (Peter Stadel).
- Added Inside(), SetLeft/Right/Top/Bottom, +, += to wxRect.
2.1.0, b4, May 9th 1999
-----------------------
wxGTK:
- JPEG support added.
- Many fixes and changes not thought worth mentioning in this file :-)
wxMSW:
- wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added;
SetTabSize added.
- JPEG support added.
- Fixes for Cygwin compilation.
- Added wxGA_SMOOTH and wxFRAME_FLOAT_ON_PARENT styles.
- Many fixes people didn't tell this file about.
wxMotif:
General:
- Some changes for Unicode support, including wxchar.h/cpp.
2.0.1 (release), March 1st 1999
-------------------------------
wxGTK:
- wxGLCanvas fixes.
- Slider/spinbutton fixes.
wxMSW:
- Fixed problems with <return> in dialogs/panels.
- Fixed window cursor setting.
- Fixed toolbar sizing and edge-clipping problems.
- 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
--------------------------
wxGTK:
- wxExecute improved.
wxMSW:
- Fixed wxWindow::IsShown (::IsWindowVisible doesn't behave as
expected).
- Changed VC++ makefiles (.vc) so that it's possible to have
debug/release/DLL versions of the library available simultaneously,
with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll).
- Added BC++ 5 IDE files and instructions.
- Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation).
- Fixed focus-related crash.
wxMotif:
- Cured asynchronous wxExecute crash.
- Added repaint event handlers to wxFrame, wxMDIChildFrame.
General:
- wxLocale documented.
- Added include filenames to class reference.
- wxHelpController API changed: SetBrowser becomes SetViewer,
DisplaySection works for WinHelp, help sample compiles under Windows
(though doesn't display help yet).
Beta 4, February 12th 1999
--------------------------
wxGTK:
- Miscellaneous fixes.
wxMSW:
- Makefiles for more compilers and samples; Cygwin makefiles
rationalised.
- Added VC++ project file for compiling wxWindows as DLL.
wxMotif:
- Added OnEraseBackground invocation.
- Added wxRETAINED implementation for wxScrolledWindow.
- Cured scrolling display problem by adding XmUpdateDisplay.
- Tried to make lex-ing in the makefile more generic (command line
syntax should apply to both lex and flex).
- Changed file selector colours for consistency (except for buttons:
crashes for some reason).
- Fixed wxMotif version of wxImage::ConvertToBitmap (used new instead
of malloc, which causes memory problems).
General:
- Further doc improvements.
- wxGenericValidator added.
- Added wxImageModule to image.cpp, so adds/cleans up standard handlers
automatically.
Beta 3, January 31st 1999
-------------------------
wxGTK:
- wxClipboard/DnD API changes (still in progress).
- wxToolTip class added.
- Miscellaneous fixes.
wxMSW:
- wxRegConfig DeleteAll bug fixed.
- Makefiles for more compilers.
- TWIN32 support added.
- Renamed VC++ makefiles from .nt to .vc, and
factored out program/library settings.
- Fixed wxIniConfig bug.
wxMotif:
- A few more colour fixes.
- wxGLCanvas and OpenGL samples working.
- Some compiler warnings fixed.
- wxChoice crash fix.
- Dialog Editor starting to work on Motif.
General:
- wxBusyCursor class added.
- Added samples/dde.
- More doc improvements, incl. expanding docs/html/index.htm.
Beta 2, January 1999
--------------------
wxGTK:
wxMSW:
- 16-bit BC++ compilation/linking works albeit without the resource system.
wxMotif:
- Cured wxScreenDC origin problem so e.g. sash window sash is drawn at
the right place.
- Cured some widget table clashes.
- Added thread support (Robert).
- wxPoem sample now works.
General:
- Rearranged documentation a bit.
- Sash window uses area of first frame/dialog to paint over when drawing
the dragged sash, not just the sash window itself (it clipped to the right
or below).
- Made resource sample use the correct Cancel button id.
- Moved wxProp to main library (generic directory), created proplist
sample.
- Added bombs and fractal samples.
Beta 1, December 24th 1998
--------------------------
wxGTK:
- Various
wxMSW, wxMotif: not in sync with this release.
Alpha 18, December 29th 1998
----------------------------
wxMSW:
- Win16 support working again (VC++ 1.5)
- Win16 now uses generic wxNotebook, wxListCtrl,
wxTreeCtrl -- more or less working now, although
a little work on wxNotebook is still needed.
Under 16-bit Windows, get assertion when you click
on a tab.
- Wrote 16-bit BC++ makefiles: samples don't yet link.
- Added CodeWarrior support to distribution courtesy
of Stefan Csomor.
wxMotif:
- Cured scrolling problem: scrollbars now show/hide themselves
without (permanently) resizing the window.
- Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars
that disabled scrollbar paging.
- Set background colour of drawing area in wxWindow, so e.g. wxListCtrl
colours correctly.
- Removed major bug whereby dialogs were unmanaged automatically
when any button was pressed.
- Fixed colours of wxWindow scrollbars, made list and text controls
have a white background.
- Fixed dialog colour setting.
- Added settable fonts and colours for wxMenu/wxMenuBar. Now
they have sensible colours by default.
- Fixed a bug in wxStaticBox.
- Cured wxTreeCtrl bug: now works pretty well!
- Debugged DrawEllipticArc (a ! in the wrong place).
- Added SetClippingRegion( const wxRegion& region ).
- Added wxPoint, wxSize, wxRect versions of SetSize etc.
Alpha 17, November 22nd 1998
----------------------------
wxMSW:
- More documentation updates, especially for
wxLayoutWindow classes and debugging facilities.
- Changed wxDebugContext to use wxDebugLog instead
of wxTrace.
- Now supports VC++ 6.0, and hopefully BC++ 5.0.
However, DLL support may be broken for BC++ since
VC++ 6 required changing of WXDLLEXPORT keyword
position.
- Numerous miscellaneous changes.
wxMotif:
- Reimplemented MDI using wxNotebook instead of the MDI widgets, which
were too buggy (probably not design for dynamic addition/removal of
child frames).
- Some improvements to the wxNotebook implementation.
- wxToolBar now uses a bulletin board instead of a form, in an attempt
to make it possible to add ordinary wxControls to a toolbar.
- Cured problem with not being able to use global memory operators,
by defining two more global operators, so that the delete will match
the debugging implementation.
- Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using
global memory operators (usually OK) and #defining new to be
WXDEBUG_NEW (sometimes it might not be OK).
- Added time.cpp to makefile; set wxUSE_DATETIME to 1.
- Added a parent-existance check to popup menu code to make it not crash.
- Added some optimization in wxWindow::SetSize to produce less flicker.
It remains to be seen whether this produces any resize bugs.
It's a long time since I updated this file. Previously done:
- wxFrame, wxDialog done.
- wxScrolledWindow done (but backing pixmap not used at present).
- wxBitmap done though could be tidied it up at some point.
- Most basic controls are there, if not rigorously tested.
- Some MDI support (menus appear on child frames at present).
- wxNotebook almost done.
- wxToolBar done (horizontal only, which would be easy to extend
to vertical toolbars).
More recently:
- Colour and font changing done (question mark over what happens
to scrollbars).
- Accelerators done (for menu items and buttons). Also event loop
tidied up in wxApp so that events are filtered through ProcessXEvent.
- wxWindow::GetUpdateRegion should now work.
Alpha 16, September 8th 1998
----------------------------
wxMSW:
- Added wxSashWindow, wxSashLayoutWindow classes, and sashtest
sample.
- Guilhem's socket classes added, plus wxsocket sample.
- A few more makefiles added.
- GnuWin32/BC++ compatibility mods.
- Further doc updates.
- wxProp updates for correct working with wxGTK.
wxMotif:
- First start at Motif port.
- Made makefiles for wxMotif source directory and minimal sample.
- First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
wxMenu, wxMenuItem, wxMenuBar
Alpha 15, August 31st 1998
--------------------------
wxMSW:
- wxBitmap debugged.
- wxDC::GetDepth added.
- Contribution added whereby wxBitmap will be
converted to DC depth if they don't match.
- wxConfig API improved, documentation updated.
- Printing classes name conventions cleaned up.
- wxUpdateUIEvent now derives from wxCommandEvent
so event can travel up the window hierachy.
Alpha 14, July 31st 1998
------------------------
wxMSW:
- Toolbar API has been simplified, and now
wxFrame::GetClientArea returns the available client
area when toolbar, status bar etc. have been accounted for.
wxFrame::CreateToolBar added in line with CreateStatusBar.
- Documentation updates, incl. for wxToolBar.
- New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
- Various additions from other folk, e.g. streams, wxConfig
changes, wxNotebook.
- Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
Alpha 13, July 8th 1998
-----------------------
wxMSW:
- Implemented wxPoint as identical to POINT on Windows, and
altered wxDC wxPoint functions to use wxPoint directly in
Windows functions, for efficiency.
- Cured wxASSERT bug in wxStatusBar95.
- #ifdefed out some bits in oleutils.cpp for compilers that
don't support it.
- Added some operators to wxPoint, wxSize.
- Added inline wxDC functions using wxPoint, wxSize, wxRect.
Alpha 12, July 7th 1998
-----------------------
wxMSW:
- Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
have flat toolbars on Win98 or Win95 with IE >= 3 installed.
Note: for platform-specific changes, see wx/docs/XXX/changes.txt
where XXX is one of msw, motif, xt, gtk, mac.
Alpha 11, July 3rd 1998
-----------------------
wxMSW:
- Added thread.h, thread.cpp.
- Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
wxMenuBar.
- Changed wxMenuItem::SetBackColor to SetBackgroundColour,
SetTextColor to SetTextColour, and added or made public several
wxMenuItem accessors.
- Added two overloads to wxRegion::Contains. Added
wxRegion::IsEmpty for a more consistent naming convention.
- Added Vadim's wxDataObject and wxDropSource.
- ENTER/LEAVE events now work.
- Cured wxMemoryDC bug where the DC wasn't being deleted.
- Cured wxGauge SetSize major bugginess.
- Cured problem where if a GDI object was created on the stack,
then went out of scope, then another object was selected into
the DC, GDI objects would leak. This is because the assignment
to e.g. wxDC::m_pen would delete the GDI object without it first
being selected out of the DC. Cured by selecting the old DC object
first, then doing the assignment.
- Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95
- Various other bug fixes and additions.
Generic:
- Major work on Dialog Editor (still plenty to go).
- Expanded documentation a bit more.
Alpha 10, May 7th 1998
----------------------
wxMSW:
- Added desiredWidth, desiredHeight parameters to wxBitmapHandler
and wxIcon functions so that you can specify what size of
icon should be loaded. Probably will remain a Windows-specific thing.
- wxStatusBar95 now works for MDI frames.
- Toolbars in MDI frames now behave normally. They still
require application-supplied positioning code though.
- Changed installation instructions, makefiles and batch files
for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
change to support Mingw32/EGCS. Bison now used by default.
Alpha 9, April 27th 1998
------------------------
wxMSW:
- Cured bug in wxStatusBar95 that caused a crash if multiple
fields were used.
- Added Gnu-Win32 b19/Mingw32 support by changing resource
compilation and pragmas.
- Cured wxMenu bug introduced in alpha 8 - didn't respond to
commands because VZ changed the id setting in wxMenu::MSWCommand.
Generic:
- Corrected some bugs, such as the wxModule compilation problem.
- Added Gnu-Win32 b19/Mingw32 support by changing resource
compilation and pragmas.
@@ -433,32 +21,6 @@ Generic:
Alpha 8, April 17th 1998
------------------------
wxMSW:
- Added IsNull to wxGDIObject to check if the ref data is present or not.
- Added PNG handler and sample - doesn't work for 16-bit PNGs for
some reason :-(
- Added wxJoystick class and event handling, and simple demo.
- Added simple wxWave class. Needs Stop() function.
- Added wxModule (module.h/module.cpp) to allow definition
of modules to be initialized and cleaned up on wxWindows
startup/exit.
- Start of Mingw32 compatibility (see minimal and dialogs samples
makefile.m95 files, and install.txt).
- Note: Windows printing has stopped working... will investigate.
VADIM'S CHANGES:
- Updated wxString: bug fixes, added wxArrayString, some
compatibility functions.
- Updated log.h/cpp, added wxApp::CreateLogTarget.
- file.h: new wxTempFile class.
- defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
- statbr95: wxStatusBar95 control.
- registry.h/cpp: wxRegKey class for Win95 registry.
- listbox.cpp: corrected some bugs with owner-drawn listboxes.
- wxConfig and wxFileConfig classes.
Generic:
- Added src/other/png, src/other/zlib directories.
- Added samples/png.
- IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
@@ -469,27 +31,6 @@ Generic:
Alpha 7, March 30th 1998
------------------------
wxMSW:
- Added tab classes, tab sample.
- Now can return FALSE from OnInit and windows will be
cleaned up properly before exit.
- Improved border handling so panels don't get borders
automatically.
- Debugged MDI activation from Window menu.
- Changes to memory debug handling, including checking for
memory leaks on application exit - but see issues.txt for
unresolved issues.
- Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
to allow maintenance of an icon in the Windows 95 taskbar
tray area.
- Got MFC sample working (MFC and wxWindows in the same
application), partly by tweaking ntwxwin.mak settings.
- Got DLL compilation working again (VC++).
- Changed wxProp/Dialog Editor filenames.
Generic:
- Added tab classes, tab sample.
- Revised memory.cpp, memory.h slightly; memory.h now #defines
new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
@@ -507,36 +48,6 @@ Generic:
Alpha 6, March 10th 1998
------------------------
wxMSW:
- Found stack error bug - stopped unwanted OnIdle recursion.
- Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
- Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
check if the number of top-level windows is zero before
exiting. Also, wxApp::GetTopWindow will return either
m_topWindow or the first member of wxTopLevelWindows, so you
don't have to call wxApp::SetTopWindow.
- Added dynarray.h/dynarray.cpp (from Vadim).
- Added first cut at OLE drag and drop (from Vadim). dnd sample
added. Drop target only at this stage. See src/msw/ole/*.cpp,
wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
Doesn't work with GnuWin32 - no appropriate headers e.g. for
IUnknown.
Doesn't work with BC++ either - crashes on program startup.
- Added Vadim's owner-draw modifications - will probably remain
Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
- Added wxLB_OWNERDRAW for owner-draw listboxes.
- Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
Doesn't entirely work for WIN16.
- Vadim has added wxMenuItem as a separate file menuitem.cpp. It
can also be used as an argument to wxMenu::Append, not just for
internal implementation.
- Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
in makeg95.env, together with mingw32.bat). However, resource
binding is not working yet so most apps with dialogs crash.
Generic:
- Added Vadim's dynarray.h, dynarray.cpp.
- Added Vadim's menuitem.cpp.
- Added Windows-specific wxCheckListBox,
@@ -546,23 +57,6 @@ Generic:
Alpha 5, 14th February 1998
--------------------------
wxMSW:
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
DISTRIBUTIONS. This change log will therefore now refer to
the Windows-specific code only. See docs/changes.txt for generic
changes.
- Removed Windows-specific reference counting system (GDI
resources were cleaned up in idle time) - minimal
advantages now we have a wxWin reference counting system.
- Added missing WXDLLEXPORT keywords so DLL compilation works
again.
- Removed most warnings for GnuWin32 compilation.
- Added wxRegion/wxRegionIterator, but haven't yet used it in
e.g. wxDC.
Generic:
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
DISTRIBUTIONS. This change log will therefore now refer to
the generic code only. See docs/msw/changes.txt for Windows-specific
@@ -595,8 +89,6 @@ Generic:
Alpha 4, 31st January 1998
--------------------------
All:
- Changed wxDC functions to take longs instead of floats. GetSize now takes
integer pointers, plus a version that returns a wxSize.
- const keyword added to various wxDC functions.
@@ -650,8 +142,6 @@ All:
Alpha 3, September 1997
-----------------------
All:
- wxListCtrl, wxTreeCtrl, wxImageList classes done.
- Instigated new file hierarchy, split files and classes up more logically.
- PrologIO and some other utils now put into core library.
@@ -661,8 +151,6 @@ All:
Alpha 2, 30th April 1997
------------------------
All:
- EVT_... macros now have at least one argument, for conformance
with MetroWerks compiler.
- Added ids to .wxr file format.
@@ -682,8 +170,6 @@ All:
Alpha 1, 5th April 1997
-----------------------
Generic:
At this point, the following has been achieved:
- A lot, but not all, of the code has been revamped for better

View File

@@ -1,339 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

View File

@@ -1,528 +0,0 @@
6th August '99: Eight wxGTK 2.1 snapshot released
The new makefile system is not able to produce shared libraries
on Unix with the exception of Linux - libtool is really great.
Therefore, the build system defaults to static libraries on
anything but Linux for now.
Work in wxPen, wxBrush and wxDC to match wxMSW more exactly and
to implement missing feature etc.
Reimplemented radio buttons. The first of a group of such buttons
is now marked by having the wxRB_GROUP style.
Complete redesign of all stream classes, including tests for them
in the samples.
Controls now send the same messages (or more importantly none if
changed programmatically) as per wxMSW.
New implementation of wxSocket using an intermediate library called
GSocket. This willl hopefully change in the future.
Reworked in-place editing of wxListCtrl and wxTreeCtrl.
Fixed bug reporting two refreshes when scrolling.
Corrected bug in wxComboBox client data code.
Corrected reported but unverified bug in BMP loading code.
Added a few more methods to wxStaticBitmap.
Integration of wxHTML code in the main library, including wxZIPStream,
wxFilesystem, wxHTMLHelpController and others.
Added a wrapper for ffile() etc functions.
Updates to wxDynamicLibrary.
New documentation.
New version of wxPython, of course.
Fixed in unenclosed number of other bugs...
25th June '99: Seventh wxGTK 2.1 snapshot released
Many fixes to th new makefile system. The last version gave
immediate crashes on all Unices except Linux when linked
dynamically against an application. I reordered the object
files in the library as I guess that this was the cause.
Added icons to message box. This also slightly killed the
layout so this needs to be changed again.
wxGTK now chooses the best visual available on the display instead
of the default one.
Fixed wxProgressDialog again.
Some more corrections I forgot.
New wxPython (includes new layout system and printing).
15th June '99: Sixth wxGTK 2.1 snapshot released
The biggest change is the completely rewritten configure/makefile
system using automake. The main argument for switching to automake
is that the resulting makefiles should be more portable so that
people can use the native make utilities instead of GNU make. The
new makefile sytem also handles dependencies correctly, allows for
shared-only compilation, can be invoked from any directory for
concurrent builds wihtin one source tree, uses libtool for greater
shared-library platform support, has a functinonal "make uninstall",
works with GTK, Motif and WINE, conforms better to GNU standards
as far as configure option names are concerned and is easier to
maintain.
Applied patches to compile wxGTK on OS/2.
Configure checks for byte-order and new defines for byte swapping
with respect to the byte-order. Added test for this to typetest sample.
Also made BMP handler bigendian safe so that it should work on
Solaris and such.
Small changes to basic drawing stuff: made wxColour actually compare
RGB values in the == operator, added new constructor to wxMask,
corrected initial background colour for DCs, it is now possible
to use a wxWindowDC etc before there is any window (this doesn't
make any sense, but it is what wxMSW does.)
Added support for the PRIMARY SELECTION to the wxClipboard
class.
Fixed redraw bug when scrolling window-less widgets out
of the visible area (actually a work-around for a GTK bug).
Regrouped some samples, created new one for various versions
of the wxTextCtrl.
Added wxWindow::Reparent() and wxFrame::MakeModal().
Improved handling of column width in wxListCtrl and made
this more compatible with the wxMSW version. Also removed
a bug from the wxImageList returning an off-by-one id for
added images.
Fixed keyboard hotkeys and resizing for wxMDIChildFrame
menu bars.
Added flag to wxSplitterWindow to update its children's
sizes "live" instead of moving a XOR'ed bar around - this
is a resource-draining option. Also corrected cursors
in splitter window.
New way to show "disabled" or greyed toolbar items.
Rewrote parts of the tree ctrl to allow multiple selections
and variable size items (Sylvain). These new function do not
exist in the native Win32 tree control.
Implemented global cursors and wxBusyCursor etc. Also removed
another cursor misbehaviour.
Updated many parts of the documentation to reflect changes
in wxWindows 2.1, wxPython and more exact description of
cross-platform issues as well as platform differences.
Many other fixes, mainly by others...
Further compile fixes for different architectures.
25th May '99: Fifth wxGTK 2.1 snapshot released
This is mostly a bug-fix release. We are having funny
times to make wxGTK work well with different micro
versions of GTK 1.2 - which is very close to impossible.
All versions give warnings, although their number might
vary a lot. I use GTK 1.2.3 and only get wanrnings in
one sample (notebook) and that one is due to a bug in
GTK - some people using GTK 1.2.2 reported hundreds of warnings
getting spitted out for what seems like no reason.
This snapshot contains the beginnings of our merging of
headers, meaning that in the future all ports will
use the same headers and will share a lot more code.
We have taken this moment to reorganize some code and
hope to have eliminated much bad C++ code, as reported
primarily by SGI's compilers (Vadim Zeitlin).
Rewritten char and key event propagation routines
to reflect documentation and do the same on wxGTK
as on wxMSW. If you are interested in ascii chars
and cursor key etc, intercept EVT_CHAR, if you
are interested in which key actually got pressed,
intercept EVT_KEYDOWN (Norbert Irmer).
Control that are given -1 as their ID no longer
get arbitrary positive IDs assigned but arbitrary
negative IDs. This had caused some trouble with ID clashes.
wxWindow and wxScrolledWindow no longer use the
wxScrollEvent, but the newly invented wxScrollWinEvent
so that no mixing up of events sent from wxSliders
or wxScrollbars placed in a wxWindow can occur.
Added wxProgressDialog for use with long background
work such as printing.
Added drawing sample and scrolling sample, both of
which show some misbehaviours...
When drawing with the wxXOR logical mode, wxGTK now uses
GdkXOR (instead of GdkInvert) and when drawing in wxINVERT logical
mode, wxGTK now uses GdkInvert (as before). When you did some
rubberband dragging and you used wxXOR and a black pen, then
you should change wxINVERT.
Applied more patches for SGI and HP-UX compilation.
More updates for wxSockets (Guilhem Lavaux). Seems to be nearly
finished.
You can now use threads within your GUI again. Well,
at least if you know what you are doing and you had a look
at the threads sample.
wxGLCanvas updated so that it can share display lists
over several windows and to not exhibit any flicker.
(Norber Irmer).
wxNotebook revamped so that its process of creation matches
wxMSW's more closely, also avoiding problems with wrong page
number. Added InsertPage() and the possibility to prevent
switching pages by intercepting the PAGE_CHANGING event. Also,
wxNotebooks now get shown even if all pages are empty.
Added Activate() to wxMDIChildFrame (Russel).
Improved wxSplitterWindow behaviour and visual feed-back when
given a minimal size etc (Bruce DeVisser).
Minor updates to wxTreeCtrl, wxListBox, printing, wxClipboard,
wxString, wxThreads and many others.
Also wxMSW got a big face-lift, not to mention the new wxMac release...
11th May '99: Fourth wxGTK 2.1 snapshot released
This is mostly a bug-fix release. This affects wxSocket, wxThread,
and a few GUI classes. Also more work has been done and window
placement and decorations etc. which we hope to have finished now.
Applied patches for FreeBSD and SGI compilation (not yet finshed).
Updated wxPython to beta 9.
Made wxGLCanvas work again - strangely it flickers now...
wxStaticText is currently broken with GTK 1.2.2 (which I don't
yet have and thus could not fix). Also, scrolling subwindows
(although much improved including a sample) doesn't work perfectly
due to a bug in GTK 1.2.1 (probably 1.2.2 as well).
Added wxStaticLine.
Note that the next release might bring about changes to keyboard
handling and scroll event intercepting from wxScrolledWindow.
By and large much of the code has stabilized and won't be much
different in the final wxWindows 2.1 release. Please test as
much as you can.
The next release will have a new build system.
3rd May '99: Third wxGTK 2.1 snapshot released
Updated INSTALL.txt and SYMBOLS.txt.
Support for Unicode is now almost complete. Most samples work in
both Unicode and non-Unicode mode. Thanks to Ove Kaaven and Vadim.
Internal changes required for wxOLE and addition of a very experimental
wxOLE code section using GNOME's Bonobo library (from GNOME's CVS).
New version of wxPython that works with the wxGTK 2.1.
This now includes a very comprensive test/demo suite. Thanks to
Robin Dunn, Harm v.d. Heijden and others. Beware of the hang-man...
More fine tuning of focus handling and GUI widgets.
Complete rewrite of wxSocket classes (still experimental).
Thanks to Guilhem Lavaux.
wxMenuBar supports underlined shortcuts like Windows does,
indicated by a leading & character. wxMenus now have hotkeys
such as in wxXt and wxMSW.
Rewritten MDI subsystem.
Correcetions and additions to the printing framework including
a paper type database (Julian).
Several controls now support more style flags for modifying
look (and feel) of the controls and windows.
New implementation of idle handlers, which now send an idle
event only once after the event queue has been emptied (which
is what happens in the wxMSW port as well), not regularly.
This no longer forces wxGTK applications to sleep (by having
to call usleep()) in idle time - giving more CPU slices to
the application if desired.
wxGLCanvas (the OpenGl for wxWindows) now accepts keyboard input.
The usual number of compile and bug fixes from all involved.
21st April '99: Second wxGTK 2.1 snapshot released
Added much code for Unicode support. Still experimental, but looks very
cool - thanks to Ove Kaaven and Vadim Zeitlin. If you are very brave, then
you can compile wxGTK with "configure --with-unicode".
More updates on the dreaded issue of making frames and dialogs impossible
to resize etc.
Drag and Drop works now under GTK 1.2 - at least basically when dragging
and dropping text. The API is not entirely fixed yet but seems quite
good now. Support for different actions (copy/move/link/..) still missing.
I also removed support for GTK 1.0 Drag and Drop - this is just broken
and unusable in GTK 1.0 and I don't want to fix it.
I now embed the JPEG library and handlers for JPEG and GIF have been
added to the existing PNG and BMP (and XPM for GTK version only). In
the future, the RPMs will not contain these libraries but depend on
the image libraries to be preinstalled whereas the source *.tgz will
ship with everything that is needed for wxGTK so that no downloading
of ten image libs will be required - also avoiding problems with ten
different kinds of libJPEG-6.0.1.7.IV beta 7. We also updated the
PNG code to the newest PNG version.
wxImage now makes use of the fast rendering code as provided by
GTK 1.2 whenever possible. This should mean a speed-up for graphics
heavy apps.
Many fixes all over. Also should compile with GTK 1.2.0 as opposed
to only with GTK 1.2.1 now.
wxPython still doesn't compile, I think.
12th April '99: First wxGTK 2.1 snapshot released
This is the first developers' version of wxWindows 2.1 for GTK. It's main
new feature is that it supports GTK 1.2 (as opposed to GTK 1.0) which
will make development within the GNOME evironment a lot easier.
Apart from the move to GTK 1.2 and the changes (some major) that were
required as part of that work, enhancement or corrections have been
made to many of the non-GUI classes and functions (such as wxClipboard,
wxThread, wxSocket, wxConfig)
and a few GUI classes (accelerators in menus, listbox always with
scrollbar, wxFrame honours Motif Window Manager hints, corrected tab
traversal for broken GTK 1.0 widgets).
There have been slight changes to the priting dialogs and their
setup data (which might break apps using this code in previous
versions). Also, a bug concerning printing white has been fixed
(actually not tested).
Although this is only the first 2.1 snapshot, there is little reason not
to use it as many bugs from version 2.0 have been corrected. There are,
pf course, still a few problem left with GTK 1.2 (some of which relate
to bugs in GTK).
I think I preserved backward compatility with GTK 1.0 and if not it
should be easy to fix - but mostly I don't care.
Drag'N'Drop is currently completely broken. Also, wxPython currently
doesn't compile with this release. The OpenGL canvas still seems to
work.
Major targets for the final release (still a long way): a new configure
system, support JPEG and GIF formats, wxHTML, super-duppah frame layout
stuff, syntax-highlighting editor, possibly Unicode, possibly some GNOME
gooddies, possibly world domination.
5th March '99: wxWindows 2.0 released
This is the final version of wxWindows 2.0 for GTK. The versions for
Windows and Motif (and also this version) are available form Julian Smart's
site. The Mac version is still under development.
19th February '99: wxWindows 2.0 beta 5
This is the fifth beta release and it contains mostly bug fixes and
updates for documentation.
Applied compile fixes for Solaris (different flavours and compilers).
12th February '99: wxWindows 2.0 beta 4
This is the fourth beta release and it contains mostly bug fixes and
updates for documentation.
Tracked a few more cases, where the bahaviour between wxMSW and wxGTK
differed. This was the case for closing a dialog or frame as well as
for clearing a device context or setting its background colour and some
other minor details.
Most standard dialogs have been face-liftet a little.
Implememted default buttons for GTK.
Fixed many bugs. You guessed it.
29th January '99: wxWindows 2.0 beta 3
This is the third beta release and it contains mostly bug fixes.
There is one field where we haven't been able to fix the API yet, and that
it Drag'n'Drop. This is mostly due to the fact that DnD in
GTK 1.0 is hardly usable and much different from GTK 1.2 which means that
we have to design a common API for Windows, GTK 1.0 and GTK 1.2. Although
we are trying to prevent that, it is possible that wxWindows 2.0 (being
based on GTK 1.0) will not have proper DnD support.
The major changes are that tool tips have been added, threads have been completely
rewritten, the ODBC code has been updated and improved, the socket code works
better now.
Classes for managing MIME-types under Windows and Unix have been added.
There is now a wxGLCanvas class for OpenGl/Mesa for the Windows, GTK and
Motif ports. Come see the penguins flying...
Documentation has received a big face lift - it now covers nearly all the
classes, at least.
The usual amount of bug fixes. Countless.
A few member functions of wxString have been renamed.
For those who are using the ever-so-popular wxImage class (which
now available on Motif and Windows as well) in 8-bit mode: wxGTK
now creates a color cube upon start-up in 8-bit mode and thus the
generation of bitmaps from images has been speeded up 20 times.
It is now possible to develop with wxGTK without having the GTK 1.0 header
files installed so that having the GTK 1.2 header files installed no longer
is any problem. We also provide RPMs for RedHat glibc 2 based systems, compiled
with egcs 1.1.1 on SuSE 6.0. Note that the RPM will not work in
SuSE 6.0 as SuSE decided to ship 6.0 with a broken GTK+ package.
6th January '99: wxWindows 2.0 beta 2
This is the second beta release and contains it mostly build and
bug fixes. Threads work well now on (up-to-date) glibc 2 systems,
commercial Unices and Windows.
20th December '98: wxWindows 2.0 beta 1
This is the first beta release and we have used the time before
this release to tidy up some parts of the API. All releases from
now on will be source code compatible but we reserve binary compatibility
for the final release. Because of this, the actual library name of
the beta version will not be 2.0 but 1.99, so that we prevent
conflicts with the final library later on. After the final release
we'll only fix bugs so that there will be no reason to link any
program statically with wxGTK.
We changed the name of the shared library to include the version of
the GTK used so that no conflicts emerge with simultaneous
versions of wxWindows for GTK 1.0 and for GTK 1.2 and so on.
As you can see, we have not moved to GTK 1.1.X as the different
development versions are too different and buggy to be useful. We'll
wait for a stable GTK 1.2 release (hardly 1.2.0) and start porting
then.
wxGTK now compiles without problems on anything between gcc 2.7.2 on
Linux-x86 and egcs 1.1 on Linux-Alpha and egcs 1.0 on Sparc. This isn't
as easy as it sounds...
Available form this site are the Python bindings of wxWindows.
Thanks to Robin Dunn for this tremendous contribution.
Tkinter is dead, Java is dead, wxPython rules! That's all there is to say.
Although only a few new classes have been added, many have been polished
up substantially, the most visible are wxListCtrl, wxTreeCtrl and
all classes related to printing. Also the DialogEd now functions
much better than before. Drag'n'Drop is fucntional but probably won't
be perfect until we use GTK 1.2 and its much improved DnD features.
wxClipboard has arrived and works for text. Other formats have not been
tested carefully yet.
wxMiniFrame has been added which might be useful for docking toolbars
etc. Someone has already done that for the MSW port and we hope to
include his very nice work later.
wxDirDialog has been added (thanks to Harm von der Heijden).
The entite "tab traveral" system for moving from item to item in
a dialog has been rewritten. It now completely overrides the
not-so-well-done GTK native tab system.
Quite much has been done to improve the wxImage class, which is now
available in the Windows port as well. Very useful for anything related
to image processing. wxGTK also uses this class internally e.g. to scale
bitmaps when the scale factor (e.g. zooming) of a drawing context
has changed.
Some of the small and handy classes (wxDate, wxTime, wxVariant) have
received a face-lift. wxList has been rewritten to make it possible
to write type-safe lists. The collection of utility functions (wxFileFind etc)
has been revamped and cleaned-up (thanks to Vadim Zeitlin, who has also
greatly enhanced many basic classes, ranging wxString to the debug and
log system).
We removed some constructors of GDI classes (such as wxPen, wxColour)
which took a pointer as a parameter. This lead to many errors among users
resulting in unexpected behaviour so it was decided to remove these
constructors.
As the number of users and the number of test programs and samples
is steadialy rising the core classes of wxWindows for MSW and GTK 1.0
can be considered to be very stable if not outright bug-free. I haven't
seen a crash for weeks now and wxWindows' internal debug features also
have improved every week, making stepping-through with a debugger almost
completely unnecessary as the library reports possible errors itself
(when in debug mode).

View File

@@ -1,436 +0,0 @@
!!! When sending bug reports tell us what version of wxWindows you are
using (including the beta) and what compiler on what system. One
example: wxGTK 2.1 beta 6, egcs 1.1.1, Redhat 5.0 !!!
* 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-gtk
> make
> su <type root password>
> make install
> ldconfig
> exit
On all variants of Unix except Linux (and maybe except *BSD), shared libraries
are not supportet out of the box due to the utter stupidity of libtool, so you'll
have to do this to get shared library support:
> ./configure --with-gtk --disable-static --enable-shared
Then you'll have to edit the wrongly created libtool script. There are two
important entries with respect to shared library creation, which are
archive_cmds="\$LD -shared ....
archive_expsym_cmds="\$LD -shared ....
which should be something like
archive_cmds="\$CC -shared ....
archive_expsym_cmds="\$CC -shared ....
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
------------------------
configure reports, that you don't have GTK 1.X installed although you are
very sure you have. Well, you have installed it, but you also have another
version of the GTK installed, which you may need to remove including other
versions of glib (and its headers). Also, look for the PATH variable and check
if it includes the path to the correct gtk-config! The check your LDPATH if it
points to the correct library. There is no way to compile wxGTK if configure
doesn't pass this test as all this test does is compile and link a GTK program.
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/GTK requires the GTK+ library to be installed on your system. It has to
be a stable version, preferebly version 1.2.3. You can use GTK 1.0 in connection
with wxWindows, albeit without Drag'n'Drop. wxWindows does work with the 1.1.X
versions of the GTK+ library.
You can get the newest version of the GTK+ from the GTK homepage at:
http://www.gtk.org
We also mirror GTK+ 1.0.6 at my ftp site. You'll find information about downloading
at my homepage.
* Additional libraries
-----------------------
wxWindows/Gtk 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 wxGTK on OS/2
--------------------------
Please send comments and question about the OS/2 installation
to Andrea Venturoli <a.ventu@flashnet.it> and patches to
make the installation work (better) to me (Robert Roebling).
You'll need OS/2 Warp (4.00FP#6), X-Free86/2 (3.3.3),
gtk+ (?), emx (0.9d fix 1), flex (2.5.4), yacc (1.8),
korn shell (5.2.13), Autoconf (?), GNU file utilities (3.6),
GNU text utilities (1.3), GNU shell utilites (1.12), m4 (1.4),
sed (2.05), grep (2.0), Awk (3.0.3), GNU Make (3.76.1).
Open an OS/2 prompt and switch to the directory above.
First set some global environment variables we need:
SET CXXFLAGS=-Zmtd -D__ST_MT_ERRNO__
SET OSTYPE=OS2X
SET COMSPEC=sh
Notice you can choose whatever you want, if you don't like OS2X.
* Building wxGTK 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).
Normally, you won't have to choose a toolkit, because when
you download wxGTK, it will default to --with-gtk etc. But
if you use all of our CVS repository you have to choose a
toolkit. You must do this by running configure with either of:
--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-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
the usual number of GNU tools, at least
GNU automake version 1.4
GNU autoheader version 2.14
GNU autoconf version 2.14
GNU libtool version 1.3
and quite possibly
GNU make
GNU C++
and if you have all this then you probably know enough to
go ahead yourself :-)
----------------------
In the hope that it will be useful,
Robert Roebling <roebling@sun2.ruf.uni-freiburg.de>

View File

@@ -1,56 +0,0 @@
wxWindows Library License, Version 3
====================================
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
WXWINDOWS LIBRARY LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version.
This library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this software, usually in a file named COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA.
EXCEPTION NOTICE
1. As a special exception, the copyright holders of this library give
permission for additional uses of the text contained in this release of
the library as licensed under the wxWindows Library License, applying
either version 3 of the License, or (at your option) any later version of
the License as published by the copyright holders of version 3 of the
License document.
2. The exception is that you may create binary object code versions of any
works using this library or based on this library, and use, copy, modify,
link and distribute such binary object code files unrestricted under terms
of your choice.
3. If you copy code from files distributed under the terms of the GNU
General Public License or the GNU Library General Public License into a
copy of this library, as this license permits, the exception does not
apply to the code that you add in this way. To avoid misleading anyone as
to the status of such modified files, you must delete this exception
notice from such code and/or adjust the licensing conditions notice
accordingly.
4. If you write modifications of your own for this library, it is your
choice whether to permit this exception to apply to your modifications.
If you do not wish that, you must delete the exception notice from such
code and/or adjust the licensing conditions notice accordingly.

View File

@@ -1,11 +0,0 @@
# makewxgtk
# Sets permissions (in case we extracted wxGTK from zip files)
# and makes wxGTK.
# Call from top-level wxWindows directory.
# Note that this uses standard (but commonly-used) configure options;
# if you're feeling brave, you may wish to compile with threads.
# -- Julian Smart
chmod a+x configure config.sub config.guess setup/general/* setup/shared/*
./configure --with-shared --with-gtk --with-debug_flag --with-debug_info --without-threads
make makefiles
make

View File

@@ -1,65 +0,0 @@
Welcome to wxWindows/Gtk 2.1 snapshot 8,
you have downloaded version 2.1 of the GTK+ 1.2 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.
Beginning with snapshot 6, wxWindows uses a completely
new make file system on Unix that uses GNU automake,
GNU autoconf and GNU autoheader. You do not need these
programs in order to use the library, but for taking
part in its development, they are required. Read the
INSTALL.txt file for learning what you can do with the
new configure/automake/libtool system.
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 (when using GTK 1.0 or when not using Linux
read the INSTALL.txt):
./configure
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_gtk.a (static) and libwx_gtk-2.1.so.0.0.0 (shared) so that
once a binary incompatible version of wxWindows/Gtk 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/Gtk 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

View File

@@ -1,48 +0,0 @@
-------------------- High priority ---------------------
Finalise DnD API.
More testing of Unicode support.
New wxSizer class implementation.
Make wxSockets work on all platform.
Do something about reentry problems with GUI threads
when doing asynchronous work (clipboard transfer,
DnD, sockets, different threads).
Add ID based i18n system as a replacement for the
unelegant gettext system.
Add controls to toolbar.
Add TIFF handler. Someone? (Hint, hint).
Improve, update translations. Install *.mo files somewehere.
Completely remove internal usage of C++ iostreams.
Sleep, eat, walk, study, shave, read, play piano and wash less.
-------------------- Medium priority ---------------------
Show accelerator control labels and actually implement them
-> Changed in GTK 1.2 (so let's do it for 1.2). Difficult.
-------------------- Low priority ---------------------
Right aligned checkboxes: focus highlighting is wrong, tooltips can't be set can't be set
OwnerDraw for wxListCtrl and others
-> Postponed.
Implement wxPalette
-> I never understood that. Postponed.
Implement different visuals and displays
-> I never understood that. Postponed.
Cooperation with Qt
-> Would be nice.

292
docs/gtk/welcome.html Normal file
View File

@@ -0,0 +1,292 @@
<html>
<head><title>wxGTK Homepage</title>
</head>
<body bgcolor=#FFFFFF text=#000000 link=#0020FF vlink=#800000 alink=#007777>
<h1>"wxWindows for the GTK" Homepage</h1>
<hr>
<h3>Current version</h3>
15th May '98: wxGTK v0.12 (alpha-)
<p>
This release is hardly more stable than the one before, but it
has many new features. It's main purpose is actually to prepare
the final merge of the Windows port and the GTK port source
trees into a common tree, developed using CVS. The growing
number of demos which compile and run with wxGTK "although"
being written for wxMSW shows that we seem to be on the right
track. One nice new feature for many potential users is that
wxGTK no longer needs any extra libraries to be installed,
other than the GTK.
<p>
If you have a compiler
better than gcc 2.7.2.2 then you can uncomment a line in src/common/prntbase.cpp
which defines __GOOD_COMPILER__. This should make the printing demo work.
I haven't got such a compiler, so I actually don't know. Somebody reported
problems with version 2.7.2.3 as well.
<p>
<hr>
<h3>Acknowledgements</h3>
I'd like to thank the
<a href="http://www.freiburg.linux.de">Freiburg Linux User Group</a>
for kindly providing
this site and Christian Wetzel in particular for helping me with
this site's administration.
<p>
<hr>
<h3>What is wxWindows?</h3>
wxWindows is a C++ cross-platform GUI toolkit written mainly by Julian Smart.
More information about wxWindows can be found at the
<a href="http://web.ukonline.co.uk/julian.smart/wxwin">wxWindows Homepage</a>.
<p>
The current version of wxWindows (v1.68) supports Windows ('95 and NT), Motif and
XView (aka OpenLook). There is another port (wxXt) available, which uses the
free-ware widget set from the Free Widget Foundation (FSF). Ports have been
started for the Mac, OS/2 and NextStep.
<p>
For different reasons, it was decided to start a complete rewrite of wxWindows,
which will then be called wxWindows 2.0. For a list of new features and changes
from the current version, you may read the wxWindows Homepage (see above).
<p>
Currently, work is being done on four ports of wxWindows 2.0:
<dl>
<li> Windows (wxMSW, main author Julian Smart)
<li> Unix, Motif (wxMotif, main author Markus Holzhem)
<li> Unix, GIMP Toolkit (wxGTK, main author Robert Roebling)
<li> Macintosh (wxMac, main author Greg Whitehead)
</dl>
<p>
wxWindows provides a rich set of classes which help to make cross-platform
GUI programming easy. In many aspect, it is modelled after MFC, making transition
from MFC to wxWindows relatively painless. The main technical
difference between most other free or commercial cross platform libraries is
that wxWindows is a wrapper around existing widget sets, whereas the other
toolkits (Qt, Tk, Java, Amulet, OPaC, JX, Fresko) draw their widgets themselves,
which results in applications having a different look than native applications
for that specific platform.
<p>
There are classes for the following categories
<dl>
<li> Window classes: wxWindow, wxFrame, wxDialogBox, wxPanel, wxCanvas etc.
<li> Widget classes: wxButton, wxCheckbox, wxChoice, wxListBox, wxListCtrl, wxText, wxGauge etc.
<li> Data structures: wxList, wxString, wxHashTable, wxDate etc.
<li> Layout/constraint system
<li> GDI classes: wxPen, wxBrush, wxFont, wxBitmap etc.
<li> Events: wxCommandEvent, wxMouseEvent, wxKeyEvent etc.
<li> Devices contexts: wxCanvasDC, wxPostScriptDC, wxMemoryDC, wxPrinterDC
<li> Base classes for runtime-type information: wxObject
<li> Interprocess communication: wxClient, wxConnection, wxSocket, wxServer etc.
<li> Document-view architecture: wxDocument, wxView, wxDocManager etc.
<li> Printing framework: wxPreviewFrame, wxPrintDialog, wxPrinter etc.
<li> Many helper classes, wxApplication, wxTypeTree, wxPathList etc.
<li> Classes for internationalization
<li> Built-in memory leak checking, log-files
<li> A multitude of functions and macros
</dl>
<hr>
<h3>Copyright</h3>
The choice of a suitable copyright has been subject to endless discussions. It
has always been the aim, to put wxWindows under a copyright, which protects
the work of its authors while at the same time encouraging the use of wxWindows
in as many projects as possible.
<p>
The (so far) last decision has been to put the whole of wxWindows
under a modified (less restrictive) version of the GNU library general
public license.
<p>
The only exception is that wxGTK now contains code (gdk_imlib) which is
under the GNU library general public license. When you make changes to
this part of wxGTK, you'll have to make these changes public (in contrast
to changes to the rest).
<p>
It is obviously encouraged that anybody who uses wxWindows and who
makes any improvements to it will make these changes available to
wxWindows' authors.
<p>
<hr>
<h3>What can I do with wxWindows 2.0?</h3>
wxWindows is still in alpha stage, which means that there are still bugs
waiting for you and several features are not yet (fully) implemented, but
you can expect the interface to be more or less stable, so no major
modifications will have to be made to your source code. wxGTK is already
used in a number of medium sized projects and is it being developped
in close cooperation with the authors of these applications.
<p>
<hr>
<h3>Can I write a GNOME application with wxGTK 2.0?</h3>
Good question. The idea to use wxGTK for the GNOME desktop environment is
quite obvious. When this topic came up on the GNOME mailing list, the GNOME
people have shown an amazingly negative opinion about wxWindows. One reason
might be that several of the main authors of the GNOME-project consider
C++ a "broken language". I don't share that view and I am sure many people
find C++ easier to handle and better suited for GUI programming than C.
<p>
Just recently, the topic of C++ in general and wxGTK in particular appeared
again on the GNOME list. It has shown that - at least - the opinion on C++
on the GNOME list is split.
<p>
There is already a C++ wrapper for the GTK called GTK-- written by Tero Pulkkinen.
It is very small and adds very little overhead to the GTK. If platform
independence is no issue for you and you want to write a small tool
for Linux, you should probably use GTK--. Of course you can use wxGTK
for that, too :-)
<p>
<hr>
<h3>Screenshots</h3>
What would a home page of a GUI be without a screenshot? Well, as wxWindows
is a wrapper around existing widget/item sets, a wxWindows application will
look like any other native Windows, Motif, GTK or Mac application.
<p>
But for those of you, who wouldn't download wxGTK only because there
is no screenshot,
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/sshot.jpg">here it comes</a>.
<p>
<hr>
<h3>Download 1.68</h3>
Go to the
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">FTP</a>
section directly.
<p>
There is documentation for version 1.68 in html available.
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
<p>
You can download current wxWindows version 1.68 for Windows, Motif and
XView from
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt">here</a>. Not yet.
<p>
You can download wxXt 1.66d from
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxxt166d.tgz">here</a>.
<p>
<hr>
<h3>Download 2.0 alpha</h3>
There is documentation for version 2.0 in html available.
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK_doc.tgz">here</a>.
<p>
You can download the first alpha for wxWindows 2.0 for Windows from
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/">here</a>. Not yet.
<p>
You can download the current alpha for wxWindows 2.0 for GTK from
<a href="ftp://ftp.freiburg.linux.de/pub/linux/wxxt/wxGTK-0.12.tgz">here</a>.
<p>
<hr>
<h3>News from wxGTK 0.12</h3>
<p>
PNG, zlib and gdk_imlib code included.
<p>
MDI implementation. More a basis for further testing
than of real value.
<p>
Split "--with-debug" option into two options: "--with-debug_info"
and "--with-debug_flag". The first one sets the "-g" flag when
compiling, the second defines "DEBUG" in setup.h (which is included
from defs.h).
<p>
Merged DocView framework. The sample doesn't compile yet, because
it uses features from wxTextCtrl, which I haven't implemented yet.
<p>
Merged TabCtrl. Doesn't look perfect, but it seems to work.
<p>
Merged remaining classes from the newest wxMSW alpha. (wxDynArray,
wxModule etc.).
<p>
Further updates, bug fixes or additions:
<p>
<dl>
<li> wxYield() (again)
<li> postscript support for bitmaps
<li> spline code merged
<li> several bug fixes
<li> new samples
</dl>
<p>
<hr>
<h3>Known problems</h3>
Missing implementation of:
<dl>
<li>Impossible to set new font in GTK's widgets
<li>Items containing bitmaps
<li>Masks, bitmap handlers (partially done)
<li>Gauge
<li>Combobox
<li>Palettes (colormaps)
<li>Keyboard accelerators for menus
<li>Validation
<li>Clipboard functions
<li>Resources (for use with wxIDE-to-be)
<li>Drag and Drop
<li>Threads, Interprocess communication
<li>Sockets
<li>Database classes
</dl>
<p>
<hr>
<h3>Installation of wxGTK under Linux</h3>
GTK requires an up-to-date version of the
<dl>
<li> GTK (GIMP ToolKit)
</dl>
to be installed as a shared lib on your system. wxGTK is being developped with
version 1.0.1 and it is known not to work with earlier versions.
The GTK library is available from
<a href="ftp://ftp.gtk.org/pub/">somewhere here (gtk.org).</a>
After having typed "make install" the GTK header files should be
in "/usr/local/include". Correct me, if I am wrong.
<p>
Compilation itself works as usual with autoconf:
<dl>
<li> Unpack it to a suitable subdirectory, let's say ~/wxGTK
<li> Type "cd wxGTK"
<li> Type "configure"
<li> Type "make"
</dl>
Some demos use files stored in the source directory of those demos
(e.g. internat uses files in samples/internat) whereas the binaries
will end up in samples/internat/linux. You'll have to copy the binaries
down or call them like "linux/test" from samples/internat. This is
also the case for wxTest (which should display a horse).
<p>
You can create a shared library by adding the option "--with-shared" to
the "configure" command. Afterwards, you'll have to copy the library
~/wxGTK/lib/linux (if you have Linux) to a directory in your LDPATH (e.g. /usr/X11R6/lib)
and run "ldconfig".
<p>
<hr>
<h3>Mailing list for wxGTK</h3>
The mailing list (as well as this page) is called wxxt for more
or less historical reasons.
<p>
You can subsribe to the mailing list by sending a mail to
<a href="mailto:majordomo@wesley.informatik.uni-freiburg.de">majordomo@wesley.informatik.uni-freiburg.de</a>.
This mail must contain the text "subscribe wxxt" in the body (not the subject) of the
mail. You will then get a confirmation that somebody asked majordomo to put you
on the list and you will have to confirm this once again by sending back
the authentisation, which comes in the confirmation mail. The last step
is also described in the actual confirmation mail (I think).
<p>
You can send a mail to the mailing list to the address
<a href="mailto:wxxt@www.freiburg.linux.de">wxxt@www.freiburg.linux.de</a>.
<p>
Unsubscribe by sending "unsubscribe wxxt" to majordomo (see above). Not to
the actual mailing list.
<p>
<hr>
<address>
<br>This page is maintained by <a href="mailto:roebling@sun2.ruf.uni-freiburg.de">Robert Roebling</a>.
Comments, in contrast to junk and flames, welcome.
<p>
Last changed 15th Mai '98.
</address>
</body>
</html>

View File

@@ -1,43 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 FAQ
</font>
</td>
</tr>
</table>
<P>
Welcome to the wxWindows FAQ. Please select a category:<P>
<ul>
<li><a href="faqgen.htm">General questions</a>
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
</ul>
<P>
For further information, please see the <a href="http://www.wxwindows.org" target=_top>wxWindows Web site</a>,
plus install.txt (per port), todo.txt (per port), and bugs.txt (all ports).
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,232 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 FAQ: General</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 FAQ: General
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<H3><a name="whatis">What is wxWindows?</a></H3>
wxWindows is a class library that allows you to compile graphical C++ programs on a range of
different platforms. wxWindows defines a common API across platforms, but uses the native graphical user interface (GUI) on each platform,
so your program will take on the native 'look and feel' that users are familiar with.<P>
Although GUI applications are mostly built programmatically, there is a dialog editor to help
build attractive dialogs and panels.<P>
You don't have to use C++ to use wxWindows: wxWindows 1 has been interfaced to several interpreted languages,
such as CLIPS, Python, Scheme, XLisp and Perl, and there is a Python interface for wxWindows 2.
<P>
<h3>Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL'ed projects?</h3>
Yes. Please see the <a href="newlicen.htm">licence</a> for details, but basically
you can distribute proprietary binaries without distributing any source code, and neither will wxWindows
conflict with GPL code you may be using or developing with it.
<P>
The conditions for using wxWindows 2 are the same whether you are a personal, academic
or commercial developer.
<P>
<h3>Is there support?</h3>
No official support, but the mailing list is very helpful and some people say that
wxWindows support is better than for much commercial software. The developers are
keen to fix bugs as soon as possible, though obviously there are no guarantees.
<P>
<H3><a name="users">Who uses wxWindows?</a></H3>
Many organisations - commercial, government, and academic - across the
world. It's impossible to estimate the true number of users, since
wxWindows is obtained by many different means, and we cannot monitor
distribution. The mailing list contains around 300-400 entries which is
quite large for a list of this type.<P>
<H3>I am about to start a wxWindows 1.xx project. Should I use 2 instead?</H3>
wxWindows 2 is still in beta but it's actually pretty useable (Windows, GTK, Motif).<P>
Porting to wxWindows 2 from 1.xx will not be too painful; see the next question
for ways in which you can make it easier.<P>
<H3>Why would I want to use wxWindows 2 in preference to wxWindows 1.xx?</H3>
Some reasons:
<ul>
<li>In 2 there is far more flexibility, for example in the way windows can be
nested, and the way events are intercepted.
<li>There is more functionality for producing sophisticated applications,
for example using the wxTreeCtrl and wxListCtrl classes.
<li>There is better C++-conformance (such as usage of wxString and const) which
will make your applications more reliable and easier to maintain.
<li>wxWindows 2 will be better supported than 1.xx.
<li>The GTK version is attractive for people interested in writing Linux and GNOME
applications.
<li>The Mac version will be one of the best frameworks available on that platform.
</ul>
<H3>How can I prepare for wxWindows 2?</H3>
To make porting to wxWindows 2 easier in the future, take a look at some
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/prepare.htm">tips</a> for writing existing code in a 2-compatible way.<P>
<H3>How much has the API changed since 1.xx?</H3>
It's difficult to summarize, but some aspects haven't changed very much. For example, if you have some
complex drawing code, you will mostly need to make sure it's parameterised with a device
context (instead of obtaining one from a window or storing it). You won't have
to completely rewrite the drawing code.<P>
The way that events are handled has changed, so for example, where you overrode
OnSize before, you now have a non-virtual OnSize with a single event class argument.
To make this function known to wxWindows, you add an entry in an 'event table' using macros. Addition of these macros
will eventually be made easier by a tool which will allow selection from a list
and copy-and-paste into your editor. This is extended to button presses, listbox selection
etc. so callbacks have gone (they may be added back for limited backward compatibility).<P>
The class hierarchy has changed to allow greater flexibility but it probably won't affect your
existing application. One exception to this is MDI applications which now use separate MDI classes instead of style
flags. As a result, it won't be possible to switch between MDI and SDI operation at run-time
without further coding, but a benefit is less interdependence between areas of code,
and therefore smaller executable size.<P>
Panel items (now called controls) no longer have labels associated with most of them,
and default panel layout has been removed. The idea is that you make greater use
of dialog resources, for better-looking dialogs.<P>
<H3>What classes have disappeared?</H3>
wxForm, wxTextWindow (subsumed into wxTextCtrl).
<H3>Does wxWindows 2 mean that wxWindows 1.xx is dead?</H3>
While wxWindows 2 is being developed, there will be further patches to wxWindows 1.xx.
Obviously we are investing most of our energy into the new code, but we're also trying
to fix bugs in the current version.<P>
<H3>What platforms will be supported by wxWindows 2?</H3>
<ul>
<li>Windows 3.1, Windows 95/98, Windows NT;
<li>Linux and other Unix platforms with GTK+;
<li>Unix with Motif or the free Motif clone Lesstif;
<li>Mac (coming later in 1999);
<li>A BeOS port is being investigated.
<li>A Windows CE port is being investigated.
<li>There are no plans to support OS/2 or XView. However,
you may be able to compile the GTK and Motif versions under OS/2 with X and GTK
installed, or the Windows version with IBM's Open32 extensions.
</ul>
<P>
<H3>How does wxWindows 2 support platform-specific features?</H3>
This is a hotly-debated topic amongst the developers. My own philosophy
is to make wxWindows as platform-independent as possible, but allow in a
few classes (functions, window styles) that are platform-specific.
For example, Windows metafiles and Windows 95 taskbar icons have
their own classes on Windows, but nowhere else. Because these classes
are provided and are wxWindows-compatible, it doesn't take much
coding effort for an application programmer to add support for
some functionality that the user on a particular platform might otherwise
miss. Also, some classes that started off as platform-specific, such
as the MDI classes, have been emulated on other platforms. I can imagine
that even wxTaskBarIcon may be implemented for Unix desktops one day.
<P>
In other words, wxWindows is not a 'lowest common denominator' approach,
but it will still be possible to write portable programs using the
core API. Forbidding some platform-specific classes would be a stupid
approach that would alienate many potential users, and encourage
the perception that toolkits such as wxWindows are not up to the demands
of today's sophisticated applications.<P>
Currently resources such as bitmaps and icons are handled in a platform-specific
way, but it is hoped to reduce this dependence in due course.<P>
Another reason why wxWindows 2 is not a 'lowest common denominator' toolkit is that
some functionality missing on some platform has been provided using generic,
platform-independent code, such as the wxTreeCtrl and wxListCtrl classes.<P>
<H3>Does wxWindows use STL? or the standard string class?</H3>
No. This is a much-discussed topic that has (many times) ended with the conclusion that it is in
wxWindows' best interests to avoid use of templates. Not all compilers can handle
templates adequately so it would dramatically reduce the number of compilers
and platforms that could be supported. It would also be undersirable to make
wxWindows dependent on another large library that may have to be downloaded and installed.
In addition, use of templates can lead to executable bloat, which is something
wxWindows 2 is strenously trying to avoid.<P>
The standard C++ string class is not used, again because it is not available to all compilers,
and it is not necessarily a very efficient implementation. Also, we retain more flexibility
by being able to modify our own string class. Some compatibility with the string class
has been built into wxString.<P>
There is nothing to stop an application using templates or the string class for its own
purposes.<P>
<H3>How is wxWindows 2 being developed?</H3>
We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWindows. This allows
us to make alterations and upload them instantly to the server in Edinburgh, from
which others can update their source.<P>
<H3>How is wxWindows 2 distributed?</H3>
By ftp, and via the <a href="cdrom2.htm">wxWindows CD-ROM</a>.<P>
<H3>What are the plans for the future?</H3>
Currently we're working too hard on getting wxWindows 2 finished (are GUI toolkits ever
finished?) to think very far ahead. However, we know we want to make wxWindows as robust
and well-publicised as possible. We also want to aim for better platform-independence of
resources such as icons and bitmaps, standardising on the PNG for all platforms.<P>
Other possibilities include: DCOM/CORBA compatibility; a wxWindows book; an
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/wxide.htm">IDE</a>;
other platforms; other interface abilities such as speech output.<P>
We will investigate the possibility of compiler or operating system vendors bundling wxWindows with
their product.<P>
The high-level goal of wxWindows is to be thought of as the number one C++ framework,
for virtually any platform. Move over, MFC!<P>
<H3>What about Java?</H3>
The Java honeymoon period is over :-) and people are realising that it cannot
meet all their cross-platform development needs. We don't anticipate a major threat
from Java, and the level of interest in wxWindows is as high as ever.<P>
<H3>How can I help the project?</H3>
Please check out the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/develop.htm" target=main>Backroom</a> pages,
in particular the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/projects.htm">suggested projects</a>, and
mail <a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> or the developers' mailing list with your own suggestions.<P>
</font>
</BODY>
</HTML>

View File

@@ -1,47 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 for GTK FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 for GTK FAQ
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>What is wxWindows 2 for GTK?</h3>
wxWindows 2 for GTK is a port of wxWindows to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
which is freely available for most flavours of Unix with X. wxWindows 2 for GTK is
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
<P>
<h3>Does wxGTK have GNOME support?</h3>
Currently wxGTK does not have any features that would involve dependence on any desktop
environment's libraries, so it can work on GNOME, KDE and with other window managers
without installation hassles. Some GNOME and KDE integration features are file based, and
so may be added without dependence on libraries. Other features may be supported in the
future, probably as a separate library.
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,37 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 for Mac FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 for Mac FAQ
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>When is wxMac 2 due to be released?</h3>
There is a <a href="http://web.ukonline.co.uk/julian.smart/wxwin/dl_mac2.htm">preview</a> available.
A beta release can be expected by early Q2 1999. The author of this port
is Stefan Csomor (csomor@advancedconcepts.ch).
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,90 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 for Motif FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 for Motif FAQ
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>What version of Motif do I need?</h3>
You will need version 1.2 or above. Version 2 should also be fine. Some people
have had a positive experience with <a href="www.lesstif.org" target=_top>Lesstif</a>,
a free Motif clone. (Note from Julian Smart - I use the Linux version of MetroLink Motif 1.2.4).
<P>
<h3>What features are missing or partially implemented?</h3>
The following classes are not yet implemented: wxSpinButton, wxCheckListBox, wxJoyStick,
wxGLCanvas.<P>
The following classes are not likely to be implemented because there is no sensible
equivalent on Motif: wxMiniFrame, wxTaskBar.<P>
These features are not yet implemented:<P>
<ul>
<li>Clipboard and drag and drop support are currently under development.
<li>Support for selection of specific visuals.
<li>Wide character support (but when Unicode is supported under Windows, this support will
be relatively easy to add).
<li>Configurable colour/font settings (they are currently hard-wired in wxSystemSettings).
<li>A help system (please use wxHelpController and Netscape instead). An HTML widget and help
system is in preparation.
</ul>
<p>
<h3>Does Dialog Editor work with wxWindows for Motif?</h3>
Suport for Dialog Editor is almost there, but there are some wrinkles to iron
out. You may find it's useful though: compile it and see.
<P>
<h3>How do I switch between debugging and release compilation modes?</h3>
Unfortunately the makefile system doesn't currently allow you to compile
for both simultaneously: you need
to recompile wxWindows and your application having adjusted make.env. However,
you could rename the binary and release library archives, and adjust your makefiles
to use the appropriate one (or change a symbolic link).
<P>
<h3>Why are windows are not refreshed properly until I resize them?</h3>
Very occasionally you can experience this glitch, probably because sometimes the
window tries to resize and repaint itself before the final size is known. The workaround
is to add code like this after window creation and initialization:<P>
<PRE>
#ifdef __WXMOTIF__
wxNoOptimize noOptimize;
window->SetSize(-1, -1, w, h);
#endif
</PRE>
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,174 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows 2 for Windows FAQ</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows 2 for Windows FAQ
</font>
</td>
</tr>
</table>
<P>
See also <a href="faq.htm">top-level FAQ page</a>.
<hr>
<h3>Which Windows platforms are supported?</h3>
wxWindows 2 can be used to develop and deliver applications on Windows 3.1, Win32s,
Windows 95, Windows 98, and Windows NT. A Windows CE version is being looked into (see below).<P>
wxWindows 2 is designed to make use of WIN32 features and controls. However, unlike Microsoft,
we have not forgotten users of 16-bit Windows. Most features
work under Windows 3.1, including wxTreeCtrl and wxListCtrl using the generic implementation.
However, don't expect very Windows-95-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
class doesn't work either because the Windows 3.1 registry is very simplistic. Check out the 16-bit
makefiles to see what other files have been left out.
<P>
16-bit compilation is supported under Visual C++ 1.5, and Borland BC++ 4 to 5.
<P>
wxWindows 2 for Windows will also compile on Unix with gcc using TWIN32 from <a href="http://www.willows.com" target=_top>Willows</a>,
although TWIN32 is still in a preliminary state. The resulting executables are
Unix binaries that work with the TWIN32 Windows API emulator.<P>
You can also compile wxWindows 2 for Windows on Unix with Cygwin or Mingw32, resulting
in executables that will run on Windows. So in theory you could write your applications
using wxGTK or wxMotif, then check/debug your wxWindows for Windows
programs with TWIN32, and finally produce an ix86 Windows executable using Cygwin/Mingw32,
without ever needing a copy of Microsoft Windows. See the Technical Note on the Web site detailing cross-compilation.<P>
<h3>What about Windows CE?</h3>
This is under consideration, though we need to get wxWindows Unicode-aware first.
There are other interesting issues, such as how to combine the menubar and toolbar APIs
as Windows CE requires. But there's no doubt that it will be possible, albeit
by mostly cutting down wxWindows 2 API functionality, and adding a few classes here
and there. Since wxWindows for 2 produces small binaries (less than 300K for
the statically-linked 'minimal' sample), shoehorning wxWindows 2 into a Windows CE device's limited
storage should not be a problem.<P>
<h3>What compilers are supported?</h3>
Please see the wxWindows 2 for Windows install.txt file for up-to-date information, but
currently the following are known to work:<P>
<ul>
<li>Visual C++ 1.5, 4.0, 5.0, 6.0
<li>Borland C++ 4.5, 5.0
<li>Borland C++Builder 1.0, 3.0
<li>Watcom C++ 10.6 (WIN32)
<li>Cygwin b20
<li>Mingw32
<li>MetroWerks CodeWarrior 4
</ul>
<P>
There is a linking problem with Symantec C++ which I hope someone can help solve.
<P>
<h3>Which is the best compiler to use with wxWindows 2?</h3>
It's partly a matter of taste, but I (JACS) prefer Visual C++ since the debugger is very
good, it's very stable, the documentation is extensive, and it generates small executables.
Since project files are plain text, it's easy for me to generate appropriate project files
for wxWindows samples.<P>
Borland C++ is fine - and very fast - but it's hard (impossible?) to use the debugger without using project files, and
the debugger is nowhere near up to VC++'s quality. The IDE isn't great.<P>
C++Builder's power isn't really used with wxWindows since it needs integration with its
own class library (VCL). For wxWindows, I've only used it with makefiles, in which case
it's almost identical to BC++ 5.0 (the same makefiles can be used).<P>
You can't beat Cygwin's price (free), and you can debug adequately using gdb. However, it's
quite slow to compile since it does not use precompiled headers.<P>
CodeWarrior is cross-platform - you can debug and generate Windows executables from a Mac, but not
the other way around I think - but the IDE is, to my mind, a bit primitive.<P>
Watcom C++ is a little slow and the debugger is not really up to today's standards.<P>
<h3>Is Unicode supported?</h3>
Not yet, although there are other internationalisation features.<P>
However, the issues surrounding Unicode support have been looked into so we know
what we need to do, and have some header files ready to use containing appropriate
type definitions. Just about every file in wxWindows will need changes, due to the
pervasive nature of characters and character arrays. Unicode support is needed
for the port to Windows CE (see above), and will probably be added in time for version 2.1.<P>
<h3>Can you compile wxWindows 2 as a DLL?</h3>
Yes (using the Visual C++ or Borland C++ makefile), but be aware that distributing DLLs is a thorny issue
and you may be better off compiling statically-linked applications, unless you're
delivering a suite of separate programs, or you're compiling a lot of wxWindows applications
and have limited hard disk space.<P>
With a DLL approach, and with different versions and configurations of wxWindows
needing to be catered for, the end user may end up with a host of large DLLs in his or her Windows system directory,
negating the point of using DLLs. Of course, this is not a problem just associated with
wxWindows!
<P>
<H3>How can I reduce executable size?</H3>
You can compile wxWindows as a DLL (see above, VC++/BC++ only at present). You should also
compile your programs for release using non-debugging and space-optimisation options, but
take with VC++ 5/6 space optimisation: it can sometimes cause problems.<P>
Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs, because of the way
wxWindows 2 has been designed to reduce dependencies between classes, and other
techniques. The linker will not include code from the library that is not (directly or
indirectly) referenced
by your application. So for example, the 'minimal' sample is less than 300KB using VC++ 6.<P>
If you want to distribute really small executables, you can
use <a href="http://www.icl.ndirect.co.uk/petite/" target=_top>Petite</a>
by Ian Luck. This nifty utility compresses Windows executables by around 50%, so your 500KB executable
will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
use DLLs.<P>
<H3>Is wxWindows compatible with MFC?</H3>
There is a sample which demonstrates MFC and wxWindows code co-existing in the same
application. However, don't expect to be able to enable wxWindows windows with OLE-2
functionality using MFC.<P>
<H3>Why do I sometimes get bizarre crash problems using VC++ 5/6?</H3>
Some crash problems can be due to inconsistent compiler
options (and of course this isn't limited to wxWindows).
If strange/weird/impossible things start to happen please
check (dumping IDE project file as makefile and doing text comparison
if necessary) that the project settings, especially the list of defined
symbols, struct packing, etc. are exactly the same for all items in
the project. After this, delete everything (including PCH) and recompile.<P>
VC++ 5's optimization code seems to be broken and can
cause problems: this can be seen when deleting an object Dialog
Editor, in Release mode with optimizations on. If in doubt,
switch off optimisations, although this will result in much
larger executables. It seems possible that the library can be created with
strong optimization, so long as the application is not strongly
optimized. For example, in wxWindows project, set to 'Minimum
Size'. In Dialog Editor project, set to 'Customize: Favor Small
Code' (and no others). This will then work.<P>
</font>
</BODY>
</HTML>

File diff suppressed because it is too large Load Diff

View File

@@ -1,222 +0,0 @@
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
<HTML>
<HEAD>
<TITLE>msgfmt(1) manual page</TITLE>
</HEAD>
<BODY>
<A HREF="#toc">Table of Contents</A><P>
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
msgfmt - create a message object from a message file
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
</A></H2>
<B>msgfmt</B> [ <B>-v</B> ] [ <B>-o</B><I> output-file</I> ] ...
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
<P>
<B>msgfmt</B> creates message
object files from portable object files (<I>filename<B>.po </B></I>), without changing
the portable object files. <P>
The <B>.po </B> file contains messages displayed to
users by system commands or by application programs. <B>.po</B> files can be edited,
and the messages in them can be rewritten in any language supported by
the system. <P>
The <B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
command can be used to create <B>.po</B> files from
script or programs. <P>
<B>msgfmt</B> interprets data as characters according to the
current setting of the <FONT SIZE=-1><B>LC_CTYPE </B></FONT>
locale category.
<H3><A NAME="sect3" HREF="#toc3">Portable Object Files
</A></H3>
<P>
Formats for all <B>.po</B> files are the same. Each <B>.po</B> file contains one or
more lines, with each line containing either a comment or a statement.
Comments start the line with a hash mark (#) and end with the newline
character. All comments are ignored. The format of a statement is:
<DL>
<DT><I>directive</I>
value </DT>
<DD></DD>
</DL>
<P>
Each directive starts at the beginning of the line and is separated
from <I>value</I> by white space (such as one or more space or tab characters).
<I>value</I> consists of one or more quoted strings separated by white space.
Use any of the following types of directives: <P>
<blockquote><B>domain</B> <I>domainname</I> <BR>
<B>msgid</B>
<I>message_identifier</I> <BR>
<B>msgstr</B> <I>message_string</I> </blockquote>
<P>
The behavior of the <B>domain</B>
directive is affected by the options used. See <FONT SIZE=-1>OPTIONS</FONT>
for the behavior
when the <B>-o</B> option is specified. If the <B>-o</B> option is not specified, the
behavior of the <B>domain</B> directive is as follows: <blockquote>
<UL>
&#183;<LI>All <I>msgids</I> from the beginning
of each <B>.po</B> file to the first domain directive are put into a default
message object file, <B>messages.mo</B>. </LI>&#183;<LI>When <B>msgfmt</B> encounters a <B>domain</B><I> domainname</I>
directive in the <B>.po</B> file, all following <I>msgids</I> until the next <B>domain</B> directive
are put into the message object file </LI>&#183;<LI>Duplicate <I>msgids</I> are defined in
the scope of each domain. That is, a <I>msgid</I> is considered a duplicate only
if the identical <I>msgid</I> exists in the same domain. </LI>&#183;<LI>All duplicate <I>msgids</I>
are ignored. </LI>
</UL>
</blockquote>
<P>
The <B>msgid</B> directive specifies the value of a message identifier
associated with the directive that follows it. The <I>message_identifier</I> string
identifies a target string to be used at retrieval time. Each statement
containing a <B>msgid</B> directive must be followed by a statement containing
a <B>msgstr</B> directive. <P>
The <B>msgstr</B> directive specifies the target string associated
with the <I>message_identifier</I> string declared in the immediately preceding
<B>msgid</B> directive. <P>
Message strings can contain the escape sequences <B>\n</B> for
newline, <B>\t</B> for tab, <B>\v</B> for vertical tab, <B>\b</B> for backspace, <B>\r</B> for carriage
return, <B>\f</B> for formfeed, <B>\\</B> for backslash, \" for double quote, <B>\ddd</B> for octal
bit pattern, and <B>\xDD</B> for hexadecimal bit pattern.
<H2><A NAME="sect4" HREF="#toc4">OPTIONS </A></H2>
<DL>
<DT><B>-v</B> </DT>
<DD>Verbose.
List duplicate message identifiers. Message strings are not redefined.
</DD>
<DT><B>-o</B><I> output-file</I> </DT>
<DD>Specify output file name as <I>output-file</I>. All <B>domain</B> directives
and duplicate <I>msgids</I> in the <B>.po</B> file are ignored. </DD>
</DL>
<H2><A NAME="sect5" HREF="#toc5">EXAMPLES </A></H2>
In this example
<B>module1.po</B> and <B>module2.po</B> are portable message objects files. <P>
<blockquote> example%
cat module1.po <BR>
# default domain "messages.mo" <BR>
msgid "msg 1" <BR>
msgstr "msg
1 translation" <BR>
# <BR>
domain "help_domain" <BR>
msgid "help 2" <BR>
msgstr "help
2 translation" <BR>
# <BR>
domain "error_domain" <BR>
msgid "error 3" <BR>
msgstr "error
3 translation" <BR>
<P>
example% cat module2.po <BR>
# default domain "messages.mo"
<BR>
msgid "mesg 4" <BR>
msgstr "mesg 4 translation" <BR>
# <BR>
domain "error_domain"
<BR>
msgid "error 5" <BR>
msgstr "error 5 translation" <BR>
# <BR>
domain "window_domain"
<BR>
msgid "window 6" <BR>
msgstr "window 6 translation" <BR>
</blockquote>
<P>
The following command
will produce the output files, <B>messages.mo</B>, <B>help_domain.mo</B>, and <B>error_domain.mo</B>.
<DL>
<DT><B>example% msgfmt module1.po</B> </DT>
<DD></DD>
</DL>
<P>
The following command will produce the output
files, <B>messages.mo</B>, <B>help_domain.mo</B>, <B>error_domain.mo</B>, and <B>window_domain.mo</B>.
<DL>
<DT><B>example% msgfmt module1.po module2.po</B> </DT>
<DD></DD>
</DL>
<P>
The following example will produce
the output file <B>hello.mo</B>.
<DL>
<DT><B>example% msgfmt -o hello.mo module1.po module2.po</B>
</DT>
<DD></DD>
</DL>
<P>
Install message object files in <B>/usr/lib/locale/</B><I>locale</I><B><FONT SIZE=-1>/LC_MESSAGES/</FONT>
</B><I>domain</I><B>.mo</B>
where <I>locale</I> is the message locale as set by <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
, and <I>domain</I>
is text domain as set by <B>textdomain()</B>. The <B>/usr/lib/locale</B> portion can
optionally be changed by calling <B>bindtextdomain()</B>. See <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
.
<H2><A NAME="sect6" HREF="#toc6">ENVIRONMENT
</A></H2>
See <B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
for descriptions of the following environmental variables
that affect the execution of <B>msgfmt</B>: <FONT SIZE=-1><B>LC_CTYPE</FONT>
</B>, <FONT SIZE=-1><B>LC_MESSAGES</FONT>
</B>, <FONT SIZE=-1><B>NLSPATH</FONT>
</B>.
<H2><A NAME="sect7" HREF="#toc7">ATTRIBUTES </A></H2>
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
for descriptions of the following attributes:
<P>
<TABLE BORDER=0>
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE VALUE</B> </TD> </TR>
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
<TR> <TD ALIGN=LEFT>CSI
</TD> <TD ALIGN=LEFT>Enabled </TD> </TR>
</TABLE>
<H2><A NAME="sect8" HREF="#toc8">SEE ALSO </A></H2>
<B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
, <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
,
<B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
<H2><A NAME="sect9" HREF="#toc9">NOTES </A></H2>
<P>
Neither <B>msgfmt</B> nor any <B>gettext()</B> routine imposes a limit
on the total length of a message. However, each line in the <B>*.po</B> file is
limited to <FONT SIZE=-1><B>MAX_INPUT </B></FONT>
(512) bytes. <P>
Installing message catalogs under the
C locale is pointless, since they are ignored for the sake of efficiency.
<P>
<HR><P>
<A NAME="toc"><B>Table of Contents</B></A><P>
<UL>
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
<UL>
<LI><A NAME="toc3" HREF="#sect3">Portable Object Files</A></LI>
</UL>
<LI><A NAME="toc4" HREF="#sect4">OPTIONS</A></LI>
<LI><A NAME="toc5" HREF="#sect5">EXAMPLES</A></LI>
<LI><A NAME="toc6" HREF="#sect6">ENVIRONMENT</A></LI>
<LI><A NAME="toc7" HREF="#sect7">ATTRIBUTES</A></LI>
<LI><A NAME="toc8" HREF="#sect8">SEE ALSO</A></LI>
<LI><A NAME="toc9" HREF="#sect9">NOTES</A></LI>
</UL>
</BODY></HTML>

View File

@@ -1,144 +0,0 @@
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
<HTML>
<HEAD>
<TITLE>xgettext(1) manual page</TITLE>
</HEAD>
<BODY>
<A HREF="#toc">Table of Contents</A><P>
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
xgettext - extract gettext call strings from C programs
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
</A></H2>
<B>xgettext</B> [ <B>-ns</B> ] [ <B>-a</B> [ <B>-x</B><I> exclude-file</I> ] ] [ <B>-c</B><I> comment-tag</I> ] [ <B>-d</B><I> default-domain</I>
] [ <B>-j</B> ] [ <B>-m</B><I> prefix</I> ] [ <B>-M</B><I> suffix</I> ] [ <B>-p</B><I> pathname</I> ] <B>-</B>| <I>filename</I> ... <BR>
<B>xgettext</B>
<B>-h</B>
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
<P>
<B>xgettext</B> is used to automate the creation of portable
message files (<B>.po</B>). A <B>.po</B> file contains copies of `C' strings that are found
in ANSI C source code in <I>filename</I> or the standard input if `<B>-</B>' is specified
on the command line. The <B>.po</B> file can be used as input to the <B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
utility, which produces a binary form of the message file that can be
used by application during run-time. <P>
<B>xgettext</B> writes <I>msgid</I> strings from
<B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
calls in <I>filename</I> to the default output file <B>messages.po</B>. The
default output file name can be changed by <B>-d</B> option. <I>msgid</I> strings in
<B>dgettext()</B> calls are written to the output file where <I>domainname</I> is the
first parameter to the <B>dgettext()</B> call. <P>
By default, <B>xgettext</B> creates a
<B>.po</B> file in the current working directory, and each entry is in the same
order the strings are extracted from <I>filenames</I>. When the <B>-p</B> option is specified,
the <B>.po</B> file is created in the <I>pathname</I> directory. An existing <B>.po</B> file
is overwritten. <P>
Duplicate <I>msgid</I>s are written to the <B>.po</B> file as comment
lines. When the <B>-s </B> option is specified, the <B>.po</B> is sorted by the <I>msgid</I>
string, and all duplicated <I>msgid</I>s are removed. All <I>msgstr</I> directives in
the <B>.po</B> file are empty unless the <B>-m </B> option is used.
<H2><A NAME="sect3" HREF="#toc3">OPTIONS </A></H2>
<DL>
<DT><B>-n</B> </DT>
<DD>Add comment
lines to the output file indicating file name and line number in the source
file where each extracted string is encountered. These lines appear before
each <I>msgid</I> in the following format: <blockquote><B>#</B> <B># File: </B><I>filename</I><B>, line: </DD>
</DL>
</B><I>line-number</I>
</blockquote>
<DL>
<DT><B>-s</B> </DT>
<DD>Generate output sorted by <I>msgid</I>s with all duplicate <I>msgid</I>s removed.
</DD>
<DT><B>-a</B> </DT>
<DD>Extract all strings, not just those found in <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
, and <B>dgettext
()</B> calls. Only one <B>.po</B> file is created. </DD>
<DT><B>-c</B><I> comment-tag</I> </DT>
<DD>The comment block
beginning with <I>comment-tag</I> as the first token of the comment block is
added to the output <B>.po</B> file as <I>#</I> delimited comments. For multiple domains,
<B>xgettext</B> directs comments and messages to the prevailing text domain. </DD>
<DT><B>-d</B><I>
default-domain</I> </DT>
<DD>Rename default output file from <B>messages.po</B> to <I>default-domain</I>
<B>.po</B>. </DD>
<DT><B>-j</B> </DT>
<DD>Join messages with existing message files. If a <B>.po</B> file does not
exist, it is created. If a <B>.po</B> file does exist, new messages are appended.
Any duplicate <B>msgid</B>s are commented out in the resulting <B>.po</B> file. Domain
directives in the existing <B>.po</B> file are ignored. Results not guaranteed
if the existing message file has been edited. </DD>
<DT><B>-m</B><I> prefix</I> </DT>
<DD>Fill in the <I>msgstr</I>
with <I>prefix</I>. This is useful for debugging purposes. To make <I>msgstr</I> identical
to <I>msgid</I>, use an empty string (<B>"" </B>) for <I>prefix</I>. </DD>
<DT><B>-M</B><I> suffix</I> </DT>
<DD>Fill in the
<I>msgstr</I> with <I>suffix</I>. This is useful for debugging purposes. </DD>
<DT><B>-p</B><I> pathname</I>
</DT>
<DD>Specify the directory where the output files will be placed. This option
overrides the current working directory. <BR>
</DD>
<DT><B>-x</B><I> exclude-file</I> </DT>
<DD>Specify a <B>.po</B>
file that contains a list of <I>msgid</I>s that are not to be extracted from
the input files. The format of <I>exclude-file</I> is identical to the <B>.po</B> file.
However, only the <I>msgid</I> directive line in <I>exclude-file</I> is used. All other
lines are simply ignored. The <B>-x</B> option can only be used with the <B>-a</B> option.
</DD>
<DT><B>-h</B> </DT>
<DD>Print a help message on the standard output. </DD>
</DL>
<H2><A NAME="sect4" HREF="#toc4">ATTRIBUTES </A></H2>
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
for descriptions of the following attributes: <P>
<TABLE BORDER=0>
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE
VALUE</B> </TD> </TR>
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
</TABLE>
<H2><A NAME="sect5" HREF="#toc5">SEE ALSO </A></H2>
<B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
<H2><A NAME="sect6" HREF="#toc6">NOTES </A></H2>
<B>xgettext</B> is not able to extract cast strings, for example ANSI
C casts of literal strings to <B>(const char *)</B>. This is unnecessary anyway,
since the prototypes in <B>&lt;libintl.h&gt;</B> already specify this type. <P>
<HR><P>
<A NAME="toc"><B>Table of Contents</B></A><P>
<UL>
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
<LI><A NAME="toc3" HREF="#sect3">OPTIONS</A></LI>
<LI><A NAME="toc4" HREF="#sect4">ATTRIBUTES</A></LI>
<LI><A NAME="toc5" HREF="#sect5">SEE ALSO</A></LI>
<LI><A NAME="toc6" HREF="#sect6">NOTES</A></LI>
</UL>
</BODY></HTML>

View File

@@ -1,274 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows Documentation</TITLE>
</HEAD>
<!BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<BODY BGCOLOR="#CCDDDFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<a name="top"></a>
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
<IMG src="logo.gif" align=right>
<!-- wxWindows Documentation -->
</font>
</td>
</tr>
</table>
<P>
Welcome to wxWindows 2, the premi&egrave;re cross-platform GUI C++ framework. This is an index of
the plain text, HTML, Windows Help and Acrobat documentation: availability depends on what you've
downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P>
<CENTER>
<FONT size=-1>
[<a href="#install">Install</a>]
[<a href="#manuals">Manuals</a>]
[<a href="#thirdparty">3rd party tools</a>]
[<a href="#samples">Samples</a>]
</FONT>
</CENTER>
<h3 align=center><a name="install"><hr>Installation and release notes<hr></a></h3>
<ul>
<li>ReadMe: <a href="../readme.txt"><b>General ReadMe</b></a>,
<a href="../gtk/readme.txt">wxGTK</a>,
<a href="../motif/readme.txt">wxMotif</a>,
<a href="../msw/readme.txt">wxMSW</a>
<li>Installation: <a href="../gtk/install.txt">wxGTK</a>,
<a href="../motif/install.txt">wxMotif</a>,
<a href="../msw/install.txt">wxMSW</a>
<li><a href="../changes.txt"><b>Change log</b></a>
<li><a href="../bugs.txt"><b>Buglist</b></a>
<li>Licence: <a href="../preamble.txt">Preamble</a>,
<a href="../licence.txt">Licence</a>,
<a href="../licendoc.txt">Documentation Licence</a>,
<a href="../lgpl.txt">L-GPL</a>,
<a href="../gpl.txt">GPL</a>
<li><a href="faq.htm"><B>FAQ</B></a>:
<ul>
<li><a href="faqgen.htm">General questions</a>
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
</ul>
<li>ToDo: <a href="../todo.txt"><b>General ToDo</b></a>,
<a href="../gtk/todo.txt">wxGTK</a>,
<a href="../motif/todo.txt">wxMotif</a>,
<a href="../msw/todo.txt">wxMSW</a>
<li>List of <a href="../symbols.txt">preprocessor symbols</a> used in wxWindows
</ul>
<h3 align=center><a name="manuals"><hr>wxWindows manuals<hr></a></h3>
<table border=1 align=center>
<tr>
<td align=center bgcolor="#FFFF00">
<B>HTML</B>
</td>
<td align=center bgcolor="#FFFF00">
<B>WinHelp</B>
</td>
<td align=center bgcolor="#FFFF00">
<B>PDF</B>
</td>
</tr>
<tr>
<td align=center>
<a href="wx/wx.htm">Reference Manual</a>
</td>
<td align=center>
<a href="../winhelp/wx.hlp">Reference Manual</a>
</td>
<td align=center>
<a href="../pdf/wx.pdf">Reference Manual</a>
</td>
</tr>
<tr>
<td align=center>
<a href="porting/port.htm">Porting Guide</a>
</td>
<td align=center>
<a href="../winhelp/porting.hlp">Porting Guide</a>
</td>
<td align=center>
<a href="../pdf/porting.pdf">Porting Guide</a>
</td>
</tr>
<tr>
<td align=center>
<a href="dialoged/dlged.htm">Dialog Editor Manual</a>
</td>
<td align=center>
<a href="../winhelp/dialoged.hlp">Dialog Editor Manual</a>
</td>
<td align=center>
<a href="../pdf/dialoged.pdf">Dialog Editor Manual</a>
</td>
</tr>
<tr>
<td align=center>
<a href="proplist/prop.htm">Property List Classes</a>
</td>
<td align=center>
<a href="../winhelp/proplist.hlp">Propert List Classes</a>
</td>
<td align=center>
<a href="../pdf/proplist.pdf">Property List Classes</a>
</td>
</tr>
<tr>
<td align=center>
<a href="wxtree/tree.htm">wxTreeLayout Class</a>
</td>
<td align=center>
<a href="../winhelp/wxtree.hlp">wxTreeLayout Class</a>
</td>
<td align=center>
<a href="../pdf/wxtree.pdf">wxTreeLayout Class</a>
</td>
</tr>
<tr>
<td align=center>
<a href="odbc/odbc.htm">Remstar ODBC Classes</a>
</td>
<td align=center>
<BR><BR>
</td>
<td align=center>
<a href="../pdf/odbc.pdf">Remstar ODBC Classes</a>
</td>
</tr>
</table>
<h3 align=center><a name="thirdparty"><hr>Third-party tools<hr></a></h3>
<ul>
<li><a href="gettext/gettext.htm">gettext Manual</a>
<li><a href="gettext/xgettext.htm">xgettext Manual</a>
<li><a href="gettext/msgfmt.htm">msgfmt Manual</a>
</ul>
<h3 align=center><a name="samples"><hr>Samples<hr></a></h3>
<ul>
<li><a href="../../samples/bombs">bombs</a>: minesweeper-like game.
<li><a href="../../samples/caret">caret</a>: a sample to test the wxCaret class.
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
supported platforms (currently Windows and GTK only).
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
wxNotebook.
<li><a href="../../samples/db">db</a>: wxDB ODBC sample.
<li><a href="../../samples/dde">dde</a>: shows the DDE protocol in action, both using real
DDE on Windows, and TCP/IP on all platforms. Edit <a href="../../samples/dde/ddesetup.h">ddesetup.h</a>
to switch between compilation modes. Currently the TCP/IP mode needs a bit of work.
<li><a href="../../samples/dialogs">dialogs</a>: shows some of the common dialogs available -- wxFontDialog,
wxColourDialog, wxFileDialog, wxDirDialog, wxMessageBox, wxTextEntryDialog, wxSingleChoiceDialog.
For printing-related dialogs, see the printing sample.
<li><a href="../../samples/dnd">dnd</a>: demonstrates drag and drop on supported platforms.
<li><a href="../../samples/docview">docview</a>: demonstrates use of the document view classes,
using wxFrame.
<li><a href="../../samples/docvwmdi">docvwmdi</a>: : demonstrates use of the document view classes,
using wxMDIParentFrame, wxMDIChildFrame.
<li><a href="../../samples/dynamic">dynamic</a>: shows how to connect events to member functions
dynamically.
<li><a href="../../samples/forty">forty</a>: a great little card game by Chris Breeze. A
fully-fledged application!
<li><a href="../../samples/fractal">fractal</a>: fractal mountains by Andrew Davison.
<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
<li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
<li><a href="../../samples/html">html</a>: a number of demos for the wxHTML class library, used inside
applications and also as a help facility.
<li><a href="../../samples/image">image</a>: shows off the cross-platform wxImage class.
<li><a href="../../samples/internat">internat</a>: use of wxWindows' internationalization support.
<li><a href="../../samples/joytest">joytest</a>: tests the wxJoystick class (currently Windows and GTK only).
<li><a href="../../samples/layout">layout</a>: shows the constraint layout system in action.
<li><a href="../../samples/listctrl">listctrl</a>: demonstrates the wxListCtrl (implemented natively on
WIN32, and using a generic version on other platforms).
<li><a href="../../samples/mdi">mdi</a>: shows off the MDI (Multiple Document Interface) classes. On Windows, the regular MDI
scheme is used whereby child windows have full sizing and moving rights within the main
window. On other platforms, tabbed windows are used, where the children are always maximized.
<li><a href="../../samples/memcheck">memcheck</a>: demonstrates the memory checking/debugging facilities.
<li><a href="../../samples/mfc">mfc</a>: shows how to use MFC and wxWindows code in the same application (Windows only).
To compile this, you must edit include/wx/wxprec.h, comment out the windows.h inclusion, and recompile wxWindows.
<li><a href="../../samples/minifram">minifram</a>: demonstrates a frame with a small title bar. On
platforms that don't support it, a normal-sized title bar is displayed.
<li><a href="../../samples/minimal">minimal</a>: just shows a frame, a menubar, and a statusbar. About as
small a wxWindows application as you can get.
<li><a href="../../samples/nativdlg">nativdlg</a>: shows how wxWindows can load a standard Windows
dialog resource, translating the controls into wxWindows controls (Windows only).
<li><a href="../../samples/notebook">notebook</a>: shows the wxNotebook (tabbed window) control.
<li><a href="../../samples/oleauto">oleauto</a>: a little OLE automation controller (Windows only; requires
Excel to be present).
<li><a href="../../samples/ownerdrw">ownerdrw</a>: demonstrates owner-draw menus and controls (Windows only).
<li><a href="../../samples/png">png</a>: demonstrates PNG loading.
<li><a href="../../samples/printing">printing</a>: shows printing and previewing.
<li><a href="../../samples/proplist">proplist</a>: demonstrates the property list classes (a VB-style property editor).
<li><a href="../../samples/regtest">regtest</a>: tests the low-level Windows registry functions (Windows only).
<li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files).
<li><a href="../../samples/richedit">richedit</a>: a work-in-progress rich text editor with plain text and HTML export
facilities.
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
the user to resize subwindows.
<li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
<li><a href="../../samples/tab">tab</a>: demonstrates the generic tab window class. You should
normally use wxNotebook instead, but the generic code is sometimes useful, for example for
implementing wxNotebook on platforms with no native support.
<li><a href="../../samples/taskbar">taskbar</a>: demonstrates the wxTaskBarIcon class, for
adding icons to the system tray. Windows only, but may eventually be implemented for other desktop
environments that use this metaphor.
<li><a href="../../samples/text">text</a>: demonstrates single and multiline text controls,
and clipboard operations.
<li><a href="../../samples/thread">thread</a>: tests the family of classes for doing thread
programming.
<li><a href="../../samples/toolbar">toolbar</a>: demonstrates wxToolBar.
<li><a href="../../samples/treectrl">treectrl</a>: demonstrates wxTreeCtrl.
<li><a href="../../samples/typetest">typetest</a>: tests various data type classes, including
wxTime, wxDate and wxVariant.
<li><a href="../../samples/validate">validate</a>: shows simple use of validation.
<li><a href="../../samples/wxpoem">wxpoem</a>: a little poetry display program.
<li><a href="../../samples/wxsocket">wxsocket</a>: demonstrates the TCP/IP family of classes.
</ul>
<hr>
</font>
</BODY>
</HTML>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,292 +0,0 @@
<HTML>
<HEAD>
<TITLE>News</TITLE>
</HEAD>
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
News
</font>
</td>
</tr>
</table>
<H3>August 6th, 1999</H3><P>
Today, a snapshot release of the MSW and the GTK ports has been
made. The two snapshots are synchronized and have been tested
for several weeks and should thus be considered to be quite stable.
Among the many new features that have appeared since version 2.0
was release are:
<ul>
<li> A great number of incompatiblities between the GTK and the MSW port have been removed. This
holds escecially true for the way, time and order, controls send notifications to the user program.
<li> Practically all widgets have been updated, removing bugs or adding missing features to
specific ports (mostly the GTK port).
<li> The GTK port now supports GTK version 1.2 as well as 1.0, giving access to the many new
features, such as e.g. menu accelerators.
<li> Many of the non-GUI classes have been reworked and new ones added, the stream classes
having undergone a complete rewrite.
<li> The addition of code to handle Unicode has begun and is in an advanced state.
<li> The Python bindings (wxPython) have been largely improved and upadted to the newest
API and features.
</ul>
<H3>July 31st, 1999</H3><P>
We are glad to announce the start of the work on the new wxWindows port - wxBeOS
which will implement wxWindows 2 API for <A HREF="http://www.be.com">BeOS</A>.
Thanks to Be for donating licenses to wxWindows project to make it possible.
<P>
If you're interested in helping with this new port, please write to wxWindows
developers mailing list!
<H3>May 27th, 1999</H3><P>
<ul>
<li>Beta 1 of <a href="dl_mac2.htm">wxWindows 2 for Mac</a> has been released, thanks to Stefan Csomor's amazing efforts.
<li>Work continues on the development branch of wxWindows 2 for MSW, GTK and Motif. Vadim has been reworking the
MSW implementation to solve some internal design problems, as well as factoring out base classes to make
development easier.
<li>Work on consistent drag and drop support in GTK and MSW continues.
</ul>
<H3>March 1st, 1999</H3><P>
wxWindows 2 launch day!<P>
<ul>
<li>wxWindows 2 officially launched, after more than two years' development of
the API and ports to Windows, GTK and Motif (Mac to follow).
<a href="download.htm">Download</a> wxWindows 2.
</ul>
<H3>November 26th 1998</H3><P>
<ul>
<li><a href="ftp://www.remstar.com/pub/wxwin/1.68E">wxWindows 1.68E</a> contains minor bug fixes and now compiles with MS VC++ 6.0, and
(hopefully) BC++ 5.0, as well as Cygwin b20.
<li>The latest <a href="ftp://www.remstar.com/pub/wxwin/2.0.1">wxWindows 2.0 alpha</a> shows good progress
on the Motif port, with a tabbed MDI implementation, a nice wxToolBar class and most
major classes working. wxWindows 2.0 for Windows now works with VC++ 6.0, BC++ 5.0 and
Cygwin b20. There's a problem linking with Mingw32, I don't know why this is, perhaps
something to do with differences in the way pragmas are handled.
<li>There is also good progress with Stefan Csomor's wxMac 2.0: watch this space. A preview
is available <a href="http://www.advanced.ch/wxwin/wxmac_d1.zip">here</a>.
<li>Work is finally underway on a <a href="wxide.htm">wxWindows IDE</a>!
<li>Aleksandras Gluchovas is working on a docking window implementation and the results
are pretty impressive so far. Here's a <a href="http://www.soften.ktu.lt/~alex/fl_screenshot.gif">screenshot</a>;
source code is <a href="http://www.soften.ktu.lt/~alex/fl_src_0_1.zip">here</a> and a WIN32 executable
is <a href="http://www.soften.ktu.lt/~alex/fl_demo_exe_0_1.zip">here</a>. The source also includes
work on persistent storage classes.
</ul>
<H3>September 13th 1998</H3><P>
<ul>
<li>The main ftp site is now <a href="ftp://www.remstar.com/pub/wxwin">www.remstar.com/pub/wxwin</a>,
since the AIAI site is no longer available for uploads.
</ul>
<H3>August 23rd 1998</H3><P>
<ul>
<li>wxGTK and wxMSW 2.0 progress continues apace. The API is being unified quite successfully,
and most of the samples now compile under both ports.
<li>We are looking for <a href="sponsor.htm">sponsorship</a> of wxMotif 2.0.
</ul>
<H3>April 28th 1998</H3><P>
<ul>
<li>wxWindows 1.68C has been released. This mainly provides compatibility with Gnu-Win32 b19
and Mingw32.
<li>wxWindows 2.0 beta 9 has been released. Again, this provides Gnu-Win32 b19/Mingw32 compatibility
plus a few small bug fixes.
</ul>
<H3>March 22nd 1998</H3><P>
<ul>
<li>The mailing list addresses have changed: please see the <a href="maillist2.htm">mailing list page</a>
for details. You may need to re-subscribe if you subscribed since February 1998.
</ul>
<H3>January 5th 1998</H3><P>
<ul>
<li>Happy New Year!
<li>wxWindows 1.68B is available.
<li>wxWindows 2.0 has another port in progress - <a href="http://www.freiburg.linux.de/~wxxt" target=_top>wxGTK</a>,
by Robert Roebling (see also the information on the same page about Robert's FADE desktop
environment project).
<li>The Windows and Xt/Motif ports to 2.0 are progressing well. A large proportion of the documentation
has been done. One of the main things to resolve is how transformations (such as scaling
and translation) will be done in 2.0, but we're heading towards agreement.
<li>There is a new <a href="http://wxwin.projects.ml.org" target=_top>wxWindows Developers Site</a> in preparation, for people developing ports of
wxWindows. There are newsgroups and a wxwin-developers mailing list.
<li>40 wxWindows CD-ROMs have been sold, mostly outside the U.K.
<li>Antonia Charlotte Smart was born on November 1st 1997. Naturally, she's as cute as her parents.
</ul>
<H3>August 13th 1997</H3><P>
<ul>
<li>Added <a href="getstart.htm">Getting Started</a> page for new users.
<li>There's a good review of wxWindows by Oliver Niedung and Stefan Gunther in
<I>iX</I>, a German computer magazine.
</ul>
<H3>July 24th 1997</H3><P>
<ul>
<li>wxWindows 1.67 <a href="download.htm" target=wxmain>released</a>.
</ul>
<H3>July 22nd 1997</H3><P>
<ul>
<li>wxWindows 1.67 is nearly there...
<li>Check out <a href="apps/forty/forty.htm">Forty Thieves</a>, a great card game
by Chris Breeze of Hitachi Europe Limited.
</ul>
<H3>July 16th 1997</H3><P>
<ul>
<li>Jobst Schmalenbach has set up Australian mirrors of the wxWindows ftp and Web sites:
please see the <a href="mirrors.htm">Mirrors</a> page.
<li>Arthur Tetzlaff-Deas is starting to look afresh at a port of wxWindows 2.0 to
NeXTStep. This is more relevant now that the NeXT OS will be essential to the Apple Mac's future.
<li>The next release of wxWindows for Motif/XView/Windows should be within the next two weeks or so. I have abandoned
documentation in wxHelp form in favour of the much better quality HTML format, which I
will be including with the distribution from now on.
</ul>
<H3>July 7th 1997</H3><P>
<ul>
<li>For news on wxWindows 2.0 development, please see <a href="coming.htm">What's coming next?</a>
- developments include DLL and experimental Netscape Plugin support. The estimate for a release
date has been put back to October 1997 - to be out of the way before Smart Jr. arrives in November...
<li>Negotiations with a U.S. company about development of wxWindows into a commercial product
fell through, since it was not possible to agree about the continuation of a version
of wxWindows that maintains the free, collaborative spirit that currently exists.
</ul>
<H3>May 18th 1997</H3><P>
<ul>
<li>wxWindows 2.0 development (mostly for the Windows platform) is on track thanks to funding for wxWin-related consultancy
- thank you to those concerned! This work is still on the free version of 2.0, although an additional
commercial version may be developed sometime in the future. Markus Holzem continues to generously donate
his spare time for Motif/Xt developments, and Greg Whitehead is looking into the Mac version of 2.0.
<li>Guilhem Lavaux has contributed a first version of
<a href="ftp://www.remstar.com/pub/wxwin/contrib/wxsocket">wxSocket</a>, a set of classes for
network programming based on work by Andrew Davison. Currently this works on Motif/Xt and is coded but not yet tested
for Windows. The wxIPC classes on the UNIX side have been rewritten to take advantage of the new
classes. wxSocket is a great contribution that will be a part of wxWindows 2.0. Meanwhile, do check
it out and help Guilhem debug and develop it further.
<li>Other noteworthy contributions in recent weeks include a patch for using bitmap
<a href="ftp://www.remstar.com/pub/wxwin/contrib/unixmask">masks</a> on X for transparency
effects - another Lavaux effort! - plus <a href="ftp://www.remstar.com/pub/wxwin/contrib/wxthread">thread</a> classes
by Wolfram Gloger, updates to <a href="ftp://www.remstar.com/pub/wxwin/ports/xt">wxXt</a> by Markus Holzem,
a start at <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxole">OLE control</a> support by Norbert Grotz,
an improved <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/winstmod">Winstall</a> by Stefan Hammes,
and <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxpref">wxPreferences</a> by Bart Jourquin
to simulate .ini files on UNIX.<P>
Check out the <A href="contrib2.htm">Contributions</a> page for more.
</ul>
<P>
<H3>May 8th 1997</H3><P>
<ul>
<li>Hitachi Europe Limited have used wxWindows both to implement and to illustrate
their WebReuser tool - a link to <a href="http://www.stablesoft.com">their pages</a> has been
added to the <a href="apps.htm">Applications</a> page.
<li>Another interesting link in the Applications page is
<a href="http://www.softwarebuero.de/wipeout-eng.html">WipeOut</a>, a C++ integrated development
environment for Linux.
<li>Fixes to make wxWindows 1.66F work with VC++ 5.0 are in the
<A href="ftp://www.remstar.com/pub/wxwin/ports/msvc50">ports/msvc50</a>
directory.
</ul>
<P>
<H3>April 20th 1997</H3><P>
<ul>
<li>wxWindows is listed in the <a href="http://SAL.KachinaTech.COM/">Scientific Applications on Linux</a> index</a>,
<a href="http://SAL.KachinaTech.COM/F/5/WXWINDOWS.html">here</a>.
<li>There is a new page for <a href="issues.htm">issues with the current release</a> which I would
encourage you to read.
<li>The wxWindows Web pages can be switched to non-frames mode, for those who find frames irritating
(and who use browsers that don't implement Back properly :-)).
<li>The <A href="contrib.htm">Contrib</a> page has some new entries.
<li>wxWindows 2.0 progress is steady.
<li><a href="mailto:grw@market.net">Greg Whitehead</a> is taking a look at what's involved for a Mac port of 2.0, possibly using MetroWerks' PowerPlant
classes to speed up development.
</ul>
<P>
<H3>March 13th 1997</H3><P>
<ul>
<li>Check out C-LAB's <a href="http://www.c-lab.de/~lipuser/lip" TARGET=_top>Lean Integration Platform</a> written in wxWindows/wxLisp: it's
a multi-platform workflow tool. Nice Web pages!
<li>I've written some <a href="prepare.htm">tips</a> to help you code for easy porting to wxWindows 2.0.
<li>wxWin 2.0 progress: I've eliminated the need for the dreaded CTL3D library for Windows 95 applications.
New MDI classes are working, plus wxStatusBar, wxScrolledWindow. Markus is starting work on the Motif
port, with wxXt 2.0 as a second priority. But <a href="sponsors.htm">financial help</a> to keep
the momentum going is needed!
</ul>
<P>
<H3>February 25th 1997</H3><P>
<ul>
<li>Yura Bidus (yari_b@automedi.com) has successfully adapted wxWindows 1.66B to compile as a DLL under
Borland C++. He will be patching 1.66F and investigating using VC++ for building the DLL.
<li>Early experiments indicate that application files using wxWindows 2.0
and GNU-WIN32 will be at least twice as fast to compile as 1.66, due to elimination of base classes
and restructuring to avoid including windows.h.
</ul>
<P>
<H3>January 29th 1997</H3><P>
<ul>
<li><a href="ftp://www.remstar.com/pub/wxwin/1.66F_internal">wxWindows 1.66F</a> has been semi-released
for people to test before the official release. It works with GNU-WIN32, and contains miscellaneous bug fixes.
<li>ITA, Inc. have sent a debugged and
enhanced <a href="ftp://www.remstar.com/pub/wxwin/ports/mac/ita">Mac port</a> (building on 1.61).
<li>Markus Holzem and Julian Smart are designing wxWindows 2.0, which should make wxWindows into a force
to be reckoned with against other free and commercial libraries. The <a href="coming.htm">What's coming next?</a>
page will shortly contain more details.
<li>The <a href="maillist.htm">mailing lists</a> are up and running again, with new subscription and discussion
list addresses.
</ul>
<P>
</font>
</BODY>
</HTML>

View File

@@ -1,780 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows Programmer Style Guide</TITLE>
</HEAD>
<BODY>
<a name="top"></a>
<font face="Arial, Lucida Sans, Helvetica">
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
wxWindows Programmer Style Guide
</font>
</td>
</tr>
</table>
<P>
by <A HREF=mailto:zeitlin@dptmaths.ens-cachan.fr>Vadim Zeitlin</A><P>
This guide is intended for people who are (or intending to start) writing code
for <A HREF="http://web.ukonline.co.uk/julian.smart/wxwin/" target=_top>wxWindows</A> class library.
<P>
The guide is separated into two parts: the first one addresses the general
compatibility issues and is not wxWindows-specific. The advises in this part
will hopefully help you to write programs which compile and run on greater
variety of platforms. The second part details the wxWindows code organization and
its goal it to make wxWindows as uniform as possible without imposing too
many restrictions on the programmer.
<P>
Acknowledgements: This guide is partly based on <A
HREF=http://www.mozilla.org/docs/tplist/catBuild/portable-cpp.html target=_top>
C++ portability guide</A> by David Williams.
<P>
<H3>General C++ Rules</H3>
<UL>
<LI>New or not widely supported C++ features</LI>
<OL>
<LI><A HREF="#no_templates">Don't use C++ templates</A></LI>
<LI><A HREF="#no_exceptions">Don't use C++ exceptions</A></LI>
<LI><A HREF="#no_rtti">Don't use RTTI</A></LI>
<LI><A HREF="#no_namespaces">Don't use namespaces</A></LI>
<LI><A HREF="#no_stl">Don't use STL</A></LI>
<LI><A HREF="#no_fordecl">Don't declare variables inside <TT>for()</TT></A></LI>
<LI><A HREF="#no_nestedclasses">Don't use nested classes</A></LI>
</OL>
<BR>
<LI>General recommendations</LI>
<OL>
<LI><A HREF="#no_globals">No global variables with constructor</A></LI>
<LI><A HREF="#no_warnings">Turn on all warnings and eradicate them</A></LI>
<LI><A HREF="#no_assume_sizeof">Don't rely on <TT>sizeof(int) == 2</TT>...</A></LI>
<LI><A HREF="#no_assignment_in_if">No assignments in conditional expressions</A></LI>
<LI><A HREF="#no_comment_code">Use <TT>#if 0</TT> rather than comments to temporarily
disable blocks of code</A></LI>
<LI><A HREF="#no_extra_semicolon">Don't use extra semi-colons on top level</A></LI>
</OL>
<BR>
<LI>Unix/DOS differences</LI>
<OL>
<LI><A HREF="#use_cpp_ext">Use .cpp for C++ source file extension</A></LI>
<LI><A HREF="#no_backslash">Don't use backslash ('\\') in &#35;includes</A></LI>
<LI><A HREF="#no_carriagereturn">Avoid carriage returns in cross-platform code</A></LI>
<LI><A HREF="#no_caps_in_filenames">Use only lower letter filenames</A></LI>
<LI><A HREF="#no_incomplete_files">Terminate the files with a new-line</A></LI>
</OL>
<BR>
<LI>Style choices</LI>
<OL>
<LI><A HREF="#naming_conv">Naming conventions: use <TT>m_</TT> for members</A></LI>
<LI><A HREF="#no_void_param">Don't use <TT>void</TT> for functions without
arguments</A></LI>
<LI><A HREF="#no_const_int">Don't use <TT>const</TT> for non pointer/reference
arguments</A></LI>
</OL>
</UL>
<P>
<H3>wxWindows Rules</H3>
<UL>
<LI>Files location and naming conventions</LI>
<OL>
<LI><A HREF="#file_locations">File locations</A></LI>
<LI><A HREF="#include_guards">Include guards</A></LI>
<LI><A HREF="#pch">Precompiled headers</A></LI>
</OL>
<BR>
<LI>File layout and indentation</LI>
<OL>
<LI><A HREF="#wxwin_header">wxWindows standard header</A></LI>
<LI><A HREF="#indentation">Indent your code with 4 spaces (no tabs!)</A></LI>
<LI><A HREF="#class_decl">Order of parts in a class declarations</A></LI>
</OL>
<BR>
<LI>More about naming conventions</LI>
<OL>
<LI><A HREF="#wx_prefix">Use wx or WX prefix for all public symbols</A></LI>
<LI><A HREF="#wxdllexport">Use WXDLLEXPORT with all classes/functions in
wxMSW/common code</A></LI>
<LI><A HREF="#set_get">Use Set/Get prefixes for accessors</A></LI>
</OL>
<BR>
<LI>Miscellaneous</LI>
<OL>
<LI><A HREF="#forward_decl">Use forward declarations whenever possible</A></LI>
<LI><A HREF="#debug_macros">Use debugging macros</A></LI>
</OL>
</UL>
<HR>
<H3>General C++ Rules</H3>
<UL>
<LI>New or not widely supported C++ features</LI>
<P>The usage of all features in this section is not recommended for one reason: they appeared in C++ relatively recently and are not yet
supported by all compilers. Moreover, when they're supported, there are
differences between different vendor's implementations. It's understandable that
you might love one (or all) of these features, but you surely can write C++
programs without them. Where possible, workarounds to compensate for absence
of your favourite C++ abilities are indicated.
<P>Just to suppress any doubts that there are compilers which don't support
these new features, you can think about Win16 (a.k.a. Win 3.1) compilers,
<I>none</I> of which supports <I>any</I> feature from the list below.
<OL>
<P><LI><A NAME="no_templates"></A><B>Don't use C++ templates</B></LI><P>
Besides the reasons mentioned above, template usage also makes the
program compile much slower (200%-300% is not uncommon) and their support
even in the compilers which have had it for a long time is far from perfect
(the best example is probably gcc).
<P><U>Workaround</U>: The things you would like to use templates for are,
most commonly, polymorphic containers (in the sense that they can contain objects of
any type without compromising C++ type system, i.e. using <TT>void *</TT>
is out of question). wxWindows provides <A HREF="TODO">dynamic
arrays and lists</A> which are sufficient in 99% of cases - please don't hesitate
to use them. Lack of template is not a reason to use static arrays or
type-less (passing by <TT>void *</TT>) containers.
<P><LI><A NAME="no_exceptions"></A><B>Don't use C++ exceptions</B></LI><P>
The C++ exception system is an error-reporting mechanism. Another reasons not to use it,
besides portability, are the performance penalty it imposes (small, but, at least for
current compilers, non-zero), and subtle problems with
memory/resource deallocation it may create (the place where you'd like to use
C++ exceptions most of all are the constructors, but you need to be very
careful in order to be able to do it).
<P><U>Workaround</U>: there is no real workaround, of course, or the exceptions
wouldn't have been added to the language. However, there are several rules which
might help here:<P>
<OL>
<LI>Every function returns an integer (or at least boolean) error code.
<P>There is no such thing as a function that never fails - even if it can't
fail now, it might do it later, when modified to be more powerful/general.
Put the <TT>int</TT> or <TT>bool</TT> return type from the very beginning!<P>
</LI><LI>Every function you call may fail - check the return code!
<P>Never rely on the function's success, always test for a possible error.<P>
</LI><LI>Tell the user about the error, don't silently ignore them.
<P>Exceptions are always caught and, normally, processed when they're
caught. In the same manner, the error return code must always be processed
somehow. You may choose to ignore it, but at least tell the user that
something wrong happened using <A HREF="TODO"><TT>wxLogError</TT></A> or
<A HREF="TODO"><TT>wxLogWarning</TT></A> functions. All wxWindows
functions (must) log the error messages on failure - this can be disabled
by using <A HREF="TODO">wxLogNull</A> object before calling it.
<P>Examples:<UL>
<LI><I>Wrong</I>:
<PRE>
void ReadAddressBookFile(const wxString& strName)
{
wxFile file;
if ( !file.Open(strFile) )
return;
...process it...
}
</PRE>
</LI><LI><I>Correct</I>:
<PRE>
// returns false if the address book couldn't be read
bool ReadAddressBookFile(const wxString& strName)
{
wxFile file;
if ( !file.Open(strFile) ) {
// wxFile logged an error because file couldn't be opened which
// contains the system error code, however it doesn't know what
// this file is for and an error message "can't open $GLCW.ADB"
// can be quite confusing for the user. Here we say what we mean.
wxLogError("Can't read address book from '%s'!",
strName.c_str());
return false;
}
...process it...
return true;
}
</PRE>
or, if it's not an error if file doesn't exist (here we could just check
its existence, but let's suppose that there is no <TT>wxFile::Exists()</TT>)
we can also write:
<PRE>
// returns false if address book file doesn't exist
bool ReadAddressBookFile(const wxString& strName)
{
wxFile file;
// start a block inside which all log messages are suppressed
{
wxLogNull noLog;
if ( !file.Open(strFile) )
return false;
}
...process it...
return true;
}
</PRE></LI>
</UL>
</OL>
<P><LI><A NAME="no_rtti"></A><B>Don't use RTTI</B></LI><P>
RTTI stands for Run-Time Type Information and there is probably no other
reason not to use it except the portability issue and the fact that it adds
<TT>sizeof(void *)</TT> bytes to any class having virtual functions (at least,
in the implementations I'm aware of).
<P><U>Workaround</U>: use wxWindows RTTI system which allows you to do almost
everything which the new C++ RTTI, except that, of course, you have to use
macros instead of the (horrible looking, BTW) <TT>dynamic_cast</TT>.
<P><LI><A NAME="no_namespaces"></A><B>Don't use namespaces</B></LI><P>
This topic is subject to change with time, however for the moment all wxWindows
classes/functions live in the global namespace.
<P><U>Workaround</U>: None.
<P><LI><A NAME="no_stl"></A><B>Don't use STL</B></LI><P>
STL is the new C++ standard library, proposing all kinds of template containers
and generic algorithm implementations. Templates are the heart (and almost
everything else) of the library, so its usage is out of question. Besides, even
with the compilers which do support templates, STL has many of its own problems,
there are many "not 100% standard compatible" vendor implementations, none of existing debuggers understands its
complicated data structures, ... the list can go on (almost) forever.
<P><U>Workaround</U>: Use wxString, dynamic arrays and lists and other wxWindows
classes. wxString has many of the most often used functions of std::string STL
class (typedef to be precise).
<P><LI><A NAME="no_fordecl"></A><B>Don't declare variables inside <TT>for()
</TT></B></LI><P>
The scope of a variable declared inside <TT>for()</TT> statement changed several
years ago, however many compilers still will complain about second declaration
of <TT>i</TT> in the following code:
<PRE>
for ( int i = 0; i < 10; i++ ) {
...
}
...
for ( int i = 0; i < 10; i++ ) {
...
}
</PRE>
Even if it's perfectly legal now.
<P><U>Workaround</U>: write this instead:
<PRE>
int i;
for ( i = 0; i < 10; i++ ) {
...
}
...
for ( i = 0; i < 10; i++ ) {
...
}
</PRE>
<P><LI><A NAME="no_nestedclasses"></A><B>Don't use nested classes</B></LI><P>
Nested classes are, without doubt, a very good thing because they allow to hide
"private" (in the sense that they're used only inside the library) classes and,
generally, put the related things together.
<P>Unfortunately, some compilers have trouble understanding them, so we must
sacrifice the ideals of software design to get a working program in this case.
<P><U>Workaround</U>: instead of
<PRE>
// in the header
class PublicLibClass {
...
private:
class PrivateLibClass { ... } m_object;
};
</PRE>
you can try the following:
<PRE>
// in the header
class PrivateLibClass; // fwd decl
class PublicLibClass {
...
private:
class PrivateLibClass *m_pObject;
};
// in the .cpp file
class PrivateLibClass { ... };
PublicLibClass::PublicLibClass()
{
m_pObject = new PrivateLibClass;
...
}
PublicLibClass::~PublicLibClass()
{
delete m_pObject;
}
</PRE>
<P>A nice side effect is that you don't need to recompile all the files
including the header if you change the PrivateLibClass declaration (it's
an example of a more general interface/implementation separation idea).
</OL>
<BR>
<LI>General recommendations</B></LI><P>
While the recommendations in the previous section may not apply to you if you're
only working with perfect compilers which implement the very newest directives of
C++ standard, this section contains compiler- (and language-) independent advice
which <B>must</B> be followed if you wish to write correct, i.e. working, programs. It
also contains some C/C++ specific remarks in the end which are less
important.
<OL>
<P><LI><A NAME="no_globals"></A><B>No global variables with constructors</B></LI><P>
In C++, the constructors of global variables are called before the
<TT>main()</TT> function (or <TT>WinMain()</TT> or any other program entry point)
starts executing. Thus, there is no possibility to initialize <I>anything</I>
before the constructor call. The order of construction is largely
implementation-defined, meaning that there is no guarantee that one global
object will be initialized before another one (except if they are both defined
in the same translation unit, i.e. .cpp file). Most importantly, no custom
memory allocation operators are installed at the moment of execution of global
variables constructors, so a (less restrictive) rule is that you should have
no global variables which allocate memory (or do anything else non-trivial) in
the constructor. Of course, if an object doesn't allocate memory in its constructor
right now, it may start making it later, so you can only be sure about this if
you don't use <I>any</I> variables of object (as opposed to simple:
<TT>int</TT>, ...) types. Example: currently, wxString doesn't allocate memory
in its default constructor, so you might think that having a global (initially)
empty wxString is safe. However, if wxString starts allocating some minimal
amount of memory in its default constructor (which doesn't look unreasonable),
you would have all kinds of problems with <TT>new</TT>
and <TT>delete</TT> operators (overloaded in wxWindows), especially because the first <TT>new</TT> called
is the standard one (before wxWindows overloads them) and <TT>delete</TT> will
be the overloaded operator.
<P><LI><A NAME="no_warnings"></A><B>Turn on all warnings and eradicate them</B></LI><P>
Give the compiler a chance to help you - turn on all warnings! You should always
use the maximum available warning level of your compiler and understand and
correct each of them. If, for whatever reasons, a compiler gives a warning on
some perfectly legal line of code and you can't change it, please insert a
comment indicating it in the code. Most oftenly, however, all compiler warnings
may be avoided (not suppressed!) with minimal changes to your code.
<P><LI><A NAME="no_assume_sizeof"></A><B>Don't rely on <TT>sizeof(int) == 2</TT>...</B></LI><P>
You should never assume any absolute constraints on data type sizes. Currently,
we have 16-bit, 32-bit and 64-bit machines and even inside each class data type
sizes are different. A small table illustrates it quite well:
<TABLE BORDER COLS=5 WIDTH="100%" NOSAVE >
<TR>
<TD>Architecture/OS</TD>
<TD>sizeof(short)</TD>
<TD>sizeof(int)</TD>
<TD>sizeof(long)</TD>
<TD>sizeof(void *)</TD>
</TR>
<TR>
<TD>i386/Windows 3.1</TD>
<TD>2</TD>
<TD>2</TD>
<TD>4</TD>
<TD>2 or 4</TD>
</TR>
<TR>
<TD>i386/Windows 95</TD>
<TD>2</TD>
<TD>4</TD>
<TD>4</TD>
<TD>4</TD>
</TR>
<TR>
<TD>Merced/Win64</TD>
<TD>2</TD>
<TD>4</TD>
<TD>4</TD>
<TD>8</TD>
</TR>
<TR>
<TD>Alpha/Linux</TD>
<TD>???</TD>
<TD>???</TD>
<TD>???</TD>
<TD>???</TD>
</TR>
</TABLE>
<P><LI><A NAME="no_assignment_in_if"></A><B>No assignments in conditional expressions</B></LI><P>
Although close to the heart of many C programmers (I plead guilty), code like
classical <TT>if ( (c = getchar()) != EOF )</TT> is bad because it prevents you
from enabling "assignment in conditional expression" warning (see also
<A HREF="#no_warnings">above</A>) warning which is helpful to detect common
mistypes like <TT>if ( x = 2 )</TT> instead of <TT>if ( x == 2 )</TT>.
<P><LI><A NAME="no_comment_code"></A><B>Use <TT>#if 0</TT> rather than comments to temporarily
disable blocks of code</B></LI><P>
If you have to temporarily disable some code, use
<PRE>
#if 0 // VZ: I think this code is unneeded, it probably must be removed
...
#endif // 0
</PRE>
instead of
<PRE>
/*
...
*/
</PRE>
The reason is simple: if there are any <TT>/* ... */</TT> comments inside
<TT>...</TT> the second version will, of course, miserably fail.
<P><LI><A NAME="no_extra_semicolon"></A><B>Don't use extra semi-colons on top level</B></LI><P>
Some compilers don't pay any attention to extra semicolons on top level, as in
<PRE>
class Foo { };;
</PRE>
while others complain loudly about it. Of course, you would rarely put 2
semicolons yourself, but it may happen if you're using a macro
(<TT>IMPLEMENT_something</TT>, for example) which already has a ';' inside and
put another one after it.
</OL>
<BR>
<LI>Unix/DOS differences</B></LI><P>
Two operating systems supported by wxWindows right now are (different flavours
of) Unix and Windows 3.1/95/NT (although Mac, OS/2 and other ports exist/are
being developed as well). The main differences between them are summarized
here.
<OL>
<P><LI><A NAME="use_cpp_ext"></A><B>Use .cpp for C++ source file extension</B></LI><P>
There is, unfortunately, no standard exceptions for C++ source files. Different
people use .C, .cc, .cpp, .cxx, .c++ and probably several others I forgot. Some
compilers don't care about extension, but there are also other ones which can't
be made to compile any file with "wrong" extension. Such compilers are very
common in DOS/Windows land, that's why the .cpp extension is the least likely to
cause any problems - it's the standard one under DOS and will probably be
accepted by any Unix compiler as well (any counter examples?). The extension
for the header files is .h.
<P><LI><A NAME="no_backslash"></A><B>Don't use backslash ('\\') in &#35;includes</B></LI><P>
Although it's too silly to mention, please don't use backslashes in
<TT>&#35;include</TT> preprocessor statement. Even not all Windows compilers accept
it, without speaking about all other ones.
<P><LI><A NAME="no_carriagereturn"></A><B>Avoid carriage returns in cross-platform code</B></LI><P>
This problem will hopefully not arise at all, with CVS taking care of this
stuff, however it's perhaps not useless to remember that many Unix compilers
(including, but not limited to, gcc) don't accept carriage returns
(= <Ctrl-M> = '\r') in C/C++ code.
<P><LI><A NAME="no_caps_in_filenames"></A><B>Use only lower case filenames</B></LI><P>
DOS/Windows 3.1 isn't case sensitive, Windows 95/NT are case preserving, but not
case sensitive. To avoid all kinds of problems with compiling under Unix (or
any other fully case-sensitive OS), please use only lower case letters in the
filenames.
<P><LI><A NAME="no_incomplete_files"></A><B>Terminate the files with a new-line</B></LI><P>
While DOS/Windows compilers don't seem to mind, their Unix counterparts don't
like files without terminating new-line. Such files also give a warning message
when loaded to vim (the Unix programmer's editor of choice :-)), so please think
about terminating the last line.
</OL>
<BR>
<LI>Style choices</B></LI><P>
All wxWindows specific style guidelines are specified in the next
section, here are the choices which are not completely arbitrary,
but have some deeper and not wxWindows-specific meaning.
<OL>
<P><LI><A NAME="naming_conv"></A><B>Naming conventions: use <TT>m_</TT> for members</B></LI><P>
It's extremely important to write readable code. One of the first steps in this
direction is the choice of naming convention. It may be quite vague or strictly
define the names of all the variables and function in the program, however it
surely must somehow allow the reader to distinguish between variable and
functions and local variables and member variables from the first glance.
<P>The first requirement is commonly respected, but for some strange reasons, the
second isn't, even if it's much more important because, after all, the immediate
context usually allows you to distinguish a variable from a function in
C/C++ code. On the other hand, you <I>cannot</I> say what <TT>x</TT> in the
following code fragment is:
<PRE>
void Foo::Bar(int x_)
{
...
x = x_;
...
}
</PRE>
It might be either a local variable (unluckily the function is too long so you
don't see the variable declarations when you look at <TT>x = x_</TT> line), a
member variable or a global variable - you have no way of knowing.
<P>The wxWindows naming convention gives you, the reader of the code, much more
information about <TT>x</TT>. In the code above you know that it's a local
variable because:<P>
<OL>
<LI>global variables are always prefixed with <TT>g_</TT></LI>
<LI>member variables are always prefixed with <TT>m_</TT></LI>
<LI>static variables are always prefixed with <TT>s_</TT></LI>
</OL>
<P>Examples:
<PRE>
extern int g_x; // of course, 'x' is not the best name for a global...
void Bar()
{
int x;
}
class Foo {
public:
void SetX(int x) { m_x = x; }
private:
int m_x;
};
</PRE>
As you see, it also solves once and for all the old C++ programmer's question:
how to call <TT>SetX()</TT> parameter? The answer is simple: just call it
<TT>x</TT> because there is no ambiguity with <TT>Foo::m_x</TT>.
<P>The prefixes can be combined to give <TT>ms_</TT> and <TT>gs_</TT> for static
member (a.k.a. class) variables and static global variables.
<P>The convention is, of course, completely worthless if it is not followed:
nothing like being sure that <TT>x</TT> is a local variable in the code fragment
above and discovering later the following lines in the header:
<PRE>
class Foo {
...
int x; // I don't like wxWindows naming convention
};
</PRE>
Please do use these prefixes, they make your code much easier to read. Also
please notice that it has nothing to do with the so-called <I>Hungarian notation</I>
which is used in wxMSW part of wxWindows code and which encodes the <I>type</I>
of the variable in its name - it is actually quite useful in C, but has little
or no sense in C++.
<P><LI><A NAME="no_void_param"></A><B>Don't use <TT>void</TT> for functions without
arguments</B></LI><P>
In ANSI C, <TT>void Foo()</TT> takes an arbitrary number of arbitrarily typed
arguments (although the form <TT>void Foo(...)</TT> is preferred) and <TT>void
Foo(void)</TT> doesn't take any arguments. In C++, however, the situation is
different and both declarations are completely equivalent. As there is no need
to write <TT>void</TT> in this situation, let's not write it - it can only be
confusing and create an impression that it really means something when it's not
at all the case.
<P><LI><A NAME="no_const_int"></A><B>Don't use <TT>const</TT> for non pointer/reference
arguments</B></LI><P>
In both C and C++ an argument passed by value cannot be modified - or, more
precisely, if it is modified in the called function, only the local copy is
really changed, not the caller's variable. So, semantically speaking, there is
no difference between <TT>void Foo(int)</TT> and <TT>void Foo(const int)</TT>.
However, the <TT>const</TT> keyword is confusing here, adds nothing to the code
and even cannot be removed if <TT>Foo()</TT> is virtual and overridden (because
the names are mangled differently). So, <I>for arguments passed by value</I>
you shouldn't use <TT>const</TT>.
<P>Of course, it doesn't apply to functions such as
<TT>void PrintMessage(const char *text)</TT> where <TT>const</TT> is mandatory.
</OL>
</UL>
<P>
<H3>wxWindows rules</H3>
<UL>
<P><LI>File location and naming conventions</LI><P>
<OL>
<P><LI><A NAME="file_locations"></LI><B>File locations</B><P>
The wxWindows files for each supported platform have their own subdirectories
in "include" and "src". So, for example, there is "src/msw", "include/gtk"
etc. There are also two special subdirectories called "common" and
"generic". The common subdirectory contains the files which are platform
independent (wxObject, wxString, ...) and the generic one the generic
implementations of GUI widgets, i.e. those which use only other wxWindows
classes to implement them. For the platforms where the given functionality
cannot be implemented natively, the generic implementation is used and the native
one is used for the others. As I feel that it becomes a bit too confusing,
here is an example: wxMessageBox function is implemented natively under
Windows (where it just calls MessageBox API), but there is also a generic
implementation which is used under, for example, GTK. A generic class should
normally have a name that distinguishes it from any platform-specific implementation.
A #define will allow wxGenericMessageDialog to be wxMessageDialog on some
platforms, for example.
<P>This scheme applies not only for the .cpp files, but also for the headers.
However, as the program using wxWindows should (ideally) not use any
"<TT>&#35;ifdef &lt;platform&gt;</TT>" at all, the headers are always included with
"<TT>&#35;include &lt;wx/msgdlg.h&gt;</TT>" (for example). This file, in turn, includes
the right header for given platform. Any new headers should conform to this
setup as well to allow including <TT>&lt;wx/foo.h&gt;</TT> on any platform.<P>
Note that wxWindows implementation files should use quotes when including wxWindows
headers, not angled brackets. Applications should use angled brackets. There
is a reason for it (can anyone remember what this is?).
<P><LI><A NAME="include_guards"></LI><B>Include guards</B><P>
To minimize the compile time C++ programmers often use so called include
guards: for example, in the header file foo.h you might have
<PRE>
&#35;ifndef _FOO_H_
&#35;define _FOO_H_
... all header contents ...
&#35;endif
//_FOO_H_
</PRE>
In this way, the header will only be included once for the compilation
of any .cpp (of course, it still will be included many times for the
compilation of the whole project, so it has nothing to do with precompiled
headers). wxWindows is no exception and also uses include guards which should use
the above form, except for top-level headers which include files with identical
names, in which case you should use _FOO_H_BASE_.
<P><LI><A NAME="pch"></LI><B>Precompiled headers</B><P>
The precompiled headers greatly (we're speaking about orders of hundreds of
percent here) reduce the compilation time. wxWindows uses them if the target
compiler supports them (it knows about MS Visual C++, Borland C++ and g++).
You should include all the headers included from <TT><wx/wx_prec.h></TT> only
inside "<TT>&#35;if !USE_PRECOMP</TT>" to avoid unnecessary overhead in the case
when the precompiled headers are used.<P>
The start of a cpp implementation file after the heading might look like this:<P>
<PRE>
&#35;ifdef __GNUG__
&#35;pragma implementation "bitmap.h"
&#35;endif
// For compilers that support precompilation, includes "wx.h".
&#35;include "wx/wxprec.h"
&#35;ifdef __BORLANDC__
&#35;pragma hdrstop
&#35;endif
&#35;ifndef WX_PRECOMP
&#35;include &lt;stdio.h&gt;
&#35;include "wx/setup.h"
&#35;include "wx/list.h"
&#35;include "wx/utils.h"
&#35;include "wx/app.h"
&#35;include "wx/palette.h"
&#35;include "wx/bitmap.h"
&#35;include "wx/icon.h"
&#35;endif
&#35;include "wx/msw/private.h"
&#35;include "assert.h"
</PRE>
<P>Any header file should containg the following lines:
<PRE>
&#35;ifdef __GNUG__
&#35;pragma interface "foo.h"
&#35;endif
</PRE>
and the corresponding .cpp file:
<PRE>
&#35;ifdef __GNUG__
&#35;pragma implementation "foo.h"
&#35;endif
</PRE> for g++ compilation.
</OL>
<P><LI>File layout and indentation</LI><P>
<OL>
<P><LI><A NAME="wxwin_header"></LI><B>wxWindows standard header</B> <a href="header.txt">here</a>. The
copyright holder is the original author. It is assumed the author does not assert copyright,
under the terms of the wxWindows licence. This is a legal interpretation of the informal
usage 'public domain' (the copyright holder does not assert the copyright).<P>
<P><LI><A NAME="indentation"></LI><B>Indent your code with 4 spaces (no tabs!)</B>
<P><LI><A NAME="class_decl"></LI><B>Order of parts in a class declarations</B><P>
</OL>
<P><LI>More about naming conventions</LI><P>
<OL>
<P><LI><A NAME="wx_prefix"></LI><B>Use wx or WX prefix for all public symbols</B>.
wx should be used for functions and classes, WX for macros.
<P><LI><A NAME="wxdllexport"</LI><B>Use WXDLLEXPORT with all classes/functions in
wxMSW/common code</B>
The title says it all - every public (in the sense that it is not internal to
the library) function or class should have WXDLLEXPORT macro in its
declaration to allow compilation of wxWindows as shared library. For example:<P>
<pre>
bool WXDLLEXPORT wxYield(void);
class WXDLLEXPORT MyClass; // (for forward declarations and real declarations)
WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
</pre>
The reason for the strange syntax for data is that some compilers use different
keyword ordering for exporting data.
<P>There also several other places where you should take care of shared
library case: all IMPLEMENT_xxx macros which are usually used in the
corresponding .cpp files must be taken inside
"<TT>&#35;if !USE_SHARED_LIBRARY</TT>" and in the <TT>&#35;if USE_SHARED_LIBRARY</TT>
case you should put them inside <TT>common/cmndata.cpp</TT> file.
<P><LI><A NAME="set_get"></LI><B>Use Set/Get prefixes for accessors</B><P>
There is a convention in wxWindows to prefix the accessors (i.e. any simple, in
general, inline function which does nothing else except changing or returning
the value of a member variable) with either <TT>Set</TT> or <TT>Get</TT>.
</OL>
<P><LI>Miscellaneous</LI><P>
<OL>
<P><LI><A NAME="forward_decl"></LI><B>Use forward declarations whenever possible</B><P>
It's really a trivial piece of advice, but remember that using forward declarations
instead of including the header of corresponding class is better because not
only does it minimize the compile time, it also simplifies the dependencies
between different source files.
<P>On a related subject, in general, you should try not to include other
headers from a header file.
<P><LI><A NAME="debug_macros"></LI><B>Use debugging macros</B><P>
wxWindows provides the debugging macros <TT>wxASSERT, wxFAIL</TT> and
<TT>wxCHECK_RET</TT> in <TT><wx/wx.h></TT> file. Please use them as often as
you can - they will never do you any harm but can greatly simplify the bug
tracking both for you and for others.
<P>Also, please use <TT>wxFAIL_MSG("not implemented")</TT> instead of writing
stubs for not (yet) implemented functions which silently return incorrect
values - otherwise, a person using a not implemented function has no idea that
it is, in fact, not implemented.
<P>As all debugging macros only do something useful if the symbol
<TT>__DEBUG__</TT> is defined, you should compile your programs in debug mode to profit
from them.
</OL>
</UL>
<P>
<HR>
Please send any comments to <A HREF=mailto:zeitlin@dptmaths.ens-cachan.fr>Vadim Zeitlin</A>.
</font>
</BODY>
</HTML>

View File

@@ -1,37 +0,0 @@
<HTML>
<HEAD>
<TITLE>Welcome to wxWindows 2</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
<font face="Arial, Lucida Sans, Helvetica">
<a name="top"></a>
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000">
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
Welcome to wxWindows 2
</font>
</td>
</tr>
</table>
<P>
Welcome to wxWindows 2, the premiere cross-platform GUI C++ framework.<P>
Please click on <a href="html/index.htm">docs/html/index.htm</a> to view the main document index.<P>
Have fun!<P>
</font>
</BODY>
</HTML>

View File

@@ -1,4 +1,5 @@
[OPTIONS]
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
TITLE=wxWindows Porting Guide
CONTENTS=Contents
COMPRESS=HIGH

View File

@@ -14,7 +14,7 @@
\parindent=0pt
\title{Guide to porting applications from wxWindows 1.xx to 2.0}
\author{Julian Smart}
\date{March 1999}
\date{October 1997}
\makeindex
\begin{document}
\maketitle
@@ -40,10 +40,13 @@ 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.
The main challenges are using the new event system, doing without the default
With backward compatibility mode on, much of the conversion can be
done gradually. The main challenges are 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.
Please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
So 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,
@@ -97,7 +100,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 replaces char * with wxString
\item {\bf Use wxString wherever possible.} 2.0 will replace 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.
@@ -109,7 +112,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}:
\item {\bf Consider dropping wxForm usage}: an alternative is to be found in utils/wxprop.
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.
@@ -177,8 +180,7 @@ 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, not pointers, so you will need to derefence your pointers.
The device context does not store a copy of the pen
objects to functions such as wxDC::SetPen. 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
@@ -189,8 +191,11 @@ 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. Also, where you pass NULL to these
functions, you will need to use an identifier such as wxNullPen or wxNullBrush.
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.
\chapter{Dialogs and controls}\label{dialogscontrols}
@@ -208,7 +213,8 @@ 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.
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.
\wxheading{Show versus ShowModal}
@@ -247,7 +253,7 @@ wxGroupBox is renamed wxStaticBox.
\wxheading{wxForm}
Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyFormView class
Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyForm 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.
@@ -272,8 +278,6 @@ If you used device context functions with wxPoint or wxIntPoint before, please n
that wxPoint now contains integer members, and there is a new class wxRealPoint. wxIntPoint
no longer exists.
wxMetaFile and wxMetaFileDC have been renamed to wxMetafile and wxMetafileDC.
\chapter{Miscellaneous}
\section{Strings}
@@ -321,178 +325,66 @@ 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 in setup.h.
(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1.
Mostly this defines old names to be the new names (e.g. wxRectangle is defined to be wxRect).
TODO
OnMenuCommand, OnSize, OnActivate, OnPaint, others?? can all be prefixed with Old (e.g. OldOnMenuCommand)
and will work as before. You are encouraged to convert your code to the new forms, but
this will allow you to get your applications up and running a little more quickly.
OnClose can be used as-is without an 'Old' prefix, but officially the OnCloseWindow event table handler should be
used instead.
\chapter{Quick reference}\label{quickreference}
This section allows you to quickly find features that
need to be converted.
\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.
TODO
\section{OnActivate}
Replace the arguments with one wxActivateEvent\& argument, make sure the function isn't virtual,
and add an EVT\_ACTIVATE event table entry.
Rename to OldOnActivate, or replace arguments with one wxActivateEvent\& argument.
\section{OnChar}
\wxheading{See also}
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.
\helpref{Backward compatibility}{compat}
\section{OnClose}
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.
This can either remain the same as before, or you can add an OnCloseWindow event
handler using an EVT\_CLOSE event table entry.
\section{OnEvent}
\wxheading{See also}
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.
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.
\helpref{Backward compatibility}{compat}
\section{OnMenuCommand}
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.
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.
\section{OnPaint}
\wxheading{See also}
This is now a non-virtual function, with a wxPaintEvent\& argument.
Add an EVT\_PAINT macro to the event table
for your window.
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.
\helpref{Backward compatibility}{compat}
\section{OnSize}
Replace the arguments with one wxSizeEvent\& argument, make it non-virtual, and add to your
event table using EVT\_SIZE.
Rename to OldOnSize, or replace arguments with one wxSizeEvent\& argument.
\section{wxApp definition}
\wxheading{See also}
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.
\helpref{Backward compatibility}{compat}
\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}

View File

@@ -11,7 +11,7 @@ headerRule = yes
footerRule = yes
useHeadingStyles = yes
listItemIndent=40
generateHPJ = no
generateHPJ = yes
htmlBrowseButtons = bitmap
winHelpContents = yes
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

View File

@@ -1,13 +0,0 @@
WX.GID
WX.HLP
wx.ref
wx.cnt
Wx.rtf
Wx.con
minimald.hpj
minimald.ref
minimald.con
MINIMALD.HLP
minimald.GID
minimald.cnt
minimald.rtf

View File

@@ -1,198 +0,0 @@
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/accel.h>
\wxheading{See also}
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
\func{}{wxAcceleratorEntry}{\void}
Default constructor.
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
Constructor.
\wxheading{Parameters}
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
which modifier key is held down.}
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
\docparam{cmd}{The menu or control command identifier.}
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
\constfunc{int}{GetCommand}{\void}
Returns the command identifier for the accelerator table entry.
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
\constfunc{int}{GetFlags}{\void}
Returns the flags for the accelerator table entry.
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
\constfunc{int}{GetKeyCode}{\void}
Returns the keycode for the accelerator table entry.
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
Sets the accelerator entry parameters.
\wxheading{Parameters}
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
which modifier key is held down.}
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
\docparam{cmd}{The menu or control command identifier.}
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
An accelerator table allows the application to specify a table of keyboard shortcuts for
menus or other commands. On Windows, menu or button commands are supported; on GTK,
only menu commands are supported.
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
initial accelerator table for a window.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/accel.h>
\wxheading{Example}
{\small%
\begin{verbatim}
wxAcceleratorEntry entries[4];
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
wxAcceleratorTable accel(4, entries);
frame->SetAcceleratorTable(accel);
\end{verbatim}
}
\wxheading{Remarks}
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
\wxheading{See also}
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
\func{}{wxAcceleratorTable}{\void}
Default constructor.
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
Copy constructor.
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
Loads the accelerator table from a Windows resource (Windows only).
\wxheading{Parameters}
\docparam{n}{Number of accelerator entries.}
\docparam{entries}{The array of entries.}
\docparam{resource}{Name of a Windows accelerator.}
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
\func{}{\destruct{wxAcceleratorTable}}{\void}
Destroys the wxAcceleratorTable object.
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
\constfunc{bool}{Ok}{\void}
Returns TRUE if the accelerator table is valid.
\membersection{wxAcceleratorTable::operator $=$}
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
Assignment operator. This operator does not copy any data, but instead
passes a pointer to the data in {\it accel} and increments a reference
counter. It is a fast operation.
\wxheading{Parameters}
\docparam{accel}{Accelerator table to assign.}
\wxheading{Return value}
Returns 'this' object.
\membersection{wxAcceleratorTable::operator $==$}
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
Equality operator. This operator tests whether the internal data pointers are
equal (a fast test).
\wxheading{Parameters}
\docparam{accel}{Accelerator table to compare with 'this'}
\wxheading{Return value}
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
\membersection{wxAcceleratorTable::operator $!=$}
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
Inequality operator. This operator tests whether the internal data pointers are
unequal (a fast test).
\wxheading{Parameters}
\docparam{accel}{Accelerator table to compare with 'this'}
\wxheading{Return value}
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.

View File

@@ -8,10 +8,6 @@ or deactivated.
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/event.h>
\wxheading{Event table macros}
To process an activate event, use these event handler macros to direct input to a member
@@ -42,7 +38,7 @@ or a frame becomes inactivate resulting in all application frames being inactive
\membersection{wxActivateEvent::wxActivateEvent}
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{int }{id = 0}}
Constructor.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -22,10 +22,6 @@ a reference to your application object) to be visible to other files.
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/app.h>
\wxheading{See also}
\helpref{wxApp overview}{wxappoverview}
@@ -34,13 +30,15 @@ a reference to your application object) to be visible to other files.
\membersection{wxApp::wxApp}
\func{void}{wxApp}{\void}
\func{void}{wxApp}{\param{int}{ language = wxLANGUAGE\_ENGLISH}}
Constructor. Called implicitly with a definition of a wxApp object.
The argument is a language identifier; this is an experimental
feature and will be expanded and documented in future versions.
TODO: completely rewrite the language stuff.
\membersection{wxApp::\destruct{wxApp}}
\func{void}{\destruct{wxApp}}{\void}
@@ -131,17 +129,18 @@ otherwise.
\helpref{wxApp::SetExitOnDelete}{wxappsetexitondelete}
\membersection{wxApp::GetPrintMode}\label{wxappgetprintmode}
\constfunc{bool}{GetPrintMode}{\void}
Returns the print mode: see \helpref{wxApp::SetPrintMode}{wxappsetprintmode}.
\membersection{wxApp::GetTopWindow}\label{wxappgettopwindow}
\constfunc{wxWindow *}{GetTopWindow}{\void}
Returns a pointer to the top window.
\wxheading{Remarks}
If the top window hasn't been set using \helpref{wxApp::SetTopWindow}{wxappsettopwindow}, this
function will find the first top-level window (frame or dialog) and return that.
\wxheading{See also}
\helpref{wxApp::SetTopWindow}{wxappsettopwindow}
@@ -230,7 +229,7 @@ application have all been processed, wxWindows sends an OnIdle event to the appl
sends an OnIdle event to each application window, allowing windows to do idle processing such as updating
their appearance. If either wxApp::OnIdle or a window OnIdle function requested more time, by
caling \helpref{wxIdleEvent::ReqestMore}{wxidleeventrequestmore}, wxWindows will send another OnIdle
event to the application object. This will occur in a loop until either a user event is found to be
event to the application event. This will occur in a loop until either a user event is found to be
pending, or OnIdle requests no more time. Then all pending user events are processed until the system
goes idle again, when OnIdle is called, and so on.
@@ -239,76 +238,25 @@ goes idle again, when OnIdle is called, and so on.
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
This is an event handler function called when the operating system or GUI session is
about to close down. The application has a chance to silently save information,
and can optionally close itself.
Use the EVT\_END\_SESSION event table macro to handle query end session events.
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
(forcing the application to close itself silently).
\wxheading{Remarks}
Under X, OnEndSession is called in response to the 'die' event.
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
\wxheading{See also}
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
\membersection{wxApp::OnInit}\label{wxapponinit}
\func{bool}{OnInit}{\void}
This must be provided by the application, and will usually create the
application's main window, optionally calling \helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
Return TRUE to continue processing, FALSE to exit the application.
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
\membersection{wxApp::Pending}\label{wxapppending}
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
\func{bool}{Pending}{\void}
This is an event handler function called when the operating system or GUI session is
about to close down. Typically, an application will try to save unsaved documents
at this point.
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
The application might veto the shutdown after prompting for documents to be saved, and the
user has cancelled the save.
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
You should check whether the application is forcing the deletion of the window
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
If not, it is up to you whether you respond by destroying the window.
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
\wxheading{Remarks}
Under X, OnQueryEndSession is called in response to the 'save session' event.
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
Returns TRUE if unprocessed events are in the window system event queue
(MS Windows and Motif).
\wxheading{See also}
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
\helpref{wxApp::OnEndSession}{wxapponendsession}
\helpref{wxApp::Dispatch}{wxappdispatch}
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
@@ -334,17 +282,6 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
}
\end{verbatim}
\membersection{wxApp::Pending}\label{wxapppending}
\func{bool}{Pending}{\void}
Returns TRUE if unprocessed events are in the window system event queue
(MS Windows and Motif).
\wxheading{See also}
\helpref{wxApp::Dispatch}{wxappdispatch}
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
\func{bool}{SendIdleEvents}{\void}
@@ -422,16 +359,31 @@ deleted. If FALSE, the application will continue to run.}
Currently, setting this to FALSE only has an effect under Windows.
\membersection{wxApp::SetPrintMode}\label{wxappsetprintmode}
\func{void}{SetPrintMode}{\param{int}{ mode}}
Sets the print mode determining what printing facilities will be
used by the printing framework.
\wxheading{Parameters}
\docparam{mode}{This can be one of:
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxPRINT\_WINDOWS}}{Under Windows, use Windows printing (wxPrinterDC). This is the
default under Windows.}
\twocolitem{{\bf wxPRINT\_POSTSCRIPT}}{Use PostScript printing (wxPostScriptDC). This is the
default for non-Windows platforms.}
\end{twocollist}
}%
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
Sets the `top' window. You can call this from within \helpref{wxApp::OnInit}{wxapponinit} to
let wxWindows know which is the main window. You don't have to set the top window;
it's only a convenience so that (for example) certain dialogs without parents can use a
specific window as the top window. If no top window is specified by the application,
wxWindows just uses the first frame or dialog in its top-level window list, when it
needs to use the top window.
Sets the `top' window. You should normally call this from within \helpref{wxApp::OnInit}{wxapponinit} to
let wxWindows know which is the main window.
\wxheading{Parameters}
@@ -441,15 +393,3 @@ needs to use the top window.
\helpref{wxApp::GetTopWindow}{wxappgettopwindow}, \helpref{wxApp::OnInit}{wxapponinit}
\membersection{wxApp::GetStdIcon}\label{wxappgetstdicon}
\func{virtual wxIcon}{GetStdIcon}{\param{int }{which}} const
Returns the icons used by wxWindows internally, e.g. the ones used for
message boxes. This function is used internally and
can be overridden by the user to change the default icons.
\wxheading{Parameters}
\docparam{which}{One of the wxICON_XXX defines and chooses which icon to return.}

View File

@@ -1,540 +0,0 @@
\section{\class{wxArray}}\label{wxarray}
This section describes the so called {\it dynamic arrays}. This is a C
array-like data structure i.e. the member access time is constant (and not
linear according to the number of container elements as for linked lists). However, these
arrays are dynamic in the sense that they will automatically allocate more
memory if there is not enough of it for adding a new element. They also perform
range checking on the index values but in debug mode only, so please be sure to
compile your application in debug mode to use it (see \helpref{debugging overview}{debuggingoverview} for
details). So, unlike the arrays in some other
languages, attempt to access an element beyond the arrays bound doesn't
automatically expand the array but provokes an assertion failure instead in
debug build and does nothing (except possibly crashing your program) in the
release build.
The array classes were designed to be reasonably efficient, both in terms of
run-time speed and memory consumption and the executable size. The speed of
array item access is, of course, constant (independent of the number of elements)
making them much more efficient than linked lists (\helpref{wxList}{wxlist}).
Adding items to the arrays is also implemented in more or less constant time -
but the price is preallocating the memory in advance. In the \helpref{memory management}{wxarraymemorymanagement} section
you may find some useful hints about optimizing wxArray memory usage. As for executable size, all
wxArray functions are inline, so they do not take {\it any space at all}.
wxWindows has three different kinds of array. All of them derive from
wxBaseArray class which works with untyped data and can not be used directly.
The standard macros WX\_DEFINE\_ARRAY(), WX\_DEFINE\_SORTED\_ARRAY() and
WX\_DEFINE\_OBJARRAY() are used to define a new class deriving from it. The
classes declared will be called in this documentation wxArray, wxSortedArray and
wxObjArray but you should keep in mind that no classes with such names actually
exist, each time you use one of WX\_DEFINE\_XXXARRAY macro you define a class
with a new name. In fact, these names are "template" names and each usage of one
of the macros mentioned above creates a template specialization for the given
element type.
wxArray is suitable for storing integer types and pointers which it does not
treat as objects in any way, i.e. the element pointed to by the pointer is not
deleted when the element is removed from the array. It should be noted that
all of wxArray's functions are inline, so it costs strictly nothing to define as
many array types as you want (either in terms of the executable size or the
speed) as long as at least one of them is defined and this is always the case
because wxArrays are used by wxWindows internally. This class has one serious
limitation: it can only be used for storing integral types (bool, char, short,
int, long and their unsigned variants) or pointers (of any kind). An attempt
to use with objects of sizeof() greater than sizeof(long) will provoke a
runtime assertion failure, however declaring a wxArray of floats will not (on
the machines where sizeof(float) <= sizeof(long)), yet it will {\bf not} work,
please use wxObjArray for storing floats and doubles (NB: a more efficient
wxArrayDouble class is scheduled for the next release of wxWindows).
wxSortedArray is a wxArray variant which should be used when searching in the
array is a frequently used operation. It requires you to define an additional
function for comparing two elements of the array element type and always stores
its items in the sorted order (according to this function). Thus, it's
\helpref{Index()}{wxarrayindex} function execution time is $O(log(N))$ instead of
$O(N)$ for the usual arrays but the \helpref{Add()}{wxarrayadd} method is
slower: it is $O(log(N))$ instead of constant time (neglecting time spent in
memory allocation routine). However, in a usual situation elements are added to
an array much less often than searched inside it, so wxSortedArray may lead to
huge performance improvements compared to wxArray. Finally, it should be
noticed that, as wxArray, wxSortedArray can be only used for storing integral
types or pointers.
wxObjArray class treats its elements like "objects". It may delete them when
they are removed from the array (invoking the correct destructor) and copies
them using the objects copy constructor. In order to implement this behaviour
the definition of the wxObjArray arrays is split in two parts: first, you should
declare the new wxObjArray class using WX\_DECLARE\_OBJARRAY() macro and then
you must include the file defining the implementation of template type:
<wx/arrimpl.cpp> and define the array class with WX\_DEFINE\_OBJARRAY() macro
from a point where the full (as opposed to `forward') declaration of the array
elements class is in scope. As it probably sounds very complicated here is an
example:
\begin{verbatim}
#include <wx/dynarray.h>
// we must forward declare the array because it's used inside the class
// declaration
class MyDirectory;
class MyFile;
// this defines two new types: ArrayOfDirectories and ArrayOfFiles which can be
// now used as shown below
WX_DECLARE_OBJARRAY(MyDirectory, ArrayOfDirectories);
WX_DECLARE_OBJARRAY(MyFile, ArrayOfFiles);
class MyDirectory
{
...
ArrayOfDirectories m_subdirectories; // all subdirectories
ArrayOfFiles m_files; // all files in this directory
};
...
// now that we have MyDirectory declaration in scope we may finish the
// definition of ArrayOfDirectories
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
WX_DEFINE_OBJARRAY(ArrayOfDirectories);
// that's all!
\end{verbatim}
It is not as elegant as writing
\begin{verbatim}
typedef std::vector<MyDirectory> ArrayOfDirectories;
\end{verbatim}
but is not that complicated and allows the code to be compiled with any, however
dumb, C++ compiler in the world.
Things are much simpler for wxArray and wxSortedArray however: it is enough
just to write
\begin{verbatim}
WX_DEFINE_ARRAY(MyDirectory *, ArrayOfDirectories);
WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles);
\end{verbatim}
\wxheading{See also:}
\helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
\wxheading{Required headers:}
<wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
for wxObjArray.
\latexignore{\rtfignore{\wxheading{Function groups}}}
\membersection{Macros for template array definition}
To use an array you must first define the array class. This is done with the
help of the macros in this section. The class of array elements must be (at
least) forward declared for WX\_DEFINE\_ARRAY, WX\_DEFINE\_SORTED\_ARRAY and
WX\_DECLARE\_OBJARRAY macros and must be fully declared before you use
WX\_DEFINE\_OBJARRAY macro.
\helpref{WX\_DEFINE\_ARRAY}{wxdefinearray}\\
\helpref{WX\_DEFINE\_SORTED\_ARRAY}{wxdefinesortedarray}\\
\helpref{WX\_DECLARE\_OBJARRAY}{wxdeclareobjarray}\\
\helpref{WX\_DEFINE\_OBJARRAY}{wxdefineobjarray}
\membersection{Constructors and destructors}
Array classes are 100\% C++ objects and as such they have the appropriate copy
constructors and assignment operators. Copying wxArray just copies the elements
but copying wxObjArray copies the arrays items. However, for memory-efficiency
sake, neither of these classes has virtual destructor. It is not very important
for wxArray which has trivial destructor anyhow, but it does mean that you
should avoid deleting wxObjArray through a wxBaseArray pointer (as you would
never use wxBaseArray anyhow it shouldn't be a problem) and that you should not
derive your own classes from the array classes.
\helpref{wxArray default constructor}{wxarrayctordef}\\
\helpref{wxArray copy constructors and assignment operators}{wxarrayctorcopy}\\
\helpref{\destruct{wxArray}}{wxarraydtor}
\membersection{Memory management}\label{wxarraymemorymanagement}
Automatic array memory management is quite trivial: the array starts by
preallocating some minimal amount of memory (defined by
WX\_ARRAY\_DEFAULT\_INITIAL\_SIZE) and when further new items exhaust already
allocated memory it reallocates it adding 50\% of the currently allocated
amount, but no more than some maximal number which is defined by
ARRAY\_MAXSIZE\_INCREMENT constant. Of course, this may lead to some memory
being wasted (ARRAY\_MAXSIZE\_INCREMENT in the worst case, i.e. 4Kb in the
current implementation), so the \helpref{Shrink()}{wxarrayshrink} function is
provided to unallocate the extra memory. The \helpref{Alloc()}{wxarrayalloc}
function can also be quite useful if you know in advance how many items you are
going to put in the array and will prevent the array code from reallocating the
memory more times than needed.
\helpref{Alloc}{wxarrayalloc}\\
\helpref{Shrink}{wxarrayshrink}
\membersection{Number of elements and simple item access}
Functions in this section return the total number of array elements and allow to
retrieve them - possibly using just the C array indexing $[]$ operator which
does exactly the same as \helpref{Item()}{wxarrayitem} method.
\helpref{Count}{wxarraycount}\\
\helpref{GetCount}{wxarraygetcount}\\
\helpref{IsEmpty}{wxarrayisempty}\\
\helpref{Item}{wxarrayitem}\\
\helpref{Last}{wxarraylast}
\membersection{Adding items}
\helpref{Add}{wxarrayadd}\\
\helpref{Insert}{wxarrayinsert}
\membersection{Removing items}
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray}\\
\helpref{Empty}{wxarrayempty}\\
\helpref{Clear}{wxarrayclear}\\
\helpref{Remove}{wxarrayremove}
\membersection{Searching and sorting}
\helpref{Index}{wxarrayindex}\\
\helpref{Sort}{wxarraysort}
%%%%% MEMBERS HERE %%%%%
\helponly{\insertatlevel{2}{
\wxheading{Members}
}}
\membersection{WX\_DEFINE\_ARRAY}\label{wxdefinearray}
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
This macro defines a new array class named {\it name} and containing the
elements of type {\it T}. Example:
\begin{verbatim}
WX_DEFINE_ARRAY(int, wxArrayInt);
class MyClass;
WX_DEFINE_ARRAY(MyClass *, wxArrayOfMyClass);
\end{verbatim}
Note that wxWindows predefines the following standard array classes: wxArrayInt,
wxArrayLong and wxArrayPtrVoid.
\membersection{WX\_DEFINE\_SORTED\_ARRAY}\label{wxdefinesortedarray}
\func{}{WX\_DEFINE\_SORTED\_ARRAY}{\param{}{T}, \param{}{name}}
This macro defines a new sorted array class named {\it name} and containing
the elements of type {\it T}. Example:
\begin{verbatim}
WX_DEFINE_SORTED_ARRAY(int, wxArrayInt);
class MyClass;
WX_DEFINE_SORTED_ARRAY(MyClass *, wxArrayOfMyClass);
\end{verbatim}
You will have to initialize the objects of this class by passing a comparaison
function to the array object constructor like this:
\begin{verbatim}
int CompareInts(int n1, int n2)
{
return n1 - n2;
}
wxArrayInt sorted(CompareInts);
int CompareMyClassObjects(MyClass *item1, MyClass *item2)
{
// sort the items by their address...
return Stricmp(item1->GetAddress(), item2->GetAddress());
}
wxArrayOfMyClass another(CompareMyClassObjects);
\end{verbatim}
\membersection{WX\_DECLARE\_OBJARRAY}\label{wxdeclareobjarray}
\func{}{WX\_DECLARE\_OBJARRAY}{\param{}{T}, \param{}{name}}
This macro declares a new object array class named {\it name} and containing
the elements of type {\it T}. Example:
\begin{verbatim}
class MyClass;
WX_DEFINE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not "MyClass *"!
\end{verbatim}
You must use \helpref{WX\_DEFINE\_OBJARRAY()}{wxdefineobjarray} macro to define
the array class - otherwise you would get link errors.
\membersection{WX\_DEFINE\_OBJARRAY}\label{wxdefineobjarray}
\func{}{WX\_DEFINE\_OBJARRAY}{\param{}{name}}
This macro defines the methods of the array class {\it name} not defined by the
\helpref{WX\_DECLARE\_OBJARRAY()}{wxdeclareobjarray} macro. You must include the
file <wx/arrimpl.cpp> before using this macro and you must have the full
declaration of the class of array elements in scope! If you forget to do the
first, the error will be caught by the compiler, but, unfortunately, many
compilers will not give any warnings if you forget to do the second - but the
objects of the class will not be copied correctly and their real destructor will
not be called.
Example of usage:
\begin{verbatim}
// first declare the class!
class MyClass
{
public:
MyClass(const MyClass&);
...
virtual ~MyClass();
};
#include <wx/arrimpl.cpp>
WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
\end{verbatim}
\membersection{WX\_CLEAR\_ARRAY}\label{wxcleararray}
\func{void}{WX\_CLEAR\_ARRAY}{\param{wxArray\& }{array}}
This macro may be used to delete all elements of the array before emptying it.
It can not be used with wxObjArrays - but they will delete their elements anyhow
when you call Empty().
\membersection{Default constructors}\label{wxarrayctordef}
\func{}{wxArray}{\void}
\func{}{wxObjArray}{\void}
Default constructor initializes an empty array object.
\func{}{wxSortedArray}{\param{int (*)(T first, T second)}{compareFunction}}
There is no default constructor for wxSortedArray classes - you must initialize it
with a function to use for item comparaison. It is a function which is passed
two arguments of type {\it T} where {\it T} is the array element type and which
should return a negative, zero or positive value according to whether the first
element passed to it is less than, equal to or greater than the second one.
\membersection{wxArray copy constructor and assignment operator}\label{wxarrayctorcopy}
\func{}{wxArray}{\param{const wxArray\& }{array}}
\func{}{wxSortedArray}{\param{const wxSortedArray\& }{array}}
\func{}{wxObjArray}{\param{const wxObjArray\& }{array}}
\func{wxArray\&}{operator$=$}{\param{const wxArray\& }{array}}
\func{wxSortedArray\&}{operator$=$}{\param{const wxSortedArray\& }{array}}
\func{wxObjArray\&}{operator$=$}{\param{const wxObjArray\& }{array}}
The copy constructors and assignment operators perform a shallow array copy
(i.e. they don't copy the objects pointed to even if the source array contains
the items of pointer type) for wxArray and wxSortedArray and a deep copy (i.e.
the array element are copied too) for wxObjArray.
\membersection{wxArray::\destruct{wxArray}}\label{wxarraydtor}
\func{}{\destruct{wxArray}}{\void}
\func{}{\destruct{wxSortedArray}}{\void}
\func{}{\destruct{wxObjArray}}{\void}
The wxObjArray destructor deletes all the items owned by the array. This is not
done by wxArray and wxSortedArray versions - you may use
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro for this.
\membersection{wxArray::Add}\label{wxarrayadd}
\func{void}{Add}{\param{T }{item}}
\func{void}{Add}{\param{T *}{item}}
\func{void}{Add}{\param{T \&}{item}}
Appends a new element to the array (where {\it T} is the type of the array
elements.)
The first version is used with wxArray and wxSortedArray. The second and the
third are used with wxObjArray. There is an important difference between
them: if you give a pointer to the array, it will take ownership of it, i.e.
will delete it when the item is deleted from the array. If you give a reference
to the array, however, the array will make a copy of the item and will not take
ownership of the original item. Once again, it only makes sense for wxObjArrays
because the other array types never take ownership of their elements.
\membersection{wxArray::Alloc}\label{wxarrayalloc}
\func{void}{Alloc}{\param{size\_t }{count}}
Preallocates memory for a given number of array elements. It is worth calling
when the number of items which are going to be added to the array is known in
advance because it will save unneeded memory reallocation. If the array already
has enough memory for the given number of items, nothing happens.
\membersection{wxArray::Clear}\label{wxarrayclear}
\func{void}{Clear}{\void}
This function does the same as \helpref{Empty()}{wxarrayempty} and additionally
frees the memory allocated to the array.
\membersection{wxArray::Count}\label{wxarraycount}
\constfunc{size\_t}{Count}{\void}
Same as \helpref{GetCount()}{wxarraygetcount}. This function is deprecated -
it exists only for compatibility.
\membersection{wxObjArray::Detach}\label{wxobjarraydetach}
\func{T *}{Detach}{\param{size\_t }{index}}
Removes the element from the array, but, unlike,
\helpref{Remove()}{wxarrayremove} doesn't delete it. The function returns the
pointer to the removed element.
\membersection{wxArray::Empty}\label{wxarrayempty}
\func{void}{Empty}{\void}
Empties the array. For wxObjArray classes, this destroys all of the array
elements. For wxArray and wxSortedArray this does nothing except marking the
array of being empty - this function does not free the allocated memory, use
\helpref{Clear()}{wxarrayclear} for this.
\membersection{wxArray::GetCount}\label{wxarraygetcount}
\constfunc{size\_t}{GetCount}{\void}
Return the number of items in the array.
\membersection{wxArray::Index}\label{wxarrayindex}
\func{int}{Index}{\param{T\& }{item}, \param{bool }{searchFromEnd = FALSE}}
\func{int}{Index}{\param{T\& }{item}}
The first version of the function is for wxArray and wxObjArray, the second is
for wxSortedArray only.
Searches the element in the array, starting from either beginning or the end
depending on the value of {\it searchFromEnd} parameter. wxNOT\_FOUND is
returned if the element is not found, otherwise the index of the element is
returned.
Linear search is used for the wxArray and wxObjArray classes but binary search
in the sorted array is used for wxSortedArray (this is why searchFromEnd
parameter doesn't make sense for it).
\membersection{wxArray::Insert}\label{wxarrayinsert}
\func{void}{Insert}{\param{T }{item}, \param{size\_t }{n}}
\func{void}{Insert}{\param{T *}{item}, \param{size\_t }{n}}
\func{void}{Insert}{\param{T \&}{item}, \param{size\_t }{n}}
Insert a new item into the array before the item {\it n} - thus, {\it Insert(something, 0u)} will
insert an item in such way that it will become the
first array element.
Please see \helpref{Add()}{wxarrayadd} for explanation of the differences
between the overloaded versions of this function.
\membersection{wxArray::IsEmpty}\label{wxarrayisempty}
\constfunc{bool}{IsEmpty}{\void}
Returns TRUE if the array is empty, FALSE otherwise.
\membersection{wxArray::Item}\label{wxarrayitem}
\constfunc{T\&}{Item}{\param{size\_t }{index}}
Returns the item at the given position in the array. If {\it index} is out of
bounds, an assert failure is raised in the debug builds but nothing special is
done in the release build.
The returned value is of type "reference to the array element type" for all of
the array classes.
\membersection{wxArray::Last}\label{wxarraylast}
\constfunc{T\&}{Last}{\void}
Returns the last element in the array, i.e. is the same as Item(GetCount() - 1).
An assert failure is raised in the debug mode if the array is empty.
The returned value is of type "reference to the array element type" for all of
the array classes.
\membersection{wxArray::Remove}\label{wxarrayremove}
\func{\void}{Remove}{\param{size\_t }{index}}
\func{\void}{Remove}{\param{T }{item}}
Removes the element from the array either by index or by value. When an element
is removed from wxObjArray it is deleted by the array - use
\helpref{Detach()}{wxobjarraydetach} if you don't want this to happen. On the
other hand, when an object is removed from a wxArray nothing happens - you
should delete the it manually if required:
\begin{verbatim}
T *item = array[n];
delete item;
array.Remove(n)
\end{verbatim}
See also \helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro which deletes all
elements of a wxArray (supposed to contain pointers).
\membersection{wxArray::Shrink}\label{wxarrayshrink}
\func{void}{Shrink}{\void}
Frees all memory unused by the array. If the program knows that no new items
will be added to the array it may call Shrink() to reduce its memory usage.
However, if a new item is added to the array, some extra memory will be
allocated again.
\membersection{wxArray::Sort}\label{wxarraysort}
\func{void}{Sort}{\param{CMPFUNC<T> }{compareFunction}}
The notation CMPFUNC<T> should be read as if we had the following declaration:
\begin{verbatim}
template int CMPFUNC(T *first, T *second);
\end{verbatim}
where {\it T} is the type of the array elements. I.e. it is a function returning
{\it int} which is passed two arguments of type {\it T *}.
Sorts the array using the specified compare function: this function should
return a negative, zero or positive value according to whether the first element
passed to it is less than, equal to or greater than the second one.
wxSortedArray doesn't have this function because it is always sorted.

View File

@@ -1,249 +0,0 @@
\section{\class{wxArrayString}}\label{wxarraystring}
wxArrayString is an efficient container for storing
\helpref{wxString}{wxstring} objects. It has the same features as all
\helpref{wxArray}{wxarray} classes, i.e. it dynamically expands when new items
are added to it (so it is as easy to use as a linked list), but the access
time to the elements is constant, instead of being linear in number of
elements as in the case of linked lists. It is also very size efficient and
doesn't take more space than a C array {\it wxString[]} type. wxArrayString
uses its knowledge of internals of wxString class to achieve this.
This class is used in the same way as other dynamic \helpref{arrays}{wxarray},
except that no {\it WX\_DEFINE\_ARRAY} declaration is needed for it. When a
string is added or inserted in the array, a copy of the string is created, so
the original string may be safely deleted (e.g. if it was a {\it char *}
pointer the memory it was using can be freed immediately after this). In
general, there is no need to worry about string memory deallocation when using
this class - it will always free the memory it uses itself.
The references returned by \helpref{Item}{wxarraystringitem},
\helpref{Last}{wxarraystringlast} or
\helpref{operator[]}{wxarraystringoperatorindex} are not constant, so the
array elements may be modified in place like this
\begin{verbatim}
array.Last().MakeUpper();
\end{verbatim}
Finally, none of the methods of this class is virtual including its
destructor, so this class should not be derived from.
\wxheading{Derived from}
Although this is not true strictly speaking, this class may be considered as a
specialization of \helpref{wxArray}{wxarray} class for the wxString member
data: it is not implemented like this, but it does have all of the wxArray
functions.
\wxheading{Include files}
<wx/string.h>
\wxheading{See also}
\helpref{wxArray}{wxarray}, \helpref{wxString}{wxstring}, \helpref{wxString overview}{wxstringoverview}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxArrayString::wxArrayString}\label{wxarraystringctor}
\func{}{wxArrayString}{\void}
\func{}{wxArrayString}{\param{const wxArrayString\&}{ array}}
Default and copy constructors.
\membersection{wxArrayString::\destruct{wxArrayString}}\label{wxarraystringdtor}
\func{}{\destruct{wxArrayString}}{}
Destructor frees memory occupied by the array strings. For the performance
reasons it is not virtual, so this class should not be derived from.
\membersection{wxArrayString::operator=}\label{wxarraystringoperatorassign}
\func{wxArrayString \&}{operator $=$}{\param{const wxArrayString\&}{ array}}
Assignment operator.
\membersection{wxArrayString::operator[]}\label{wxarraystringoperatorindex}
\func{wxString\&}{operatorp[]}{\param{size\_t }{nIndex}}
Return the array element at position {\it nIndex}. An assert failure will
result from an attempt to access an element beyond the end of array in debug
mode, but no check is done in release mode.
This is the operator version of \helpref{Item}{wxarraystringitem} method.
\membersection{wxArrayString::Add}\label{wxarraystringadd}
\func{void}{Add}{\param{const wxString\& }{str}}
Appends a new item to the array.
See also: \helpref{Insert}{wxarraystringinsert}
\membersection{wxArrayString::Alloc}\label{wxarraystringalloc}
\func{void}{Alloc}{\param{size\_t }{nCount}}
Preallocates enough memory to store {\it nCount} items. This function may be
used to improve array class performance before adding a known number of items
consecutively.
See also: \helpref{Dynamic array memory management}{wxarraymemorymanagement}
\membersection{wxArrayString::Clear}\label{wxarraystringclear}
\func{void}{Clear}{\void}
Clears the array contents and frees memory.
See also: \helpref{Empty}{wxarraystringempty}
\membersection{wxArrayString::Count}\label{wxarraystringcount}
\constfunc{size\_t}{Count}{\void}
Returns the number of items in the array. This function is deprecated and is
for backwards compatibility only, please use
\helpref{GetCount}{wxarraystringgetcount} instead.
\membersection{wxArrayString::Empty}\label{wxarraystringempty}
\func{void}{Empty}{\void}
Empties the array: after a call to this function
\helpref{GetCount}{wxarraystringgetcount} will return $0$. However, this
function does not free the memory used by the array and so should be used when
the array is going to be reused for storing other strings. Otherwise, you
should use \helpref{Clear}{wxarraystringclear} to empty the array and free
memory.
\membersection{wxArrayString::GetCount}\label{wxarraystringgetcount}
\constfunc{size\_t}{GetCount}{\void}
Returns the number of items in the array.
\membersection{wxArrayString::Index}\label{wxarraystringindex}
\func{int}{Index}{\param{const char *}{ sz}, \param{bool}{ bCase = TRUE}, \param{bool}{ bFromEnd = FALSE}}
Search the element in the array, starting from the beginning if
{\it bFromEnd} is FALSE or from end otherwise. If {\it bCase}, comparison is
case sensitive (default), otherwise the case is ignored.
Returns index of the first item matched or wxNOT\_FOUND if there is no match.
\membersection{wxArrayString::Insert}\label{wxarraystringinsert}
\func{void}{Insert}{\param{const wxString\& }{str}, \param{size\_t}{ nIndex}}
Insert a new element in the array before the position {\it nIndex}. Thus, for
example, to insert the string in the beginning of the array you would write
\begin{verbatim}
Insert("foo", 0);
\end{verbatim}
If {\it nIndex} is equal to {\it GetCount() + 1} this function behaves as
\helpref{Add}{wxarraystringadd}.
\membersection{wxArrayString::IsEmpty}\label{wxarraystringisempty}
\func{}{IsEmpty}{}
Returns TRUE if the array is empty, FALSE otherwise. This function returns the
same result as {\it GetCount() == 0} but is probably easier to read.
\membersection{wxArrayString::Item}\label{wxarraystringitem}
\constfunc{wxString\&}{Item}{\param{size\_t }{nIndex}}
Return the array element at position {\it nIndex}. An assert failure will
result from an attempt to access an element beyond the end of array in debug
mode, but no check is done in release mode.
See also \helpref{operator[]}{wxarraystringoperatorindex} for the operator
version.
\membersection{wxArrayString::Last}\label{wxarraystringlast}
\func{}{Last}{}
Returns the last element of the array. Attempt to access the last element of
an empty array will result in assert failure in debug build, however no checks
are done in release mode.
\membersection{wxArrayString::Remove (by value)}\label{wxarraystringremoveval}
\func{void}{Remove}{\param{const char *}{ sz}}
Removes the first item matching this value. An assert failure is provoked by
an attempt to remove an element which does not exist in debug build.
See also: \helpref{Index}{wxarraystringindex}, \helpref{Remove}{wxarraystringremove}
\membersection{wxArrayString::Remove (by index)}\label{wxarraystringremove}
\func{void}{Remove}{\param{size\_t }{nIndex}}
Removes the item at given position.
See also: \helpref{Remove}{wxarraystringremoveval}
\membersection{wxArrayString::Shrink}\label{wxarraystringshrink}
\func{void}{Shrink}{\void}
Releases the extra memory allocated by the array. This function is useful to
minimize the array memory consumption.
See also: \helpref{Alloc}{wxarraystringalloc}, \helpref{Dynamic array memory management}{wxarraymemorymanagement}
\membersection{wxArrayString::Sort (alphabetically)}\label{wxarraystringsort}
\func{void}{Sort}{\param{bool}{ reverseOrder = FALSE}}
Sorts the array in alphabetical order or in reverse alphabetical order if
{\it reverseOrder} is TRUE.
See also: \helpref{Sort}{wxarraystringsortcallback}
\membersection{wxArrayString::Sort (user defined)}\label{wxarraystringsortcallback}
\func{void}{Sort}{\param{CompareFunction }{compareFunction}}
Sorts the array using the specified {\it compareFunction} for item comparison.
{\it CompareFunction} is defined as a function taking two {\it const
wxString\&} parameters and returning {\it int} value less than, equal to or
greater than 0 if the first string is less than, equal to or greater than the
second one.
\wxheading{Example}
The following example sorts strings by their length.
\begin{verbatim}
static int CompareStringLen(const wxString& first, const wxString& second)
{
return first.length() - second.length();
}
...
wxArrayString array;
array.Add("one");
array.Add("two");
array.Add("three");
array.Add("four");
array.Sort(CompareStringLen);
\end{verbatim}
See also: \helpref{Sort}{wxarraystringsort}

View File

@@ -1,201 +0,0 @@
\section{\class{wxAutomationObject}}\label{wxautomationobject}
The {\bf wxAutomationObject} class represents an OLE automation object containing a single data member,
an IDispatch pointer. It contains a number of functions that make it easy to perform
automation operations, and set and get properties. The class makes heavy use of the \helpref{wxVariant}{wxvariant} class.
The usage of these classes is quite close to OLE automation usage in Visual Basic. The API is
high-level, and the application can specify multiple properties in a single string. The following example
gets the current Excel instance, and if it exists, makes the active cell bold.
{\small
\begin{verbatim}
wxAutomationObject excelObject;
if (excelObject.GetInstance("Excel.Application"))
excelObject.PutProperty("ActiveCell.Font.Bold", TRUE);
\end{verbatim}
}
Note that this class works under Windows only, and currently only for Visual C++.
\wxheading{Derived from}
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/msw/ole/automtn.h>
\wxheading{See also}
\helpref{wxVariant}{wxvariant}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxAutomationObject::wxAutomationObject}\label{wxautomationobjectctor}
\func{}{wxAutomationObject}{\param{WXIDISPATCH*}{ dispatchPtr = NULL}}
Constructor, taking an optional IDispatch pointer which will be released when the
object is deleted.
\membersection{wxAutomationObject::\destruct{wxAutomationObject}}\label{wxautomationobjectdtor}
\func{}{\destruct{wxAutomationObject}}{\void}
Destructor. If the internal IDispatch pointer is non-null, it will be released.
\membersection{wxAutomationObject::CallMethod}\label{wxautomationobjectcallmethod}
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{int}{ noArgs},
\param{wxVariant }{args[]}}
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{...}{}}
Calls an automation method for this object. The first form takes a method name, number of
arguments, and an array of variants. The second form takes a method name and zero to six
constant references to variants. Since the variant class has constructors for the basic
data types, and C++ provides temporary objects automatically, both of the following lines
are syntactically valid:
{\small
\begin{verbatim}
wxVariant res = obj.CallMethod("Sum", wxVariant(1.2), wxVariant(3.4));
wxVariant res = obj.CallMethod("Sum", 1.2, 3.4);
\end{verbatim}
}
Note that {\it method} can contain dot-separated property names, to save the application
needing to call GetProperty several times using several temporary objects. For example:
{\small
\begin{verbatim}
object.CallMethod("ActiveCell.Font.ShowDialog", "My caption");
\end{verbatim}
}
\membersection{wxAutomationObject::CreateInstance}\label{wxautomationobjectcreateinstance}
\constfunc{bool}{CreateInstance}{\param{const wxString\&}{ classId}}
Creates a new object based on the class id, returning TRUE if the object was successfully created,
or FALSE if not.
\membersection{wxAutomationObject::GetDispatchPtr}\label{wxautomationobjectgetdispatchptr}
\constfunc{IDispatch*}{GetDispatchPtr}{\void}
Gets the IDispatch pointer.
\membersection{wxAutomationObject::GetInstance}\label{wxautomationobjectgetinstance}
\constfunc{bool}{GetInstance}{\param{const wxString\&}{ classId}}
Retrieves the current object associated with a class id, and attaches the IDispatch pointer
to this object. Returns TRUE if a pointer was succesfully retrieved, FALSE otherwise.
Note that this cannot cope with two instances of a given OLE object being active simultaneously,
such as two copies of Excel running. Which object is referenced cannot currently be specified.
\membersection{wxAutomationObject::GetObject}\label{wxautomationobjectgetobject}
\constfunc{bool}{GetObject}{\param{wxAutomationObject\&}{obj} \param{const wxString\&}{ property},
\param{int}{ noArgs = 0}, \param{wxVariant }{args[] = NULL}}
Retrieves a property from this object, assumed to be a dispatch pointer, and initialises {\it obj} with it.
To avoid having to deal with IDispatch pointers directly, use this function in preference
to \helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty} when retrieving objects
from other objects.
Note that an IDispatch pointer is stored as a void* pointer in wxVariant objects.
\wxheading{See also}
\helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty}
\membersection{wxAutomationObject::GetProperty}\label{wxautomationobjectgetproperty}
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
\param{wxVariant }{args[]}}
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{...}{}}
Gets a property value from this object. The first form takes a property name, number of
arguments, and an array of variants. The second form takes a property name and zero to six
constant references to variants. Since the variant class has constructors for the basic
data types, and C++ provides temporary objects automatically, both of the following lines
are syntactically valid:
{\small
\begin{verbatim}
wxVariant res = obj.GetProperty("Range", wxVariant("A1"));
wxVariant res = obj.GetProperty("Range", "A1");
\end{verbatim}
}
Note that {\it property} can contain dot-separated property names, to save the application
needing to call GetProperty several times using several temporary objects.
\membersection{wxAutomationObject::Invoke}\label{wxautomationobjectinvoke}
\constfunc{bool}{Invoke}{\param{const wxString\&}{ member}, \param{int}{ action},
\param{wxVariant\& }{retValue}, \param{int}{ noArgs}, \param{wxVariant}{ args[]},
\param{const wxVariant*}{ ptrArgs[] = 0}}
This function is a low-level implementation that allows access to the IDispatch Invoke function.
It is not meant to be called directly by the application, but is used by other convenience functions.
\wxheading{Parameters}
\docparam{member}{The member function or property name.}
\docparam{action}{Bitlist: may contain DISPATCH\_PROPERTYPUT, DISPATCH\_PROPERTYPUTREF,
DISPATCH\_METHOD.}
\docparam{retValue}{Return value (ignored if there is no return value)}.
\docparam{noArgs}{Number of arguments in {\it args} or {\it ptrArgs}.}
\docparam{args}{If non-null, contains an array of variants.}
\docparam{ptrArgs}{If non-null, contains an array of constant pointers to variants.}
\wxheading{Return value}
TRUE if the operation was successful, FALSE otherwise.
\wxheading{Remarks}
Two types of argument array are provided, so that when possible pointers are used for efficiency.
\membersection{wxAutomationObject::PutProperty}\label{wxautomationobjectputproperty}
\constfunc{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
\param{wxVariant }{args[]}}
\func{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{...}{}}
Puts a property value into this object. The first form takes a property name, number of
arguments, and an array of variants. The second form takes a property name and zero to six
constant references to variants. Since the variant class has constructors for the basic
data types, and C++ provides temporary objects automatically, both of the following lines
are syntactically valid:
{\small
\begin{verbatim}
obj.PutProperty("Value", wxVariant(23));
obj.PutProperty("Value", 23);
\end{verbatim}
}
Note that {\it property} can contain dot-separated property names, to save the application
needing to call GetProperty several times using several temporary objects.
\membersection{wxAutomationObject::SetDispatchPtr}\label{wxautomationobjectsetdispatchptr}
\func{void}{SetDispatchPtr}{\param{WXIDISPATCH*}{ dispatchPtr}}
Sets the IDispatch pointer. This function does not check if there is already an IDispatch pointer.
You may need to cast from IDispatch* to WXIDISPATCH* when calling this function.

View File

@@ -12,10 +12,6 @@ almost any other window.
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/bmpbuttn.h>
\wxheading{Remarks}
A bitmap button can be supplied with a single bitmap, and wxWindows will draw
@@ -34,14 +30,6 @@ provided bitmaps.}
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxButton}{wxbutton}

View File

@@ -10,23 +10,9 @@ either monochrome or colour.
\helpref{wxGDIObject}{wxgdiobject}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/bitmap.h>
\wxheading{Predefined objects}
Objects:
{\bf wxNullBitmap}
\wxheading{See also}
\helpref{wxBitmap overview}{wxbitmapoverview},
\helpref{supported bitmap file formats}{supportedbitmapformats},
\helpref{wxDC::Blit}{wxdcblit},
\helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxBitmap}{wxbitmap},
\helpref{wxMemoryDC}{wxmemorydc}
\helpref{wxBitmap overview}{wxbitmapoverview}, \helpref{wxDC::Blit}{wxdcblit}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxMemoryDC}{wxmemorydc}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -38,26 +24,22 @@ Default constructor.
\func{}{wxBitmap}{\param{const wxBitmap\& }{bitmap}}
Copy constructor.
\func{}{wxBitmap}{\param{const wxBitmap* }{bitmap}}
Copy constructors.
\func{}{wxBitmap}{\param{void*}{ data}, \param{int}{ type}, \param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
Creates a bitmap from the given data, which can be of arbitrary type.
Windows only, I think.
\func{}{wxBitmap}{\param{const char}{ bits[]}, \param{int}{ width}, \param{int}{ height}\\
\param{int}{ depth = 1}}
Creates a bitmap from an array of bits.
Note that the bit depth is ignored on GTK+ and Motif. If you want to create a bitmap
from something else than a 1-bit data array, use the \helpref{wxImage}{wximage} class.
\func{}{wxBitmap}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
Creates a new bitmap. A depth of -1 indicates the depth of the current screen or
visual. Some platforms only support 1 for monochrome and -1 for the current colour
setting.
Creates a new bitmap.
\func{}{wxBitmap}{\param{const char**}{ bits}}
@@ -79,7 +61,7 @@ Loads a bitmap from a file or resource.
screen is used.}
\docparam{name}{This can refer to a resource name under MS Windows, or a filename under MS Windows and X.
Its meaning is determined by the {\it type} parameter.}
Its meaning is determined by the {\it flags} parameter.}
\docparam{type}{May be one of the following:
@@ -94,9 +76,8 @@ Its meaning is determined by the {\it type} parameter.}
\end{twocollist}
The validity of these flags depends on the platform and wxWindows configuration.
If all possible wxWindows settings are used, the Windows platform supports BMP file, BMP resource,
XPM data, and XPM. Under wxGTK, the available formats are BMP file, XPM data, XPM file, and PNG file.
Under wxMotif, the available formats are XBM data, XBM file, XPM data, XPM file.}
If all possible wxWindows settings are used, the Windows platform supports BMP, BMP\_RESOURCE,
XPM\_DATA, and XPM. Under X, the available formats are BMP, GIF, XBM, and XPM.}
\wxheading{Remarks}
@@ -134,25 +115,12 @@ The eighth form constructs a bitmap from a file or resource. {\it name} can refe
to a resource name under MS Windows, or a filename under MS Windows and X.
Under Windows, {\it type} defaults to wxBITMAP\_TYPE\_BMP\_RESOURCE.
Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM.
Under X, {\it type} defaults to wxBITMAP\_TYPE\_XBM.
\wxheading{See also}
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}
\pythonnote{Constructors supported by wxPython are:\par
\indented{2cm}{\begin{twocollist}
\twocolitem{\bf{wxBitmap(name, flag)}}{Loads a bitmap from a file}
\twocolitem{\bf{wxBitmap(data, type, width, height, depth=1)}}{Creates
a bitmap from the given data, which can be of arbitrary type.}
\twocolitem{\bf{wxNoRefBitmap(name, flag)}}{This one won't own the
reference, so Python won't call the destructor, this is good for toolbars
and such where the parent will manage the bitmap.}
\twocolitem{\bf{wxEmptyBitmap(width, height, depth = -1)}}{Creates an
empty bitmap with the given specifications}
\end{twocollist}}
}
\membersection{wxBitmap::\destruct{wxBitmap}}
\func{}{\destruct{wxBitmap}}{\void}
@@ -291,7 +259,7 @@ or set for the bitmap.
\constfunc{wxMask*}{GetMask}{\void}
Gets the associated mask (if any) which may have been loaded from a file
Gets the associated mask if any) which may have been loaded from a file
or set for the bitmap.
\wxheading{See also}
@@ -417,9 +385,8 @@ Saves a bitmap in the named file.
The validity of these flags depends on the platform and wxWindows configuration.}
\docparam{palette}{An optional palette used for saving the bitmap.}
% TODO: this parameter should
%probably be eliminated; instead the app should set the palette before saving.
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
probably be eliminated; instead the app should set the palette before saving.}
\wxheading{Return value}
@@ -568,10 +535,6 @@ application initialisation.
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/bitmap.h>
\wxheading{See also}
\helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}
@@ -674,7 +637,8 @@ Saves a bitmap in the named file.
\docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.}
\docparam{palette}{An optional palette used for saving the bitmap.}
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
probably be eliminated; instead the app should set the palette before saving.}
\wxheading{Return value}

View File

@@ -1,116 +0,0 @@
\section{\class{wxBitmapDataObject}}\label{wxbitmapdataobject}
wxBitmapDataObject is a specialization of wxDataObject for bitmap data. It can be
used without change to paste data into the \helpref{wxClipboard}{wxclipboard}
or a \helpref{wxDropSource}{wxdropsource}. A user may wish to derive a new class
from this class for providing a bitmap on-demand in order to minimize memory consumption
when offering data in several formats, such as a bitmap and GIF.
In order to offer bitmap data on-demand \helpref{GetSize}{wxbitmapdataobjectgetsize}
and \helpref{WriteData}{wxbitmapdataobjectwritedata} will have to be overridden.
\wxheading{Derived from}
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
<wx/dataobj.h>
\wxheading{See also}
\helpref{wxDataObject}{wxdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject}
\func{}{wxBitmapDataObject}{\void}
Default constructor. Call \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap} later
or override \helpref{WriteData}{wxbitmapdataobjectwritedata} and
\helpref{GetSize}{wxbitmapdataobjectgetsize} for providing data on-demand.
\func{}{wxBitmapDataObject}{\param{const wxBitmap\& }{bitmap}}
Constructor, passing a bitmap.
\membersection{wxBitmapDataObject::GetSize}\label{wxbitmapdataobjectgetsize}
\constfunc{virtual size\_t}{GetSize}{\void}
Returns the data size. By default, returns the size of the bitmap data
set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap}.
This can be overridden to provide size data on-demand. Note that you'd
have to call the inherited GetSize method as this is the only way
to get to know the transfer size of the bitmap in a platform dependent
way - a bitmap has different size under GTK and Windows. In practice,
this would look like this:
\begin{verbatim}
size_t MyBitmapDataObject::GetSize()
{
// Get bitmap from global container. This container
// should be able to "produce" data in all formats
// offered by the application but store it only in
// one format to reduce memory consumption.
wxBitmap my_bitmap = my_global_container->GetBitmap();
// temporarily set bitmap
SetBitmap( my_bitmap );
size_t ret = wxBitmapDataObject::GetSize();
// unset bitmap again
SetBitmap( wxNullBitmap );
retrun ret;
}
\end{verbatim}
TODO: Offer a nicer way to do this. Maybe by providing a platform
dependent function in this class like
\begin{verbatim}
size_t GetBitmapSize( const wxBitmap &bitmap )
\end{verbatim}
\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgettext}
\constfunc{virtual wxBitmap}{GetBitmap}{\void}
Returns the bitmap associated with the data object. You may wish to override
this method when offering data on-demand, but this is not required by
wxWindows' internals. Use this method to get data in bitmap form from
the \helpref{wxClipboard}{wxclipboard}.
\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsetbitmap}
\func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}}
Sets the bitmap associated with the data object. This method is called
internally when retrieving data from the \helpref{wxClipboard}{wxclipboard}
and may be used to paste data to the clipboard directly (instead of
on-demand).
\membersection{wxBitmapDataObject::WriteData}\label{wxbitmapdataobjectwritedata}
\constfunc{virtual void}{WriteData}{\param{void}{*dest} }
Write the data owned by this class to {\it dest}. By default, this
calls \helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} with the bitmap
set in the constructor or using \helpref{SetBitmap}{wxbitmapdataobjectsetbitmap}.
This can be overridden to provide bitmap data on-demand; in this case
\helpref{WriteBitmap}{wxbitmapdataobjectwritebitmap} must be called from
within th overriding WriteData() method.
\membersection{wxBitmapDataObject::WriteBitmap}\label{wxbitmapdataobjectwritebitmap}
\constfunc{void}{WriteBitmap}{\param{const wxBitmap\& }{bitmap}\param{void}{*dest} }
Writes the the bitmap {\it bitmap} to {\it dest}. This method must be called
from \helpref{WriteData}{wxbitmapdataobjectwritedata}.

View File

@@ -6,16 +6,14 @@
\section{What is wxWindows?}
wxWindows is a C++ framework providing GUI (Graphical User
Interface) and other facilities on more than one platform. Version 2.0 currently
supports MS Windows (16-bit, Windows 95 and Windows NT), Unix with GTK+, and Unix with Motif.
A Mac port is in an advanced state, an OS/2 port and a port to the MGL graphics library
have been started.
Interface) and other facilities on more than one platform. It currently
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
wxWindows was originally developed at the Artificial Intelligence
Applications Institute, University of Edinburgh, for internal use.
wxWindows has been released into the public domain in the hope
that others will also find it useful. Version 2.0 is written and
maintained by Julian Smart, Robert Roebling, Vadim Zeitlin and others.
maintained by Julian Smart and Markus Holzem, with support from users.
This manual discusses wxWindows in the context of multi-platform
development.\helpignore{For more detail on the wxWindows version 2.0 API
@@ -30,7 +28,7 @@ variants, unless otherwise stated. All trademarks are acknowledged.
wxWindows was developed to provide a cheap and flexible way to maximize
investment in GUI application development. While a number of commercial
class libraries already existed for cross-platform development,
class libraries already exist for cross-platform development,
none met all of the following criteria:
\begin{enumerate}\itemsep=0pt
@@ -40,24 +38,25 @@ none met all of the following criteria:
\item support for a wide range of compilers.
\end{enumerate}
Since wxWindows was started, several other free or almost-free GUI frameworks have
emerged. However, none has the range of features, flexibility, documentation and the
well-established development team that wxWindows has.
As public domain software and a project open to everyone, wxWindows has
benefited from comments, ideas, bug fixes, enhancements and the sheer
enthusiasm of users, especially via the Internet. This gives wxWindows a
certain advantage over its commercial competitors (and over free libraries
without an independent development team), plus a robustness against
certain advantage over its commercial brothers, and a robustness against
the transience of one individual or company. This openness and
availability of source code is especially important when the future of
thousands of lines of application code may depend upon the longevity of
the underlying class library.
Version 2.0 goes much further than previous versions in terms of generality and features,
In writing wxWindows, completeness has sometimes been traded for
portability and simplicity of programming. Version 2.0 goes much
further than previous versions in terms of generality and features,
allowing applications to be produced
that are often indistinguishable from those produced using single-platform
toolkits such as Motif and MFC.
toolkits
such as Motif and MFC.
wxWindows 2.0 currently maps to two native APIs: Motif and
MS Windows. An Xt port is also in preparation.
The importance of using a platform-independent class library cannot be
overstated, since GUI application development is very time-consuming,
@@ -65,9 +64,10 @@ and sustained popularity of particular GUIs cannot be guaranteed.
Code can very quickly become obsolete if it addresses the wrong
platform or audience. wxWindows helps to insulate the programmer from
these winds of change. Although wxWindows may not be suitable for
every application (such as an OLE-intensive program), it provides access to most of the functionality a
GUI program normally requires, plus some extras such as network programming
and PostScript output, and can of course be extended as needs dictate. As a bonus, it provides
every application, it provides access to most of the functionality a
GUI program normally requires, plus some extras such as form
construction, interprocess communication and PostScript output, and
can of course be extended as needs dictate. As a bonus, it provides
a cleaner programming interface than the native
APIs. Programmers may find it worthwhile to use wxWindows even if they
are developing on only one platform.
@@ -78,28 +78,24 @@ here are some of the benefits:
\begin{itemize}\itemsep=0pt
\item Low cost (free, in fact!)
\item You get the source.
\item Available on a variety of popular platforms.
\item Works with almost all popular C++ compilers.
\item Several example programs.
\item Over 900 pages of printable and on-line documentation.
\item Includes Tex2RTF, to allow you to produce your own documentation
in Windows Help, HTML and Word RTF formats.
\item Over 200 pages of printable and on-line documentation.
\item Simple-to-use, object-oriented API.
\item Flexible event system.
\item Graphics calls include lines, rounded rectangles, splines, polylines, etc.
\item Graphics calls include splines, polylines, rounded rectangles, etc.
\item Constraint-based layout option.
\item Print/preview and document/view architectures.
\item Toolbar, notebook, tree control, advanced list control classes.
\item PostScript generation under Unix, normal MS Windows printing on the
\item Status line facility, toolbar
\item Easy, object-oriented interprocess comms (DDE subset) under UNIX and
MS Windows.
\item Encapsulated PostScript generation under UNIX, normal MS Windows printing on the
PC.
\item MDI (Multiple Document Interface) support.
\item Can be used to create DLLs under Windows, dynamic libraries on Unix.
\item MDI support under Windows.
\item Can be used to create DLLs under Windows, dynamic libraries on the Sun.
\item Common dialogs for file browsing, printing, colour selection, etc.
\item Under MS Windows, support for creating metafiles and copying
them to the clipboard.
\item An API for invoking help from applications.
\item Hypertext help facility, with an API for invocation from applications.
\item Dialog Editor for building dialogs.
\item Network support via a family of socket and protocol classes.
\end{itemize}
\section{Changes from version 1.xx}\label{versionchanges}
@@ -110,8 +106,9 @@ Removals:
\begin{itemize}\itemsep=0pt
\item XView is no longer supported;
\item Mac is not yet supported;
\item all controls (panel items) no longer have labels attached to them;
\item wxForm has been removed;
\item wxForm removed;
\item wxCanvasDC, wxPanelDC removed (replaced by wxClientDC, wxWindowDC, wxPaintDC which
can be used for any window);
\item wxMultiText, wxTextWindow, wxText removed and replaced by wxTextCtrl;
@@ -149,7 +146,7 @@ same API;
temporarily with the window as an argument;
\item events from sliders and scrollbars can be handled more flexibly;
\item the handling of window close events has been changed in line with the new
event system;
event system, but backward {\bf OnClose} compatibility has been retained;
\item the concept of {\it validator} has been added to allow much easier coding of
the relationship between controls and application data;
\item the documentation has been revised, with more cross-referencing.
@@ -174,18 +171,18 @@ following setups.
\begin{enumerate}\itemsep=0pt
\item A 486 or higher PC running MS Windows.
\item A Windows compiler: most are supported, but please see {\tt install.txt} for
details. Supported compilers include Microsoft Visual C++ 4.0 or higher, Borland C++, Cygwin,
Metrowerks CodeWarrior.
\item At least 60 MB of disk space.
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
Symantec C++, GNU-WIN32.
\item At least 30 MB of disk space.
\end{enumerate}
(b) Unix:
(b) UNIX:
\begin{enumerate}\itemsep=0pt
\item Almost any C++ compiler, including GNU C++ (EGCS 1.1.1 or above).
\item Almost any Unix workstation, and one of: GTK+ 1.0, GTK+ 1.2, Motif 1.2 or higher, Lesstif.
\item At least 60 MB of disk space.
\item Almost any C++ compiler, including GNU C++.
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
for the Xt version)
\item At least 30 MB of disk space.
\end{enumerate}
\section{Availability and location of wxWindows}
@@ -194,32 +191,41 @@ wxWindows is currently available from the Artificial Intelligence
Applications Institute by anonymous FTP and World Wide Web:
\begin{verbatim}
ftp://www.remstar.com/pub/wxwin
http://www.wxwindows.org
ftp://ftp.aiai.ed.ac.uk/pub/packages/wxwin
http://web.ukonline.co.uk/julian.smart/wxwin
\end{verbatim}
\section{Acknowledgments}
Thanks are due to AIAI for being willing to release the original version of
wxWindows into the public domain, and to our patient partners.
Thanks are due to the AIAI for being willing to release wxWindows into
the public domain, and to our patient wives Harriet and Tanja.
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
the project over the years. Apologies for any unintentional omissions from this list.
The Internet has been an essential prop when coming up against tricky
problems. Thanks to those who answered our
queries or submitted bug fixes and enhancements; wxWindows is very
much a team effort.
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
wxExtend library.
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
GNU-WIN32 compiler, refusing to give up when shortcuts were suggested.
Many thanks also to: Timothy Peters, Jamshid Afshar, Patrick Albert, C. Buckley,
Robin Corbet, Harco de Hilster, Josep Fortiana, Torsten Liermann, Tatu
M\"{a}nnist\"{o}, Ian Perrigo, Giordano Pezzoli, Petr Smilauer, Neil Smith,
Kari Syst\"{a}, Jyrki Tuomi, Edward Zimmermann, Ian Brown, and many
others.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
been used in wxGraphLayout with his permission.
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
We also acknowledge the author of XFIG, the excellent UNIX drawing tool,
from the source of which we have borrowed some spline drawing code.
His copyright is included below.
@@ -244,7 +250,7 @@ changes.txt for differences between versions.
\section{Include files}
The main include file is {\tt "wx/wx.h"}; this includes the most commonly
The main include file is {\tt "wx.h"}; this includes the most commonly
used modules of wxWindows.
To save on compilation time, include only those header files relevant to the
@@ -253,26 +259,25 @@ the following section before any other includes:
\begin{verbatim}
// For compilers that support precompilation, includes "wx.h".
#include <wx/wxprec.h>
#include "wx_prec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
// Include your minimal set of headers here, or wx.h
#include <wx/wx.h>
... include minimum set of files necessary here ...
#endif
... now your other include files ...
\end{verbatim}
The file {\tt "wx/wxprec.h"} includes {\tt "wx/wx.h"}. Although this incantation
The file {\tt "wx\_prec.h"} includes {\tt "wx.h"}. Although this incantation
may seem quirky, it is in fact the end result of a lot of experimentation,
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
and Watcom C++).
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.h"} as
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx\_prec.h"} as
the file to use for precompilation. Watcom C++ is automatic apart from the specification of
the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for
object files compiled in the same directory as that in which the precompiled header was created.
@@ -282,33 +287,133 @@ multi-megabyte .pch files.
\section{Libraries}
Please the wxGTK or wxMotif documentation for use of the Unix version of wxWindows.
Under Windows, use the library wx.lib for stand-alone Windows
Under UNIX, use the library libwx\_motif.a
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
applications, or wxdll.lib for creating DLLs.
\section{Configuration}
Options are configurable in the file
\rtfsp{\tt "wx/XXX/setup.h"} where XXX is the required platform (such as msw, motif, gtk, mac). Some settings are a matter
The following lists the options configurable in the file
\rtfsp{\tt include/base/wx\_setup.h.} Some settings are a matter
of taste, some help with platform-specific problems, and
others can be set to minimize the size of the library. Please see the setup.h file
and {\tt install.txt} files for details on configuration.
others can be set to minimize the size of the library.
\subsection{General features}
\begin{twocollist}\itemsep=0pt
\twocolitem{USE\_CLIPBOARD}{If 1, clipboard code is compiled (Windows only).}
\twocolitem{USE\_CONSTRAINTS}{If 1, the constaint-based window layout system is compiled.}
\twocolitem{USE\_DOC\_VIEW\_ARCHITECTURE}{If 1, wxDocument, wxView and related classes are compiled.}
\twocolitem{USE\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
and necessary for the document/view framework.}
\twocolitem{USE\_EXTENDED\_STATICS}{If 1, wxStaticItem code is compiled for enhanced panel decorative items.
Not rigorously tested, and not documented.}
\twocolitem{USE\_HELP}{If 1, interface to help system is compiled.}
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class compiled.}
\twocolitem{USE\_GLOBAL\_MEMORY\_OPERATORS}{If 1, redefines global new and delete operators to be compatible
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
for your compiler, set to 0.}
\twocolitem{USE\_GNU\_WXSTRING}{If 1, the enhanced GNU wxString and regular expression class are compiled
in place of the normal wxString class. See contrib/wxstring for details.}
\twocolitem{USE\_IMAGE\_LOADING\_IN\_MSW}{Use code to allow dynamic .BMP loading
under MS Windows.}
\twocolitem{USE\_IMAGE\_LOADING\_IN\_X}{Use code in utils/image to allow dynamic .BMP/.GIF loading
under X.}
\twocolitem{USE\_RESOURCE\_LOADING\_IN\_MSW}{Use code to allow dynamic .ICO/.CUR loading
under MS Windows.}
\twocolitem{USE\_IPC}{If 1, interprocess communication code is compiled.}
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
if the value of DEBUG is defined to more than 0.}
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
\twocolitem{USE\_PANEL\_IN\_PANEL}{If 1, experimental panel-in-panel code is used
for common dialog boxes. Not recommended, since tab traversal can suffer.}
\twocolitem{USE\_POSTSCRIPT}{If 1, PostScript code is compiled.}
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
to make use of either native Windows printing facilities, or the wxPostScriptDC class depending
on the wxApp::SetPrintMode setting.}
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
for the print/preview framework.}
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
\twocolitem{USE\_SCROLLBAR}{If 1, wxScrollBar class is compiled. Not rigorously tested, and not documented.}
\twocolitem{USE\_SPLINES}{If 1, spline code is compiled.}
\twocolitem{USE\_TOOLBAR}{If 1, the wxToolBar class is compiled.}
\twocolitem{USE\_TYPEDEFS}{If 1, a typedef will be used for wxPoint instead of
a class declaration, to reduce overhead and avoid a Microsoft C++ memory bug.}
\twocolitem{USE\_VLBOX}{If 1, wxVirtListBox code is compiled for a virtual listbox item.
Not rigorously tested, and not documented.}
\twocolitem{USE\_WX\_RESOURCES}{If 1, wxWindows resource file (.WXR) code is compiled.}
\twocolitem{USE\_XFIG\_SPLINE\_CODE}{If 1, XFig-derived code is used for spline
drawing. If 0, AIAI code is used, which is slower.}
\twocolitem{USE\_XPM\_IN\_X}{If 1, XPM (colour pixmap) facilities will be compiled and used
in wxBitmap under X.}
\twocolitem{USE\_XPM\_IN\_MSW}{If 1, XPM (colour pixmap) facilities will be compiled and used
in wxBitmap under MS Windows.}
\end{twocollist}
\subsection{X features}
\begin{twocollist}
\twocolitem{DEFAULT\_FILE\_SELECTOR\_SIZE}{Let Motif choose the size of
XmFileSelectionBox. Otherwise, size is 500x600.}
\twocolitem{PIXEL0\_DISABLE}{Define to disallow allocation of pixel 0 (wxXOR problem).}
\twocolitem{USE\_GADGETS}{Use gadgets where possible rather than Widgets for items.
Default is to use Gadgets.}
\twocolitem{USE\_BUTTON\_GADGET}{Use gadgets for buttons. This can intefere with
default button selection, so the default is zero.}
\end{twocollist}
\subsection{Windows and NT features}
\begin{twocollist}
\twocolitem{CTL3D}{CTL3D should only be used for 16-bit Windows programs.
On Windows 95 and NT, native 3D effects are used. If you want to
use it and don't already have CTL3D installed, copy the files in
contrib/ctl3d to appropriate places (ctl3dv2.lib/ctl3d32.lib into your compiler lib
directory, ctl3d.h into an include directory, and ctl3dv2.dll into
windows/system). You may need to find a compiler-specific version of ctl3dv2.lib
or ctl3d32.lib. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
or ctl3d32.lib.}
\twocolitem{USE\_ITSY\_BITSY}{If 1, compiles in code to support tiny window titlebars.}
\twocolitem{USE\_ODBC}{If 1, compiles wxDatabase and wxRecordSet classes for ODBC
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
\end{twocollist}
\section{Makefiles}
At the moment there is no attempt to make Unix makefiles and
At the moment there is no attempt to make UNIX makefiles and
PC makefiles compatible, i.e. one makefile is required for
each environment. wxGTK has its own configure system which can also
be used with wxMotif, although wxMotif has a simple makefile system of its own.
each environment.
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
C++ (.BCC and .B32) and Symantec C++ (.SC) are included for the library, demos
and utilities.
Sample makefiles for UNIX (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
and utilities. The NT, Borland and Symantec makefiles cannot be
guaranteed to be up-to-date since the author does not have
these compilers.
The controlling makefile for wxWindows is in the platform-specific
directory, such as {\tt src/msw} or {\tt src/motif}.
directory, such as {\tt src/msw} or {\tt src/x}. This makefile will
recursively execute the makefile in {\tt src/base}.
Please see the platform-specific {\tt install.txt} file for further details.
\subsection{Windows makefiles}
For Microsoft C++, normally it is only necessary to type {\tt nmake -f
makefile.dos} (or an alias or batch file which does this). By default,
binaries are made with debugging information, and no optimization. Use
FINAL=1 on the command line to remove debugging information (this only
really necessary at the link stage), and DLL=1 to make a DLL version of
the library, if building a library.
\subsection{UNIX makefiles}
TODO.
Debugging information is included by default; you may add DEBUG= as an
argument to make to compile without it, or use the UNIX {\bf strip}
command to remove debugging information from an executable.
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
src/make.env, which is included by all other makefiles. This is the
file to edit to tailor wxWindows compilation to your environment.}
\section{Windows-specific files}
@@ -321,7 +426,7 @@ The least that must be defined in the Windows resource file (extension RC)
is the following statement:
\begin{verbatim}
rcinclude "wx/msw/wx.rc"
rcinclude wx.rc
\end{verbatim}
which includes essential internal wxWindows definitions. The resource script
@@ -340,8 +445,7 @@ as the Program Manager) find your application icon first.}
\subsection{Module definition file}
A module definition file (extension DEF) is required for 16-bit applications, and
looks like the following:
A module definition file (extension DEF) looks like the following:
\begin{verbatim}
NAME Hello
@@ -357,20 +461,64 @@ STACKSIZE 8192
The only lines which will usually have to be changed per application are
NAME and DESCRIPTION.
\section{Allocating and deleting wxWindows objects}
\section{Memory models and memory allocation}\label{memorymodels}
Under UNIX, memory allocation isn't a problem. Under Windows, the only
really viable way to go is to use the large model, which uses the global
heap instead of the local heap for memory allocation. Unless more than
one read-write data segment is used,% (see \helpref{large data}{largedata}
large model programs may still have multiple instances under MS
C/C++ 7. Microsoft give the following guidelines for producing
multiple-instance large model programs:
\begin{itemize}\itemsep=0pt
\item Do not use {\tt /ND} to name extra data segments unless the segment is READONLY.
\item Use the .DEF file to mark extra data segments READONLY.
\item Do not use \_\_far or FAR to mark data items.
\item Use {\tt /PACKDATA} to combine data segments.
\item Use {\tt /Gt65500 /Gx} to force all data into the default data segment.
\end{itemize}
Even with the single-instance limitation, the productivity benefit is
worth it in the majority of cases. Note that some other multi-platform
class libraries also have this restriction. (If more than one instance
really is required, create several copies of the program with different
names.)
Having chosen the large model, just use C++ `new', `delete' (and if
necessary `malloc' and `free') in the normal way. The only restrictions
now encountered are a maximum of 64 KB for a single program segment and
for a single data item, unless huge model is selected.
For Borland users, use the data threshold switch, and the following is
also recommended:
\begin{itemize}\itemsep=0pt
\item Check ``Automatic Far Data Segments"
\item Check ``Put Constant Strings into Code Segment"
\end{itemize}
See also the Frequently Asked Questions document for further details
on using Borland with wxWindows.
\subsection{Allocating and deleting wxWindows objects}
In general, classes derived from wxWindow must dynamically allocated
with {\it new} and deleted with {\it delete}. If you delete a window,
all of its children and descendants will be automatically deleted,
so you don't need to delete these descendants explicitly.
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
that the wxWindows delayed deletion can take effect. This waits until idle time
(when all messages have been processed) to actually delete the window, to avoid
problems associated with the GUI sending events to deleted windows.
Don't statically create a window unless you know that the window
cannot be deleted dynamically. Modal dialogs, such as those used
in the {\tt dialogs} sample, can usually be created statically,
if you know that the OK or Cancel button does not destroy the dialog.
Don't create a window on the stack, because this will interfere
with delayed deletion.
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
created dynamically. They are cleaned up automatically on program exit.
wxColourMap is an exception to this rule (currently). In particular,
do not attempt to create these objects globally before OnInit() has a chance
to be called, because wxWindows might not have done essential internal initialisation
(including creation of lists containing all instances of wxPen, wxBrush etc.)
If you decide to allocate a C++ array of objects (such as wxBitmap) that may
be cleaned up by wxWindows, make sure you delete the array explicitly
@@ -383,73 +531,95 @@ enough for copies to be made.
Beware of deleting objects such as a wxPen or wxBitmap if they are still in use.
Windows is particularly sensitive to this: so make sure you
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting
make calls like wxDC::SetPen(NULL) or wxDC::SelectObject(NULL) before deleting
a drawing object that may be in use. Code that doesn't do this will probably work
fine on some platforms, and then fail under Windows.
\section{Architecture dependency}
\section{Dynamic Link Libraries}
A problem which sometimes arises from writing multi-platform programs is that
the basic C types are not defiend the same on all platforms. This holds true
for both the length in bits of the standard types (such as int and long) as
well as their byte order, which might be little endian (typically
on Intel computers) or big endian (typically on some Unix workstations). wxWindows
defines types and macros that make it easy to write architecture independent
code. The types are:
wxWindows may be used to produce DLLs which run under MS Windows. Note that
this is not the same thing as having wxWindows as a DLL, which is not
currently possible. For Microsoft C++, use the makefile with the argument DLL=1 to produce
a version of the wxWindows library which may be used in a DLL application.
There is a bug in Microsoft C++ which makes the compiler complain about returned floats,
which goes away when the {\tt /Os} option is used, which is why that flag is
set in the makefile.
wxInt32, wxInt16, wxInt8, wxUint32, wxUint16 = wxWord, wxUint8 = wxByte
where wxInt32 stands for a 32-bit signed integer type etc. You can also check
which architecture the program is compiled on using the wxBYTE\_ORDER define
which is either wxBIG\_ENDIAN or wxLITTLE\_ENDIAN (in the future maybe wxPDP\_ENDIAN
as well).
The macros handling bit-swapping with respect to the applications endianness
are described in the \helpref{Macros}{macros} section.
For making wxWindows as a Sun dynamic library, there are comments in the
UNIX makefile for the appropriate flags for AT\&T C++. Sorry, I haven't
investigated the flags needed for other compilers.
\section{Conditional compilation}
One of the purposes of wxWindows is to reduce the need for conditional
compilation in source code, which can be messy and confusing to follow.
However, sometimes it is necessary to incorporate platform-specific
features (such as metafile use under MS Windows). The symbols
listed in the file {\tt symbols.txt} may be used for this purpose,
along with any user-supplied ones.
features (such as metafile use under MS Windows). The following identifiers
may be used for this purpose, along with any user-supplied ones:
\begin{itemize}
\item {\tt wx\_x} - for code which should work under any X toolkit
\item {\tt wx\_motif} - for code which should work under Motif only
\item {\tt wx\_msw} - for code which should work under Microsoft Windows only
\item {\tt wx\_xt} - for code which should work under Xt only
\end{itemize}
For example:
\begin{verbatim}
...
#ifdef wx_x
(void)wxMessageBox("Sorry, metafiles not available under X.");
#endif
#ifdef wx_msw
wxMetaFileDC dc;
DrawIt(dc);
wxMetaFile *mf = dc.Close();
mf->SetClipboard();
delete mf;
#endif
...
\end{verbatim}
\section{Building on-line help}
wxWindows has its own help system from version 1.30: wxHelp. It can be
used to view the wxWindows class library reference, and also to provide
on-line help for your wxWindows applications. The API, made accessible
by including {\tt wx\_help.h}, allows you to load files and display
specific sections, using DDE to communicate between the application and
wxHelp.
wxHelp files can be marked up by hand from ASCII files within wxHelp,
or may be generated from other files, as is the case with the wxWindows
documentation.
It is possible to use the platform-specific help
system (e.g. WinHelp) instead of wxHelp.
See {\tt install.txt}, the wxHelp documentation (in {\tt
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
\section{C++ issues}
The following documents some miscellaneous C++ issues.
There are cases where a C++ program will compile and run fine under one
environment, and then fail to compile using a different compiler. Some
caveats are given below, from experience with the GNU C++ compiler (GCC)
and MS C/C++ compiler version 7.
\subsection{Templates}
wxWindows does not use templates since it is a notoriously unportable feature.
\subsection{RTTI}
wxWindows does not use run-time type information since wxWindows provides
its own run-time type information system, implemented using macros.
\subsection{Type of NULL}
Some compilers (e.g. the native IRIX cc) define NULL to be 0L so that
no conversion to pointers is allowed. Because of that, all these
occurences of NULL in the GTK port use an explicit conversion such
as
{\small
\begin{verbatim}
wxWindow *my_window = (wxWindow*) NULL;
\end{verbatim}
}
It is recommended to adhere to this in all code using wxWindows as
this make the code (a bit) more portable.
wxWindows does not use templates for two main reasons: one, it is a
notoriously unportable feature, and two, the author is irrationally
suspicious of them and prefers to use casts. More compilers are
now implementing templates, and so it will probably be safe to use
them soon without fear of portability problems.
\subsection{Precompiled headers}
Some compilers, such as Borland C++ and Microsoft C++, support
precompiled headers. This can save a great deal of compiling time. The
recommended approach is to precompile {\tt "wx.h"}, using this
recommended approach is to precompile {\tt ``wx.h''}, using this
precompiled header for compiling both wxWindows itself and any
wxWindows applications. For Windows compilers, two dummy source files
are provided (one for normal applications and one for creating DLLs)
@@ -459,13 +629,14 @@ However, there are several downsides to using precompiled headers. One
is that to take advantage of the facility, you often need to include
more header files than would normally be the case. This means that
changing a header file will cause more recompilations (in the case of
wxWindows, everything needs to be recompiled since everything includes {\tt "wx.h"}!)
wxWindows, everything needs to be recompiled since everything includes
{\tt ``wx.h''}!)
A related problem is that for compilers that don't have precompiled
headers, including a lot of header files slows down compilation
considerably. For this reason, you will find (in the common
X and Windows parts of the library) conditional
compilation that under Unix, includes a minimal set of headers;
compilation that under UNIX, includes a minimal set of headers;
and when using Visual C++, includes {\tt wx.h}. This should help provide
the optimal compilation for each compiler, although it is
biassed towards the precompiled headers facility available
@@ -481,27 +652,26 @@ approach is to store filenames on their own, with no directory
information. The application searches through a number of locally
defined directories to find the file. To support this, the class {\bf
wxPathList} makes adding directories and searching for files easy, and
the global function {\bf wxFileNameFromPath} allows the application to
the global function {\bf FileNameFromPath} allows the application to
strip off the filename from the path if the filename must be stored.
This has undesirable ramifications for people who have documents of the
same name in different directories.
As regards the limitations of DOS 8+3 single-case filenames versus
unrestricted Unix filenames, the best solution is to use DOS filenames
unrestricted UNIX filenames, the best solution is to use DOS filenames
for your application, and also for document filenames {\it if} the user
is likely to be switching platforms regularly. Obviously this latter
choice is up to the application user to decide. Some programs (such as
YACC and LEX) generate filenames incompatible with DOS; the best
solution here is to have your Unix makefile rename the generated files
solution here is to have your UNIX makefile rename the generated files
to something more compatible before transferring the source to DOS.
Transferring DOS files to Unix is no problem, of course, apart from EOL
Transferring DOS files to UNIX is no problem, of course, apart from EOL
conversion for which there should be a utility available (such as
dos2unix).
See also the File Functions section of the reference manual for
descriptions of miscellaneous file handling functions.
\begin{comment}
\chapter{Utilities supplied with wxWindows}\label{utilities}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
\setfooter{\thepage}{}{}{}{}{\thepage}%
@@ -509,9 +679,8 @@ descriptions of miscellaneous file handling functions.
A number of `extras' are supplied with wxWindows, to complement
the GUI functionality in the main class library. These are found
below the utils directory and usually have their own source, library
and documentation directories. For other user-contributed packages,
see the directory ftp://www.remstar.com/pub/wxwin/contrib, which is
more easily accessed via the Contributions page on the Web site.
and documentation directories. For larger user-contributed packages,
see the directory /pub/packages/wxwin/contrib.
\section{wxHelp}\label{wxhelp}
@@ -524,8 +693,7 @@ text to suit the size of window, as WinHelp does, and its input files
are uncompressed ASCII with some embedded font commands and an .xlp
extension. Most wxWindows documentation (user manuals and class
references) is supplied in wxHelp format, and also in Windows Help
format. The wxWindows 2.0 project will presently use an HTML widget
in a new and improved wxHelp implementation, under X.
format.
Note that an application can be programmed to use Windows Help under
MS Windows, and wxHelp under X. An alternative help viewer under X is
@@ -596,6 +764,18 @@ first attempt.
See the separate manual and the directory utils/wxgraph.
\section{wxImage}\label{wximage}
This is a collection of GIF/BMP/XBM bitmap loading and displaying
routines for X.
\section{MFUTILS}\label{mfutils}
A very modest step towards reading Windows metafiles on the
any platform. Julian Smart's ClockWorks program demonstrates
how extremely simple metafiles may be read and displayed (in this
case, to be used as clock hands).
\section{Colours}\label{coloursampler}
A colour sampler for viewing colours and their names on each
@@ -607,7 +787,6 @@ platform.
\setfooter{\thepage}{}{}{}{}{\thepage}%
To be written.
\end{comment}
\chapter{Programming strategies}\label{strategies}
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
@@ -646,7 +825,8 @@ The same goes for other data types: use classes wherever possible.
Don't use absolute panel item positioning if you can avoid it. Different GUIs have
very differently sized panel items. Consider using the constraint system, although this
can be complex to program.
can be complex to program. If you needs are simple, the default relative positioning
behaviour may be adequate (using default position values and wxPanel::NewLine).
Alternatively, you could use alternative .wrc (wxWindows resource files) on different
platforms, with slightly different dimensions in each. Or space your panel items out
@@ -658,7 +838,7 @@ Use .wrc (wxWindows resource files) where possible, because they can be easily c
independently of source code. Bitmap resources can be set up to load different
kinds of bitmap depending on platform (see the section on resource files).
\section{Strategies for debugging}\label{debugstrategies}
\section{Strategies for debugging}
\subsection{Positive thinking}
@@ -687,35 +867,49 @@ to go from functioning to non-functioning state. This should give a clue
to the problem. In some cases though, such as memory leaks or wrong
deallocation, this can still give totally spurious results!
\subsection{Genetic mutation}
If we had sophisticated genetic algorithm tools that could be applied
to programming, we could use them. Until then, a common -- if rather irrational --
technique is to just make arbitrary changes to the code until something
different happens. You may have an intuition why a change will make a difference;
otherwise, just try altering the order of code, comment lines out, anything
to get over an impasse. Obviously, this is usually a last resort.
\subsection{Use a debugger}
This sounds like facetious advice, but it's surprising how often people
don't use a debugger. Often it's an overhead to install or learn how to
use a debugger, but it really is essential for anything but the most
trivial programs.
trivial programs. Some platforms don't allow for debugging, such
as WIN32s under Windows 3.x. In this case, you might be advised to
debug under 16-bit Windows and when you're confident, compile for
WIN32s. In fact WIN32s can be very strict about bad memory handling,
so testing out under WIN32s is a good thing to do even if you're
not going to distribute this version. (Unless you've got a good memory checking,
utility, of course!) Tracking bugs under WIN32s can involve a lot of debug message
insertion and relinking, so make sure your compiler has a fast linker
(e.g. Watcom, Symantec).
\subsection{Use logging functions}
\subsection{Use tracing code}
There is a variety of logging functions that you can use in your program:
see \helpref{Logging functions}{logfunctions}.
You can use wxDebugMsg statements (or the wxDebugStreamBuf class) to
output to a debugging window such as DBWIN under Windows, or standard
error under X. If compiling in DEBUG mode, you can use TRACE statements
that will be compiled out of the final build of your application.
Using tracing statements may be more convenient than using the debugger
in some circumstances (such as when your debugger doesn't support a lot
of debugging code, or you wish to print a bunch of variables).
\subsection{Use the wxWindows debugging facilities}
\subsection{Use wxObject::Dump and the wxDebugContext class}
You can use wxDebugContext to check for
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
automatically check for memory leaks at the end of the program if wxWindows is suitably
configured. Depending on the operating system and compiler, more or less
specific information about the problem will be logged.
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
will save a surprising amount of time in the long run.
See the \helpref{debugging overview}{debuggingoverview} for further information.
It's good practice to implement the Dump member function for all
classes derived from wxObject. You can then make use of wxDebugContext
to dump out information on all objects in the program, if DEBUG is
defined to be more than zero. You can use wxDebugContext to check for
memory leaks and corrupt memory. See the debugging topic in the
reference manual for more information.
\subsection{Check Windows debug messages}
@@ -728,13 +922,3 @@ more problems. However, I doubt it's worth the hassle for most
applications. wxWindows is designed to minimize the possibility of such
errors, but they can still happen occasionally, slipping through unnoticed
because they are not severe enough to cause a crash.
\subsection{Genetic mutation}
If we had sophisticated genetic algorithm tools that could be applied
to programming, we could use them. Until then, a common -- if rather irrational --
technique is to just make arbitrary changes to the code until something
different happens. You may have an intuition why a change will make a difference;
otherwise, just try altering the order of code, comment lines out, anything
to get over an impasse. Obviously, this is usually a last resort.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -9,29 +9,6 @@ style.
\helpref{wxGDIObject}{wxgdiobject}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<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
@@ -51,11 +28,12 @@ list of brushes {\bf wxTheBrushList}, and calling the member function
wxBrush uses a reference counting system, so assignments between brushes are very
cheap. You can therefore use actual wxBrush objects instead of pointers without
efficiency problems. Once one wxBrush object changes its data it will create its
own brush data internally so that other brushes, which previously shared the
data using the reference counting, are not affected.
efficiency problems. Bear in mind, though, that changing a brush's properties may
affect another brush which has been involved in an assignment with the first brush,
because of the way internal brush data is shared.
TODO: an overview for wxBrush.
%TODO: an overview for wxBrush.
\wxheading{See also}
\helpref{wxBrushList}{wxbrushlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetBrush}{wxdcsetbrush}
@@ -85,6 +63,10 @@ Constructs a stippled brush using a bitmap.
Copy constructor. This uses reference counting so is a cheap operation.
\func{}{wxBrush}{\param{const wxBrush*}{ brush}}
Copy constructor. This uses reference counting so is a cheap operation.
\wxheading{Parameters}
\docparam{colour}{Colour object.}
@@ -282,10 +264,6 @@ A brush list is a list containing all brushes which have been created.
\helpref{wxList}{wxlist}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/gdicmn.h>
\wxheading{Remarks}
There is only one instance of this class: {\bf wxTheBrushList}. Use

View File

@@ -1,44 +0,0 @@
\section{\class{wxBusyCursor}}\label{wxbusycursor}
This class makes it easy to tell your user that the program is temporarily busy.
Just create a wxBusyCursor object on the stack, and within the current scope,
the hourglass will be shown.
For example:
\begin{verbatim}
wxBusyCursor wait;
for (int i = 0; i < 100000; i++)
DoACalculation();
\end{verbatim}
It works by calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor} in the constructor,
and \helpref{wxEndBusyCursor}{wxendbusycursor} in the destructor.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/utils.h>
\wxheading{See also}
\helpref{wxBeginBusyCursor}{wxbeginbusycursor}, \helpref{wxEndBusyCursor}{wxendbusycursor}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxBusyCursor::wxBusyCursor}
\func{}{wxBusyCursor}{\param{wxCursor*}{ cursor = wxHOURGLASS\_CURSOR}}
Constructs a busy cursor object, calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor}.
\membersection{wxBusyCursor::\destruct{wxBusyCursor}}
\func{}{\destruct{wxBusyCursor}}{\void}
Destroys the busy cursor object, calling \helpref{wxEndBusyCursor}{wxendbusycursor}.

View File

@@ -1,34 +0,0 @@
\section{\class{wxBusyInfo}}\label{wxbusyinfo}
This class makes it easy to tell your user that the program is temporarily busy.
Just create a wxBusyInfo object on the stack, and within the current scope,
a message window will be shown.
For example:
\begin{verbatim}
wxBusyInfo wait("Please wait, working...");
for (int i = 0; i < 100000; i++)
DoACalculation();
\end{verbatim}
It works by creating a window in the constructor,
and deleting it in the destructor.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/busyinfo.h>
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxBusyInfo::wxBusyInfo}
\func{}{wxBusyInfo}{\param{const wxString\&}{ msg}}
Constructs a busy info object, displays {\it msg}.

View File

@@ -12,24 +12,12 @@ almost any other window.
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/button.h>
\wxheading{Window styles}
There are no special styles for wxButton.
See also \helpref{window styles overview}{windowstyles}.
\wxheading{Event handling}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
when the button is clicked.}
\end{twocollist}
\wxheading{See also}
\helpref{wxBitmapButton}{wxbitmapbutton}
@@ -99,14 +87,6 @@ The button's label.
\helpref{wxButton::SetLabel}{wxbuttonsetlabel}
\membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize}
\func{wxSize}{GetDefaultSize}{\void}
Returns the default size for the buttons. It is advised to make all the dialog
buttons of the same size and this function allows to retrieve the (platform and
current font dependent size) which should be the best suited for this.
\membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
\func{void}{SetDefault}{\void}
@@ -119,7 +99,7 @@ box.
Under Windows, only dialog box buttons respond to this function. As
normal under Windows and Motif, pressing return causes the default button to
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
which sets the keyboard focus for windows and text panel items,\rtfsp
which sets the keyboard focus for windows and text panel items, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
Note that under Motif, calling this function immediately after

View File

@@ -1,64 +0,0 @@
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
calculate the amount of the remaining client area that the window should
occupy.
\wxheading{Derived from}
\helpref{wxEvent}{wxevent}\\
\helpref{wxObject}{wxobject}
\wxheading{Include files}
<wx/laywin.h>
\wxheading{Event table macros}
\twocolwidtha{7cm}%
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
\end{twocollist}
\wxheading{See also}
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
Constructor.
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
\constfunc{int}{GetFlags}{\void}
Returns the flags associated with this event. Not currently used.
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
\constfunc{wxRect}{GetRect}{\void}
Before the event handler is entered, returns the remaining parent client area that the window
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
after the event handler has subtracted the area that its window occupies.
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
\func{void}{SetFlags}{\param{int }{flags}}
Sets the flags associated with this event. Not currently used.
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
Call this to specify the new remaining parent client area, after the space occupied by the
window has been subtracted.

View File

@@ -29,14 +29,24 @@ The following are a variety of windows that are derived from wxWindow.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
\end{twocollist}
{\large {\bf Toolbar classes}}
\overview{Overview}{wxtoolbaroverview}
These are the toolbar classes.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxToolBarBase}{wxtoolbarbase}}{Toolbar base class}
\twocolitem{\helpref{wxToolBarSimple}{wxtoolbarsimple}}{A simple, cross-platform toolbar class}
\twocolitem{\helpref{wxToolBarMSW}{wxtoolbarmsw}}{A Windows-only toolbar class}
\twocolitem{\helpref{wxToolBar95}{wxtoolbar95}}{A Windows 95-only toolbar class}
\end{twocollist}
{\large {\bf Common dialogs}}
@@ -57,7 +67,6 @@ in an application.
\twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog}
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
\twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog}
\end{twocollist}
@@ -124,7 +133,7 @@ by passing different device contexts.
\twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen}
\twocolitem{\helpref{wxDC}{wxdc}}{The device context base class}
\twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps}
\twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
\twocolitem{\helpref{wxMetaFileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
\twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files}
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers}
\end{twocollist}
@@ -144,7 +153,6 @@ These classes are related to drawing on device contexts and windows.
\twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts}
\twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts}
\twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts}
\twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class}
\twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls}
\twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing}
\twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context}
@@ -162,7 +170,6 @@ An event object contains information about a specific event. Event handlers
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
@@ -177,15 +184,9 @@ An event object contains information about a specific event. Event handlers
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
\twocolitem{\helpref{wxNotifyEvent}{wxnotifyevent}}{A notification event, which can be vetoed}
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
\twocolitem{\helpref{wxScrollEvent}{wxscrollevent}}{A scroll event from sliders, stand-alone scrollbars and spin buttons}
\twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows}
%\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event}
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
@@ -194,15 +195,12 @@ An event object contains information about a specific event. Event handlers
{\large {\bf Validators}}
\overview{Overview}{validatoroverview}
These are the window validators, used for filtering and validating
user input.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class}
\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class}
\twocolitem{\helpref{wxGenericValidator}{wxgenericvalidator}}{Generic control validator class}
\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class.}
\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class.}
\end{twocollist}
{\large {\bf Data structures}}
@@ -226,8 +224,6 @@ These are the data structure classes supported by wxWindows.
\twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers}
\twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size}
\twocolitem{\helpref{wxTime}{wxtime}}{A class for time manipulation}
\twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types
that may change at run-time}
\end{twocollist}
{\large {\bf Run-time class information system}}
@@ -251,16 +247,14 @@ wxWindows supports some aspects of debugging an application through
classes, functions and macros.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities}
\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
\twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}}
\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
\end{twocollist}
{\large {\bf Interprocess communication}}
@@ -274,12 +268,6 @@ based on DDE.
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
\twocolitem{\helpref{wxTCPClient}{wxtcpclient}}{Represents a client}
\twocolitem{\helpref{wxTCPConnection}{wxtcpconnection}}{Represents the connection between a client and a server}
\twocolitem{\helpref{wxTCPServer}{wxtcpserver}}{Represents a server}
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
%\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
\end{twocollist}
{\large {\bf Document/view framework}}
@@ -289,6 +277,9 @@ based on DDE.
wxWindows supports a document/view framework which provides
housekeeping for a document-centric application.
TODO: MDI frame classes for documents; make it unnecessary to convert
between streams and files (overridable method that uses filenames instead of streams).
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
@@ -296,8 +287,6 @@ housekeeping for a document-centric application.
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
\end{twocollist}
{\large {\bf Printing framework}}
@@ -312,24 +301,20 @@ facilities.
\twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview}
\twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview}
\twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview}
\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
\twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer}
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context}
\twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout}
\twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview}
\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
\twocolitem{\helpref{wxPrintDialogData}{wxprintdialogdata}}{Represents information about the print dialog}
\twocolitem{\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata}}{Represents information about the page setup dialog}
\end{twocollist}
{\large {\bf Database classes}}
\overview{Database classes overview}{odbcoverview}
wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity)
product. The new version by Remstar is documented in a separate manual.
The older classes are as follows:
wxWindows provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity)
product.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class}
@@ -338,69 +323,14 @@ The older classes are as follows:
\twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record}
\end{twocollist}
{\large {\bf Drag and drop and clipboard classes}}
\overview{Drag and drop and clipboard overview}{wxdndoverview}
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class}
\twocolitem{\helpref{wxFileDataObject}{wxtextdataobject}}{File data object class}
\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class}
\twocolitem{\helpref{wxPrivateDataObject}{wxprivatedataobject}}{Private data object class}
\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class}
\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class}
\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class}
\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class}
\end{twocollist}
{\large {\bf File related classes}}
wxWindows has several small classes to work with disk files, see \helpref{file classes
overview}{wxfileoverview} for more details.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output}
\twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file}
\twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines}
\end{twocollist}
{\large {\bf Stream classes}}
wxWindows has its own set of stream classes, as an alternative to often buggy standard stream
libraries, and to provide enhanced functionality.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxStreamBase}{wxstreambase}}{Stream base class}
\twocolitem{\helpref{wxStreamBuffer}{wxstreambuffer}}{Stream buffer class}
\twocolitem{\helpref{wxInputStream}{wxinputstream}}{Input stream class}
\twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class}
\twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class}
\twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class}
\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent binary data input stream class}
\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent binary data output stream class}
\twocolitem{\helpref{wxTextInputStream}{wxtextinputstream}}{Platform-independent text data input stream class}
\twocolitem{\helpref{wxTextOutputStream}{wxtextoutputstream}}{Platform-independent text data output stream class}
\twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class}
\twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class}
\twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib (compression) input stream class}
\twocolitem{\helpref{wxZlibOutputStream}{wxzliboutputstream}}{Zlib (compression) output stream class}
\twocolitem{\helpref{wxSocketInputStream}{wxsocketinputstream}}{Socket input stream class}
\twocolitem{\helpref{wxSocketOutputStream}{wxsocketoutputstream}}{Socket output stream class}
\end{twocollist}
{\large {\bf Miscellaneous}}
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
\twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers}
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
\end{twocollist}

Some files were not shown because too many files have changed in this diff Show More