Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
fab7a8d0e5 This commit was manufactured by cvs2svn to create tag
'wxWINDOWS_2_1_BETA_8'.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/wxWINDOWS_2_1_BETA_8@3304 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-08-06 13:41:55 +00:00
2624 changed files with 71180 additions and 528076 deletions

View File

@@ -3,7 +3,6 @@ bin
.gdb_history
Test
config.cache
configarg.cache
config.status
system.list
linux.system.cache
@@ -18,14 +17,13 @@ linux-gnu.system.cache
*.ncb
*.pro
*.opt
*.d
*.swp
*.swo
Release
Debug
ReleaseDLL
DebugDLL
robert
Makefile.in
setup.h.in
stamp-h.in
Makefile
configure

View File

@@ -5,26 +5,15 @@
I) Windows using plain makefiles
----------------------------------------
a) If using Microsoft Visual C++ 5.0 or 6.0
Ensure that the command-line compiler and tools (including
nmake) are installed and ready to run. Depending on your
installation there may be a batch file (named something like
VCVARS32.BAT) that needs to be run to set correct environment
varaibles and PATH entries.
Continue with item c) below.
b) If using the GNU MinGW32 or GNU CygWin32 compilers
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 a part
of the CygWin32 toolchain and is also available as a stand
alone port without the infamous Cygwin.dll from
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
@@ -34,38 +23,12 @@ and its make.exe).
-> Set your path so that it includes the directory
where your compiler and tools reside
b-2) Using Mingw32 with gcc-2.95 and Anders Norlander's
Win32 headers
Using the newer gcc-2.95/Noralander header combination
will allow you to compile more of the MSW code, such
as OLE and Drag-n-Drop.
Instructions are similar to those for Regular Mingw32 except
->Get the compiler from
ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/mingw32/gcc-2.95/
->patch the gcc headers with info in wxWin\Mingw32-gcc295.patches.
PLEASE APPLY THESE PATCHES BY HAND! There are apparently a few
different versions of the headers floating around.
->Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
the file to either 1 (you have Mingw32) or 0 (you have Cygwin32).
If using MINGW32, also set the MINGW32VERSION variable
appropriately.
c) Build instructions
-> Assumming that you installed the wxWindows sources
-> Assume that you installed the wxWindows sources
into c:\wxWin
-> Copy c:\wxWin\include\wx\msw\setup0.h
-> 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_ODBC 0
#define wxUSE_SOCKETS 0
#define wxUSE_HTML 1
#define wxUSE_THREADS 1
@@ -74,64 +37,73 @@ c) Build instructions
#define wxUSE_BUSYINFO 1
#define wxUSE_DYNLIB_CLASS 1
#define wxUSE_ZIPSTREAM 1
#define wxUSE_LIBJPEG 1
#define wxUSE_LIBPNG 1
#define wxUSE_JPEGLIB 1
#define wxUSE_PNGLIB 1
and iostreams ares disabled with
#define wxUSE_STD_IOSTREAM 0
note: ODBC and SOCKETS can be 1 for gcc-2.95
-> type: cd c:\wxWin\src\msw
-> type: make -f makefile.g95 (if using GNU tools)
or type: make -f makefile.vc (if using MS VC++)
-> type: make -f makefile.g95
II) Unix ports
--------------
Building wxGTK or wxMotif completely without configure
won't ever work, but there is now a new makefile system
that works without libtool and automake, using only
configure to create what is needed.
In order to create configure, you need to have the
GNU autoconf package (version 2.13 or 2.14) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
II) GTK port on Unix using plain makefiles.
------------------------------------------
Set WXWIN environment variable to the base directory such
as ~/wxWindows (this is actually not really needed).
as ~/wxWindows
-> type: export WXWIN=~/wxWindows
-> type: md mybuild
-> type: cd mybuild
-> type: ../configure --with-motif
or type: ../configure --with-gtk
-> edit ~/wxWindows/src/gtk.env as you wish.
-> type: cd ~/wxWindows/src/gtk
-> type: cp ./setup0.h setup.h
-> type: make
-> type: su <type root password>
-> type: make install
-> type: ldconfig
-> type: exit
Call configure with --disable-shared to create a static
library. Calling "make uninstall" will remove the installed
library and "make dist" will create a distribution (not
yet complete).
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.
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/.
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
Of course, you can also build the library using plain makefiles (see
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
----------------------------------------
@@ -143,7 +115,7 @@ 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
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
@@ -162,14 +134,13 @@ sure that your configure setup is basically sound.)
To cross compile the windows library, do
-> cd win32
(or whatever you called it)
Now run configure. There are two ways to do this
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw \
--enable-dnd=no --without-odbc
--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
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 \
@@ -178,63 +149,32 @@ yourself:
(all assuming you're using mingw32)
Drag'n'drop is disabled because mingw32 lacks (AFAIK) OLE headers.
[ Update: some new mingw32 versions now have a new set of windows header
files, which apparently can handle ole. Untested at the moment ]
ODBC files don't compile as of 13.10.99 - may be this will be fixed by the
moment you're reading these lines.
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
Type
-> make -C src
and wait, wait, wait. Don't leave the room, because the minute you do there
will be a compile error :-)
NB: you risk to get quite a few warnings about "ANSI C++ forbids implicit
conversion from 'void *'" in all places where va_arg macro is used. This
is due to a bug in (some versions of) mingw32 headers which may be
corrected by editing the file
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
(instead of egcs-2.91.57 you may have something different), searching for
the lines
/* Define __gnuc_va_list. */
#ifndef __GNUC_VA_LIST
#define __GNUC_VA_LIST
#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__)
typedef char *__gnuc_va_list;
#else
typedef void *__gnuc_va_list;
#endif
#endif
and adding "|| defined(_WIN32)" to the list of platforms on which
__gnuc_va_list is char *.
If this is successful, you end up with a libwx_msw.a in win32/lib. Now try
building the minimal sample:
If this is successful, try building the minimal sample:
-> cd samples/minimal
-> make
-> mv minimal minimal.exe
and run it with wine, for example (or copy to a Windows box)
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
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
- 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

13
Makefile.am Normal file
View File

@@ -0,0 +1,13 @@
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,116 +0,0 @@
*** \gcc-inc\basetyps.h Sat Jul 31 16:48:36 1999
--- basetyps.h Fri Aug 06 11:14:36 1999
***************
*** 74,91 ****
--- 74,97 ----
STDMETHOD(Clone)(IENUM_THIS_(I) I**) PURE; \
}
#define DECLARE_ENUMERATOR(T) DECLARE_ENUMERATOR_(IEnum##T,T)
+ #ifndef GUID_DEFINED
+ #define GUID_DEFINED
typedef struct _GUID
{
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
+ #endif /* GUID_DEFINED */
typedef GUID *REFGUID;
typedef GUID *LPGUID;
+ #ifndef UUID_DEFINED
+ #define UUID_DEFINED
typedef GUID UUID;
+ #endif /* UUID_DEFINED */
typedef GUID IID;
typedef GUID CLSID;
typedef CLSID *LPCLSID;
typedef IID *LPIID;
*** \gcc-inc\oaidl.h Sat Jul 31 16:48:42 1999
--- oaidl.h Fri Aug 06 13:18:48 1999
***************
*** 39,44 ****
--- 39,53 ----
#define IMPLTYPEFLAG_FRESTRICTED 4
#define IMPLTYPEFLAG_FDEFAULTVTABLE 8
+ #define DISPID_UNKNOWN ( -1 )
+ #define DISPID_VALUE ( 0 )
+ #define DISPID_PROPERTYPUT ( -3 )
+ #define DISPID_NEWENUM ( -4 )
+ #define DISPID_EVALUATE ( -5 )
+ #define DISPID_CONSTRUCTOR ( -6 )
+ #define DISPID_DESTRUCTOR ( -7 )
+ #define DISPID_COLLECT ( -8 )
+
typedef interface ITypeLib *LPTYPELIB;
typedef interface ICreateTypeInfo *LPCREATETYPEINFO;
typedef interface ICreateTypeInfo2 *LPCREATETYPEINFO2;
***************
*** 49,54 ****
--- 58,73 ----
typedef interface IDispatch *LPDISPATCH;
typedef interface ICreateErrorInfo *LPCREATEERRORINFO;
+ extern "C" const IID IID_ITypeLib;
+ extern "C" const IID IID_ICreateTypeInfo;
+ extern "C" const IID IID_ICreateTypeInfo2;
+ extern "C" const IID IID_ICreateTypeLib;
+ extern "C" const IID IID_ICreateTypeLib2;
+ extern "C" const IID IID_ITypeInfo;
+ extern "C" const IID IID_IErrorInfo;
+ extern "C" const IID IID_IDispatch;
+ extern "C" const IID IID_ICreateErrorInfo;
+
typedef enum tagSYSKIND {
SYS_WIN16,SYS_WIN32,SYS_MAC
} SYSKIND;
***************
*** 375,382 ****
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID)
PURE;
! STDMETHOD(Invoked)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
--- 394,401 ----
STDMETHOD_(ULONG,Release)(THIS) PURE;
STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
! STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*)
PURE;
! STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
};
#ifdef __cplusplus
*** \gcc-inc\objidl.h Sat Jul 31 16:48:42 1999
--- objidl.h Fri Aug 06 11:00:19 1999
***************
*** 627,633 ****
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC*) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);
--- 627,633 ----
STDMETHOD(QueryGetData)(THIS_ FORMATETC*) PURE;
STDMETHOD(GetCanonicalFormatEtc)(THIS_ FORMATETC*,FORMATETC*) PURE;
STDMETHOD(SetData)(THIS_ FORMATETC*,STGMEDIUM*,BOOL) PURE;
! STDMETHOD(EnumFormatEtc)(THIS_ DWORD,IEnumFORMATETC**) PURE;
STDMETHOD(DAdvise)(THIS_ FORMATETC*,DWORD,IAdviseSink*,PDWORD) PURE;
STDMETHOD(DUnadvise)(THIS_ DWORD) PURE;
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**);

View File

@@ -1,63 +1,35 @@
/* 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
/* 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
#pragma interface
#endif
/* never undefine inline or const keywords for C++ compilation */
#ifndef __cplusplus
@TOP@
/* Define to empty if the keyword does not work. */
#undef const
/* ------------------------------------------------------------------------ */
/* wxWindows version (not used but required by autoheader) */
/* ------------------------------------------------------------------------ */
/* Define as __inline if that's what the C compiler calls it. */
#undef inline
/* needed for older automake? */
#undef WITH_SYMBOL_UNDERSCORE
#endif /* __cplusplus */
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
/* Define if you don't have vprintf but do have _doprnt. */
#undef HAVE_DOPRNT
/* Define if you have the vprintf function. */
#undef HAVE_VPRINTF
/* Define to `int' if <sys/types.h> doesn't define. */
#undef mode_t
/* Define to `long' if <sys/types.h> doesn't define. */
#undef off_t
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
/* Define if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
/* Define if your processor stores words with the most significant
byte first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define if the X Window System is missing or not being used. */
#undef X_DISPLAY_MISSING
/* Define if lex declares yytext as a char * by default, not a char[]. */
#undef YYTEXT_POINTER
/* ------------------------------------------------------------------------ */
/* define if support for GTK 1.2 features */
/* ------------------------------------------------------------------------ */
#undef __WXGTK12__
/* ------------------------------------------------------------------------ */
/* define the system to compile */
/* ------------------------------------------------------------------------ */
/*
* Define to 1 for Unix[-like] system
*/
@@ -83,22 +55,25 @@
#undef __EMX__
#undef _GNU_SOURCE
/* Stupid hack; __WINDOWS__ clashes with wx/defs.h */
#ifndef __WINDOWS__
#undef __WINDOWS__
#endif
#undef __WIN95__
#undef __WIN32__
#undef __GNUWIN32__
#undef STRICT
#undef WINVER
/* ------------------------------------------------------------------------ */
/* compiler options */
/* ------------------------------------------------------------------------ */
/*
* Supports bool type
*/
#undef HAVE_BOOL
/* ------------------------------------------------------------------------ */
/* library options */
/* ------------------------------------------------------------------------ */
/*
* Use zlib
*/
@@ -111,6 +86,10 @@
* Use libjpeg
*/
#define wxUSE_LIBJPEG 0
/*
* Use libgif
*/
#define wxUSE_LIBGIF 0
/*
* Use iODBC
*/
@@ -132,14 +111,22 @@
*/
#define wxUSE_OPENGL 0
/* ------------------------------------------------------------------------ */
/* GUI or not GUI? */
/* ------------------------------------------------------------------------ */
/*
* Use GUI
*/
#define wxUSE_GUI 0
#define wxUSE_GUI 1
/*
* Don't use GUI (defined to 1 when compiling/using base only)
* Defined if !wxUSE_GUI
*/
#define wxUSE_NOGUI 0
#undef wxUSE_NOGUI
/* ------------------------------------------------------------------------ */
/* "global" GUI options */
/* ------------------------------------------------------------------------ */
/*
* Use constraints mechanism
@@ -181,6 +168,10 @@
*/
#define wxUSE_JOYSTICK 0
/* ------------------------------------------------------------------------ */
/* GUI control options */
/* ------------------------------------------------------------------------ */
/*
* Use this control
*/
@@ -216,11 +207,6 @@
/*
* Use this control
*/
#define wxUSE_NEW_GRID 0
/*
* Use the new prototype wxGrid classes
* (wxUSE_GRID must also be defined)
*/
#define wxUSE_IMAGLIST 0
/*
* Use this control
@@ -290,7 +276,6 @@
#define wxUSE_TOOLBAR 0
#if defined(__WXWINE__) || defined(__GNUWIN32__)
#define wxUSE_OWNER_DRAWN 1
#if wxUSE_TOOLBAR
#define wxUSE_BUTTONBAR 1
#endif
@@ -301,6 +286,10 @@
*/
#define wxUSE_TREECTRL 0
/* ------------------------------------------------------------------------ */
/* non-GUI options */
/* ------------------------------------------------------------------------ */
/*
* Use wxLongLong (a.k.a. int64) class
*/
@@ -346,10 +335,6 @@
* Use sockets
*/
#define wxUSE_SOCKETS 0
/*
* Use dialup manager
*/
#define wxUSE_DIALUP_MANAGER 0
/*
* Use standard C++ streams if 1. If 0, use wxWin
* streams implementation.
@@ -360,6 +345,10 @@
*/
#define wxUSE_DYNLIB_CLASS 0
/* ------------------------------------------------------------------------ */
/* PS options */
/* ------------------------------------------------------------------------ */
/*
* Use font metric files in GetTextExtent for wxPostScriptDC
* Use consistent PostScript fonts for AFM and printing (!)
@@ -375,21 +364,15 @@
*/
#define wxUSE_POSTSCRIPT 0
/*
* Compile wxString with some Unicode support?
*/
#define wxUSE_WCHAR_T 0
/* ------------------------------------------------------------------------ */
/* wxString options */
/* ------------------------------------------------------------------------ */
/*
* Compile wxString in wide character (Unicode) mode?
* Compile wxString with wide character (Unicode) support?
*/
#define wxUSE_UNICODE 0
/*
* Compile wxString with (limited) multibyte char support?
*/
#define wxUSE_MULTIBYTE 0
/*
* Work around a bug in GNU libc 5.x wcstombs() implementation.
*
@@ -399,6 +382,13 @@
*/
#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()?
*
@@ -406,6 +396,10 @@
*/
#define wxUSE_EXPERIMENTAL_PRINTF 0
/* ------------------------------------------------------------------------ */
/* misc options */
/* ------------------------------------------------------------------------ */
/*
* Use Interprocess communication
*/
@@ -435,6 +429,10 @@
*/
#define wxUSE_DYNLIB_CLASS 0
/* ------------------------------------------------------------------------ */
/* architecture options */
/* ------------------------------------------------------------------------ */
/*
* Use the mdi architecture
*/
@@ -448,6 +446,10 @@
*/
#define wxUSE_PRINTING_ARCHITECTURE 0
/* ------------------------------------------------------------------------ */
/* Prolog and wxWindows' resource system options */
/* ------------------------------------------------------------------------ */
/*
* Use Prolog IO
*/
@@ -460,6 +462,10 @@
/* for compatibility */
#define wxUSE_WX_RESOURCES wxUSE_RESOURCES
/* ------------------------------------------------------------------------ */
/* the rest */
/* ------------------------------------------------------------------------ */
/*
* Use wxWindows help facility (needs wxUSE_IPC 1)
*/
@@ -472,6 +478,13 @@
* 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.
*/
@@ -545,21 +558,6 @@
* Zip stream for accessing files stored inside .zip archives
*/
#define wxUSE_ZIPSTREAM 0
/*
* GIF image format support
*/
#define wxUSE_GIF 0
/*
* PCX image format support
*/
#define wxUSE_PCX 0
/*
* PNM image format support
*/
#define wxUSE_PNM 0
/*
* Disable this if your compiler can't cope
@@ -577,25 +575,16 @@
*/
#define CONST_COMPATIBILITY 0
/* ------------------------------------------------------------------------ */
/* System-specific stuff */
/* ------------------------------------------------------------------------ */
/* The type of 3rd argument to getsockname() - usually size_t or int */
#undef SOCKLEN_T
/* gettimeofday() usually takes 2 arguments, but some really old systems might
* have only one, in which case define WX_GETTIMEOFDAY_NO_TZ */
#undef WX_GETTIMEOFDAY_NO_TZ
/* Define if you have dlopen() */
#undef HAVE_DLOPEN
/* Define if you have gettimeofday() */
#undef HAVE_GETTIMEOFDAY
/* Define if you have ftime() */
#undef HAVE_FTIME
/* Define if you have localtime() */
#undef HAVE_LOCALTIME
/* Define if you have nanosleep() */
#undef HAVE_NANOSLEEP
@@ -623,82 +612,6 @@
/* Define if you have wcslen function */
#undef HAVE_WCSLEN
/* define if you have vsscanf function */
#undef HAVE_VSSCANF
/* The number of bytes in a char. */
#undef SIZEOF_CHAR
/* The number of bytes in a int. */
#undef SIZEOF_INT
/* The number of bytes in a int *. */
#undef SIZEOF_INT_P
/* The number of bytes in a long. */
#undef SIZEOF_LONG
/* The number of bytes in a long long. */
#undef SIZEOF_LONG_LONG
/* The number of bytes in a short. */
#undef SIZEOF_SHORT
/* Define if you have the dlopen function. */
#undef HAVE_DLOPEN
/* Define if you have the gethostname function. */
#undef HAVE_GETHOSTNAME
/* Define if you have the inet_addr function. */
#undef HAVE_INET_ADDR
/* Define if you have the inet_aton function. */
#undef HAVE_INET_ATON
/* Define if you have the nanosleep function. */
#undef HAVE_NANOSLEEP
/* Define if you have the shl_load function. */
#undef HAVE_SHL_LOAD
/* Define if you have strtok_r function. */
#undef HAVE_STRTOK_R
/* Define if you have the uname function. */
#undef HAVE_UNAME
/* Define if you have the usleep function. */
#undef HAVE_USLEEP
/* Define if you have the vfork function. */
#undef HAVE_VFORK
/* Define if you have the <X11/XKBlib.h> header file. */
#undef HAVE_X11_XKBLIB_H
/* Define if you have the <fnmatch.h> header file. */
#undef HAVE_FNMATCH_H
/* Define if you have the <iostream> header file. */
#undef HAVE_IOSTREAM
/* Define if you have the <linux/joystick.h> header file. */
#undef HAVE_LINUX_JOYSTICK_H
/* Define if you have the <sched.h> header file. */
#undef HAVE_SCHED_H
/* Define if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
/* Define if you have the <wcstr.h> header file. */
#undef HAVE_WCSTR_H
@BOTTOM@
#endif /* __WX_SETUP_H__ */

423
acinclude.m4 Normal file
View File

@@ -0,0 +1,423 @@
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,2 +1,5 @@
#!/bin/sh
aclocal -I .
autoheader
automake --foreign --verbose
autoconf

12971
configure vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -15,13 +15,23 @@ 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..

View File

@@ -15,12 +15,23 @@ 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..

View File

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

View File

@@ -97,8 +97,6 @@ del Makefile.in \wxmsw_dist\wxMSW\src\Makefile.in
cd msw
md \wxmsw_dist\wxMSW\src\msw
md \wxmsw_dist\wxMSW\src\msw\ole
copy ole\*.cpp \wxmsw_dist\wxMSW\src\msw\ole
copy *.cpp \wxmsw_dist\wxMSW\src\msw
copy *.c \wxmsw_dist\wxMSW\src\msw
copy *.def \wxmsw_dist\wxMSW\src\msw
@@ -534,7 +532,6 @@ cd minifram
md \wxmsw_dist\wxMSW\samples\minifram
copy Makefile.* \wxmsw_dist\wxMSW\samples\minifram
copy *.cpp \wxmsw_dist\wxMSW\samples\minifram
copy *.h \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

View File

@@ -3,11 +3,9 @@ BuildCVS.txt
acconfig.h
*.m4
autogen.sh
configure
config.guess
config.sub
configure.in
setup.h.in
install-sh
ltconfig
ltmain.sh
@@ -17,21 +15,10 @@ modules
template.mak
wx-config.in
makefile.unx.in
wxinstall
Makefile
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/*.cpp
distrib/msw/*.txt
distrib/msw/tardist
distrib/msw/tmake/*.t
distrib/msw/tmake/Makefile
distrib/msw/tmake/filelist.txt
distrib/msw/tmake/makeall.bat
distrib/msw/tmake/makeall.sh
distrib/msw/tmake/wxwin.pro
distrib/msw/tmake/tmake.conf
distrib/gtk/*
locale/*.po
@@ -49,20 +36,9 @@ docs/bugs.txt
docs/*.htm
docs/html/*.htm
docs/html/*.gif
docs/html/*.png
src/makeenvs/*.env
src/make.env
src/makeprog.env
src/makelib.env
src/Makefile
src/*.inc
src/mkdir
src/Makefile
src/make.env.in
src/makeprog.env.in
src/makelib.env.in
src/common/*.cpp
src/common/dosyacc.c
@@ -70,8 +46,6 @@ src/common/doslex.c
src/common/vmsyacc.c
src/common/vmslex.c
src/common/extended.c
src/common/unzip.c
src/common/unzip.h
src/common/*.l
src/common/*.y
src/common/*.inc
@@ -85,7 +59,6 @@ src/html/*.h
src/html/bitmaps/*.xpm
src/unix/*.cpp
src/unix/*.c
src/png/*.c
src/png/*.h
@@ -117,14 +90,11 @@ include/wx/protocol/*.h
include/wx/wx_setup.vms
include/wx/common/*.h
include/wx/generic/*.h
include/wx/generic/*.xpm
include/wx/unix/*.h
include/wx/html/*.h
include/wx/html/msw/*.bmp
include/wx/html/msw/*.ico
include/wx/html/msw/*.rc
lib/dummy
bin/*.*
tools/gettext/*.*
bitmaps/xpm/16x16/*.*
@@ -228,20 +198,6 @@ utils/dialoged/test/*.ico
utils/dialoged/test/*.prj
utils/dialoged/test/*.bmp
utils/wxMMedia2/makefile*
utils/wxMMedia2/README
utils/wxMMedia2/lib/*.h
utils/wxMMedia2/lib/*.cpp
utils/wxMMedia2/lib/*.def
utils/wxMMedia2/lib/*.rc
utils/wxMMedia2/lib/makefile*
utils/wxMMedia2/sample/*.h
utils/wxMMedia2/sample/*.cpp
utils/wxMMedia2/sample/makefile*
utils/wxMMedia2/sample/*.xbm
utils/wxMMedia2/sample/*.xpm
utils/wxMMedia2/sample/*.txt
samples/*.txt
samples/makefile*
@@ -257,18 +213,6 @@ samples/config/*.bmp
samples/config/*.rc
samples/config/*.wav
samples/db/*.cpp
samples/db/*.h
samples/db/*.def
samples/db/makefile*
samples/db/*.xbm
samples/db/*.xpm
samples/db/*.txt
samples/db/*.ico
samples/db/*.bmp
samples/db/*.rc
samples/db/*.wav
samples/dynamic/*.cpp
samples/dynamic/*.h
samples/dynamic/*.def
@@ -638,17 +582,6 @@ samples/grid/*.xpm
samples/grid/*.ico
samples/grid/*.bmp
samples/newgrid/*.cpp
samples/newgrid/*.h
samples/newgrid/*.def
samples/newgrid/*.rc
samples/newgrid/*.txt
samples/newgrid/makefile*
samples/newgrid/*.xbm
samples/newgrid/*.xpm
samples/newgrid/*.ico
samples/newgrid/*.bmp
samples/internat/*.cpp
samples/internat/*.h
samples/internat/*.def
@@ -910,21 +843,6 @@ samples/html/zip/*.png
samples/html/zip/*.ico
samples/html/zip/*.htm
samples/html/zip/*.html
samples/html/zip/*.zip
samples/html/helpview/*.cpp
samples/html/helpview/*.h
samples/html/helpview/makefile*
samples/html/helpview/*.rc
samples/html/helpview/*.def
samples/html/helpview/*.bmp
samples/html/helpview/*.xpm
samples/html/helpview/*.xbm
samples/html/helpview/*.png
samples/html/helpview/*.ico
samples/html/helpview/*.htm
samples/html/helpview/*.html
samples/html/helpview/test.zip
samples/richedit/*.cpp
samples/richedit/*.h
@@ -952,87 +870,3 @@ samples/text/*.png
samples/text/*.ico
samples/text/*.txt
samples/wizard/*.cpp
samples/wizard/*.h
samples/wizard/makefile*
samples/wizard/*.rc
samples/wizard/*.def
samples/wizard/*.bmp
samples/wizard/*.xpm
samples/wizard/*.xbm
samples/wizard/*.png
samples/wizard/*.ico
samples/wizard/*.txt
samples/console/*.cpp
samples/console/*.h
samples/console/makefile*
samples/console/*.rc
samples/console/*.def
samples/console/*.bmp
samples/console/*.xpm
samples/console/*.xbm
samples/console/*.png
samples/console/*.ico
samples/console/*.txt
samples/font/*.cpp
samples/font/*.h
samples/font/makefile*
samples/font/*.rc
samples/font/*.def
samples/font/*.bmp
samples/font/*.xpm
samples/font/*.xbm
samples/font/*.png
samples/font/*.ico
samples/font/*.txt
samples/nettest/*.cpp
samples/nettest/*.h
samples/nettest/makefile*
samples/nettest/*.rc
samples/nettest/*.def
samples/nettest/*.bmp
samples/nettest/*.xpm
samples/nettest/*.xbm
samples/nettest/*.png
samples/nettest/*.ico
samples/nettest/*.txt
samples/scrollsub/*.cpp
samples/scrollsub/*.h
samples/scrollsub/makefile*
samples/scrollsub/*.rc
samples/scrollsub/*.def
samples/scrollsub/*.bmp
samples/scrollsub/*.xpm
samples/scrollsub/*.xbm
samples/scrollsub/*.png
samples/scrollsub/*.ico
samples/scrollsub/*.txt
samples/menu/*.cpp
samples/menu/*.h
samples/menu/makefile*
samples/menu/*.rc
samples/menu/*.def
samples/menu/*.bmp
samples/menu/*.xpm
samples/menu/*.xbm
samples/menu/*.png
samples/menu/*.ico
samples/menu/*.txt
samples/font/*.cpp
samples/font/*.h
samples/font/makefile*
samples/font/*.rc
samples/font/*.def
samples/font/*.bmp
samples/font/*.xpm
samples/font/*.xbm
samples/font/*.png
samples/font/*.ico
samples/font/*.txt

View File

@@ -1,4 +1,3 @@
utils/glcanvas/Makefile.in
utils/glcanvas/docs/*.*
utils/glcanvas/win/*.cpp
utils/glcanvas/win/*.h

View File

@@ -1,5 +1,3 @@
configure
distrib/gtk/copy_src
distrib/gtk/README.txt
distrib/gtk/Setup
@@ -10,11 +8,16 @@ docs/gtk/COPYING.LIB
docs/gtk/makewxgtk
include/wx/gtk/*.h
include/wx/gtk/*.xpm
include/install-sh
include/wx/install-sh
src/gtk/Makefile
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

View File

@@ -1,79 +1,172 @@
Makefile.in
src/Makefile
locale/Makefile
samples/Makefile.in
samples/bombs/Makefile.in
samples/caret/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/drawing/Makefile.in
samples/docvwmdi/Makefile
samples/dynamic/Makefile.in
samples/genvalid/Makefile.in
samples/html/Makefile.in
samples/html/about/Makefile.in
samples/html/help/Makefile.in
samples/html/printing/Makefile.in
samples/html/test/Makefile.in
samples/html/virtual/Makefile.in
samples/html/widget/Makefile.in
samples/html/zip/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/scroll/Makefile.in
samples/sashtest/Makefile
samples/splitter/Makefile.in
samples/text/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/wizard/Makefile.in
samples/validate/Makefile
samples/wxpoem/Makefile.in
samples/wxpoem/Makefile
samples/wxsocket/Makefile.in
samples/nettest/Makefile.in
samples/scrollsub/Makefile.in
utils/glcanvas/motif/Makefile.in
utils/Makefile.in
utils/wxMMedia2/Makefile.in
utils/wxMMedia2/lib/Makefile.in
utils/wxMMedia2/sample/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/animatn/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,51 +0,0 @@
@echo off
Rem Make a WISE Installer distribution list, where each file is represented by
Rem a section like this:
Rem
Rem item: Install File
Rem Source=d:\wx2\thefile.txt
Rem Destination=%MAINDIR%\thefile.txt
Rem Flags=0000000000000010
Rem end
Rem Generate a list of all files in the distribution.
dir /BS >& %TEMP\files1.tmp
Rem Now we iterate through the list of files, writing out the middle section of
Rem the file.
Rem We have to remove the first part of the path,
Rem by truncating the start by the size of the current directory.
set sz=%@EVAL[%@LEN[%_CWD]+1]
set len=%@LINES[%TEMP\files1.tmp]
erase /Y %TEMP\files2.tmp
Rem, first add system files
cat %WXWIN\distrib\msw\wisesys.txt > %temp\files2.tmp
do i = 0 to %len by 1
set line=%@LINE[%TEMP\files1.tmp,%i]
Rem Skip directories.
if isdir %line enddo
set sz2=%@LEN[%line]
set n=%@EVAL[%sz2-%sz]
set line2=%@SUBSTR[%line,%sz,%n]
Rem Echo the file section
echo item: Install File >> %TEMP\files2.tmp
echo Source=%line >> %TEMP\files2.tmp
echo Destination=%%MAINDIR%%\%line2 >> %TEMP\files2.tmp
echo Flags=0000000000000010 >> %TEMP\files2.tmp
echo end >> %TEMP\files2.tmp
enddo
Rem Concatenate the 3 sections
cat %WXWIN\distrib\msw\wisetop.txt %TEMP\files2.tmp %WXWIN\distrib\msw\wisebott.txt > %WXWIN\distrib\msw\wxwin2.wse
erase /Y %TEMP\files1.tmp
rem erase /Y %TEMP\files2.tmp
goto end
:end

View File

@@ -1,3 +1,21 @@
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

View File

@@ -1,10 +1,3 @@
Mingw32-gcc295.patches
lib/watcom/*.txt
lib/watcom/*.lib
lib/watcom/*.bat
lib/bcc16/*.lib
docs/licence.txt
docs/msw/*.txt
docs/wine/*.txt
@@ -12,6 +5,7 @@ docs/wine/COPYING.LIB
distrib/msw/*.rsp
distrib/msw/*.bat
distrib/msw/tmake/*.t
tools/gettext/xgettext.exe
tools/gettext/msgfmt.exe
@@ -50,8 +44,6 @@ src/*.bat
src/common/dosyacc.c
src/common/doslex.c
src/common/y_tab.c
src/common/lex_yy.c
src/msw/*.cpp
src/msw/*.h
@@ -60,8 +52,12 @@ src/msw/*.lst
src/msw/*.def
src/msw/*.inc
src/msw/winestub.c
src/msw/gsocket.c
src/msw/ctl3d/*.*
src/msw/ctl3d/msvc/*.*
src/msw/ctl3d/wat32/*.*
src/msw/ctl3d/wat386/*.*
src/msw/ctl3d/borland/*.*
src/msw/ole/*.cpp
src/msw/*.prj

View File

@@ -1,4 +1,3 @@
utils/ogl/Makefile.in
utils/ogl/Makefile
utils/ogl/src/*.cpp

View File

@@ -1,36 +0,0 @@
Distribution scripts and lists
-----------------------------------------------------------------
This directory (distrib\msw) contains some 4DOS batch files
(.bat) and 'response' files (.rsp) to simplify the job of
producing distributions. The .rsp files specify which files are
associated with a particular module, e.g. wx200vc.rsp refers to
the VC++ project files, wx200gen.rsp represents the generic files,
wx200msw.rsp specifies the Windows specific files, etc.
When making a distribution on Windows, I call zipdist.bat to prepare
zip files with everything needed for Windows,
GTK and Motif. zipdist then unzips some of them into
deliver\wx, removes and adds a few files to perfect the
distribution.
zipdist then calls 'makewise.bat' to generate a new wxwin2.wse
script, for WISE Installer. It takes wisetop.txt, wisebott.txt
and adds the section for file installation. (If you've modified
wxwin2.wse using WISE Installer, simply compile and run splitwise.exe
to put back up-to-date wisetop.txt, wisebott.txt files before
running zipdist.)
Finally, zipdist runs WISE Installer using a command line
argument to produce the setup.* files automatically.
Note that although zipdist.bat produces archives for 3 platforms,
I only use a subset of these to produce the Windows-specific
setup.exe. I then have the option of distributing the zip files
as well.
You may need to install 4DOS to run these scripts. If anyone
wishes to remove 4DOS dependency, that's fine with me.
Julian Smart, 11th October 1999

View File

@@ -1,106 +0,0 @@
///////////////////////////////////////////////////////////////////////////////
// Name: splitwise.cpp
// Purpose: Use this to split wxwin2.wse in the distrib/msw directory
// into wisetop.txt, wisebott.txt. This allows you to do the
// following:
//
// 1) Edit the existing wxwin2.wse in WISE Install.
// 2) Call splitwise.exe to split off the non-file bits (i.e.
// preserve everything except the "item: Install File" lines).
// 3) Call makewise.bat to generate a new wxwin2.wse from
// wisetop.txt, wisebott.txt and the file list generated
// from the files in deliver\wx (which themselves have been
// put there by zipdist.bat).
//
// If you don't wish to change the WISE settings, then there's no
// need to use splitwise, but it's very likely that settings will
// be altered, e.g. to change the version number, what's installed,
// etc.
//
// Author: Julian Smart
// Modified by:
// Created: 13/10/99
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char g_Line[1024];
int ReadLine(FILE* fd, char* buf)
{
int ch;
int i = 0;
while (((ch = getc(fd)) != EOF) && (ch != '\n'))
{
buf[i] = ch;
i ++;
}
buf[i] = 0;
if (ch == EOF && (i == 0))
return 0;
else
return 1;
}
void WriteLine(FILE* fd, char* buf)
{
int len = strlen(buf);
int i;
for (i = 0; i < len; i++)
putc(buf[i], fd);
putc('\n', fd);
}
int main(int argc, char* argv[])
{
FILE* wiseTop = fopen("wisetop.txt", "w");
if (!wiseTop)
return 1;
FILE* wiseBottom = fopen("wisebott.txt", "w");
if (!wiseBottom)
return 1;
FILE* wiseWhole = fopen("wxwin2.wse", "r");
if (!wiseWhole)
return 1;
// Write out the top of the file
g_Line[0] = 0;
while (ReadLine(wiseWhole, g_Line))
{
if (strcmp(g_Line, "item: Install File") == 0)
break;
else
WriteLine(wiseTop, g_Line);
}
// Skip to the end of the file items
while (ReadLine(wiseWhole, g_Line))
{
if ((strncmp(g_Line, "item:", 5) == 0) && (strcmp(g_Line, "item: Install File") != 0))
{
WriteLine(wiseBottom, g_Line);
break;
}
}
// Write the rest of the bottom
while (ReadLine(wiseWhole, g_Line))
{
WriteLine(wiseBottom, g_Line);
}
fclose(wiseTop);
fclose(wiseBottom);
fclose(wiseWhole);
return 0;
}

View File

@@ -1,44 +0,0 @@
# FIXME we'll generate this makefile with configure later, but for now please
# change it manually
TMAKEDIR=/home/zeitlin/build/tmake
TMAKE=$(TMAKEDIR)/bin/tmake
WXDIR=../../..
MSW_MAKEFILES_DIR=$(WXDIR)/src/msw
all: $(MSW_MAKEFILES_DIR)/makefile.vc \
$(MSW_MAKEFILES_DIR)/makefile.b32 \
$(MSW_MAKEFILES_DIR)/makefile.dos \
$(MSW_MAKEFILES_DIR)/makefile.bcc \
$(MSW_MAKEFILES_DIR)/makefile.sc \
$(MSW_MAKEFILES_DIR)/makefile.wat \
$(MSW_MAKEFILES_DIR)/makefile.g95 \
$(MSW_MAKEFILES_DIR)/makefile.g295 \
$(WXDIR)/Makefile.in
$(MSW_MAKEFILES_DIR)/makefile.vc: filelist.txt wxwin.pro
$(TMAKE) -t vc wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.b32: filelist.txt wxwin.pro
$(TMAKE) -t b32 wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.dos: filelist.txt wxwin.pro
$(TMAKE) -t dos wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.bcc: filelist.txt wxwin.pro
$(TMAKE) -t bcc wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.sc: filelist.txt wxwin.pro
$(TMAKE) -t sc wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.wat: filelist.txt wxwin.pro
$(TMAKE) -t wat wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.g95: filelist.txt wxwin.pro
$(TMAKE) -t g95 wxwin.pro -o $@
$(MSW_MAKEFILES_DIR)/makefile.g295: filelist.txt wxwin.pro g295.t
$(TMAKE) -t g295 wxwin.pro -o $@
$(WXDIR)/Makefile.in: filelist.txt wxwin.pro
$(TMAKE) -t unx wxwin.pro -o $@

View File

@@ -38,8 +38,6 @@
next;
}
$isCFile = $file =~ /\.c$/;
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/obj/;
my $obj = "\$(MSWDIR)\\" . $file . " ";
@@ -49,7 +47,7 @@
#! remember that this file is in ole subdir
$project{"WXOLEOBJS"} .= $obj;
}
$project{"WXCOBJS"} .= $obj if $isCFile;
}
#$}
@@ -203,8 +201,7 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
foreach (@objs) {
$text .= $_ . ": ";
if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/obj$/$suffix/;
s/obj$/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
@@ -308,7 +305,7 @@ $(CFG): makefile.b32
-WE
-tWM
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-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
@@ -337,10 +334,7 @@ cleanall: clean
MFTYPE=b32
# Can't use this or we'll have to distribute all tmake files with wxWindows
# makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
self:
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

@@ -2,11 +2,6 @@
#! File: bcc.t
#! Purpose: tmake template file from which makefile.bcc is generated by running
#! tmake -t bcc wxwin.pro -o makefile.bcc
#!
#! TODO:
#! - resourc2.obj is not correctly generated (see list and target).
#! - cpp is incorrectly substituted into filenames containing 'obj'
#!
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
@@ -41,17 +36,14 @@
}
#! special hack for Borland in 16 bits needs this file
$project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.obj';
$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/;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$obj = "\$(MSWDIR)\\" . $file . " ";
$project{"WXMSWOBJS"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
}
#$}
@@ -102,7 +94,7 @@ PERIPH_TARGET=
PERIPH_CLEAN_TARGET=
!if "$(USE_CTL3D)" == "1"
PERIPH_LIBS=$(WXDIR)\lib\bcc16\ctl3dv2.lib $(PERIPH_LIBS)
PERIPH_LIBS=$(BCCDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
!endif
!if "$(USE_XPM_IN_MSW)" == "1"
@@ -145,10 +137,7 @@ wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(PERIPH_LIBS)
erase $(LIBTARGET)
tlib $(LIBTARGET) /P1024 @&&!
+$(COMMONOBJS:.obj =.obj +)\
+$(GENERICOBJS:.obj =.obj +)\
+$(MSWOBJS:.obj =.obj +)\
+$(PERIPH_LIBS:.lib =.lib +)
+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
!
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
@@ -173,8 +162,7 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
my @objs = split;
foreach (@objs) {
$text .= $_ . ": ";
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/obj$/$suffix/;
s/obj/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
@@ -189,7 +177,7 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
$text .= $_ . ": ";
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
s/MSWDIR/COMMDIR/;
s/obj$/$suffix/;
s/obj/$suffix/;
$text .= $_ . "\n\n";
}
#$}
@@ -204,7 +192,7 @@ $(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
foreach (@objs) {
$text .= $_ . ": ";
s/MSWDIR/GENDIR/;
s/obj$/\$(SRCSUFF)/;
s/obj/\$(SRCSUFF)/;
$text .= $_ . "\n\n";
}
#$}
@@ -226,14 +214,19 @@ all_execs:
all_libs:
cd $(WXDIR)\src\msw
make -f makefile.bcc dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
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 fafa wxstring itsy gauge # wxxpm
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)
@@ -276,7 +269,7 @@ $(CFG): makefile.bcc
-Fs-
-Vf
-Ff=4
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/generic;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
-I$(WXDIR)\include\wx\msw\gnuwin32
-L$(BCCDIR)\lib
-D__WXWIN__
@@ -309,10 +302,7 @@ cleanall: clean
MFTYPE=bcc
# Can't use this or we'll have to distribute all tmake files with wxWindows
#makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
self:
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

@@ -6,6 +6,7 @@
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
@@ -14,7 +15,7 @@
#! 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 wasn't compiled for VC++ 1.52
#! this file for some reason was compiled for VC++ 1.52
next unless $file =~ /^prntdlgg\./;
}
@@ -22,34 +23,23 @@
$project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
}
#! because we later search for " <filename> " in this string
$project{"WXCOBJS"} = " ";
foreach $file (sort keys %wxCommon) {
#! socket files don't compile under Win16 currently
next if $wxCommon{$file} =~ /\b(32|S)\b/;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$obj = "\$(COMMDIR)\\" . $file . " ";
#! $project{"WXCOMMONOBJS"} .= $obj;
#! have to split lib in 2 halves because otherwise it's too big
$project{$file =~ "^[a-o]" ? "WXCOMMONOBJS1" : "WXCOMMONOBJS2"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
$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/;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$obj = "\$(MSWDIR)\\" . $file . " ";
#! have to split lib in 2 halves because otherwise it's too big
$project{$file =~ "^[a-o]" ? "WXMSWOBJS1" : "WXMSWOBJS2"} .= $obj;
$project{"WXCOBJS"} .= $obj if $isCFile;
$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!
@@ -111,74 +101,58 @@ MSWDIR=.
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
# we can't have all objects in one list because the library becomes too big
COMMONOBJS1 = \
COMMONOBJS = \
$(COMMDIR)\y_tab.obj \
#$ ExpandList("WXCOMMONOBJS1");
#$ ExpandList("WXCOMMONOBJS");
COMMONOBJS2 = \
#$ ExpandList("WXCOMMONOBJS2");
# we can't have all objects in one list because the library becomes too big
MSWOBJS1 = #$ ExpandList("WXMSWOBJS1");
MSWOBJS2 = #$ ExpandList("WXMSWOBJS2");
MSWOBJS = #$ ExpandList("WXMSWOBJS");
# TODO: Implement XPM and PNG targets in this makefile!
# $(OLEDIR)\xpmhand \
# $(OLEDIR)\pnghand \
OBJECTS = $(COMMONOBJS1) $(COMMONOBJS2) $(GENERICOBJS) $(MSWOBJS1) $(MSWOBJS2)
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
# Normal, static library
all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib $(WXDIR)\lib\wx4.lib $(WXDIR)\lib\wx5.lib
all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib
$(WXDIR)\lib\wx1.lib: $(COMMONOBJS1) $(PERIPH_LIBS)
# $(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
$(COMMONOBJS1) $(PERIPH_LIBS)
$(COMMONOBJS) $(PERIPH_LIBS)
nul
;
<<
$(WXDIR)\lib\wx2.lib: $(COMMONOBJS2)
$(WXDIR)\lib\wx2.lib: $(GENERICOBJS)
-erase $(WXDIR)\lib\wx2.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx2.lib
y
$(COMMONOBJS2)
nul
;
<<
$(WXDIR)\lib\wx3.lib: $(GENERICOBJS)
-erase $(WXDIR)\lib\wx3.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx3.lib
y
$(GENERICOBJS)
nul
;
<<
$(WXDIR)\lib\wx4.lib: $(MSWOBJS1)
-erase $(WXDIR)\lib\wx4.lib
$(WXDIR)\lib\wx3.lib: $(MSWOBJS)
-erase $(WXDIR)\lib\wx3.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx4.lib
$(WXDIR)\lib\wx3.lib
y
$(MSWOBJS1)
nul
;
<<
$(WXDIR)\lib\wx5.lib: $(MSWOBJS2)
-erase $(WXDIR)\lib\wx5.lib
lib /PAGESIZE:128 @<<
$(WXDIR)\lib\wx5.lib
y
$(MSWOBJS2)
$(MSWOBJS)
nul
;
<<
@@ -200,23 +174,14 @@ $(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
<<
#${
$_ = $project{"WXMSWOBJS1"} . $project{"WXMSWOBJS2"} . $project{"WXCOMMONOBJS1"} . $project{"WXCOMMONOBJS2"} . $project{"WXGENERICOBJS"};
$_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
my @objs = split;
foreach (@objs) {
if ( $project{"WXCOBJS"} =~ / \Q$_\E / ) {
s:\\:/:;
$text .= $_ . ': $*.c' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS2) /Fo$@ /c /Tc $*.c' . "\n" .
"<<\n\n";
}
else {
s:\\:/:;
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
s:\\:/:;
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
' cl @<<' . "\n" .
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
"<<\n\n";
}
}
#$}

View File

@@ -39,32 +39,14 @@
$wxGeneric{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "M" ) {
$wxMSW{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "X" ) {
$wxMOTIF{$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 "B" ) {
$wxBase{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "W" ) {
$wxWXINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "P" ) {
$wxPROTOCOLINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "L" ) {
$wxHTMLINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "F" ) {
$wxMOTIFINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "9" ) {
$wxMSWINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "K" ) {
$wxGTKINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "S" ) {
$wxUNIXINCLUDE{$fields[0]} = $fields[2];
} elsif ( $fields[1] eq "N" ) {
$wxGENERICINCLUDE{$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;

File diff suppressed because it is too large Load Diff

View File

@@ -6,6 +6,7 @@
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
@@ -27,39 +28,22 @@
next if $wxCommon{$file} =~ /\b(16)\b/;
#! needs extra files (sql*.h) so not compiled by default.
#! next if $file =~ /^odbc\./;
next if $file =~ /^odbc\./;
if ( $file =~ /^odbc\./ )
{
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"ADVANCEDOBJS"} .= '$(COMMDIR)/' . $file . " "
}
else
{
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
}
$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\./;
next if $wxMSW{$file} =~ /\b(16)\b/;
#! Mingw32 doesn't have the OLE headers and has some troubles with
#! socket code, so put in ADVANCEDOBJS
if ( $wxMSW{$file} =~ /\b(O)\b/ )
{
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"ADVANCEDOBJS"} .= '$(MSWDIR)/ole/' . $file . " "
}
else
{
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
}
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
}
foreach $file (sort keys %wxHTML) {
@@ -103,10 +87,6 @@ ZLIBDIR = $(WXDIR)/src/zlib
OLEDIR = $(WXDIR)/src/msw/ole
MSWDIR = $(WXDIR)/src/msw
PNGLIB = $(WXDIR)/lib/libpng.a
ZLIBLIB = $(WXDIR)/lib/libzlib.a
JPEGLIB = $(WXDIR)/lib/libjpeg.a
DOCDIR = $(WXDIR)\docs
GENERICOBJS = \
@@ -122,9 +102,6 @@ HTMLOBJS = \
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
ADVANCEDOBJS = \
#$ ExpandList("ADVANCEDOBJS");
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
$(ZLIBDIR)/compress.$(OBJSUFF) \
@@ -219,46 +196,25 @@ XPMOBJECTS = $(XPMDIR)/crbuffri.o\
$(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
#OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS)
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
ifeq ($(MINGW32),1)
ifeq ($(MINGW32VERSION),2.95)
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS)
else
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS)
endif
else
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS)
endif
all: $(OBJECTS) $(WXLIB) $(ZLIBLIB) $(JPEGLIB) $(PNGLIB)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
$(RANLIB) $@
$(ZLIBLIB): $(ZLIBOBJS)
ar $(AROPTIONS) $@ $(ZLIBOBJS)
$(RANLIB) $@
$(PNGLIB): $(PNGOBJS)
ar $(AROPTIONS) $@ $(PNGOBJS)
$(RANLIB) $@
$(JPEGLIB): $(JPEGOBJS)
ar $(AROPTIONS) $@ $(JPEGOBJS)
$(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
copy ..\common\dosyacc.c ..\common\y_tab.c
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
$(COPY) ..\\common\\doslex.c ..\\common\\lex_yy.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
@@ -291,22 +247,21 @@ $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
# mv y.tab.c $(COMMDIR)/y_tab.c
clean:
-$(RM) *.o
-$(RM) ole/*.o
-$(RM) *.bak
-$(RM) core
-$(RM) ../common/y_tab.c
-$(RM) ../common/lex_yy.c
-$(RM) ../common/*.o
-$(RM) ../common/*.bak
-$(RM) ../generic/*.o
-$(RM) ../generic/*.bak
-$(RM) ../html/*.o
-$(RM) ../png/*.o
-$(RM) ../png/*.bak
-$(RM) ../zlib/*.o
-$(RM) ../zlib/*.bak
-$(RM) ../jpeg/*.o
-$(RM) ../../lib/libwx.a
-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,7 +1,7 @@
#!#############################################################################
#! File: g295.t
#! Purpose: tmake template file from which makefile.g295 is generated by running
#! tmake -t g295 wxwin.pro -o makefile.g295
#! 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$
@@ -9,37 +9,27 @@
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
#! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK 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;
}
next if $wxGeneric{$file} =~ /\bR\b/;
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
}
foreach $file (sort keys %wxCommon) {
next if $wxCommon{$file} =~ /\b(16)\b/;
next if $wxCommon{$file} =~ /\bR\b/;
$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(16)\b/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)/';
$project{"WXMSWOBJS"} .= 'ole/' if $wxMSW{$file} =~ /\bO\b/;
foreach $file (sort keys %wxGTK) {
$file =~ s/cp?p?$/\$(OBJSUFF)/;
$project{"WXMSWOBJS"} .= $file . " "
$project{"WXGTKOBJS"} .= '$(GTKDIR)/' . $file . " "
}
foreach $file (sort keys %wxHTML) {
@@ -47,12 +37,16 @@
$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 G295.T!
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
#
# File: makefile.g295
# File: Makefile
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
# Created: 1993
# Updated: 1999
@@ -60,28 +54,22 @@
# Copyright:(c) 1999, Vadim Zeitlin
# Copyright:(c) 1999, Robert Roebling
#
# Makefile for libwx.a
# Makefile for libwx_gtk.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
include $(WXDIR)/src/gtk.env
# Subordinate library possibilities
EXTRAOBJS=
GENDIR = $(WXDIR)/src/generic
COMMDIR = $(WXDIR)/src/common
HTMLDIR = $(WXDIR)/src/html
XPMDIR = $(WXDIR)/src/xpm
UNIXDIR = $(WXDIR)/src/unix
PNGDIR = $(WXDIR)/src/png
JPEGDIR = $(WXDIR)/src/jpeg
ZLIBDIR = $(WXDIR)/src/zlib
OLEDIR = $(WXDIR)/src/msw/ole
MSWDIR = $(WXDIR)/src/msw
GTKDIR = $(WXDIR)/src/gtk
DOCDIR = $(WXDIR)\docs
@@ -89,14 +77,17 @@ GENERICOBJS = \
#$ ExpandList("WXGENERICOBJS");
COMMONOBJS = \
$(COMMDIR)/y_tab.$(OBJSUFF) \
$(COMMDIR)/parser.$(OBJSUFF) \
#$ ExpandList("WXCOMMONOBJS");
HTMLOBJS = \
#$ ExpandList("WXHTMLOBJS");
MSWOBJS = \
#$ ExpandList("WXMSWOBJS");
GTKOBJS = \
#$ ExpandList("WXGTKOBJS");
UNIXOBJS = \
#$ ExpandList("WXUNIXOBJS");
ZLIBOBJS = \
$(ZLIBDIR)/adler32.$(OBJSUFF) \
@@ -180,84 +171,49 @@ JPEGOBJS = \
$(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)
OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
all: $(OBJECTS) $(WXLIB)
$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
$(WXLIB): $(OBJECTS)
ar $(AROPTIONS) $@ $(OBJECTS)
$(RANLIB) $@
$(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
$(OBJECTS): $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/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)/parser.$(OBJSUFF): $(COMMDIR)/parser.c $(COMMDIR)/lexer.c
$(CCLEX) -c $(CFLAGS) -o $@ $(COMMDIR)/parser.c
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
copy ..\common\dosyacc.c ..\common\y_tab.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)/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
$(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:
-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
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

@@ -36,20 +36,22 @@ 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 %WXDIR%\src\msw\makefile.vc
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 %WXDIR%\src\msw\makefile.b32
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 %WXDIR%\src\msw\makefile.dos
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 %WXDIR%\src\msw\makefile.bcc
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 %WXDIR%\src\msw\makefile.g95
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 %WXDIR%\src\msw\makefile.sc
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 %WXDIR%\src\msw\makefile.wat
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 %WXDIR%\Makefile.in
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,54 +0,0 @@
#!/bin/sh
#
# File: makeall.sh
# Purpose: create wxWindows makefiles for all compilers
# Author: Michael Bedward
# Created: 29 Aug 1999
# Copyright: (c) 1999 Michael Bedward
# Version: $Id$
#
# This creates the makefiles for all compilers from the templates using
# tmake. The tmake executable should be in the path.
# Assume we are in distrib/msw/tmake
#
topdir="../../.."
mswdir="$topdir/src/msw"
for tname in `ls *.t`
do
case $tname in
b32.t)
echo "Generating $mswdir/makefile.b32 for Borland C++ (32 bits)..."
tmake -t b32 wxwin.pro -o $mswdir/makefile.b32 ;;
bcc.t)
echo "Generating $mswdir/makefile.bcc for Borland C++ (16 bits)..."
tmake -t bcc wxwin.pro -o $mswdir/makefile.bcc;;
dos.t)
echo "Generating $mswdir/makefile.dos for Visual C++ 1.52..."
tmake -t dos wxwin.pro -o $mswdir/makefile.dos;;
g95.t)
echo "Generating $mswdir/makefile.g95 for Cygwin/Mingw32..."
tmake -t g95 wxwin.pro -o $mswdir/makefile.g95;;
sc.t)
echo "Generating $mswdir/makefile.sc for Symantec C++..."
tmake -t sc wxwin.pro -o $mswdir/makefile.sc;;
vc.t)
echo "Generating $mswdir/makefile.vc for Visual C++ 4.0..."
tmake -t vc wxwin.pro -o $mswdir/makefile.vc;;
wat.t)
echo "Generating $mswdir/makefile.wat for Watcom C++..."
tmake -t wat wxwin.pro -o $mswdir/makefile.wat;;
unx.t)
echo "Generating $topdir/Makefile.in for Unix and Configure..."
tmake -t unx wxwin.pro -o $topdir/Makefile.in;;
esac
done

View File

@@ -37,11 +37,8 @@
next if $wxGeneric{$file} =~ /\b16\b/;
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= '$(MSWDIR)\\';
$project{"WXMSWOBJS"} .= 'ole\\' if $isOleObj;
$project{"WXMSWOBJS"} .= $file . " "
$project{"WXMSWOBJS"} .= '$(MSWDIR)\\' . $file . " "
}
#$}

View File

@@ -1,57 +0,0 @@
#
# $Id$
#
# tmake configuration for linux-g++
#
TEMPLATE = app
CONFIG = qt warn_on release
TMAKE_CC = gcc
TMAKE_CFLAGS =
TMAKE_CFLAGS_WARN_ON = -Wall -W
TMAKE_CFLAGS_WARN_OFF =
TMAKE_CFLAGS_RELEASE = -O2 -fno-strength-reduce
TMAKE_CFLAGS_DEBUG = -g
TMAKE_CFLAGS_SHLIB = -fPIC
TMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
TMAKE_CXX = g++
TMAKE_CXXFLAGS = $$TMAKE_CFLAGS
TMAKE_CXXFLAGS_WARN_ON = $$TMAKE_CFLAGS_WARN_ON
TMAKE_CXXFLAGS_WARN_OFF = $$TMAKE_CFLAGS_WARN_OFF
TMAKE_CXXFLAGS_RELEASE = $$TMAKE_CFLAGS_RELEASE
TMAKE_CXXFLAGS_DEBUG = $$TMAKE_CFLAGS_DEBUG
TMAKE_CXXFLAGS_SHLIB = $$TMAKE_CFLAGS_SHLIB
TMAKE_CXXFLAGS_YACC = $$TMAKE_CFLAGS_YACC
TMAKE_INCDIR =
TMAKE_LIBDIR =
TMAKE_INCDIR_X11 = /usr/X11R6/include
TMAKE_LIBDIR_X11 = /usr/X11R6/lib
TMAKE_INCDIR_QT = $(QTDIR)/include
TMAKE_LIBDIR_QT = $(QTDIR)/lib
TMAKE_INCDIR_OPENGL = /usr/X11R6/include
TMAKE_LIBDIR_OPENGL = /usr/X11R6/lib
TMAKE_LINK = g++
TMAKE_LINK_SHLIB = g++
TMAKE_LFLAGS = -Wl,-rpath=/lib:/usr/X11R6/lib:$(QTDIR)/lib
TMAKE_LFLAGS_RELEASE =
TMAKE_LFLAGS_DEBUG =
TMAKE_LFLAGS_SHLIB = -shared
TMAKE_LFLAGS_SONAME = -Wl,-soname,
TMAKE_LIBS =
TMAKE_LIBS_X11 = -lX11 -lXext
TMAKE_LIBS_QT = -lqt
TMAKE_LIBS_QT_OPENGL = -lqgl
TMAKE_LIBS_OPENGL = -lMesaGL -lMesaGLU -lXmu -lXext -lm
TMAKE_MOC = moc
TMAKE_AR = ar cqs
TMAKE_RANLIB =
TMAKE_TAR = tar -cf
TMAKE_GZIP = gzip -9f

File diff suppressed because it is too large Load Diff

View File

@@ -41,14 +41,6 @@
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= '$D\\' . $file . " ";
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$file =~ s/cp?p?$/obj/;
$project{"WXHTMLOBJS"} .= "..\\html\\\$D\\" . $file . " "
}
#$}
# This file was automatically generated by tmake at #$ Now()
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
@@ -120,11 +112,6 @@ $(CPPFLAGS2) /Fo$@ /c /Tc $<
$(CPPFLAGS) /Fo$@ /c /Tp $<
<<
{..\msw}.c{..\msw\$D}.obj:
cl @<<
$(CPPFLAGS2) /Fo$@ /c /Tc $<
<<
{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
cl @<<
$(CPPFLAGS) /Fo$@ /c /Tp $<
@@ -147,12 +134,28 @@ COMMONOBJS = \
MSWOBJS = #$ ExpandList("WXMSWOBJS");
HTMLOBJS = #$ ExpandList("WXHTMLOBJS");
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) $(HTMLOBJS)
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
# Normal, static library
all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
@@ -237,7 +240,7 @@ $(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
<<
# Update the dynamic link library
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS)
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
$(link) @<<
$(LINKFLAGS)
-out:$(WXDIR)\lib\$(WXLIBNAME).dll
@@ -290,7 +293,7 @@ $(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
png:
cd $(WXDIR)\src\png
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_png:
@@ -300,7 +303,7 @@ clean_png:
zlib:
cd $(WXDIR)\src\zlib
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_zlib:
@@ -310,7 +313,7 @@ clean_zlib:
jpeg:
cd $(WXDIR)\src\jpeg
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG) all
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
cd $(WXDIR)\src\msw
clean_jpeg:
@@ -320,7 +323,7 @@ clean_jpeg:
xpm:
cd $(WXDIR)\src\xpm
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) CRTFLAG=$(CRTFLAG)
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
cd $(WXDIR)\src\msw
clean_xpm:
@@ -333,7 +336,7 @@ rcparser:
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\src\msw
clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm clean_jpeg
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
@@ -358,14 +361,10 @@ clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_xpm clean_jpeg
-erase $(OLEDIR)\$D\*.obj
-erase $(OLEDIR)\$D\*.sbr
-erase $(OLEDIR)\$D\*.pdb
-erase $(HTMLDIR)\$D\*.obj
-erase $(HTMLDIR)\$D\*.sbr
-erase $(HTMLDIR)\$D\*.pdb
-rmdir $(D)
-rmdir ole\$(D)
-rmdir ..\generic\$(D)
-rmdir ..\common\$(D)
-rmdir ..\html\$(D)
cleanall: clean
@@ -513,29 +512,25 @@ $(DOCDIR)/latex/techref/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
$(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 *.wmf $(DOCDIR)\pdf
-copy *.bmp $(DOCDIR)\pdf
-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 *.wmf $(DOCDIR)\pdf
-copy *.bmp $(DOCDIR)\pdf
-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 *.wmf $(DOCDIR)\pdf
-copy *.bmp $(DOCDIR)\pdf
-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 *.wmf $(DOCDIR)\pdf
-copy *.bmp $(DOCDIR)\pdf
-copy *.bmp *.wmf $(DOCDIR)\pdf
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
cd $(THISDIR)

View File

@@ -27,16 +27,9 @@
foreach $file (sort keys %wxMSW) {
next if $wxMSW{$file} =~ /\b16\b/;
my $tag;
if ( $wxMSW{$file} =~ /\bO\b/ ) { $tag = "WXOLESRCS" }
else { $tag = $file =~ /\.c$/ ? "WXMSWCSRCS" : "WXMSWSRCS" }
my $tag = $wxMSW{$file} =~ /\bO\b/ ? "WXOLESRCS" : "WXMSWSRCS";
$project{$tag} .= $file . " "
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$project{"WXHTMLSRCS"} .= $file . " "
}
#$}
# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
@@ -132,8 +125,6 @@ SOURCE=.\src\msw\dummy.cpp
#$ 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");
#$ ExpandGlue("WXMSWCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\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");
#$ ExpandGlue("WXHTMLSRCS", "# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n");
# Begin Source File

View File

@@ -1,162 +0,0 @@
#!#############################################################################
#! File: vc6dll.t
#! Purpose: tmake template file from which wxWinDll.dsp is generated by running
#! tmake -t vc6dll wxwin.pro -o wxWinDll.dsp
#! Author: Vadim Zeitlin
#! Created: 13.10.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;
if ( $wxMSW{$file} =~ /\bO\b/ ) { $tag = "WXOLESRCS" }
else { $tag = $file =~ /\.c$/ ? "WXMSWCSRCS" : "WXMSWSRCS" }
$project{$tag} .= $file . " "
}
foreach $file (sort keys %wxHTML) {
next if $wxHTML{$file} =~ /\b16\b/;
$project{"WXHTMLSRCS"} .= $file . " "
}
#$}
# Microsoft Developer Studio Project File - Name="wxWinDll" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=wxWinDll - 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 "wxWinDll.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 "wxWinDll.mak" CFG="wxWinDll - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "wxWinDll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "wxWinDll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "wxWinDll - 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 "ReleaseDLL"
# PROP Intermediate_Dir "ReleaseDLL"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W4 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W4 /GX /O2 /I "$(wx)\include" /I "$(wx)\src\zlib" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /D "__WXMSW__" /D "__WIN95__" /D "__WINDOWS__" /D "__WIN32__" /D "WXMAKINGDLL" /Yu"wx/wxprec.h" /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib src\png\png.lib src\xpm\xpm.lib src\zlib\zlib.lib /nologo /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib winmm.lib src\png\png.lib src\xpm\xpm.lib src\zlib\zlib.lib /nologo /dll /machine:I386
!ELSEIF "$(CFG)" == "wxWinDll - 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 "DebugDLL"
# PROP Intermediate_Dir "DebugDLL"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W4 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W4 /Gm /ZI /Od /I "$(wx)\include" /I "$(wx)\src\zlib" /D "_DEBUG" /D "__WXDEBUG__" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "WXWINDLL_EXPORTS" /D "__WXMSW__" /D "__WIN95__" /D "__WINDOWS__" /D "__WIN32__" /D "WXMAKINGDLL" /Yu"wx/wxprec.h" /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib lib\png.lib src\png\png.lib src\xpm\xpm.lib src\zlib\zlib.lib /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib advapi32.lib comdlg32.lib shell32.lib ole32.lib oleaut32.lib odbc32.lib uuid.lib rpcrt4.lib comctl32.lib wsock32.lib winmm.lib src\png\png.lib src\xpm\xpm.lib src\zlib\zlib.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
!ENDIF
# Begin Target
# Name "wxWinDll - Win32 Release"
# Name "wxWinDll - Win32 Debug"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\src\msw\dummydll.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");
#$ ExpandGlue("WXMSWCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\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");
#$ ExpandGlue("WXHTMLSRCS", "# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\html\\", "\n# End Source File\n");
# Begin Source File
SOURCE=.\src\common\y_tab.c
!IF "$(CFG)" == "wxWinDll - Win32 Release"
# SUBTRACT CPP /YX /Yc /Yu
!ELSEIF "$(CFG)" == "wxWinDll - Win32 Debug"
# ADD CPP /W1
# SUBTRACT CPP /YX /Yc /Yu
!ENDIF
# End Source File
# End Target
# End Project

View File

@@ -2,14 +2,11 @@
#! File: wat.t
#! Purpose: tmake template file from which makefile.wat is generated by running
#! tmake -t wat wxwin.pro -o makefile.wat
#! TODO:
#! - extended.c, unzip.c must be compiled with $(CC), not $(CCC).
#! - extended.c, unzip.c targets must be as per b32.t etc.
#! - OLE files not generated correctly (need 'ole/' directory)
#! Author: Vadim Zeitlin
#! Created: 14.07.99
#! Version: $Id$
#!#############################################################################
#${
#! include the code which parses filelist.txt file and initializes
#! %wxCommon, %wxGeneric and %wxMSW hashes.
@@ -33,10 +30,8 @@
#! doesn't compile, apparently
next if $file =~ /^imagjpeg\./;
$isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$project{"WXCOMMONOBJS"} .= $file . " ";
$project{"WXCOBJS"} .= $file . " " if $isCFile;
$project{"WXCOMMONOBJS"} .= $file . " "
}
foreach $file (sort keys %wxMSW) {
@@ -45,35 +40,23 @@
next if $wxGeneric{$file} =~ /\b16\b/;
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
my $isCFile = $file =~ /\.c$/;
$file =~ s/cp?p?$/obj/;
$project{"WXMSWOBJS"} .= $file . " ";
$project{"WXCOBJS"} .= $file . " " if $isCFile;
$project{"WXOLEOBJS"} .= $file . " " if $isOleObj
$project{"WXMSWOBJS"} .= $file . " "
}
#$}
#! an attempt to embed '#' directly in the string somehow didn't work...
#$ $text = chr(35) . '!/binb/wmake.exe';
# 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
#
# NOTE: This file is generated from wat.t by tmake, but not all bugs have
# been removed from this process. If wxWindows doesn't compile,
# check the following and edit this makefile accordingly:
#
# - OLE-related files such as oleutils.cpp should have 'ole\' prepended
# to the path.
# - extended.c, gsocket.c, unzip.c must be compiled using $(CC), not $(CCC).
# They may also be wrongly specified as extended.cpp, etc.
WXDIR = ..\..
@@ -90,8 +73,8 @@ 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
OLEDIR=$(MSWDIR)\ole
DOCDIR = $(WXDIR)\docs
@@ -138,22 +121,13 @@ cleanall: clean
foreach (@objs) {
$text .= $_ . ': $(';
s/\.obj$//;
if ( $project{"WXOLEOBJS"} =~ /\b\Q$_\E\b/ ) {
if ( $wxMSW{$_} =~ /\bO\b/ ) {
$text .= 'OLEDIR)\\';
} else {
$text .= 'MSWDIR)\\';
}
my $suffix, $cc;
if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
$suffix = "c";
$cc="CC";
}
else {
$suffix = "cpp";
$cc="CCC";
}
$text .= $_ . ".$suffix\n" .
" *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
$text .= $_ . ".cpp\n" .
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
}
#$}
@@ -167,17 +141,8 @@ cleanall: clean
$text .= $_;
s/\.obj$//;
$text .= ': $(COMMDIR)\\';
my $suffix, $cc;
if ( $project{"WXCOBJS"} =~ /\b\Q$_\E\b/ ) {
$suffix = "c";
$cc="CC";
}
else {
$suffix = "cpp";
$cc="CCC";
}
$text .= $_ . ".$suffix\n" .
" *\$($cc) \$(CPPFLAGS) \$(IFLAGS) \$<" . "\n\n";
$text .= $_ . ".cpp\n" .
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
}
#$}

View File

@@ -3,15 +3,25 @@ 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,11 +1,10 @@
src/wxvc.dsp
src/wxvc.dsw
src/wxvc6.dsp
src/wxvc6.dsw
src/wxvc_dll.dsp
src/wxvc_dll.dsw
src/jpeg/jpeg.dsp
src/jpeg/jpeg.dsw
samples/checklst/ChecklstVC.dsp
samples/checklst/ChecklstVC.dsw
@@ -137,8 +136,8 @@ utils/dialoged/src/DialogEdVC.dsw
utils/tex2rtf/src/Tex2RTFVC.dsp
utils/tex2rtf/src/Tex2RTFVC.dsw
utils/glcanvas/win/Glcanvas*.dsp
utils/glcanvas/win/Glcanvas*.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

View File

@@ -1,247 +0,0 @@
item: Set Variable
Variable=MAINDIR
Value=%MAINDIR%
Flags=00010100
end
item: Include Script
Pathname=c:\Program Files\WISE\INCLUDE\uninstal.wse
end
item: Check Configuration
Flags=10111011
end
item: Get Registry Key Value
Variable=GROUPDIR
Key=Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
Default=%WIN%\Start Menu\Programs
Value Name=Programs
Flags=00000010
end
item: Set Variable
Variable=GROUP
Value=%GROUPDIR%\%GROUP%
end
item: Create Shortcut
Source=%MAINDIR%\Docs\Winhelp\Wx.hlp
Destination=%GROUP%\wxWindows Manual.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\Docs\Readme.txt
Destination=%GROUP%\ReadMe.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\winhelp\dialoged.hlp
Destination=%GROUP%\Dialog Editor Help.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\winhelp\ogl.hlp
Destination=%GROUP%\Object Graphics Library Help.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\winhelp\prop.hlp
Destination=%GROUP%\wxProperty Classes Help.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\winhelp\tex2rtf.hlp
Destination=%GROUP%\Tex2RTF Help.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\winhelp\wxtree.hlp
Destination=%GROUP%\wxTree Help.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\html\index.htm
Destination=%GROUP%\HTML Docs Index.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\docs\msw\install.txt
Destination=%GROUP%\Compiling wxWindows.lnk
Working Directory=%MAINDIR%
end
item: Create Shortcut
Source=%MAINDIR%\bin\dialoged.exe
Destination=%GROUP%\Dialog Editor.lnk
Working Directory=%MAINDIR%
end
item: Else Statement
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=Dialog Editor
Command Line=%MAINDIR%\bin\dialoged.exe
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=wxWindows Manual
Command Line=%MAINDIR%\Docs\Winhelp\Wx.hlp
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=Compiling wxWindows
Command Line=%MAINDIR%\docs\msw\install.txt
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=ReadMe
Command Line=%MAINDIR%\Docs\Readme.txt
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=HTML Docs Index
Command Line=%MAINDIR%\docs\html\index.htm
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=Dialog Editor Help
Command Line=%MAINDIR%\docs\winhelp\dialoged.hlp
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=Object Graphics Library Help
Command Line=%MAINDIR%\docs\winhelp\ogl.hlp
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=wxProperty Classes Help
Command Line=%MAINDIR%\docs\winhelp\prop.hlp
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=Tex2RTF Help
Command Line=%MAINDIR%\docs\winhelp\tex2rtf.hlp
Default Directory=%MAINDIR%
end
item: Add ProgMan Icon
Group=%GROUP%
Icon Name=wxTree Help
Command Line=%MAINDIR%\docs\winhelp\wxtree.hlp
Default Directory=%MAINDIR%
end
item: End Block
end
item: Self-Register OCXs/DLLs
Description=Updating System Configuration, Please Wait...
end
item: Execute Program
Pathname=explorer.exe
Command Line=%GROUP%
end
item: Add to AUTOEXEC.BAT
New Text=SET WXWIN=%MAINDIR%
Search Text=SET WXWIN
Line Number=0
Flags=00010110
end
item: Wizard Block
Direction Variable=DIRECTION
Display Variable=DISPLAY
Bitmap Pathname=c:\Program Files\WISE\DIALOGS\TEMPLATE\WIZARD.BMP
X Position=9
Y Position=10
Filler Color=8421440
Flags=00000011
end
item: Custom Dialog Set
Name=Finished
Display Variable=DISPLAY
item: Dialog
Title=%APPTITLE% Installation
Title French=Installation de %APPTITLE%
Title German=Installation von %APPTITLE%
Title Spanish=Instalaci<63>n de %APPTITLE%
Title Italian=Installazione di %APPTITLE%
Width=271
Height=224
Font Name=Helv
Font Size=8
item: Push Button
Rectangle=150 187 195 202
Variable=DIRECTION
Value=N
Create Flags=01010000000000010000000000000001
Text=&Finish
Text French=&Fin
Text German=&Weiter
Text Spanish=&Terminar
Text Italian=&Fine
end
item: Push Button
Rectangle=105 187 150 202
Variable=DISABLED
Value=!
Create Flags=01010000000000010000000000000000
Text=< &Back
Text French=< &Retour
Text German=< &Zur<75>ck
Text Spanish=< &Atr<74>s
Text Italian=< &Indietro
end
item: Push Button
Rectangle=211 187 256 202
Variable=DISABLED
Value=!
Action=3
Create Flags=01010000000000010000000000000000
Text=&Cancel
Text French=&Annuler
Text German=&Abbrechen
Text Spanish=&Cancelar
Text Italian=&Annulla
end
item: Static
Rectangle=8 180 256 181
Action=3
Create Flags=01010000000000000000000000000111
end
item: Static
Rectangle=86 8 258 42
Create Flags=01010000000000000000000000000000
Flags=0000000000000001
Name=Times New Roman
Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
Text=Installation Completed!
Text French=Installation termin<69>e !
Text German=Die Installation ist abgeschlossen!
Text Spanish=<3D>Instalaci<63>n terminada!
Text Italian=Installazione completata!
end
item: Static
Rectangle=86 42 256 124
Create Flags=01010000000000000000000000000000
Text=The %APPTITLE% source files have been successfully installed, with some convenient shortcuts in the "wxWindows 2" program group.
Text=
Text=You will need to compile the library and any demo files you wish to run: please see docs\msw\install.txt for details.
Text=
Text=Press the Finish button to exit this installation.
Text French=%APPTITLE% est maintenant install<6C>.
Text French=
Text French=Cliquez sur le bouton Fin pour quitter l'installation.
Text German=%APPTITLE% wurde erfolgreich installiert.
Text German=
Text German=Klicken Sie auf "Weiter", um die Installation zu beenden.
Text Spanish=%APPTITLE% se ha instalado con <20>xito.
Text Spanish=
Text Spanish=Presione el bot<6F>n Terminar para salir de esta instalaci<63>n.
Text Italian=L'installazione %APPTITLE% <20> stata portata a termine con successo.
Text Italian=
Text Italian=Premere il pulsante Fine per uscire dall'installazione.
end
end
end
item: End Block
end

View File

@@ -1,21 +0,0 @@
item: Install File
Source=c:\Windows\System\Msvcirt.dll
Destination=%SYS32%\Msvcirt.dll
Flags=0000000000000010
end
item: Install File
Source=c:\Windows\System\Msvcrt.dll
Destination=%SYS32%\Msvcrt.dll
Flags=0000000000000010
end
item: Install File
Source=c:\Windows\System\Msvcrt.dll
Destination=%SYS%\Msvcrt.dll
Flags=0000000000000010
end
item: Install File
Source=c:\Windows\System\Msvcirt.dll
Destination=%SYS%\Msvcirt.dll
Flags=0000000000000010
end

View File

@@ -1,592 +0,0 @@
Document Type: WSE
item: Global
Version=5.0
Title=wxWindows 2.1.10 Installation
Flags=00000100
Split=1420
Languages=65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Japanese Font Name=MS Gothic
Japanese Font Size=10
Start Gradient=0 0 255
End Gradient=0 0 0
Windows Flags=00000000000000010010110000001000
Log Pathname=%MAINDIR%\INSTALL.LOG
Message Font=MS Sans Serif
Font Size=8
Disk Filename=SETUP
Patch Flags=0000000000000001
Patch Threshold=85
Patch Memory=4000
EXE Filename=D:\wx2\wxWindows\deliver\setup.exe
FTP Cluster Size=20
Variable Name1=_SYS_
Variable Default1=C:\WINDOWS\SYSTEM
Variable Flags1=00001000
Variable Name2=_ODBC16_
Variable Default2=C:\WINDOWS\SYSTEM
Variable Flags2=00001000
Variable Name3=_ODBC32_
Variable Default3=C:\WINDOWS\SYSTEM
Variable Flags3=00001000
Variable Name4=_WISE_
Variable Default4=C:\PROGRAM FILES\WISE
Variable Flags4=00001000
end
item: Open/Close INSTALL.LOG
Flags=00000001
end
item: Check if File/Dir Exists
Pathname=%SYS%
Flags=10000100
end
item: Set Variable
Variable=SYS
Value=%WIN%
end
item: End Block
end
item: Set Variable
Variable=APPTITLE
Value=wxWindows 2.1.10
end
item: Set Variable
Variable=GROUP
Value=wxWindows 2
end
item: Set Variable
Variable=DISABLED
Value=!
end
item: Set Variable
Variable=MAINDIR
Value=wx2
end
item: Display Graphic
Pathname=D:\wx2\wxWindows\distrib\msw\wxwin01.bmp
X Position=16
Y Position=16
end
item: Check Configuration
Flags=10111011
end
item: Get Registry Key Value
Variable=COMMON
Key=SOFTWARE\Microsoft\Windows\CurrentVersion
Default=C:\Program Files\Common Files
Value Name=CommonFilesDir
Flags=00000100
end
item: Get Registry Key Value
Variable=PROGRAM_FILES
Key=SOFTWARE\Microsoft\Windows\CurrentVersion
Default=C:\Program Files
Value Name=ProgramFilesDir
Flags=00000100
end
item: Set Variable
Variable=MAINDIR
Value=%PROGRAM_FILES%\%MAINDIR%
end
item: Set Variable
Variable=EXPLORER
Value=1
end
item: Else Statement
end
item: Set Variable
Variable=MAINDIR
Value=C:\%MAINDIR%
end
item: End Block
end
item: Set Variable
Variable=BACKUP
Value=%MAINDIR%\BACKUP
end
item: Set Variable
Variable=DOBACKUP
Value=B
end
item: Set Variable
Variable=BRANDING
Value=0
end
item: If/While Statement
Variable=BRANDING
Value=1
end
item: Read INI Value
Variable=NAME
Pathname=%INST%\CUSTDATA.INI
Section=Registration
Item=Name
end
item: Read INI Value
Variable=COMPANY
Pathname=%INST%\CUSTDATA.INI
Section=Registration
Item=Company
end
item: If/While Statement
Variable=NAME
end
item: Set Variable
Variable=DOBRAND
Value=1
end
item: End Block
end
item: End Block
end
item: Wizard Block
Direction Variable=DIRECTION
Display Variable=DISPLAY
Bitmap Pathname=c:\Program Files\WISE\DIALOGS\TEMPLATE\WIZARD.BMP
X Position=9
Y Position=10
Filler Color=8421440
Flags=00000011
end
item: Custom Dialog Set
Name=Welcome
Display Variable=DISPLAY
item: Dialog
Title=%APPTITLE% Installation
Title French=Installation de %APPTITLE%
Title German=Installation von %APPTITLE%
Title Spanish=Instalaci<63>n de %APPTITLE%
Title Italian=Installazione di %APPTITLE%
Width=271
Height=224
Font Name=Helv
Font Size=8
item: Static
Rectangle=86 8 258 42
Create Flags=01010000000000000000000000000000
Flags=0000000000000001
Name=Times New Roman
Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
Text=Welcome!
Text French=Bienvenue !
Text German=Willkommen!
Text Spanish=<3D>Bienvenido!
Text Italian=Benvenuti!
end
item: Push Button
Rectangle=150 187 195 202
Variable=DIRECTION
Value=N
Create Flags=01010000000000010000000000000001
Text=&Next >
Text French=&Suite >
Text German=&Weiter >
Text Spanish=&Siguiente >
Text Italian=&Avanti >
end
item: Push Button
Rectangle=105 187 150 202
Variable=DISABLED
Value=!
Create Flags=01010000000000010000000000000000
Text=< &Back
Text French=< &Retour
Text German=< &Zur<75>ck
Text Spanish=< &Atr<74>s
Text Italian=< &Indietro
end
item: Push Button
Rectangle=211 187 256 202
Action=3
Create Flags=01010000000000010000000000000000
Text=&Cancel
Text French=&Annuler
Text German=&Abbrechen
Text Spanish=&Cancelar
Text Italian=&Annulla
end
item: Static
Rectangle=86 41 256 130
Create Flags=01010000000000000000000000000000
Text=This installation program will install %APPTITLE%. It will need about 18 MB of hard disk space.
Text=
Text=Press the Next button to start the installation. You can press the Cancel button now if you do not want to install %APPTITLE% at this time.
Text French=Ce programme d'installation va installer %APPTITLE%.
Text French=
Text French=Cliquez sur le bouton Suite pour d<>marrer l'installation. Vous pouvez cliquer sur le bouton Quitter l'installation si vous ne voulez pas installer %APPTITLE% tout de suite.
Text German=Mit diesem Installationsprogramm wird %APPTITLE% installiert.
Text German=
Text German=Klicken Sie auf "Weiter", um mit der Installation zu beginnen. Klicken Sie auf "Abbrechen", um die Installation von %APPTITLE% abzubrechen.
Text Spanish=Este programa de instalaci<63>n instalar<61> %APPTITLE%.
Text Spanish=
Text Spanish=Presione el bot<6F>n Siguiente para iniciar la instalaci<63>n. Puede presionar el bot<6F>n Salir de instalaci<63>n si no desea instalar %APPTITLE% en este momento.
Text Italian=Questo programma installer<65> %APPTITLE%.
Text Italian=
Text Italian=Per avvviare l'installazione premere il pulsante Avanti. Se non si desidera installare %APPTITLE% ora, premere il pulsante Esci dall'installazione.
end
item: Static
Rectangle=8 180 256 181
Action=3
Create Flags=01010000000000000000000000000111
end
end
end
item: Custom Dialog Set
Name=Select Destination Directory
Display Variable=DISPLAY
item: Dialog
Title=%APPTITLE% Installation
Title French=Installation de %APPTITLE%
Title German=Installation von %APPTITLE%
Title Spanish=Instalaci<63>n de %APPTITLE%
Title Italian=Installazione di %APPTITLE%
Width=271
Height=224
Font Name=Helv
Font Size=8
item: Push Button
Rectangle=150 187 195 202
Variable=DIRECTION
Value=N
Create Flags=01010000000000010000000000000001
Text=&Next >
Text French=&Suite >
Text German=&Weiter >
Text Spanish=&Siguiente >
Text Italian=&Avanti >
end
item: Push Button
Rectangle=105 187 150 202
Variable=DIRECTION
Value=B
Create Flags=01010000000000010000000000000000
Flags=0000000000000001
Text=< &Back
Text French=< &Retour
Text German=< &Zur<75>ck
Text Spanish=< &Atr<74>s
Text Italian=< &Indietro
end
item: Push Button
Rectangle=211 187 256 202
Action=3
Create Flags=01010000000000010000000000000000
Text=&Cancel
Text French=&Annuler
Text German=&Abbrechen
Text Spanish=&Cancelar
Text Italian=&Annulla
end
item: Static
Rectangle=8 180 256 181
Action=3
Create Flags=01010000000000000000000000000111
end
item: Static
Rectangle=86 8 258 42
Create Flags=01010000000000000000000000000000
Flags=0000000000000001
Name=Times New Roman
Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
Text=Select Destination Directory
Text French=S<>lectionner le r<>pertoire de destination
Text German=Zielverzeichnis w<>hlen
Text Spanish=Seleccione el directorio de destino
Text Italian=Selezionare Directory di destinazione
end
item: Static
Rectangle=86 42 256 82
Create Flags=01010000000000000000000000000000
Text=Please select the directory where %APPTITLE% files are to be installed.
Text=
Text=Important: do not install into a directory with a space in the name, such as Program Files.
Text French=Veuillez s<>lectionner le r<>pertoire dans lequel les fichiers %APPTITLE% doivent <20>tre install<6C>s.
Text German=Geben Sie an, in welchem Verzeichnis die %APPTITLE%-Dateien installiert werden sollen.
Text Spanish=Por favor seleccione el directorio donde desee instalar los archivos de %APPTITLE%.
Text Italian=Selezionare la directory dove verranno installati i file %APPTITLE%.
end
item: Static
Rectangle=86 98 256 125
Action=1
Create Flags=01010000000000000000000000000111
end
item: Push Button
Rectangle=208 106 253 121
Variable=MAINDIR_SAVE
Value=%MAINDIR%
Destination Dialog=1
Action=2
Create Flags=01010000000000010000000000000000
Text=B&rowse
Text French=Parcourir
Text German=Durchsuchen
Text Spanish=Buscar
Text Italian=Sfoglie
end
item: Static
Rectangle=90 109 206 120
Create Flags=01010000000000000000000000000000
Text=%MAINDIR%
Text French=%MAINDIR%
Text German=%MAINDIR%
Text Spanish=%MAINDIR%
Text Italian=%MAINDIR%
end
end
item: Dialog
Title=Select Destination Directory
Title French=S<>lectionner le r<>pertoire de destination
Title German=Zielverzeichnis w<>hlen
Title Spanish=Seleccione el directorio de destino
Title Italian=Selezionare Directory di destinazione
Width=221
Height=173
Font Name=Helv
Font Size=8
item: Listbox
Rectangle=5 5 163 149
Variable=MAINDIR
Create Flags=01010000100000010000000101000000
Flags=0000110000100010
Text=%MAINDIR%
Text French=%MAINDIR%
Text German=%MAINDIR%
Text Spanish=%MAINDIR%
Text Italian=%MAINDIR%
end
item: Push Button
Rectangle=167 6 212 21
Create Flags=01010000000000010000000000000001
Text=OK
Text French=OK
Text German=OK
Text Spanish=Aceptar
Text Italian=OK
end
item: Push Button
Rectangle=167 25 212 40
Variable=MAINDIR
Value=%MAINDIR_SAVE%
Create Flags=01010000000000010000000000000000
Flags=0000000000000001
Text=Cancel
Text French=Annuler
Text German=Abbrechen
Text Spanish=Cancelar
Text Italian=Annulla
end
end
end
item: Custom Dialog Set
Name=Select Program Manager Group
Display Variable=DISPLAY
item: Dialog
Title=%APPTITLE% Installation
Title French=Installation de %APPTITLE%
Title German=Installation von %APPTITLE%
Title Spanish=Instalaci<63>n de %APPTITLE%
Title Italian=Installazione di %APPTITLE%
Width=271
Height=224
Font Name=Helv
Font Size=8
item: Push Button
Rectangle=150 187 195 202
Variable=DIRECTION
Value=N
Create Flags=01010000000000010000000000000001
Text=&Next >
Text French=&Suite >
Text German=&Weiter >
Text Spanish=&Siguiente >
Text Italian=&Avanti >
end
item: Push Button
Rectangle=105 187 150 202
Variable=DIRECTION
Value=B
Create Flags=01010000000000010000000000000000
Flags=0000000000000001
Text=< &Back
Text French=< &Retour
Text German=< &Zur<75>ck
Text Spanish=< &Atr<74>s
Text Italian=< &Indietro
end
item: Push Button
Rectangle=211 187 256 202
Action=3
Create Flags=01010000000000010000000000000000
Text=&Cancel
Text French=&Annuler
Text German=&Abbrechen
Text Spanish=&Cancelar
Text Italian=&Annulla
end
item: Static
Rectangle=8 180 256 181
Action=3
Create Flags=01010000000000000000000000000111
end
item: Static
Rectangle=86 8 258 42
Create Flags=01010000000000000000000000000000
Flags=0000000000000001
Name=Times New Roman
Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
Text=Select ProgMan Group
Text French=S<>lectionner le groupe du Gestionnaire de programme
Text German=Bestimmung der Programm-Managergruppe
Text Spanish=Seleccione grupo del Administrador de programas
Text Italian=Selezionare il gruppo ProgMan
end
item: Static
Rectangle=86 44 256 68
Create Flags=01010000000000000000000000000000
Text=Enter the name of the Program Manager group to add the %APPTITLE% icons to:
Text French=Entrez le nom du groupe du Gestionnaire de programme dans lequel vous souhaitez ajouter les ic<69>nes de %APPTITLE% :
Text German=Geben Sie den Namen der Programmgruppe ein, der das Symbol %APPTITLE% hinzugef<65>gt werden soll:
Text Spanish=Escriba el nombre del grupo del Administrador de programas en el que desea agregar los iconos de %APPTITLE%:
Text Italian=Inserire il nome del gruppo Program Manager per aggiungere le icone %APPTITLE% a:
end
item: Combobox
Rectangle=86 69 256 175
Variable=GROUP
Create Flags=01010000001000010000001100000001
Flags=0000000000000001
Text=%GROUP%
Text French=%GROUP%
Text German=%GROUP%
Text Spanish=%GROUP%
Text Italian=%GROUP%
end
end
end
item: Custom Dialog Set
Name=Start Installation
Display Variable=DISPLAY
item: Dialog
Title=%APPTITLE% Installation
Title French=Installation de %APPTITLE%
Title German=Installation von %APPTITLE%
Title Spanish=Instalaci<63>n de %APPTITLE%
Title Italian=Installazione di %APPTITLE%
Width=271
Height=224
Font Name=Helv
Font Size=8
item: Push Button
Rectangle=150 187 195 202
Variable=DIRECTION
Value=N
Create Flags=01010000000000010000000000000001
Text=&Next >
Text French=&Suite >
Text German=&Weiter >
Text Spanish=&Siguiente >
Text Italian=&Avanti >
end
item: Push Button
Rectangle=105 187 150 202
Variable=DIRECTION
Value=B
Create Flags=01010000000000010000000000000000
Text=< &Back
Text French=< &Retour
Text German=< &Zur<75>ck
Text Spanish=< &Atr<74>s
Text Italian=< &Indietro
end
item: Push Button
Rectangle=211 187 256 202
Action=3
Create Flags=01010000000000010000000000000000
Text=&Cancel
Text French=&Annuler
Text German=&Abbrechen
Text Spanish=&Cancelar
Text Italian=&Annulla
end
item: Static
Rectangle=8 180 256 181
Action=3
Create Flags=01010000000000000000000000000111
end
item: Static
Rectangle=86 8 258 42
Create Flags=01010000000000000000000000000000
Flags=0000000000000001
Name=Times New Roman
Font Style=-24 0 0 0 700 255 0 0 0 3 2 1 18
Text=Ready to Install!
Text French=Pr<50>t <20> installer !
Text German=Installationsbereit!
Text Spanish=<3D>Preparado para la instalaci<63>n!
Text Italian=Pronto per l'installazione!
end
item: Static
Rectangle=86 42 256 102
Create Flags=01010000000000000000000000000000
Text=You are now ready to install %APPTITLE%.
Text=
Text=Press the Next button to begin the installation or the Back button to reenter the installation information.
Text French=Vous <20>tes maintenant pr<70>t <20> installer les fichiers %APPTITLE%.
Text French=
Text French=Cliquez sur le bouton Suite pour commencer l'installation ou sur le bouton Retour pour entrer les informations d'installation <20> nouveau.
Text German=Sie k<>nnen %APPTITLE% nun installieren.
Text German=
Text German=Klicken Sie auf "Weiter", um mit der Installation zu beginnen. Klicken Sie auf "Zur<75>ck", um die Installationsinformationen neu einzugeben.
Text Spanish=Ya est<73> listo para instalar %APPTITLE%.
Text Spanish=
Text Spanish=Presione el bot<6F>n Siguiente para comenzar la instalaci<63>n o presione Atr<74>s para volver a ingresar la informaci<63>n para la instalaci<63>n.
Text Italian=Ora <20> possibile installare %APPTITLE%.
Text Italian=
Text Italian=Premere il pulsante Avanti per avviare l'installazione o il pulsante Indietro per reinserire le informazioni di installazione.
end
end
end
item: If/While Statement
Variable=DISPLAY
Value=Select Destination Directory
end
item: Set Variable
Variable=BACKUP
Value=%MAINDIR%\BACKUP
end
item: End Block
end
item: End Block
end
item: If/While Statement
Variable=DOBACKUP
Value=A
end
item: Set Variable
Variable=BACKUPDIR
Value=%BACKUP%
end
item: End Block
end
item: If/While Statement
Variable=BRANDING
Value=1
end
item: If/While Statement
Variable=DOBRAND
Value=1
end
item: Edit INI File
Pathname=%INST%\CUSTDATA.INI
Settings=[Registration]
Settings=NAME=%NAME%
Settings=COMPANY=%COMPANY%
Settings=
end
item: End Block
end
item: End Block
end
item: Open/Close INSTALL.LOG
end
item: Check Disk Space
Component=COMPONENTS
end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -2,62 +2,44 @@
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
set src=%wxwin
set dest=%src\deliver
set wise=0
Rem Set this to the required version
set version=2_1_11
if "%src" == "" goto usage
if "%dest" == "" goto usage
if "%1" == "-help" goto usage
if "%1" == "--help" goto usage
if "%1" == "/?" goto usage
if "%1" == "wise" set wise=1
echo About to archive an external wxWindows distribution:
echo From %src
echo To %dest
if "%wise" == "1" echo with WISE setup creation.
echo CTRL-C if this is not correct.
pause
rem goto dounzip
erase %dest\wx*.zip
erase %dest\wx200*.zip
erase %dest\glcanvas.zip
erase %dest\ogl3.zip
erase %dest\tex2rtf2.zip
erase %dest\jpeg.zip
if direxist %dest\wx deltree /Y %dest\wx
cd %src
echo Zipping...
zip32 -@ %dest\wx%version%_gen.zip < %src\distrib\msw\generic.rsp
zip32 -@ -u %dest\wx%version%_gen.zip < %src\distrib\msw\makefile.rsp
zip32 -@ %dest\wx%version%_msw.zip < %src\distrib\msw\msw.rsp
zip32 -@ -u %dest\wx%version%_msw.zip < %src\distrib\msw\makefile.rsp
zip32 -@ %dest\wx%version%_gtk.zip < %src\distrib\msw\gtk.rsp
zip32 -@ -u %dest\wx%version%_gtk.zip < %src\distrib\msw\makefile.rsp
zip32 -@ %dest\wx%version%_stubs.zip < %src\distrib\msw\stubs.rsp
zip32 -@ %dest\wx%version%_mot.zip < %src\distrib\msw\motif.rsp
zip32 -@ -u %dest\wx%version%_mot.zip < %src\distrib\msw\makefile.rsp
zip32 -@ %dest\wx%version%_user.zip < %src\distrib\msw\user.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
zip32 -@ %dest\wx%version%_doc.zip < %src\distrib\msw\docsrc.rsp
zip32 -@ %dest\wx%version%_hlp.zip < %src\distrib\msw\wx_hlp.rsp
zip32 -@ %dest\wx%version%_htm.zip < %src\distrib\msw\wx_html.rsp
zip32 -@ %dest\wx%version%_pdf.zip < %src\distrib\msw\wx_pdf.rsp
zip32 -@ %dest\wx%version%_wrd.zip < %src\distrib\msw\wx_word.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\wx%version%_vc.zip < %src\distrib\msw\vc.rsp
zip32 -@ %dest\wx200vc.zip < %src\distrib\msw\vc.rsp
rem BC++ project files
zip32 -@ %dest\wx%version%_bc.zip < %src\distrib\msw\bc.rsp
zip32 -@ %dest\wx200bc.zip < %src\distrib\msw\bc.rsp
rem CodeWarrior project files
zip32 -@ %dest\wx%version%_cw.zip < %src\distrib\msw\cw.rsp
zip32 -@ %dest\wx200cw.zip < %src\distrib\msw\cw.rsp
rem OGL 3
zip32 -@ %dest\ogl3.zip < %src\distrib\msw\ogl.rsp
@@ -82,66 +64,14 @@ copy %src\docs\readme.txt %dest
copy %src\docs\motif\makewxmotif %dest
copy %src\docs\gtk\makewxgtk %dest
:dounzip
cd %dest
Rem Skip WISE setup if wise is 0.
if "%wise" == "0" goto end
rem Unzip the Windows files into 'wx'
mkdir %dest\wx
Rem After this change of directory, we're in the
Rem temporary 'wx' directory and not acting on
Rem the source wxWindows directory.
cd %dest\wx
unzip32 -o ..\wx%version%_msw.zip
unzip32 -o ..\wx%version%_gen.zip
unzip32 -o ..\wx%version%_vc.zip
unzip32 -o ..\wx%version%_bc.zip
unzip32 -o ..\wx%version%_hlp.zip
Rem Need Word file, for Remstar DB classes
unzip32 -o ..\wx%version%_wrd.zip
unzip32 -o ..\glcanvas.zip
unzip32 -o ..\treedraw.zip
unzip32 -o ..\ogl3.zip
unzip32 -o ..\jpeg.zip
unzip32 -o ..\tex2rtf3.zip
rem Now delete a few files that are unnecessary
erase /Y *.in *.spec *.guess *.sub mkinstalldirs modules install-sh *.sh
erase /SY Makefile.in
rem erase /Y docs\pdf\ogl.pdf
rem deltree /Y docs\html\ogl
rem Now copy some binary files to 'bin'
if not isdir bin mkdir bin
copy %src\bin\dialoged.exe bin
copy %src\docs\winhelp\dialoged.hlp %src\docs\winhelp\dialoged.cnt bin
rem Time to regenerate the WISE install script, wxwin2.wse.
rem NB: if you've changed wxwin2.wse using WISE, call splitwise.exe
rem from within distrib\msw, to split off wisetop.txt and wisebott.txt.
echo Calling 'makewise' to generate wxwin2.wse...
call %WXWIN\distrib\msw\makewise.bat
rem Now invoke WISE install on the new wxwin2.wse
set wisecmd="c:\Program Files\wise\wise32.exe" /C %WXWIN\distrib\msw\wxwin2.wse
echo Invoking %wisecmd...
start /w %wisecmd
Rem ren %WXWIN\deliver\setup.EXE %WXWIN\deliver\setup_%version%.exe
cd %dest
echo wxWindows archived.
goto end
:usage
echo DOS wxWindows distribution. Zips up all GTK/Motif/MSW/doc files,
echo and optionally makes a deliver\wx directory and a setup.exe
echo if you specify 'wise'.
echo.
echo Usage: zipdist [wise]
echo DOS wxWindows distribution.
echo Usage: zipdist source destination
echo e.g. zipdist d:\wx2\wxWindows d:\wx2\wxWindows\deliver
:end

View File

@@ -1,44 +1,31 @@
wxWindows Buglist
-----------------
Until the wxWindows bug database is up and running, please add
entries in this style:
wxGTK:
------
BUG NUMBER:
SHORT DESCRIPTION:
DETAILS:
WORKAROUND:
wxWINDOWS VERSION:
PLATFORM(S):
DATE IDENTIFIED:
IDENTIFIED BY:
DATE FIXED:
FIXED BY:
- It is impossible to reposition a window before showing it
on screen. Suspected GTK bug.
- DnD does only moderately work.
-------------------------START OF BUGLIST-------------------------
wxMSW:
------
BUG NUMBER: 1
SHORT DESCRIPTION: Popup menu bug
DETAILS:
If a popup wxMenu is destroyed after its parent window has been
destroyed, we get the message "Object XXX does not have windowed
ancestor".
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).
WORKAROUND:
Delete the menu before deleting the window on which it
was popped up.
wxWINDOWS VERSION: 2.0.1
PLATFORM(S): wxMotif
DATE IDENTIFIED: ?/?/1998
IDENTIFIED BY: Julian Smart <julian.smart@ukonline.co.uk>
DATE FIXED:
FIXED BY:
- 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).
BUG NUMBER: 2
SHORT DESCRIPTION: Misc. Motif bugs
DETAILS:
- In wxGrid, cell highlight is not drawn/erased properly.
- Setting the size of a hidden window may show that window.
@@ -57,29 +44,11 @@ DETAILS:
- There are reports that scrolling can cause crashes under Lesstif.
This is probably a Lesstif bug.
WORKAROUND:
wxWINDOWS VERSION: 2.0.1
PLATFORM(S): wxMotif
DATE IDENTIFIED: ?/?/1999
IDENTIFIED BY: Julian Smart
DATE FIXED:
FIXED BY:
BUG NUMBER: 3
SHORT DESCRIPTION: Dialog Editor issues
DETAILS:
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.
WORKAROUND:
wxWINDOWS VERSION: 2.0.1
PLATFORM(S): All
DATE IDENTIFIED: ?/?/1998
IDENTIFIED BY: Julian Smart <julian.smart@ukonline.co.uk>
DATE FIXED:
FIXED BY:
---------------------------END OF BUGLIST-------------------------
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,10 +1,22 @@
wxWindows 2 Change Log
----------------------
NOTE: for changes after wxWindows 2.1.0 b4, please see the CVS
change log.
2.1.0, b?, June 2nd 1999
------------------------
Major improvements are listed in readme.txt.
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
-----------------------

View File

@@ -1,186 +1,4 @@
7st November '99: wxWindows 2.1.11 released
There is still an unresolved problem with bitmap to image
conversion on big-endian architectures (such as Solaris),
where color values get exchanged. I'd need help on this
one as I have no BE computer.
Enlightment has struck the majority of the developers and
they have chosen to use the Linux kernel numbering scheme
for wxWindows from now on. This means that the next stable
release will be called wxWindows 2.2.X, development snapshots
will be called 2.1.X.
A lot of discussion has been wasted on how to maintain a
once released stable version. It was almost universally
agreed that only a commercial entity will have the motivation
($$$) to do that - so far there is no wxWindows Inc.
Support for GTK 1.0 has been dropped. This version has
been tested with GTK 1.2.3 and GTK 1.2.6 - it might
not work with some other versions.
Rewritten the support for multiple-format Drag'n'Drop and
clipboard under both GTK and MSW. There are probably some
problems here and there left.
wxListBox and wxChoice can now handle only either void
client data (which it will not delete on destruction) or
client data of the wxClientData type (which it will delete),
instead of both at the same time. The same will happen
to wxComboBox some time. Also, wxListBox can now sort its
items.
Many build fixes for various platforms have been applied,
try again, poor AIX, HP-UX and *BSD users, but don't reckon
with immediate success. Actually, when using GNU compilers,
your chances are quite good.
My rewrite of the wxWindows underlying GTK widget
has turned scrolling including subwindows from barely
functional to pretty and fast. I also added scrolling
of foreign windows to wxScrolledWindow.
Setting size hints for the window manager might work now.
wxSocket and Co. have been improved up to the point of
calling it a rewrite. It works on wxMSW now too and
seems pretty stable, but testing is still welcome.
The ODBC classes contributed by Remstar Inc. have been
overhauled (incl the sample) and have been tested with
all relevant SQL databases (even DBase). For that reason
I have reawakened the iODBC code from wxGTK 2.0 so you
can now use wxODBC from wxMSW and wxGTK.
Several printing things fixed. More work needs to be done
here..
HTML widget and the wxWindows' help system based upon
it have been reorganized and improved for easier use
from Python and C++. Also HTML printing has been added.
wxSpinCtrl added. Like a wxSpinButton and a wxTextCtrl.
Changed the beaviour of the popular new wxFileDialog to
not forget the once typed file name when changing the
directory.
Implemented the wxSIMPLE_BORDER flag (simple black line
without shadow affect).
Michael is writing a complete rewrite of the antiquated
wxGrid. This is still work-in-progress and might not make
it into wxWindows 2.2, we'll see. Help would be welcome
to make that happen.
Made wxMenu code lose less memory, also added wxMenu::Delete().
Added code to send wxActivateEvent to MDI windows.
Vadim added configure things to compile wxWindows without any
GUI library. This is probably work in progress. He'll also add
a wxFontEnumerator class and has enhanced wxFont to make use
of char-encodings.
wxSlider, wxWindow, wxScrollBar now emit the correct events
for scrolling (like page up, line up etc) instead of just
"thumb-track" as before.
Corrected Reparent() code, including the special case for
wxToolBar (as the toolbar sits in a different window than
normal windows).
Corrected key accelerator code for toplevel child windows
and added support for more key combinations - pretty much
all, actually.
Corrected cursor handling in a number of special cases.
wxGLCanvas now waits until all expose events have been sent
and then emits its own redraw event. Also removed flicker
for wxGLCanvas and in some other places.
A handler to read PCX file (in most variants) has been added.
A number of problems with compressed and socket streams have
been solved.
Changed behavour of wxTextStream to make use of deliminators
and default to space as the standard C++ stream do.
Changes to tab traversal code to better reflect MSW code.
Corrected problems with wxGenericValidator and certain controls.
Made default button action work in more cases.
28th August '99: Ninth wxGTK 2.1 snapshot released
As the old makefile system didn't work, I trashed it and wrote
a new one - mo more GNU. This, of course, caused a lot of people
to start sing their song of complaints - any change is a good
opportunity to complain, but the effect of the change is that
we now have shared library support on Linux and Solaris (and
probably others as well) and that the Linux shared library no
longer depends on libstdc++, so that we can finally create an
RPM that works on different Linux distributions. Also, the
Unix make system is now much simpler and directly mirrors its
Windows counterparts, making it easier to understand and maintain.
As it is independent of the various GNU tools, the requirements
for using CVS versions are also much less (any make, any compiler,
no other tools).
Split RPMs into two, one for run-time requirements and one
for developement (mostly headers).
Addition of new layout classes that work like Java's, GTK's
or Qt`s - basically, you pack item in a box and let it tell
you how much space it needs. These class are called wxSizer
and I consider them a great addition as they make true cross-
platform dialogs a child's play and are very quick to write
and easy to read. Do consider using them.
Rewritten all dialogs to make use of the new sizers. Also
added a new wxFileDialog like Win95 and replaced the generic
wxFontDialog with GTK's native font selection dialog - this
probably isn't perfect though.
A few more fixes to wxListCtrl and wxTreeCtrl, implemented
more options and modes like the wxMSW version.
New handler for PNM files. Added CanRead() function to image
handlers, updates to GIF handler for preparing the new wxAnimation
class. We'll also get a PCX and hopefully a TIFF handler so
that we support all common general-purpose file formats I know
about. PhotoShop and PhotoPaint images are not general purpose.
I also tried to correct a wxImage bug in connection with big-endian
vs. little-endian problems, but I have no Sparc to actually test
this.
Inclusion of wxMultiMedia. Can play most sound formats on GTK
and MSW and (using xanim on Unix and Win95's MM functions)
display a video in a wxWindow. This will probably be moved to
the core library.
Small updates to socket code. The MSW version is still missing.
Implemented wxBitmapDataObject class.
Added wxFFileStream using FILE* instead if file desrcriptor.
Useful for creating a "cerr" like class as in normal C++.
Also added "endl" for use with wxTextStream and fixed a few
minor problems with buffered streams etc.
Corrected Tabbing code in wxPanel and made it work with wxNotebook.
Small cursor fixes in connection with text control.
Added experimental wxWizard class. Work in progress.
A few more minor fixes.
6th August '99: Eight wxGTK 2.1 snapshot released
The new makefile system is not able to produce shared libraries

View File

@@ -16,6 +16,23 @@ install instructions just do (in the base dir):
> 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
@@ -65,7 +82,7 @@ cd ..
* The most simple errors
------------------------
configure reports, that you don't have GTK 1.2 installed although you are
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
@@ -90,7 +107,7 @@ program - or due to using a broken compiler (and its optimisation) such as GCC 2
Now create your super-application myfoo.app and compile anywhere with
gcc myfoo.cpp `wx-config --libs --cflags` -o myfoo
g++ myfoo.cpp `wx-config --libs --cflags` -o myfoo
* General
-----------------------
@@ -111,13 +128,15 @@ YOU USE AND WHAT ERROR WAS REPORTED. I know this has no effect, but I tried...
-----------------------
wxWindows/GTK requires the GTK+ library to be installed on your system. It has to
be a stable version, preferebly version 1.2.3.
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.2.3 at my ftp site. You'll find information about downloading
We also mirror GTK+ 1.0.6 at my ftp site. You'll find information about downloading
at my homepage.
* Additional libraries
@@ -143,7 +162,7 @@ make install
ldconfig
exit
NB: DO NOT COMPILE WXGTK WITH GCC 2.7 AND THREADS, SINCE ALL PROGRAMS WILL CRASH UPON
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
@@ -151,11 +170,11 @@ START-UP! Just always use egcs and be happy.
Please send comments and question about the OS/2 installation
to Andrea Venturoli <a.ventu@flashnet.it> and patches to
make to me (Robert Roebling) or the wxWindows mailing list.
make the installation work (better) to me (Robert Roebling).
You'll need OS/2 Warp (4.00FP#6), X-Free86/2 (3.3.3 or newer),
GTK+ (1.2.1 or newer), emx (0.9d fix 1), flex (2.5.4), yacc (1.8),
korn shell (5.2.13), Autoconf (2.13), GNU file utilities (3.6),
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).
@@ -163,17 +182,11 @@ 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 CFLAGS=-Zmtd -D__ST_MT_ERRNO__
SET OSTYPE=OS2X
SET COMSPEC=sh
Notice you can choose whatever you want, if you don't like OS2X.
After running configure, you'll have to apply to modifications manually
to the created Makefile:
- Replace all ":" with ";" in the VPATH variable
- Replace "ley.yy.c" with "lexyy.c"
* Building wxGTK on SGI
--------------------------
@@ -245,12 +258,12 @@ toolkit. You must do this by running configure with either of:
The following options handle the kind of library you want to build.
--disable-threads Compile without thread support.
--disable-threads Compile without thread support. Threads
support is also required for the
socket code to work.
--disable-shared Do not create shared libraries.
--enable-static Create static libraries.
--disable-optimise Do not optimise the code. Can
sometimes be useful for debugging
and is required on some architectures
@@ -271,14 +284,7 @@ The following options handle the kind of library you want to build.
binary size. Also fewer crashes during the
actual compilation...
--enable-no_deps Enable compilation without creation of
dependency information.
--enable-permissive Enable compilation without creation of
giving erros as soon as you compile with
Solaris' ANSI-defying headers...
--enable-mem_tracing Add built-in memory tracing.
--enable-mem_tracing Add built-in memory tracing.
--enable-dmalloc Use the dmalloc memory debugger.
Read more at www.letters.com/dmalloc/
@@ -311,13 +317,7 @@ are
--without-libjpeg Disables JPEG image format code.
--disable-pnm Disables PNM image format code.
--disable-gif Disables GIF image format code.
--disable-pcx Disables PCX image format code.
--without-odbc Disables ODBC code.
{ --without-odbc Disables ODBC code. Not yet. }
--disable-resources Disables the use of *.wxr type
resources.
@@ -412,9 +412,20 @@ to sitch to tmake.
2) The other way creates a project within the source code
directories of wxWindows. For this endeavour, you'll need
GNU autoconf version 2.14 and add an entry to your Makefile.in
to the bottom of the configure.in script and run autoconf
and configure before you can type make.
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 :-)
----------------------

View File

@@ -1,64 +1,61 @@
Welcome to wxWindows/Gtk 2.1.11
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. Although this is not yet the
final stable release wxGTK 2.2, the current version has
been tested carefully on many systems and has been found
to work better than any other previous version.
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.
Nonetheless, beware that major changes can happen before
a final release.
wxWindows no longer supports GTK 1.0 (as did some early
snapshots) so that you will need GTK 1.2 when using it.
Beginning with snapshot 9, wxWindows uses a completely
new make file system on Unix which no longer uses the
various GNU tools and I hope that I'll never again have
to write any more makefiles.
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 MSW
and Motif ports in particular) can be found at Julian's
homepage at:
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:
many systems (when using GTK 1.0 or when not using Linux
read the INSTALL.txt):
./configure --with-gtk
./configure
make
su <type root password>
make install
ldconfig
exit
When you run into problems, please read the INSTALL.txt and
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 list, 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...
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.11.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.
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.
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,

View File

@@ -1,19 +1,31 @@
-------------------- High priority ---------------------
Fix bug that thread sample reports about non-finished threads.
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 wxToolbar.
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

View File

@@ -192,9 +192,6 @@ We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWind
us to make alterations and upload them instantly to the server in Edinburgh, from
which others can update their source.<P>
To build source from CVS, see the file BuildCVS.txt in the top-level wxWindows distribution
directory.<P>
<H3>How is wxWindows 2 distributed?</H3>
By ftp, and via the <a href="cdrom2.htm">wxWindows CD-ROM</a>.<P>
@@ -206,8 +203,8 @@ finished?) to think very far ahead. However, we know we want to make wxWindows a
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;
<a href="http://wxstudio.linuxbox.com/">wxStudio</a>, an IDE;
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

View File

@@ -166,79 +166,6 @@ 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>
<H3>How are the wxWindows makefiles edited under Windows?</H3>
As of wxWindows 2.1, there is a new system written by Vadim Zeitlin, that
generates the makefiles from templates using tmake.<P>
Here are Vadim's notes:<P>
<blockquote>
To use these new makefiles, you don't need anything (but see below).
However, you should NOT modify them because these files will be
rewritten when I regenerate them using tmake the next time. So, if
you find a problem with any of these makefiles (say, makefile.b32)
you'll need to modify the corresponding template (b32.t in this
example) and regenerate the makefile using tmake.<P>
tmake can be found at
<a href="http://www.troll.no/freebies/tmake.html" target=_new>www.troll.no/freebies/tmake.html</a>.
It's a Perl5 program and so it needs Perl (doh). There is a binary for
Windows (available from the same page), but I haven't used it, so
I don't know if it works as flawlessly as "perl tmake" does (note
for people knowing Perl: don't try to run tmake with -w, it won't
do you any good). Using it extremely simple: to regenerate makefile.b32
just go to distrib/msw/tmake and type<P>
<pre>tmake -t b32 wxwin.pro -o ../../src/msw/makefile.b32</pre><P>
The makefiles are untested - I don't have any of Borland, Watcom or
Symantec and I don't have enough diskspace to recompile even with
VC6 using makefiles. The new makefiles are as close as possible to the
old ones, but not closer: in fact, there has been many strange things
(should I say bugs?) in some of makefiles, some files were not compiled
without any reason etc. Please test them and notify me about any problems.
Better yet, modify the template files to generate the correct makefiles
and check them in.<P>
The templates are described in tmake ref manual (1-2 pages of text)
and are quite simple. They do contain some Perl code, but my Perl is
primitive (very C like) so it should be possible for anybody to make
trivial modifications to it (I hope that only trivial modifications
will be needed). I've tagged the ol makefiles as MAKEFILES_WITHOUT_TMAKE
in the cvs, so you can always retrieve them and compare the new ones,
this will make it easier to solve the problems you might have.<P>
Another important file is filelist.txt: it contains the list of all
files to be compiled. Some of them are only compiled in 16/32 bit mode.
Some other are only compiled with some compilers (others can't compile
them) - all this info is contained in this file.<P>
So now adding a new file to wxWindows is as easy as modifying filelist.txt
(and Makefile.ams for Unix ports) and regenerating the makefiles - no
need to modify all files manually any more.<P>
Finally, there is also a file vc6.t which I use myself: this one
generates a project file for VC++ 6.0 (I didn't create vc5.t because
I don't need it and can't test it, but it should be trivial to create
one from vc6.t - probably the only things to change would be the
version number in the very beginning and the /Z option - VC5 doesn't
support edit-and=continue). This is not an officially supported way
of building wxWindows (that is, nobody guarantees that it will work),
but it has been very useful to me and I hope it will be also for
others. To generate wxWindows.dsp run<P>
<pre>tmake -t vc6 wxwin.pro -o ../../wxWindows.dsp</pre><P>
Then just include this project in any workspace or open it from VC IDE
and it will create a new workspace for you.<P>
If all goes well, I'm planning to create a template file for Makefile.ams
under src/gtk and src/motif and also replace all makefiles in the samples
subdirectories with the project files from which all the others will be
generated. At least it will divide the number of files in samples
directory by 10 (and the number of files to be maintained too).
</blockquote>
</font>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 298 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 B

View File

@@ -134,7 +134,7 @@ downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P
</td>
<td align=center>
<a href="../winhelp/proplist.hlp">Property List Classes</a>
<a href="../winhelp/proplist.hlp">Propert List Classes</a>
</td>
<td align=center>
@@ -190,8 +190,6 @@ downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P
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/console">console</a>: demonstrates a console application using
console-mode (no-GUI) compilation of wxWindows.
<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.
@@ -206,34 +204,21 @@ For printing-related dialogs, see the printing sample.
using wxFrame.
<li><a href="../../samples/docvwmdi">docvwmdi</a>: : demonstrates use of the document view classes,
using wxMDIParentFrame, wxMDIChildFrame.
<li><a href="../../samples/drawing">drawing</a>: tests device context drawing.
<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/font">font</a>: tests fonts, font enumerator, font encodings.
<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.
<ul>
<li><a href="../../samples/html/about">about</a>: shows use of a wxHTML widget inside an About box.
<li><a href="../../samples/html/help">help</a>: shows use of wxHtmlHelpController to display wxHTML help.
<li><a href="../../samples/html/helpview">helpview</a>: a stand-alone wxHTML help viewer.
<li><a href="../../samples/html/printing">printing</a>: shows how easy it is to preview and print HTML files.
<li><a href="../../samples/html/test">test</a>: general wxHTML test application.
<li><a href="../../samples/html/virtual">virtual</a>: demonstrates the virtual file system feature.
<li><a href="../../samples/html/widget">widget</a>: demonstrates the use of controls in HTML pages.
<li><a href="../../samples/html/zip">zip</a>: shows how help files can be packaged in zip archives.
</ul>
<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/menu">menu</a>: tests menus.
<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.
@@ -246,8 +231,6 @@ platforms that don't support it, a normal-sized title bar is displayed.
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/nettest">nettest</a>: wxDialUpManager demo.
<li><a href="../../samples/newgrid">newgrid</a>: demonstrates the new wxGrid implementation, by Michael Bedward.
<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).
@@ -261,9 +244,6 @@ Excel to be present).
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/scroll">scroll</a>: demonstrates wxScrolledWindow.
<li><a href="../../samples/scrollsub">scrollsub</a>: demonstrates the use of wxScrolledWindow to scroll
an embedded window.
<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
@@ -280,7 +260,6 @@ programming.
<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/wizard">wizard</a>: demonstrates the wxWizard class.
<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>

View File

@@ -1,90 +0,0 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Vadim Zeitlin">
</head>
<body>
You will find below the list of all supported platforms for different ports of wxWindows 2.x (wxMSW/wxGTK/wxMotif ports
only). The cross icon in the third column doesn't mean that the platform is not supported, but just that wxWindows hasn't
been tested on it recently.
<p>
If you have tested wxWindows on a platform not mentioned here, please tell us about your experience on our mailing list!
We would especially like to have information about compiling wxGTK on other Unix variants, such as IRIX, DG-UX,
other flavours of BSD, ...
<p>
<table width=100% border=4 cellpadding=5 cellspacing=0>
<tr>
<td bgcolor="#660000" colspan=5> <font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF"> wxWindows 2 Platforms </font> </td>
</tr>
<tr>
<td bgcolor="#DEDEDE" align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Platform </font> </td>
<td bgcolor="#DEDEDE" align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Compiler </font> </td>
<td bgcolor="#DEDEDE" align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Status </font> </td>
<td bgcolor="#DEDEDE" align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Tested by </font> </td>
<td bgcolor="#DEDEDE" align=center valign=top> <font face="Arial, Lucida Sans, Helvetica" color="#000000"> Remarks </font> </td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=center valign=center rowspan=6>Win32 (Windows 9x/NT)</td>
<td>Visual C++ 4.2/5.x/6.0</td><td align=center><IMG SRC="icons/yes.gif" ALT=Ok></td><td>VZ, JS</td><td>Project files are provided for all versions except 4.2</td>
<tr> <td>Borland C++ 5.0</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>Myngw32</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td>Cross compilation from Linux works as well</td>
<tr> <td>Cygwin</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>Watcom C++ 10</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>Symantec C++</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
</tr>
<tr>
<td bgcolor="#F0F0F0" align=center valign=center rowspan=2>Win16 (Windows 3.1)</td>
<td>Visual C++ 1.52</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td>
<td rowspan=2 valign=center>Some features are missing (OLE related classes, threads, ...)</td>
<tr> <td>Borland C++ 4.0</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=center valign=center rowspan=4>Linux</td>
<td>wxGTK with gcc 2.7.2</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>wxGTK with egcs 1.1.1</td><td align=center><IMG SRC="icons/yes.gif" ALT=Ok></td><td>VZ, RR</td><td><br></td>
<tr> <td>wxGTK with gcc 2.95</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>wxMotif with egcs 1.1.1</td><td align=center><IMG SRC="icons/yes.gif" ALT=Ok></td><td><br></td><td>with <a href=http://www.lesstif.org>LessTif</a> 0.87</td>
</tr>
<tr>
<td bgcolor="#F0F0F0" align=center valign=center rowspan=1>FreeBSD</td>
<td>wxGTK with gcc</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=center valign=center rowspan=3>Solaris</td>
<td>wxMotif with Sun CC 4.2</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>wxMotif with gcc</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>wxGTK with gcc</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
</tr>
<tr>
<td bgcolor="#F0F0F0" align=center valign=center rowspan=2>AIX</td>
<td>wxGTK with AIX CC</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
<tr> <td>wxMotif with AIX CC</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
</tr>
<tr>
<td bgcolor="#FFFFFF" align=center valign=center rowspan=2>HP-UX</td>
<td>wxGTK with HP CC A.10.22</td><td align=center><IMG SRC="icons/somewhat.gif" ALT=Unknown></td><td><br></td>
<td>special extra compiler options must be manually added, see the docs for details</td>
<tr> <td>wxGTK with gcc</td><td align=center><IMG SRC="icons/no.gif" ALT=Unknown></td><td><br></td><td><br></td>
</tr>
</table>
<br>
<hr>
Contact <A HREF="mailto:zeitlin@dptmaths.ens-cachan.fr">me</A> with
any comments/suggestions.
</body>
</html>

View File

@@ -1,205 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows Roadmap</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 Roadmap
</font>
</td>
</tr>
</table>
<P>
<CENTER>
<a href="#schedule">Schedule</a> | <a href="#todo">To-Do List</a>
</CENTER>
<P>
This page represents current thinking about where wxWindows is going in the near,
medium and long-term. It also serves as a schedule for new releases so
that both developers and users can know what to expect when, at least approximately.<P>
We are adopting the Linux kernel style of numbering system where odd minor version numbers are development
versions, and even numbers are stable versions. For example, 2.1.x are development releases,
and the next 'stable' or final release of it would be 2.2.<P>
Bug-fix patches to the stable release (if made) then become point
releases of 2.2 (2.2.x) while development continues with wild abandon
on 2.3.x until the end of the next development cycle when it is
released as 2.4.<P>
Development versions that end up on the FTP site or CD-ROM, as opposed to remaining
in the CVS archive, are semi-stable -- i.e. they are checked for compilation and
run-time problems, but not as thoroughly as the stable versions.<P>
Note that since the wxWindows effort is voluntary, these are not hard-and-fast deadlines:
but we will endeavour to follow them as closely as possible.<P>
Note also that the releases described are for wxGTK, wxMSW and wxMotif ports. wxMac currently follows
its own development path but is due to merge with the main code base in November/December.
Also, minor snapshot releases for specific platforms may be
available at dates convenient to the developers.<P>
<CENTER>
<HR> <FONT SIZE=+2><I><B><a name="schedule">Schedule</a></B></I></FONT> <HR>
</CENTER>
<P>
<H4>Release 2.1.11</H4>
Release date: November 7th, 1999<P>
<ul>
<li>Split wxWindows into base and GUI libraries. Most, but not all makefiles
are expected to support this: for the rest, the makefiles will build a valid
combined base/GUI library for GUI applications only.
<li>wxWizard (beta).
<li>wxDialUpManager and wxPhoneDialer.
<li>wxFontEnumerator.
<li>Preliminary support for different font encodings
<li>wxPostEvent function
<li>New wxGrid.
<li>wxSocket working.
<li>Full support for fonts in different encodings.
<li>Tested multithreading support (wxThread).
<li>wxHTML printing.
<li>Better i18n support (i.e. more translations).
</ul>
<P>
<H4>Release 2.2 (stable)</H4>
Release date: December 19th, 1999.<P>
<ul>
<li>Miscellaneous fixes and small enhancements.
</ul>
<P>
<H4>Release 2.3</H4>
Release date: March 5th, 2000
<ul>
<li>Miscellaneous fixes and small enhancements.
<li>wxDateTime class in beta.
<li>Context sensitive help.
<li>More i18n issues: dates, times, ...
<li>Regular expressions support.
</ul>
<P>
<H4>Release 2.4 (stable)</H4>
Release date: May 7th, 2000.
<ul>
<li>Unicode compilation starting to work in wxGTK and wxMSW.
<li>wxDateTime class.
</ul>
<P>
<CENTER>
<HR> <FONT SIZE=+2><I><B><a name="todo">To-Do List</a></B></I></FONT> <HR>
</CENTER>
<P>
Developers: please feel free to add to these, and delete them when they are done.
<P>
<B><I>General</I></B><P>
<ul>
<li>wxHTML printing. When finished, this will allow an application to generate
printed reports with very little effort.
<li>wxSocket.
<li>Split library into several, for base (classes and functions usable by console and GUI
applications), console (classes and functions usable by console application only)
and GUI (classes and functions usable by GUI application only).
<li>Extend and unify drag and drop handling (e.g. we need to specify multiple drop targets
that can handle multiple formats).
<li>Expand the number of controls that can be specified in a WXR file;
add constraint specification to WXR syntax and Dialog Editor; add multilanguage support to WXR.
May be we'd better change the format completely and replace WXR with XML
(providing conversion utility for old files)?
<li>Context sensitive help: we need to have wxHelpEvent which would be
generated when the help for a given control is requested and a standard
handler for it in wxWindow which would invoke the default help system with the
correct help id.
<li>Rewrite Dialog Editor.
<li>Modem-oriented classes: wxDialUpManager for dialing up the ISP and
determining if there is a connection to Internet on the machine and
wxPhoneDialer for dialing arbitrary phone numbers and otherwise communicating
with the modem.
<li>wxImage handlers in separate .h and .cpp files.
<li>PCX writing code.
<li>GIF animation code.
<li>Tidying of timer code, addition of wxChrono class.
<li>Debug wxPostScriptDC further.
<li>wxDateTime class.
<li>Regular expressions support.
<li>Expansion of wxHTML to support further tags, and frames.
<li>MGL port (see Backroom/Future Ports page).
<li>Rotated text support.
<li>FreeType support.
<li>Support for 'skins', perhaps using a set of alternative control and window classes
written generically in wxWindows.
<li>Serial and parallel port support.
<li>Modem and telephony support.
<li>Book, tutorial.
<li>More examples.
<li>Bug tracking system.
</ul>
<P>
<B><I>wxMSW</I></B><P>
<ul>
<li>Windows CE port.
<li>Cure bug whereby in a panel within another panel, all buttons become
default buttons (heavy black border).
<li>Write a RC->WXR converter.
</ul>
<P>
<B><I>wxGTK</I></B><P>
<ul>
<li>GNOME/KDE integration libraries.
</ul>
<P>
<B><I>wxMotif</I></B><P>
<ul>
<li>Fix menu accelerators
<li>Fix refresh problems
<li>Allow wxSystemSettings to be configurable, perhaps via a control
panel application.
</ul>
</BODY>
</HTML>

View File

@@ -24,7 +24,7 @@ wxWindows Programmer Style Guide
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://www.wxwindows.org" target=_top>wxWindows</A> class library.
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
@@ -34,8 +34,8 @@ variety of platforms. The second part details the wxWindows code organization an
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/hacking/portable-cpp.html" target=_top>
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>
@@ -50,7 +50,6 @@ C++ portability guide</A> by David Williams.
<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>
<LI><A HREF="#no_ternarywithobjects">Use ternary operator ?: carefully</A></LI>
</OL>
<BR>
<LI>General recommendations</LI>
@@ -59,8 +58,8 @@ C++ portability guide</A> by David Williams.
<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_overloaded_virtuals">Avoid overloaded virtual functions</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>
@@ -76,8 +75,10 @@ C++ portability guide</A> by David Williams.
<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>
<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>
@@ -99,15 +100,14 @@ C++ portability guide</A> by David Williams.
<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
<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>
<LI><A HREF="#constants">wxNAMING_CONSTANTS</A></LI>
</OL>
<BR>
@@ -123,7 +123,7 @@ C++ portability guide</A> by David Williams.
<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
@@ -133,7 +133,7 @@ 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
@@ -145,7 +145,7 @@ most commonly, polymorphic containers (in the sense that they can contain object
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
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>
@@ -180,10 +180,10 @@ might help here:<P>
void ReadAddressBookFile(const wxString& strName)
{
wxFile file;
if ( !file.Open(strFile) )
return;
...process it...
}
</PRE>
@@ -193,19 +193,19 @@ void ReadAddressBookFile(const wxString& strName)
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'!",
wxLogError("Can't read address book from '%s'!",
strName.c_str());
return false;
}
...process it...
return true;
}
</PRE>
@@ -217,22 +217,22 @@ bool ReadAddressBookFile(const wxString& strName)
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
@@ -240,7 +240,7 @@ reason not to use it except the portability issue and the fact that it adds
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>.
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
@@ -312,17 +312,17 @@ you can try the following:
private:
class PrivateLibClass *m_pObject;
};
// in the .cpp file
class PrivateLibClass { ... };
PublicLibClass::PublicLibClass()
{
m_pObject = new PrivateLibClass;
...
}
PublicLibClass::~PublicLibClass()
{
delete m_pObject;
@@ -331,39 +331,20 @@ you can try the following:
<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).
<P><LI><A NAME="no_ternarywithobjects"></A><B>Use ternary operator ?: carefully</B></LI><P>
The ternary operator <TT>?:</TT> shouldn't be used with objects (i.e. if any
of its operands are objects) because some compilers (notable Borland C++) fail
to compile such code.
<P><U>Workaround</U>: use <TT>if/else</TT> instead.
<PRE>
wxString s1, s2;
// Borland C++ won't compile the line below
wxString s = s1.Len() < s2.Len() ? s1 : s2;
// but any C++ compiler will compile this
wxString s;
if ( s1.Len() < s2.Len() )
s = s1;
else
s = s2;
</PRE>
</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
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
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)
<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
@@ -442,7 +423,7 @@ sizes are different. A small table illustrates it quite well:
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>) which is helpful to detect common
<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
@@ -462,70 +443,6 @@ instead of
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_overloaded_virtuals"></A><B>Avoid overloaded virtual functions</B></LI><P>
You should avoid having overloaded virtual methods in a base class because if
any of them is overriden in a derived class, then all others must be overriden
as well or it would be impossible to call them on an object of derived class.
For example, the following code:
<PRE>
class Base
{
public:
virtual void Read(wxFile& file);
virtual void Read(const wxString& filename);
};
class Derived : public Base
{
public:
virtual void Read(wxFile& file) { ... }
};
...
Derived d;
d.Read("some_filename"); // compile error here!
</PRE>
will fail to compile because the base class function taking <TT>filename</TT>
is hidden by the virtual function overriden in the derived class (this is
known as [virtual] function name hiding problem in C++).
<P>
The standard solution to this problem in wxWindows (where we have such
situations quite often) is to make both <TT>Read()</TT> functions not virtual
and introduce a single virtual function <TT>DoRead()</TT>. Usually, it makes
sense because the function taking a filename is (again, usually) implemented
in terms of the function reading from a file anyhow (but making only this
functions not virtual won't solve the above problem!).
<P>
So, the above declarations should be written as:
<PRE>
class Base
{
public:
void Read(wxFile& file);
void Read(const wxString& filename);
protected:
virtual void DoRead(wxFile& file);
};
class Derived : public Base
{
protected:
virtual void DoRead(wxFile& file) { ... }
};
</PRE>
This technique is widely used in many of wxWindows classes - for example,
<TT>wxWindow</TT> has more than a dozen of <TT>DoXXX()</TT> functions which
allows to have many overloaded versions of commonly used methods such as
<TT>SetSize()</TT>
<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>
@@ -578,10 +495,10 @@ 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
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.
@@ -601,9 +518,9 @@ following code fragment is:
void Foo::Bar(int x_)
{
...
x = x_;
...
}
</PRE>
@@ -674,7 +591,7 @@ 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
<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>
@@ -690,7 +607,7 @@ 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
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
@@ -795,12 +712,12 @@ 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
<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
@@ -817,33 +734,14 @@ 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
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
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>.
<P><LI><A NAME="constants"></LI><B>wxNAMING_CONSTANTS</B><P>
The constants in wxWindows code should be defined using <TT>enum</TT> C++
keyword (and not with <TT>#define</TT> or <TT>static const int</TT>). They
should be declared in the global scope (and not inside class declaration) and
their names should start with a <TT>wx</TT> prefix. Finally, the constants
should be in all capital letters (except the first 2) to make it easier to
distinguish them from the variables with underscores separating the words.
<P>For example, file-related constants should be declared like this:
<pre>
enum
{
wxFILEOPEN_READ,
wxFILEOPEN_WRITE,
wxFILEOPEN_READWRITE
};
</pre>
</OL>
<P><LI>Miscellaneous</LI><P>
@@ -853,7 +751,7 @@ It's really a trivial piece of advice, but remember that using forward declarati
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
<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>
@@ -866,7 +764,7 @@ 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>__WXDEBUG__</TT> is defined, you should compile your programs in debug mode to profit
<TT>__DEBUG__</TT> is defined, you should compile your programs in debug mode to profit
from them.
</OL>
</UL>

View File

@@ -1,168 +0,0 @@
<HTML>
<HEAD>
<TITLE>wxWindows Book</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 Book
</font>
</td>
</tr>
</table>
<P>
<center>
<a href="#about">About</a> |
<a href="#participants">Participants</a> |
<a href="#publication">Publication</a> |
<a href="#suggestions">Suggestions</a> |
<a href="#format">Format</a> |
<a href="#contents">Contents</a>
</center>
<hr>
<H3><a name="about">About the wxWindows book</a></H3>
Discussions have been taking place on the wxwin-developers list about
collaboratively writing a wxWindows book. The concensus is to write a tutorial
book for people with reasonable C++ experience, with the possibility of including the API reference either in a very compact
form at the back of the book, or as a separate volume. The book would almost certainly
contain a CD-ROM with wxWindows and its documentation. It would probably be available
for free on-line, publisher permitting.<P>
Goals for the book:<P>
<ol>
<li> to allow users to become accomplished wxWindows developers rapidly;
<li> to be useful over a longer period than just the first few weeks, since
there are a lot of complex areas to address and not all features will be
used up-front in a project;
<li> to promote wxWindows to a wider audience;
<li> to make at least some money for the authors.
</ol>
<P>
Audience: beginners + experienced wxWindows users, but with reasonable C++
knowledge.<P>
It is suggested that any financial return from the book be allocated on a points system,
with a predefined number of points for chapters, indexing, editing, proof-reading etc.<P>
<hr>
<H3><a name="participants">Participants</a></H3>
So far, the following people are interested in taking part in this project:<P>
<ul>
<li><a href="mailto:tomr@scitechsoft.com">Tom Ryan</a>, SciTech Software.
<li><a href="mailto:robin@alldunn.com">Robin Dunn</a>. <i>Chapter on wxPython.</i>
<li><a href="mailto:mheck@www.surveyorcorp.com">Matt Heck</a>, SurveyorCorp Inc.
<i>
<ol>
<li>a case study of how and why we've used wxWindows at Surveyor Corp., and
how it's worked out so far;
<li>an appendix something similar about how to use wxLIVID for video capture and display;
<li>proofreading
</ol>
</i>
<li><a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a>.
<li><a href="mailto:zeitlin@dptmaths.ens-cachan.fr">Vadim Zeitlin</a>.
<li><a href="mailto:slavik2@czn.cz">Vaclav Slavik</a>. <i>wxHTML section</i>
<li><a href="mailto:csomor@advancedconcepts.ch">Stefan Csomor</a>. <i>the sequence of events i.e. which action provokes which event sequence,
this is implicit for the use on MSW, but very important for other systems; and porting to new platforms</i>
<li><a href="mailto:karsten@phy.hw.ac.uk">Karsten Ballueder</a>. <i>short tutorials on some useful
GNU tools, like autoconf/configure/make, programming
strategies, etc.</i>
</ul>
<hr>
<H3><a name="publication">Publication</a></H3>
Tom Ryan originally wrote:<P>
<PRE>
Hi Guys,
I just wanted to let you know that I have spoken with officials here
at California State University, Chico and they are potentially
interested in publishing a book on wxWindows! A wxWindows
book would give wxWindows a great deal of exposure.
These discussions came out of the fact that CSUC wanted to
switch from MFC to wxWindows in their GUI programming classes,
but there was not a book available for students to work with.
I was thinking that the first edition could be primarily the reference
documentation combined with a basic wxTutorial and examples. In
this case, it would be fairly straightforward to get something out
initially and then we could take it from there.
</PRE>
<p>
<a href="mailto:benles@powernet.net">Ben Allfree</a> has also expressed an interest
in publishing a wxWindows book, and distributing it via Amazon. Ben was thinking
in terms of a quickie job using the existing reference manual.<P>
Another publishing name to think of is O'Reilly. They would probably give us a lot
of guidance for style, formatting, etc.<P>
<a href="mailto:Roald.Ribe@winlink.no">Roald Ribe</a> writes:
"<a href="http://www.bruceeckel.com/javabook.html" target=_new>Thinking in Java</a>
is published both as a PDF for internet (by the author) and in print by Prentice Hall."<P>
<hr>
<H3><a name="suggestions">Suggestions and comments</a></H3>
<ul>
<li>Chapter on converting from MFC. (Julian Smart)
<li>A chapter on why some inconsistencies are almost always going to show up in a
multiplatform toolkit, how to avoid them, how to deal with when you have
no choice, and (if wxBook explains the internals or philosophy of
wxWindows at all) how wxWindows attempts to minimize the number we
encounter. (Matt Heck)
<li>Creating the shortest possible path to writing "Hello World" from scratch in wxWindows. (Matt Heck)
<li>How will royalties for subsequent editions be shared out? (Tom Ryan)
<li>"My personal feeling is that this project will wind up being developed
by a small team, led by an editor that will wind up doing about half
of the total amount of work." (Tom Ryan)
</ul>
<hr>
<H3><a name="format">Text format</a></H3>
This depends partly on the publisher, but one possibility is to target Word but have
submissions in a number of formats including Latex. We should eventually write a style
and formatting guide.<P>
<hr>
<H3><a name="contents">Contents</a></H3>
This is open to suggestion.<P>
Last year, <a href="mailto:mlorenz@visionx.com">Mike Lorenz</a> of <a href="http://www.visionx.com">VisionX</a>
suggested this
<a href="http://www.visionx.com/wx/tutorial_outline.htm">tutorial outline</a>, which could
be a good starting point.<P>
</font>
</BODY>
</HTML>

View File

@@ -137,10 +137,6 @@ Loads the accelerator table from a Windows resource (Windows only).
\docparam{resource}{Name of a Windows accelerator.}
\pythonnote{The wxPython constructor accepts a list of
wxAcceleratorEntry objects, or 3-tuples consisting of flags, keyCode,
and cmd values like you would construct wxAcceleratorEntry objects with.}
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
\func{}{\destruct{wxAcceleratorTable}}{\void}

View File

@@ -6,8 +6,8 @@ wxArrayString is an efficient container for storing
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).
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
@@ -26,18 +26,8 @@ array elements may be modified in place like this
array.Last().MakeUpper();
\end{verbatim}
There is also a varian of wxArrayString called wxSortedArrayString which has
exactly the same methods as wxArrayString, but which always keeps the string
in it in (alphabetical) order. wxSortedArrayString uses binary search in its
\helpref{Index}{wxarraystringindex} function (insteadf of linear search for
wxArrayString::Index) which makes it much more efficient if you add strings to
the array rarely (because, of course, you have to pay for Index() efficiency
by having Add() be slower) but search for them often. Several methods should
not be used with sorted array (basicly, all which break the order of items)
which is mentioned in their description.
Final word: none of the methods of wxArrayString is virtual including its
destructor, so this class should not be used as a base class.
Finally, none of the methods of this class is virtual including its
destructor, so this class should not be derived from.
\wxheading{Derived from}
@@ -64,9 +54,6 @@ functions.
Default and copy constructors.
Note that when an array is assigned to a sorted array, its contents is
automatically sorted during construction.
\membersection{wxArrayString::\destruct{wxArrayString}}\label{wxarraystringdtor}
\func{}{\destruct{wxArrayString}}{}
@@ -82,7 +69,7 @@ Assignment operator.
\membersection{wxArrayString::operator[]}\label{wxarraystringoperatorindex}
\func{wxString\&}{operator[]}{\param{size\_t }{nIndex}}
\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
@@ -92,15 +79,9 @@ This is the operator version of \helpref{Item}{wxarraystringitem} method.
\membersection{wxArrayString::Add}\label{wxarraystringadd}
\func{size\_t}{Add}{\param{const wxString\& }{str}}
\func{void}{Add}{\param{const wxString\& }{str}}
Appends a new item to the array and return the index of th new item in the
array.
{\bf Warning:} For sorted arrays, the index of the inserted item will not be,
in general, equal to \helpref{GetCount()}{wxarraystringgetcount} - 1 because
the item is inserted at the correct position to keep the array sorted and not
appended.
Appends a new item to the array.
See also: \helpref{Insert}{wxarraystringinsert}
@@ -155,10 +136,6 @@ 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.
This function uses linear search for wxArrayString and binary search for
wxSortedArrayString, but it ignores the {\it bCase} and {\it bFromEnd}
parameters in the latter case.
Returns index of the first item matched or wxNOT\_FOUND if there is no match.
\membersection{wxArrayString::Insert}\label{wxarraystringinsert}
@@ -175,10 +152,6 @@ Insert("foo", 0);
If {\it nIndex} is equal to {\it GetCount() + 1} this function behaves as
\helpref{Add}{wxarraystringadd}.
{\bf Warning:} this function should not be used with sorted array because it
could break the order of items and, for example, subsequent calls to
\helpref{Index()}{wxarraystringindex} would not work then!
\membersection{wxArrayString::IsEmpty}\label{wxarraystringisempty}
\func{}{IsEmpty}{}
@@ -238,10 +211,6 @@ See also: \helpref{Alloc}{wxarraystringalloc}, \helpref{Dynamic array memory man
Sorts the array in alphabetical order or in reverse alphabetical order if
{\it reverseOrder} is TRUE.
{\bf Warning:} this function should not be used with sorted array because it
could break the order of items and, for example, subsequent calls to
\helpref{Index()}{wxarraystringindex} would not work then!
See also: \helpref{Sort}{wxarraystringsortcallback}
\membersection{wxArrayString::Sort (user defined)}\label{wxarraystringsortcallback}
@@ -276,9 +245,5 @@ array.Add("four");
array.Sort(CompareStringLen);
\end{verbatim}
{\bf Warning:} this function should not be used with sorted array because it
could break the order of items and, for example, subsequent calls to
\helpref{Index()}{wxarraystringindex} would not work then!
See also: \helpref{Sort}{wxarraystringsort}

View File

@@ -54,15 +54,9 @@ when the button is clicked.}
Default constructor.
\func{}{wxBitmapButton}{
\param{wxWindow* }{parent},
\param{wxWindowID }{id},
\param{const wxBitmap\& }{bitmap},\rtfsp
\param{const wxPoint\& }{pos = wxDefaultPosition},
\param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long }{style = wxBU\_AUTODRAW},
\param{const wxValidator\& }{validator = wxDefaultValidator},
\param{const wxString\& }{name = ``button"}}
\func{}{wxBitmapButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxBitmap\& }{bitmap},\rtfsp
\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
\param{long}{ style = wxBU\_AUTODRAW}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
Constructor, creating and showing a button.

View File

@@ -143,7 +143,7 @@ Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM.
\pythonnote{Constructors supported by wxPython are:\par
\indented{2cm}{\begin{twocollist}
\twocolitem{\bf{wxBitmap(name, flag)}}{Loads a bitmap from a file}
\twocolitem{\bf{wxBitmapFromData(data, type, width, height, depth=1)}}{Creates
\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

View File

@@ -1,26 +1,16 @@
\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.
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.
\pythonnote{If you wish to create a derived wxBitmapDataObject class in
wxPython you should derive the class from wxPyBitmapDataObject
in order to get Python-aware capabilities for the various virtual
methods.}
\wxheading{Virtual functions to override}
This class may be used as is, but
\helpref{GetBitmap}{wxbitmapdataobjectgetbitmap} may be overridden to increase
efficiency.
In order to offer bitmap data on-demand \helpref{GetSize}{wxbitmapdataobjectgetsize}
and \helpref{WriteData}{wxbitmapdataobjectwritedata} will have to be overridden.
\wxheading{Derived from}
\helpref{wxDataObjectSimple}{wxdataobjectsimple}\\
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
@@ -29,19 +19,66 @@ efficiency.
\wxheading{See also}
\helpref{Clipboard and drag and drop overview}{wxdndoverview},
\helpref{wxDataObject}{wxdataobject},
\helpref{wxDataObjectSimple}{wxdataobjectsimple},
\helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject},
\helpref{wxDataObject}{wxdataobject}
\func{}{wxBitmapDataObject}{\param{const wxBitmap\& }{bitmap = wxNullBitmap}}
\latexignore{\rtfignore{\wxheading{Members}}}
Constructor, optionally passing a bitmap (otherwise use
\helpref{SetBitmap}{wxbitmapdataobjectsetbitmap} later)
\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject}
\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgetbitmap}
\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}
@@ -54,7 +91,26 @@ the \helpref{wxClipboard}{wxclipboard}.
\func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}}
Sets the bitmap associated with the data object. This method is called when the
data object receives data. Usually there will be no reason to override this
function.
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

@@ -190,22 +190,14 @@ Metrowerks CodeWarrior.
\section{Availability and location of wxWindows}
wxWindows is available by anonymous FTP and World Wide Web:
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
\end{verbatim}
You can also buy a CD-ROM using the form on the Web site, or by contacting:
Julian Smart\\
12 North Street West\\
Uppingham\\
Rutland\\
LE15 9SG\\
julian.smart@ukonline.co.uk
\section{Acknowledgments}
Thanks are due to AIAI for being willing to release the original version of
@@ -220,7 +212,7 @@ Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Fla
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, Vaclav Slavik, Stein Somers, Petr Smilauer, Neil Smith,
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.
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos

View File

@@ -1,117 +0,0 @@
\section{\class{wxBoxSizer}}\label{wxboxsizer}
The basic idea behind a box sizer is that windows will most often be laid out in rather
simple basic geomerty, typically in a row or a column or several hierachies of either.
As an exmaple, we will construct a dialog that will contain a text field at the top and
two buttons at the bottom. This can be seen as a top-hierarchy column with the text at
the top and buttons at the bottom and a low-hierchary row with an OK button to the left
and a Cancel button to the right. In many cases (particulary dialogs under Unix and
normal frames) the main window will be resizable by the user and this change of size
will have to get propagated to its children. In our case, we want the text area to grow
with the dialog, whereas the button shall have a fixed size. In addition, there will be
a thin border around all controls to make the dialog look nice and - to make matter worse -
the buttons shall be centred as the width of the dialog changes.
It is the unique feature of a box sizer, that it can grow in both directions (height and
width) but can distribute its growth in the main direction (horizontal for a row) {\it unevenly}
among its children. In our example case, the vertical sizer is supposed to propagate all its
height changes to only the text area, not to the button area. This is determined by the {\it option} parameter
when adding a window (or another sizer) to a sizer. It is interpreted
as a weight factor, i.e. it can be zero, indicating that the window may not be resized
at all, or above zero. If several windows have a value above zero, the value is interpreted
relative to the sum of all weight factors of the sizer, so when adding two windows with
a value of 1, they will both get resized equally much and each half as much as the sizer
owning them. Then what do we do when a column sizer changes its width? This behaviour is
controlled by {\it flags} (the second parameter of the Add() function): Zero or no flag indicates that
the window will get aligned at the left (in a column sizer) and the top (row sizer), whereas
wxALIGN\_RIGHT and wxALIGN\_BOTTOM will do what they say. The item can also be centered
using the wxCENTRE flag (same as wxCENTER) or it can be forced to grow with the sizer (using
the wxGROW flag (same as wxEXPAND)).
As mentioned above, any window belonging to a sizer may have border, and it can be specified
which of the four sides may have this border, using the wxTOP, wxLEFT, wxRIGHT and wxBOTTOM
constants or wxALL for all directions (and you may also use wxNORTH, wxWEST etc instead). These
flags can be used in combintaion with the alignement flags above as the second paramter of the
Add() method using the binary or operator |. The sizer of the border also must be made known,
and it is the third parameter in the Add() method. This means, that the entire behaviour of
a sizer and its children can be controlled by the three parameters of the Add() method.
\begin{verbatim}
// we want to get a dialog that is stretchable because it
// has a text ctrl at the top and two buttons at the bottom
MyDialog::MyDialog(wxFrame *parent, wxWindowID id, const wxString &title ) :
wxDialog( parent, id, title, wxDefaultPosition, wxDefaultSize, wxDIALOG_STYLE | wxRESIZE_BORDER )
{
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
// create text ctrl with minimal size 100x60
topsizer->Add(
new wxTextCtrl( this, -1, "My text.", wxDefaultPosition, wxSize(100,60), wxTE_MULTILINE),
1, // make vertically stretchable
wxEXPAND | // make horizontally stretchable
wxALL, // and make border all around
10 ); // set border width to 10
wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
button_sizer->Add(
new wxButton( this, wxID_OK, "OK" ),
0, // make horizontally unstretchable
wxALL, // make border all around (implicit top alignment)
10 ); // set border width to 10
button_sizer->Add(
new wxButton( this, wxID_CANCEL, "Cancel" ),
0, // make horizontally unstretchable
wxALL, // make border all around (implicit top alignment)
10 ); // set border width to 10
topsizer->Add(
button_sizer,
0, // make vertically unstretchable
wxCENTER ); // no border and centre horizontally
SetAutoLayout( TRUE ); // tell dialog to use sizer
SetSizer( topsizer ); // actually set the sizer
topsizer->Fit( this ); // set size to minimum size as calculated by the sizer
topsizer->SetSizeHints( this ); // set size hints to honour mininum size
}
\end{verbatim}
\wxheading{Derived from}
\helpref{wxSizer}{wxsizer}\\
\helpref{wxObject}{wxobject}
\membersection{wxBoxSizer::wxBoxSizer}\label{wxboxsizerwxboxsizer}
\func{}{wxBoxSizer}{\param{int }{orient}}
Constructor for a wxBoxSizer. {\it orient} may be either of wxVERTICAL
or wxHORIZONTAL for creating either a column sizer or a row sizer.
\membersection{wxBoxSizer::RecalcSizes}\label{wxboxsizerrecalcsizes}
\func{void}{RecalcSizes}{\void}
Implements the calculation of a box sizer's dimensions and then sets
the size of its its children (calling \helpref{wxWindow::SetSize}{wxwindowsetsize}
if the child is a window). It is used internally only and must not be called
by the users. Documented for information.
\membersection{wxBoxSizer::CalcMin}\label{wxboxsizercalcmin}
\func{wxSize}{CalcMin}{\void}
Implements the calculation of a box sizer's minimal. It is used internally
only and must not be called by the users. Documented for information.
\membersection{wxBoxSizer::GetOrientation}\label{wxboxsizergetorientation}
\func{int}{GetOrientation}{\void}
Returns the orientation of the boxsizer, either of wxVERTICAL
or wxHORIZONTAL.

View File

@@ -100,22 +100,9 @@ that are not static can have \helpref{validators}{wxvalidator} associated with t
{\large {\bf Window layout}}
There are two different systems for layouting windows (and dialogs in particluar).
One is based upon so-called sizers and it requires less typing, thinking and calculating
and will in almost all cases produce dialogs looking equally well on all platforms, the
other is based on so-called constraints and allows for more detailed layouts.
\overview{Overview}{constraintsoverview}
These are the classes relevant to the sizer-based layout.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxSizer}{wxsizer}}{Abstract base class}
\twocolitem{\helpref{wxBoxSizer}{wxboxsizer}}{A sizer for laying out windows in a row or column}
\twocolitem{\helpref{wxStaticBoxSizer}{wxstaticboxsizer}}{Same as wxBoxSizer, but with surrounding static box}
\end{twocollist}
\overview{Overview}{constraintsoverview} over the constraints-based layout.
These are the classes relevant to constraints-based window layout.
These are the classes relevant to automated window layout.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension}
@@ -236,7 +223,6 @@ These are the data structure classes supported by wxWindows.
\twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region}
\twocolitem{\helpref{wxString}{wxstring}}{A string class}
\twocolitem{\helpref{wxStringList}{wxstringlist}}{A class representing a list of strings}
\twocolitem{\helpref{wxStringTokenizer}{wxstringtokenizer}}{A class for interpreting a string as a list of tokens or words}
\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}
@@ -282,8 +268,7 @@ classes, functions and macros.
\overview{Overview}{ipcoverview}
wxWindows provides a simple interprocess communications facilities
based on DDE. [Note that this is currently work in progress and may not
function properly.]
based on DDE.
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
@@ -359,11 +344,10 @@ The older classes are as follows:
\begin{twocollist}\itemsep=0pt
\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
\twocolitem{\helpref{wxDataFormat}{wxdataformat}}{Represents a data format}
\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{wxCustomDataObject}{wxcustomdataobject}}{Custom 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}

View File

@@ -90,17 +90,10 @@ Destructor, destroying the choice item.
Adds the item to the end of the choice control.
\func{void}{Append}{\param{const wxString\& }{ item}, \param{void* }{clientData}}
Adds the item to the end of the combobox, associating the given data
with the item.
\wxheading{Parameters}
\docparam{item}{String to add.}
\docparam{clientData}{Client data to associate with the item.}
\membersection{wxChoice::Clear}\label{wxchoiceclear}
\func{void}{Clear}{\void}
@@ -140,20 +133,6 @@ Gets the number of columns in this choice item.
This is implemented for Motif only.
\membersection{wxChoice::GetClientData}\label{wxchoicegetclientdata}
\constfunc{void*}{GetClientData}{\param{int}{ n}}
Returns a pointer to the client data associated with the given item (if any).
\wxheading{Parameters}
\docparam{n}{An item, starting from zero.}
\wxheading{Return value}
A pointer to the client data, or NULL if the item was not found.
\membersection{wxChoice::GetSelection}\label{wxchoicegetselection}
\constfunc{int}{GetSelection}{\void}
@@ -186,18 +165,6 @@ Gets the selected string, or the empty string if no string is selected.
Returns the number of strings in the choice control.
\membersection{wxChoice::SetClientData}\label{wxchoicesetclientdata}
\func{void}{SetClientData}{\param{int}{ n}, \param{void* }{data}}
Associates the given client data pointer with the given item.
\wxheading{Parameters}
\docparam{n}{The zero-based item.}
\docparam{data}{The client data.}
\membersection{wxChoice::SetColumns}\label{wxchoicesetcolumns}
\func{void}{SetColumns}{\param{int}{ n = 1}}

View File

@@ -9,15 +9,14 @@
\input array.tex
\input arrstrng.tex
\input autoobj.tex
\input bitmap.tex
\input bbutton.tex
\input bmpdatob.tex
\input boxsizer.tex
\input brush.tex
\input busycurs.tex
\input busyinfo.tex
\input button.tex
\input strmbfrd.tex
\input bitmap.tex
\input bbutton.tex
\input bmpdatob.tex
\input brush.tex
\input calclevt.tex
\input checkbox.tex
\input checklst.tex
@@ -37,13 +36,9 @@
\input control.tex
\input critsect.tex
\input crtslock.tex
\input custdobj.tex
\input cursor.tex
\input database.tex
\input dataform.tex
\input dataobj.tex
\input dobjcomp.tex
\input dobjsmpl.tex
\input datstrm.tex
\input date.tex
\input dc.tex
@@ -81,9 +76,7 @@
\input focusevt.tex
\input font.tex
\input fontdlg.tex
\input fontenum.tex
\input fontlist.tex
\input fontmap.tex
\input frame.tex
\input fsfile.tex
\input ftp.tex
@@ -96,14 +89,9 @@
\input htcell.tex
\input htcolor.tex
\input htcontnr.tex
\input htdcrend.tex
\input hteasypr.tex
\input htfilter.tex
\input hthelpct.tex
\input hthlpdat.tex
\input hthlpfrm.tex
\input htparser.tex
\input htprint.tex
\input httag.tex
\input httaghnd.tex
\input httagmod.tex
@@ -167,6 +155,7 @@
\input postscpt.tex
\input prevwin.tex
\input print.tex
\input prvdatob.tex
\input prvtdrpt.tex
\input process.tex
\input progdlg.tex
@@ -183,7 +172,6 @@
\input sashevt.tex
\input sashlayw.tex
\input sashwin.tex
\input sbsizer.tex
\input screendc.tex
\input scrolbar.tex
\input scrlwevt.tex
@@ -192,10 +180,10 @@
\input sngchdlg.tex
\input size.tex
\input sizeevt.tex
\input sizer.tex
\input slider.tex
\input sckaddr.tex
\input socket.tex
%\input gsocket.tex
\input splitevt.tex
\input strmsock.tex
\input spinbutt.tex

View File

@@ -6,8 +6,8 @@ clipboard class from wxWindows 1.xx, which has the same name but a different imp
To use the clipboard, you call member functions of the global {\bf wxTheClipboard} object.
Call \helpref{wxClipboard::Open}{wxclipboardopen} to get ownership of the clipboard. If this operation returns TRUE, you
now own the clipboard. Call \helpref{wxClipboard::SetData}{wxclipboardsetdata} to put data
on the clipboard, or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to
now own the clipboard. Call \helpref{wxClipboard::AddData}{wxclipboardadddata} to put data
on the clipboard (one or more times), or \helpref{wxClipboard::GetData}{wxclipboardgetdata} to
retrieve data from the clipboard. Call \helpref{wxClipboard::Close}{wxclipboardclose} to close
the clipboard and relinquish ownership. You should keep the clipboard open only momentarily.
@@ -19,17 +19,17 @@ For example:
{
// This data objects are held by the clipboard,
// so do not delete them in the app.
wxTheClipboard->SetData( new wxTextDataObject("Some text") );
wxTheClipboard->AddData( new wxTextDataObject("Some text") );
wxTheClipboard->Close();
}
// Read some text
if (wxTheClipboard->Open())
{
if (wxTheClipboard->IsSupported( wxDF_TEXT ))
if (wxTheClipboard->IsSupported( "STRING" ))
{
wxTextDataObject data;
wxTheClipboard->GetData( data );
wxTheClipboard->GetData( &data );
wxMessageBox( data.GetText() );
}
wxTheClipboard->Close();
@@ -62,6 +62,13 @@ Constructor.
Destructor.
\membersection{wxClipboard::AddData}\label{wxclipboardadddata}
\func{bool}{AddData}{\param{wxDataObject*}{ data}}
Call this function to add a data object to the clipboard. This function can be called several times
to put different formats on the clipboard.
\membersection{wxClipboard::Clear}\label{wxclipboardclear}
\func{void}{Clear}{\void}
@@ -76,14 +83,14 @@ Call this function to close the clipboard, having opened it with \helpref{wxClip
\membersection{wxClipboard::GetData}\label{wxclipboardgetdata}
\func{bool}{GetData}{\param{wxDataObject\&}{ data}}
\func{bool}{GetData}{\param{wxDataObject*}{ data}}
Call this function to fill {\it data} with data on the clipboard, if available in the required
format. Returns TRUE on success.
\membersection{wxClipboard::IsSupported}\label{wxclipboardissupported}
\func{bool}{IsSupported}{\param{const wxDataFormat\&}{ format}}
\func{bool}{IsSupported}{\param{wxDataFormat}{ format}}
Returns TRUE if the format of the given data object is available on the clipboard.

View File

@@ -80,10 +80,10 @@ which is generated by a control.}
\membersection{wxCommandEvent::m\_clientData}
\member{void*}{m\_clientData}
\member{char*}{m\_clientData}
Contains a pointer to client data for listboxes and choices, if the event
was a selection. Beware, this is not implemented anyway...
was a selection.
\membersection{wxCommandEvent::m\_commandInt}
@@ -123,10 +123,10 @@ Returns TRUE or FALSE for a checkbox selection event.
\membersection{wxCommandEvent::GetClientData}
\func{void*}{GetClientData}{\void}
\func{char*}{GetClientData}{\void}
Returns client data pointer for a listbox or choice selection event
(not valid for a deselection). Beware, this is not implmented anywhere...
(not valid for a deselection).
\membersection{wxCommandEvent::GetExtraLong}
@@ -163,7 +163,7 @@ is a deselection.
\membersection{wxCommandEvent::SetClientData}
\func{void}{SetClientData}{\param{void*}{ clientData}}
\func{void}{SetClientData}{\param{char*}{ clientData}}
Sets the client data for this event.

View File

@@ -21,7 +21,7 @@ A combobox permits a single selection only. Combobox items are numbered from zer
\wxheading{Window styles}
\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxCB\_SIMPLE}}{Creates a combobox with a permanently displayed list. Windows only. }
\twocolitem{\windowstyle{wxCB\_SIMPLE}}{Creates a combobox with a permanently displayed list.}
\twocolitem{\windowstyle{wxCB\_DROPDOWN}}{Creates a combobox with a drop-down list.}
\twocolitem{\windowstyle{wxCB\_READONLY}}{Creates a combo box consisting of a drop-down list and static text item
displaying the current selection.}
@@ -102,7 +102,7 @@ Destructor, destroying the combobox.
Adds the item to the end of the combobox.
\func{void}{Append}{\param{const wxString\& }{ item}, \param{void* }{clientData}}
\func{void}{Append}{\param{const wxString\& }{ item}, \param{char* }{clientData}}
Adds the item to the end of the combobox, associating the given data
with the item.
@@ -168,7 +168,7 @@ The position if found, or -1 if not found.
\membersection{wxComboBox::GetClientData}\label{wxcomboboxgetclientdata}
\constfunc{void*}{GetClientData}{\param{int}{ n}}
\constfunc{char*}{GetClientData}{\param{int}{ n}}
Returns a pointer to the client data associated with the given item (if any).
@@ -265,7 +265,7 @@ Removes the text between the two positions in the combobox text field.
\membersection{wxComboBox::SetClientData}\label{wxcomboboxsetclientdata}
\func{void}{SetClientData}{\param{int}{ n}, \param{void* }{data}}
\func{void}{SetClientData}{\param{int}{ n}, \param{char* }{data}}
Associates the given client data pointer with the given item.
@@ -310,9 +310,6 @@ Selects the text between the two positions, in the combobox text field.
\docparam{to}{The second position.}
\pythonnote{The second form of this method is called \tt{SetMark} in
wxPython.}
\membersection{wxComboBox::SetValue}\label{wxcomboboxsetvalue}
\func{void}{SetValue}{\param{const wxString\& }{text}}

View File

@@ -1,6 +1,6 @@
\section{\class{wxCondition}}\label{wxcondition}
Condition class for code protection in multithreaded applications.
TODO
\wxheading{Derived from}
@@ -62,3 +62,4 @@ Waits until a signal is raised or the timeout has elapsed.
The second form returns if the signal was raised, or FALSE if there was a timeout.

View File

@@ -1,6 +1,6 @@
\section{\class{wxCriticalSection}}\label{wxcriticalsection}
A critical section object is used for the same exactly purpose as
A critical section object is used exactly for the same purpose as
\helpref{mutexes}{wxMutex}. The only difference is that under Windows platform
critical sections are only visible inside one process, while mutexes may be
shared between processes, so using critical sections is slightly more

View File

@@ -1,107 +0,0 @@
\section{\class{wxCustomDataObject}}\label{wxcustomdataobject}
wxCustomDataObject is a specialization of
\helpref{wxDataObjectSimple}{wxdataobjectsimple} for some
application-specific data in arbitrary (either custom or one of the standard
ones). The only restriction is that it is supposed that this data can be
copied bitwise (i.e. with {\tt memcpy()}), so it would be a bad idea to make
it contain a C++ object (though C struct is fine).
By default, wxCustomDataObject stores the data inside in a buffer. To put the
data into the buffer you may use either
\helpref{SetData}{wxcustomdataobjectsetdata} or
\helpref{TakeData}{wxcustomdataobjecttakedata} depending on whether you want
the object to make a copy of data or not.
If you already store the data in another place, it may be more convenient and
efficient to provide the data on-demand which is possible too if you override
the virtual functions mentioned below.
\wxheading{Virtual functions to override}
This class may be used as is, but if you don't want store the data inside the
object but provide it on demand instead, you should override
\helpref{GetSize}{wxcustomdataobjectgetsize},
\helpref{GetData}{wxcustomdataobjectgetdata} and
\helpref{SetData}{wxcustomdataobjectsetdata} (or may be only the first two or
only the last one if you only allow reading/writing the data)
\wxheading{Derived from}
\helpref{wxDataObjectSimple}{wxdataobjectsimple}\\
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
<wx/dataobj.h>
\wxheading{See also}
\helpref{wxDataObject}{wxdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCustomDataObject::wxCustomDataObject}\label{wxcustomdataobjectwxcustomdataobject}
\func{}{wxCustomDataObject}{\param{const wxDataFormat\& }{format = wxFormatInvalid}}
The constructor accepts a {\it format} argument which specifies the (single)
format supported by this object. If it isn't set here,
\helpref{SetFormat}{wxdataobjectsimplesetformat} should be used.
\membersection{wxCustomDataObject::\destruct{wxCustomDataObject}}\label{wxcustomdataobjectdtor}
\func{}{\destruct{wxCustomDataObject}}{\void}
The destructor will free the data hold by the object. Notice that although it
calls a virtual \helpref{Free()}{wxcustomdataobjectfree} function, the base
class version will always be called (C++ doesn't allow calling virtual
functions from constructors or destructors), so if you override {\tt Free()}, you
should override the destructor in your class as well (which would probably
just call the derived class' version of {\tt Free()}).
\membersection{wxCustomDataObject::Alloc}\label{wxcustomdataobjectalloc}
\func{virtual void *}{Alloc}{\param{size\_t }{size}}
This function is called to allocate {\it size} bytes of memory from SetData().
The default version just uses the operator new.
\membersection{wxCustomDataObject::Free}\label{wxcustomdataobjectfree}
\pythonnote{This method expects a string in wxPython. You can pass
nearly any object by pickling it first.}
\func{virtual void}{Free}{\void}
This function is called when the data is freed, you may override it to anything
you want (or may be nothing at all). The default version calls operator
delete$[]$ on the data.
\membersection{wxCustomDataObject::GetSize}\label{wxcustomdataobjectgetsize}
\constfunc{virtual size\_t}{GetSize}{\void}
Returns the data size in bytes.
\membersection{wxCustomDataObject::GetData}\label{wxcustomdataobjectgetdata}
\constfunc{virtual void *}{GetData}{\void}
Returns a pointer to the data.
\membersection{wxCustomDataObject::SetData}\label{wxcustomdataobjectsetdata}
\func{virtual void}{SetData}{
\param{size\_t }{size}, \param{const void }{*data}}
Set the data. The data object will make an internal copy.
\membersection{wxCustomDataObject::TakeData}\label{wxcustomdataobjecttakedata}
\func{virtual void}{TakeData}{
\param{size\_t }{size}, \param{const void }{*data}}
Like \helpref{SetData}{wxcustomdataobjectsetdata}, but doesn't copy the data -
instead the object takes ownership of the pointer.

View File

@@ -1,116 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: dataform.tex
%% Purpose: wxDataFormat documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 03.11.99
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDataFormat}}\label{wxdataformat}
A wxDataFormat is an encapsulation of a platform-specific format handle which
is used by the system for the clipboard and drag and drop operations. The
applications are usually only interested in, for example, pasting data from the
clipboard only if the data is in a format the program understands and a data
format is something which uniquely identifies this format.
On the system level, a data format is usually just a number ({\tt CLIPFORMAT}
under Windows or {\tt Atom} under X11, for example) and the standard formats
are, indeed, just numbers which can be implicitly converted to wxDataFormat.
The standard formats are:
\begin{twocollist}\itemsep=1cm
\twocolitem{wxDF\_INVALID}{An invalid format - used as default argument for
functions taking a wxDataFormat argument sometimes}
\twocolitem{wxDF\_TEXT}{Text format (wxString)}
\twocolitem{wxDF\_BITMAP}{A bitmap (wxBitmap)}
\twocolitem{wxDF\_METAFILE}{A metafile (wxMetafile, Windows only)}
\twocolitem{wxDF\_FILENAME}{A list of filenames}
\end{twocollist}
As mentioned above, these standard formats may be passed to any function taking
wxDataFormat argument because wxDataFormat has an implicit conversion from
them (or, to be precise from the type {\tt wxDataFormat::NativeFormat} which is
the type used by the underlying platform for data formats).
Aside the standard formats, the application may also use custom formats which
are identified by their names (strings) and not numeric identifiers. Although
internally custom format must be created (or {\it registered}) first, you
shouldn't care about it because it is done automatically the first time the
wxDataFormat object corresponding to a given format name is created. The only
implication of this is that you should avoid having global wxDataFormat objects
with non-default constructor because their constructors are executed before the
program has time to perform all necessary initialisations and so an attempt to
do clipboard format registration at this time will usually lead to a crash!
\wxheading{Virtual functions to override}
None, this class doesn't have any.
\wxheading{Derived from}
None
\wxheading{See also}
\helpref{Clipboard and drag and drop overview}{wxdndoverview},
\helpref{DnD sample}{samplednd},
\helpref{wxDataObject}{wxdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDataFormat::wxDataFormat}\label{wxdataformatwxdataformatdef}
\func{}{wxDataFormat}{\param{NativeFormat}{ format = wxDF\_INVALID}}
Constructs a data format object for one of the standard data formats or an
empty data object (use \helpref{SetType}{wxdataformatsettype} or
\helpref{SetId}{wxdataformatsetid} later in this case)
\membersection{wxDataFormat::wxDataFormat}\label{wxdataformatwxdataformat}
\func{}{wxDataFormat}{\param{const wxChar }{*format}}
Constructs a data format object for a custom format identified by its name
{\it format}.
\membersection{wxDataFormat::operator $==$}\label{wxdataformatoperatoreq}
\constfunc{bool}{operator $==$}{\param{const wxDataFormat\&}{ format}}
Returns TRUE if the formats are equal.
\membersection{wxDataFormat::operator $!=$}\label{wxdataformatoperatorneq}
\constfunc{bool}{operator $!=$}{\param{const wxDataFormat\&}{ format}}
Returns TRUE if the formats are different.
\membersection{wxDataFormat::GetId}\label{wxdataformatgetid}
\constfunc{wxString}{GetId}{\void}
Returns the name of a custom format (this function will fail for a standard
format).
\membersection{wxDataFormat::GetType}\label{wxdataformatgettype}
\constfunc{NativeFormat}{GetType}{\void}
Returns the platform-specific number identifying the format.
\membersection{wxDataFormat::SetId}\label{wxdataformatsetid}
\func{void}{SetId}{\param{const wxChar }{*format}}
Sets the format to be the custom format identified by the given name.
\membersection{wxDataFormat::SetType}\label{wxdataformatsettype}
\func{void}{SetType}{\param{NativeFormat}{ format}}
Sets the format to the given value, which should be one of wxDF\_XXX constants.

View File

@@ -1,121 +1,47 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: dataobj.tex
%% Purpose: wxDataObject documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 18.10.99
%% RCS-ID: $Id$
%% Copyright: (c) wxWindows team
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDataObject}}\label{wxdataobject}
A wxDataObject represents data that can be copied to or from the clipboard, or
dragged and dropped. The important thing about wxDataObject is that this is a
'smart' piece of data unlike usual 'dumb' data containers such as memory
buffers or files. Being 'smart' here means that the data object itself should
know what data formats it supports and how to render itself in each of
supported formats.
dragged and dropped.
A supported format, incidentally, is exactly the format in which the data can
be requested from a data object or from which the data object may be set. In
the general case, an object may support different formats on 'input' and
'output', i.e. it may be able to render itself in a given format but not be
created from data on this format or vice versa. wxDataObject defines an
enumeration type
There are several predefined data object classes, such as \helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject}, and \helpref{wxBitmapDataObject}{wxbitmapdataobject} which
can be used without change or can be altered (by deriving a new class from them) in order to deliver
data and data size on-demand. There is no need to ever use wxDataObject itself or derive directly from it.
\begin{verbatim}
enum Direction
{
Get = 0x01, // format is supported by GetDataHere()
Set = 0x02 // format is supported by SetData()
};
\end{verbatim}
You may also derive your own data object classes from \helpref{wxPrivateDataObject}{wxprivatedataobject}
for user-defined types. The format of user-defined data is given as mime-type string literal,
such as "application/word" or "image/png". These strings are used as they are under Unix (so
far only GTK) to identify a format and are translated into their Windows equivalent under
Win32 (using the OLE IDataObject for data exchange to and from the clipboard and for Drag'n'Drop).
Note that the format string translation under Windows is not yet finnished.
which allows to distinguish between them. See
\helpref{wxDataFormat}{wxdataformat} documentation for more about formats.
As mentioned above, data may be placed into the \helpref{wxClipboard}{wxclipboard}
or a \helpref{wxDropSource}{wxdropsource} instance either directly or on-demand.
As long as only one format is offerred, putting data directly into the clipboard may
be sufficient. But imagine that you paste a large piece of text to the clipboard and
offer it in "text/plain", "text/rtf", "text/html", "application/word" and your own
format for internal use - here offering data on-demand is required to minimize memory
consumption. This would generally get implemented using a central object that
contains clipboard information in the format with the maximum of information. Note
that neither the GTK data transfer mechanisms for the clipboard and Drag'n'Drop
nor the OLE data transfer copies any data until another application actually
requests the data. This is in contrast to the "feel" offered to the user of a
program who would normally think that the data resides in the clipboard after
having pressed "Copy" - in reality it is only declared to be available.
Not surprizingly, being 'smart' comes at a price of added complexity. This is
reasonable for the situations when you really need to support multiple formats,
but may be annoying if you only want to do something simple like cut and paste
text.
To provide a solution for both cases, wxWindows has two predefined classes
which derive from wxDataObject: \helpref{wxDataObjectSimple}{wxdataobjectsimple} and
\helpref{wxDataObjectComposite}{wxdataobjectcomposite}.
\helpref{wxDataObjectSimple}{wxdataobjectsimple} is
the simplest wxDataObject possible and only holds data in a single format (such
as HTML or text) and \helpref{wxDataObjectComposite}{wxdataobjectcomposite} is
the simplest way to implement wxDataObject which does support multiple formats
because it achievs this by simply holding several wxDataObjectSimple objects.
So, you have several solutions when you need a wxDataObject class (and you need
one as soon as you want to transfer data via the clipboard or drag and drop):
\begin{twocollist}\itemsep=1cm
\twocolitem{{\bf 0. Use one of built-in classes}}{You may use wxTextDataObject,
wxBitmapDataObject or wxFileDataObject in the simplest cases when you only need
to support one format and your data is either text, bitmap or list of files.}
\twocolitem{{\bf 1. Use wxDataObjectSimple}}{Deriving from wxDataObjectSimple is the simplest
solution for custom data - you will only support one format and so probably
won't be able to communicate with other programs, but data transfer will work
in your program (or between different copies of it).}
\twocolitem{{\bf 2. Use wxDataObjectComposite}}{This is a simple but powerful
solution which allows you to support any number of formats (either
standard or custom if you combine it with the previous solution).}
\twocolitem{{\bf 3. Use wxDataObject directly}}{This is the solution for
maximal flexibility and efficiency, but it also is the most difficult to
implement.}
\end{twocollist}
Please note that the easiest way to use drag and drop and the clipboard with
multiple formats is by using wxDataObjectComposite, but it is not the most
efficient one as each wxDataObjectSimple would contain the whole data in its
respective formars. Now imagine that you want to paste 200 pages of text in
your proprietary format, as well as Word, RTF, HTML, Unicode and plain text to
the clipboard and even today's computers are in trouble. For this case, you
will have to derive from wxDataObject directly and make it enumerate its
formats and provide the data in the requested format on demand.
Note that neither the GTK data transfer mechanisms for the clipboard and
drag and drop, neither does the OLE data transfer copy any data until another application
actually requests the data. This is in contrast to the 'feel' offered to the
user of a program who would normally think that the data resides in the
clipboard after having pressed 'Copy' - in reality it is only declared to be
available.
There are several predefined data object classes derived from
wxDataObjectSimple: \helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject} and
\helpref{wxBitmapDataObject}{wxbitmapdataobject} which can be used without
change.
You may also derive your own data object classes from
\helpref{wxCustomDataObject}{wxcustomdataobject} for user-defined types. The
format of user-defined data is given as mime-type string literal, such as
"application/word" or "image/png". These strings are used as they are under
Unix (so far only GTK) to identify a format and are translated into their
Windows equivalent under Win32 (using the OLE IDataObject for data exchange to
and from the clipboard and for drag and drop). Note that the format string
translation under Windows is not yet finished.
\pythonnote{At this time this class is directly usable from wxPython.
Derive a class from \helpref{wxPyDataObjectSimple}{wxdataobjectsimple}
instead.}
\wxheading{Virtual functions to override}
Each class derived directly from wxDataObject must override and implement all
of its functions which are pure virtual in the base class.
The data objects which only render their data or only set it (i.e. work in
only one direction), should return 0 from
\helpref{GetFormatCount}{wxdataobjectgetformatcount}.
Let's assume that you have written an HTML editor and want it to paste contents
in the formats "text/plain" and "text/html" to the clipboard. For offering
data on-demand in "text/plain" you would derive your class from \helpref{wxTextDataObject}{wxtextdataobject}
and for offering data on-demand in "text/html" you would derive your own class from
\helpref{wxPrivateDataObject}{wxprivatedataobject} and set its ID string
identifying the format to "text/html" using \helpref{wxPrivateDataObject::SetId}{wxprivatedataobjectsetid}.
In your two derived classed you'd then have a pointer or reference to the central
data container and you'd override the methods returning the size of the
available data and the WriteData() methods in both classes.
\wxheading{Derived from}
None
\helpref{wxObject}{wxobject}
\wxheading{Include files}
@@ -123,16 +49,13 @@ None
\wxheading{See also}
\helpref{Clipboard and drag and drop overview}{wxdndoverview},
\helpref{DnD sample}{samplednd},
\helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject},
\helpref{wxBitmapDataObject}{wxbitmapdataobject},
\helpref{wxCustomDataObject}{wxcustomdataobject},
\helpref{wxDropTarget}{wxdroptarget},
\helpref{wxPrivateDataObject}{wxprivatedataobject},
\helpref{Drag and drop overview}{wxdndoverview}, \helpref{wxDropTarget}{wxdroptarget},
\helpref{wxDropSource}{wxdropsource},
\helpref{wxTextDropTarget}{wxtextdroptarget},
\helpref{wxFileDropTarget}{wxfiledroptarget}
\helpref{wxTextDropTarget}{wxtextdroptarget}, \helpref{wxFileDropTarget}{wxfiledroptarget}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -148,46 +71,18 @@ Constructor.
Destructor.
\membersection{wxDataObject::GetAllFormats}\label{wxdataobjectgetallformats}
\membersection{wxDataObject::WriteData}\label{wxdataobjectwritedata}
\constfunc{virtual void}{GetAllFormats}{ \param{wxDataFormat *}{formats}, \param{Direction}{ dir = Get}}
\constfunc{virtual void}{WriteData}{\param{void}{*dest} }
Copy all supported formats in the given direction to the array pointed to by
{\it formats}. There is enough space for GetFormatCount(dir) formats in it.
Write the data owned by this class to {\it dest}. This method is a pure
virtual function and must be overridden.
\membersection{wxDataObject::GetDataHere}\label{wxdataobjectgetdatahere}
\membersection{wxDataObject::GetSize}\label{wxdataobjectgetdatasize}
\constfunc{virtual bool}{GetDataHere}{\param{const wxDataFormat\&}{ format}, \param{void }{*buf} }
\constfunc{virtual size\_t}{GetSize}{\void}
The method will write the data of the format {\it format} in the buffer {\it
buf} and return TRUE on success, FALSE on failure.
Returns the data size. This method is a pure
virtual function and must be overridden.
\membersection{wxDataObject::GetDataSize}\label{wxdataobjectgetdatasize}
\constfunc{virtual size\_t}{GetDataSize}{\param{const wxDataFormat\&}{ format} }
Returns the data size of the given format {\it format}.
\membersection{wxDataObject::GetFormatCount}\label{wxdataobjectgetformatcount}
\constfunc{virtual size\_t}{GetFormatCount}{\param{Direction}{ dir = Get}}
Returns the number of available formats for rendering or setting the data.
\membersection{wxDataObject::GetPreferredFormat}\label{wxdataobjectgetpreferredformat}
\constfunc{virtual wxDataFormat}{GetPreferredFormat}{\param{Direction}{ dir = Get}}
Returns the preferred format for either rendering the data (if {\it dir} is {\tt Get},
its default value) or for setting it. Usually this will be the
native format of the wxDataObject.
\membersection{wxDataObject::SetData}\label{wxdataobjectsetdata}
\func{virtual bool}{SetData}{ \param{const wxDataFormat\&}{ format}, \param{size\_t}{ len}, \param{const void }{*buf} }
Set the data in the format {\it format} of the length {\it len} provided in the
buffer {\it buf}.
Returns TRUE on success, FALSE on failure.

View File

@@ -31,10 +31,6 @@ For example:
See also \helpref{wxDataOutputStream}{wxdataoutputstream}.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/datstrm.h>
@@ -118,10 +114,6 @@ usage and caveats.
See also \helpref{wxDataInputStream}{wxdatainputstream}.
\wxheading{Derived from}
None
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDataOutputStream::wxDataOutputStream}\label{wxdataoutputstreamconstr}

View File

@@ -53,8 +53,8 @@ released for each drawing operation.
\membersection{wxDC::Blit}\label{wxdcblit}
\func{bool}{Blit}{\param{long}{ xdest}, \param{long}{ ydest}, \param{long}{ width}, \param{long}{ height},
\param{wxDC* }{source}, \param{long}{ xsrc}, \param{long}{ ysrc}, \param{int}{ logicalFunc = wxCOPY},
\param{bool }{useMask = FALSE}}
\param{wxDC* }{source}, \param{long}{ xsrc}, \param{long}{ ysrc}, \param{int}{ logicalFunc},
\param{bool }{useMask}}
Copy from a source DC to this DC, specifying the destination
coordinates, size of area to copy, source DC, source coordinates, and
@@ -104,7 +104,7 @@ There is partial support for Blit in wxPostScriptDC, under X.
See \helpref{wxMemoryDC}{wxmemorydc} for typical usage.
\wxheading{See also}
wxheading{See also}
\helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxBitmap}{wxbitmap}, \helpref{wxMask}{wxmask}
@@ -418,9 +418,6 @@ Gets the current pen (see \helpref{wxDC::SetPen}{wxdcsetpen}).
Sets {\it colour} to the colour at the specified location. Windows only; an X implementation
is being worked on. Not available for wxPostScriptDC or wxMetafileDC.
\pythonnote{For wxPython the wxColour value is returned and is not
required as a parameter.}
\membersection{wxDC::GetSize}\label{wxdcgetsize}
\func{void}{GetSize}{\param{long *}{width}, \param{long *}{height}}

View File

@@ -1,65 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: dobjcomp.tex
%% Purpose: wxDataObjectComposite documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 02.11.99
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDataObjectComposite}}\label{wxdataobjectcomposite}
wxDataObjectComposite is the simplest
\helpref{wxDataObject}{wxdataobject} derivation which may be sued to support
multiple formats. It contains several
\helpref{wxDataObjectSimple}{wxdataobjectsimple} objects and supports any
format supported by at least one of them. Only one of these data objects is
{\it preferred} (the first one if not explicitly changed by using the second
parameter of \helpref{Add}{wxdataobjectcompositeadd}) and its format determines
the preferred format of the composite data object as well.
See \helpref{wxDataObject}{wxdataobject} documentation for the reasons why you
might prefer to use wxDataObject directly instead of wxDataObjectComposite for
efficiency reasons.
\wxheading{Virtual functions to override}
None, this class should be used directly.
\wxheading{Derived from}
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
<wx/dataobj.h>
\wxheading{See also}
\helpref{Clipboard and drag and drop overview}{wxdndoverview},
\helpref{wxDataObject}{wxdataobject},
\helpref{wxDataObjectSimple}{wxdataobjectsimple},
\helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject},
\helpref{wxBitmapDataObject}{wxbitmapdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDataObjectComposite::wxDataObjectComposite}\label{wxdataobjectcompositewxdataobjectcomposite}
\func{}{wxDataObjectComposite}{\void}
The default constructor.
\membersection{wxDataObjectComposite::Add}\label{wxdataobjectcompositeadd}
\func{void}{Add}{
\param{wxDataObjectSimple }{*dataObject},
\param{bool }{preferred = FALSE}}
Adds the {\it dataObject} to the list of supported objects and it becomes the
preferred object if {\it preferred} is TRUE.

View File

@@ -1,102 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: dobjsmpl.tex
%% Purpose: wxDataObjectSimple documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 02.11.99
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxDataObjectSimple}}\label{wxdataobjectsimple}
This is the simplest possible implementation of
\helpref{wxDataObject}{wxdataobject} class. The data object of (a class derived
from) this class only supports one format, so the number of virtual functions
to be implemented is reduced.
Notice that this is still an abstract base class and cannot be used but should
be derived from.
\pythonnote{If you wish to create a derived wxDataObjectSimple class in
wxPython you should derive the class from wxPyDataObjectSimple
in order to get Python-aware capabilities for the various virtual
methods.}
\wxheading{Virtual functions to override}
The objects supporting rendering the data must override
\helpref{GetDataSize}{wxdataobjectsimplegetdatasize} and
\helpref{GetDataHere}{wxdataobjectsimplegetdatahere} while the objects which
may be set must override \helpref{SetData}{wxdataobjectsimplesetdata}. Of
course, the objects supporting both operations must override all threee
methods.
\wxheading{Derived from}
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
<wx/dataobj.h>
\wxheading{See also}
\helpref{Clipboard and drag and drop overview}{wxdndoverview},
\helpref{DnD sample}{samplednd},
\helpref{wxFileDataObject}{wxfiledataobject},
\helpref{wxTextDataObject}{wxtextdataobject},
\helpref{wxBitmapDataObject}{wxbitmapdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDataObjectSimple::wxDataObjectSimple}\label{wxdataobjectsimplewxdataobjectsimple}
\func{}{wxDataObjectSimple}{\param{const wxDataFormat\&}{ format = wxFormatInvalid}}
Constructor accepts the supported format (none by default) which may also be
set later with \helpref{SetFormat}{wxdataobjectsimplesetformat}.
\membersection{wxDataObjectSimple::GetFormat}\label{wxdataobjectsimplegetformat}
\constfunc{const wxDataFormat\&}{GetFormat}{\void}
Returns the (one and only one) format supported by this object. It is supposed
that the format is supported in both directions.
\membersection{wxDataObjectSimple::SetFormat}\label{wxdataobjectsimplesetformat}
\func{void}{SetFormat}{\param{const wxDataFormat\&}{ format}}
Sets the supported format.
\membersection{wxDataObjectSimple::GetDataSize}\label{wxdataobjectsimplegetdatasize}
\constfunc{virtual size\_t}{GetDataSize}{\void}
Gets the size of our data. Must be implemented in the derived class if the
object supports rendering its data.
\membersection{wxDataObjectSimple::GetDataHere}\label{wxdataobjectsimplegetdatahere}
\constfunc{virtual bool}{GetDataHere}{\param{void }{*buf}}
Copy the data to the buffer, return TRUE on success. Must be implemented in the
derived class if the object supports rendering its data.
\pythonnote{When implementing this method in wxPython, no additional
parameters are required and the data should be returned from the
method as a string.}
\membersection{wxDataObjectSimple::SetData}\label{wxdataobjectsimplesetdata}
\func{virtual bool}{SetData}{\param{size\_t }{len}, \param{const void }{*buf}}
Copy the data from the buffer, return TRUE on success. Must be implemented in
the derived class if the object supports setting its data.
\pythonnote{When implementing this method in wxPython, the data comes
as a single string parameter rather than the two shown here.}

View File

@@ -58,12 +58,6 @@ A list of all documents.
Stores the flags passed to the constructor.
\membersection{wxDocManager::m\_lastDirectory}
The directory last selected by the user when opening a file.
\member{wxFileHistory*}{m\_fileHistory}
\membersection{wxDocManager::m\_templates}
\member{wxList}{mnTemplates}
@@ -228,12 +222,6 @@ Returns a reference to the list of documents.
Returns a pointer to file history.
\membersection{wxDocManager::GetLastDirectory}\label{wxdocmanagergetlastdirectory}
\constfunc{wxString}{GetLastDirectory}{\void}
Returns the directory last selected by the user when opening a file. Initially empty.
\membersection{wxDocManager::GetMaxDocsOpen}
\func{int}{GetMaxDocsOpen}{\void}
@@ -363,12 +351,6 @@ displaying a list of valid views. This function is used in wxDocManager::CreateV
The dialog normally won't appear because the array of templates only contains
those relevant to the document in question, and often there will only be one such.
\membersection{wxDocManager::SetLastDirectory}\label{wxdocmanagersetlastdirectory}
\func{void}{SetLastDirectory}{\param{const wxString\&}{ dir}}
Sets the directory to be displayed to the user when opening a file. Initially this is empty.
\membersection{wxDocManager::SetMaxDocsOpen}
\func{void}{SetMaxDocsOpen}{\param{int}{ n}}

View File

@@ -44,6 +44,14 @@ call \helpref{wxDropSource::SetData}{wxdropsourcesetdata} later.
{\it win} is required by wxGTK and therefore should always be set.
\func{}{wxDropSource}{\param{wxDataObject\& }{data}, \param{wxWindow*}{ win = NULL}}
\wxheading{Parameters}
\docparam{data}{A reference to the \helpref{data object}{wxdataobject} associated with the drop source.}
\docparam{win}{Only used by wxGTK. TODO}
\membersection{wxDropSource::\destruct{wxDropSource}}\label{wxdropsourcedtor}
\func{virtual }{\destruct{wxDropSource}}{\void}
@@ -56,15 +64,16 @@ Sets the data \helpref{data object}{wxdataobject} associated with the drop sourc
\membersection{wxDropSource::DoDragDrop}\label{wxdropsourcedodragdrop}
\func{virtual wxDragResult}{DoDragDrop}{\param{bool }{allowMove = FALSE}}
\func{virtual wxDragResult}{DoDragDrop}{\param{bool }{bAllowMove = FALSE}}
Do it (call this in response to a mouse button press, for example).
If {\bf allowMove} is FALSE, data can only be copied.
If {\bf bAllowMove} is FALSE, data can only be copied. Under GTK, data
is always copied.
\membersection{wxDropSource::GiveFeedback}\label{wxdropsourcegivefeedback}
\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{scrolling}}
\func{virtual bool}{GiveFeedback}{\param{wxDragResult }{effect}, \param{bool }{bScrolling}}
Overridable: you may give some custom UI feedback during the drag and drop operation
in this function. It is called on each mouse move, so your implementation must not be too
@@ -72,12 +81,12 @@ slow.
\wxheading{Parameters}
\docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove and wxDragNone. }
\docparam{effect}{The effect to implement. One of wxDragCopy, wxDragMove. MSW only. }
\docparam{scrolling}{TRUE if the window is scrolling. MSW only. }
\docparam{bScrolling}{TRUE if the window is scrolling. MSW only. }
\wxheading{Return value}
Return FALSE if you want default feedback, or TRUE if you implement your own
feedback. The return values is ignored under GTK.
feedback.

View File

@@ -43,15 +43,11 @@ Override this to indicate how many formats you support.
Override this to indicate what kind of data you support.
\membersection{wxDropTarget::OnData}\label{wxdroptargetondata}
\membersection{wxDropTarget::OnEnter}\label{wxdroptargetonenter}
\func{virtual wxDragResult}{OnData}{\param{wxCoord}{ x}, \param{wxCoord}{ y}, \param{wxDragResult}{ def}}
\func{virtual void}{OnEnter}{\void}
Called after OnDrop() returns TRUE: you will usually just call
GetData() from here and, probably, also refresh something to update the
new data and, finally, return the code indicating how did the operation
complete (returning default value in case of success and wxDragError on
failure is usually ok).
Called when the mouse enters the drop target.
\membersection{wxDropTarget::OnDrop}\label{wxdroptargetondrop}
@@ -73,12 +69,6 @@ Called when the user drops a data object on the target. Return FALSE to veto the
Return TRUE to accept the data, FALSE to veto the operation.
\membersection{wxDropTarget::OnEnter}\label{wxdroptargetonenter}
\func{virtual void}{OnEnter}{\void}
Called when the mouse enters the drop target.
\membersection{wxDropTarget::OnLeave}\label{wxdroptargetonleave}
\func{virtual void}{OnLeave}{\void}

View File

@@ -118,9 +118,9 @@ Gets the pointer to the next handler in the chain.
\wxheading{See also}
\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
\helpref{wxEvtHandler::GetPreviousHandler}{wxevthandlergetprevioushandler},\rtfsp
\helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
\helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
\helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}
@@ -132,9 +132,9 @@ Gets the pointer to the previous handler in the chain.
\wxheading{See also}
\helpref{wxEvtHandler::GetPreviousHandler}{wxevthandlergetprevioushandler},\rtfsp
\helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
\helpref{wxEvtHandler::SetPreviousHandler}{wxevthandlersetprevioushandler},\rtfsp
\helpref{wxEvtHandler::GetNextHandler}{wxevthandlergetnexthandler},\rtfsp
\helpref{wxEvtHandler::SetNextHandler}{wxevthandlersetnexthandler},\rtfsp
\helpref{wxWindow::PushEventHandler}{wxwindowpusheventhandler},\rtfsp
\helpref{wxWindow::PopEventHandler}{wxwindowpopeventhandler}

View File

@@ -1,24 +1,9 @@
\section{\class{wxFileDataObject}}\label{wxfiledataobject}
wxFileDataObject is a specialization of \helpref{wxDataObject}{wxdataobject}
for file names. The program works with it just as if it were a list of file
names (absolutep aths always), but internally it uses the same format as
Explorer and other compatible programs under Windows or GNOME/KDE filemanager
under Unix which makes it possible to receive files from them using this
class.
{\bf Warning:} Under all non-Windows platforms this class is currently
"input-only", i.e. you can receieve the files from another application, but
copying (or dragging) file(s) from a wxWindows application is not currently
supported.
\wxheading{Virtual functions to override}
None.
wxFileDataObject is a specialization of wxDataObject for file names.
\wxheading{Derived from}
\helpref{wxDataObjectSimple}{wxdataobjectsimple}\\
\helpref{wxDataObject}{wxdataobject}
\wxheading{Include files}
@@ -27,29 +12,31 @@ None.
\wxheading{See also}
\helpref{wxDataObject}{wxdataobject},
\helpref{wxDataObjectSimple}{wxdataobjectsimple},
\helpref{wxTextDataObject}{wxtextdataobject},
\helpref{wxBitmapDataObject}{wxbitmapdataobject}
\helpref{wxDataObject}{wxdataobject}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxFileDataObject}\label{wxfiledataobjectwxfiledataobject}
\membersection{wxFileDataObject::wxFileDataObject}\label{wxfiledataobjectwxfiledataobject}
\func{}{wxFileDataObject}{\void}
Constructor.
\membersection{wxFileDataObject::GetFormat}\label{wxfiledataobjectgetformat}
\constfunc{virtual wxDataFormat}{GetFormat}{\void}
Returns wxDF\_FILENAME.
\membersection{wxFileDataObject::AddFile}\label{wxfiledataobjectaddfile}
\func{virtual void}{AddFile}{\param{const wxString\& }{file}}
{\bf MSW only:} adds a file to the file list represented by this data object.
Adds a filename to the data object.
\membersection{wxFileDataObject::GetFilenames}\label{wxfiledataobjectgetfilenames}
\membersection{wxFileDataObject::GetFiles}\label{wxfiledataobjectgetfiles}
\constfunc{const wxArrayString\& }{GetFilenames}{\void}
\constfunc{virtual wxString}{GetFiles}{\void}
Returns the \helpref{array}{wxarraystring} of file names.
Returns files as a zero-separated list.

View File

@@ -26,12 +26,17 @@ If path is ``", the current directory will be used. If filename is ``",
no default filename will be supplied. The wildcard determines what files
are displayed in the file selector, and file extension supplies a type
extension for the required filename. Flags may be a combination of wxOPEN,
wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, or 0.
wxSAVE, wxOVERWRITE\_PROMPT, wxHIDE\_READONLY, or 0. They are only significant
at present in Windows.
Both the X and Windows versions implement a wildcard filter. Typing a
filename containing wildcards (*, ?) in the filename text item, and
clicking on Ok, will result in only those files matching the pattern being
displayed. The wildcard may be a specification for multiple
displayed. In the X version, supplying no default name will result in the
wildcard filter being inserted in the filename text item; the filter is
ignored if a default name is supplied.
Under Windows (only), the wildcard may be a specification for multiple
types of file with a description for each, such as:
\begin{verbatim}
@@ -64,10 +69,10 @@ Constructor. Use \helpref{wxFileDialog::ShowModal}{wxfiledialogshowmodal} to sho
\twocolwidtha{5cm}
\begin{twocollist}
\twocolitem{{\bf wxOPEN}}{This is an open dialog.}
\twocolitem{{\bf wxSAVE}}{This is a save dialog.}
\twocolitem{{\bf wxHIDE\_READONLY}}{Hide read-only files.}
\twocolitem{{\bf wxOVERWRITE\_PROMPT}}{Prompt for a conformation if a file will be overridden.}
\twocolitem{{\bf wxOPEN}}{This is an open dialog (Windows only).}
\twocolitem{{\bf wxSAVE}}{This is a save dialog (Windows only).}
\twocolitem{{\bf wxHIDE\_READONLY}}{Hide read-only files (Windows only).}
\twocolitem{{\bf wxOVERWRITE\_PROMPT}}{Prompt for a conformation if a file will be overridden (Windows only).}
\end{twocollist}%
}

View File

@@ -5,9 +5,9 @@
\section{\class{wxFileSystem}}\label{wxfilesystem}
This class provides an interface for opening files on different
This class provides interface for opening files on different
file systems. It can handle absolute and/or local filenames.
It uses a system of \helpref{handlers}{wxfilesystemhandler} to
It uses system of \helpref{handlers}{wxfilesystemhandler} to
provide access to user-defined virtual file systems.
\wxheading{Derived from}
@@ -16,8 +16,8 @@ wxObject
\wxheading{See Also}
\helpref{wxFileSystemHandler}{wxfilesystemhandler},
\helpref{wxFSFile}{wxfsfile},
\helpref{wxFileSystemHandler}{wxfilesystemhandler},
\helpref{wxFSFile}{wxfsfile},
\helpref{Overview}{fs}
\latexignore{\rtfignore{\wxheading{Members}}}
@@ -28,25 +28,6 @@ wxObject
Constructor.
\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler}
\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}}
This static function adds new handler into the list of handlers.
The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS.
\wxheading{Note}
You can call:
\begin{verbatim}
wxFileSystem::AddHandler(new My_FS_Handler);
\end{verbatim}
This is because (a) AddHandler is a static method, and (b) the handlers
are deleted in wxFileSystem's destructor so that you don't have to
care about it.
\membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = FALSE}}
@@ -85,22 +66,6 @@ f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}).
\membersection{wxFileSystem::FindFirst}\label{wxfilesystemfindfirst}
\func{wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}}
Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first
filename (withing filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of
wxFILE (only files), wxDIR (only directories) or 0 (both).
\membersection{wxFileSystem::FindNext}\label{wxfilesystemfindnext}
\func{wxString}{FindNext}{\void}
Returns next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}.
\membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile}
\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}}
@@ -110,3 +75,22 @@ or NULL if failed. It first tries to open the file in relative scope
(based on value passed to ChangePathTo() method) and then as an
absolute path.
\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler}
\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}}
This static function adds new handler into the list of handlers.
The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS.
\wxheading{Note}
You can call:
\begin{verbatim}
wxFileSystem::AddHandler(new My_FS_Handler);
\end{verbatim}
This is because (a) AddHandler is a static method, and (b) the handlers
are deleted in wxFileSystem's destructor so that you don't have to
care about it.

View File

@@ -5,12 +5,12 @@
\section{\class{wxFileSystemHandler}}\label{wxfilesystemhandler}
Classes derived from wxFileSystemHandler are used
to access virtual file systems. Its public interface consists
of two methods: \helpref{CanOpen}{wxfilesystemhandlercanopen}
wxFileSystemHandler (or derived classes to be exact) is used
to access virtual file systems. It's public interface consists
from two methods: \helpref{CanOpen}{wxfilesystemhandlercanopen}
and \helpref{OpenFile}{wxfilesystemhandleropenfile}.
It provides additional protected methods to simplify the process
of opening the file: GetProtocol, GetLeftLocation, GetRightLocation,
It provides additional protected methods to simplify process
of opening the file : GetProtocol, GetLeftLocation, GetRightLocation,
GetAnchor, GetMimeTypeFromExt.
Please have a look at \helpref{overview}{fs} if you don't know how locations
@@ -18,11 +18,13 @@ are constructed.
\wxheading{Notes}
\begin{itemize}\itemsep=0pt
\begin{itemize}
\item The handlers are shared by all instances of wxFileSystem.
\item wxHTML library provides handlers for local files and HTTP or FTP protocol
\item The {\it location} parameter passed to OpenFile or CanOpen methods
is always an {\bf absolute} path. You don't need to check the FS's current path.
is always {\bf absolute} path. You don't need to check the FS's current path!
\end{itemize}
\wxheading{Derived from}
@@ -31,8 +33,8 @@ wxObject
\wxheading{See also}
\helpref{wxFileSystem}{wxfilesystem},
\helpref{wxFSFile}{wxfsfile},
\helpref{wxFileSystem}{wxfilesystem},
\helpref{wxFSFile}{wxfsfile},
\helpref{Overview}{fs}
\membersection{wxFileSystemHandler::wxFileSystemHandler}\label{wxfilesystemhandlerwxfilesystemhandler}
@@ -45,8 +47,8 @@ Constructor.
\func{virtual bool}{CanOpen}{\param{const wxString\& }{location}}
Returns TRUE if the handler is able to open this file. This function doesn't
check whether the file exists or not, it only checks if it knows the protocol.
Returns TRUE if the handler is able to open this file (this function doesn't
check whether the file exists or not, it only checks if it knows the protocol).
Example:
\begin{verbatim}
@@ -56,70 +58,7 @@ bool MyHand::CanOpen(const wxString& location)
}
\end{verbatim}
Must be overridden in derived handlers.
\membersection{wxFileSystemHandler::GetAnchor}\label{wxfilesystemhandlergetanchor}
\constfunc{wxString}{GetAnchor}{\param{const wxString\& }{location}}
Returns the anchor if present in the location.
See \helpref{wxFSFile}{wxfsfilegetanchor} for details.
Example: GetAnchor("index.htm\#chapter2") == "chapter2"
{\bf Note:} the anchor is NOT part of the left location.
\membersection{wxFileSystemHandler::GetLeftLocation}\label{wxfilesystemhandlergetleftlocation}
\constfunc{wxString}{GetLeftLocation}{\param{const wxString\& }{location}}
Returns the left location string extracted from {\it location}.
Example: GetLeftLocation("file:myzipfile.zip\#zip:index.htm") == "file:myzipfile.zip"
\membersection{wxFileSystemHandler::GetMimeTypeFromExt}\label{wxfilesystemhandlergetmimetypefromext}
\func{wxString}{GetMimeTypeFromExt}{\param{const wxString\& }{location}}
Returns the MIME type based on {\bf extension} of {\it location}. (While wxFSFile::GetMimeType
returns real MIME type - either extension-based or queried from HTTP.)
Example : GetMimeTypeFromExt("index.htm") == "text/html"
\membersection{wxFileSystemHandler::GetProtocol}\label{wxfilesystemhandlergetprotocol}
\constfunc{wxString}{GetProtocol}{\param{const wxString\& }{location}}
Returns the protocol string extracted from {\it location}.
Example: GetProtocol("file:myzipfile.zip\#zip:index.htm") == "zip"
\membersection{wxFileSystemHandler::GetRightLocation}\label{wxfilesystemhandlergetrightlocation}
\constfunc{wxString}{GetRightLocation}{\param{const wxString\& }{location}}
Returns the right location string extracted from {\it location}.
Example : GetRightLocation("file:myzipfile.zip\#zip:index.htm") == "index.htm"
\membersection{wxFileSystemHandler::FindFirst}\label{wxfilesystemhandlerfindfirst}
\func{virtual wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}}
Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first
filename (withing filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of
wxFILE (only files), wxDIR (only directories) or 0 (both).
This method is only called if \helpref{CanOpen}{wxfilesystemhandlercanopen} returns TRUE.
\membersection{wxFileSystemHandler::FindNext}\label{wxfilesystemhandlerfindnext}
\func{virtual wxString}{FindNext}{\void}
Returns next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}.
This method is only called if \helpref{CanOpen}{wxfilesystemhandlercanopen} returns TRUE and FindFirst
returned a non-empty string.
Must be overwriten in derived handlers.
\membersection{wxFileSystemHandler::OpenFile}\label{wxfilesystemhandleropenfile}
@@ -127,12 +66,56 @@ returned a non-empty string.
Opens the file and returns wxFSFile pointer or NULL if failed.
Must be overridden in derived handlers.
Must be overwriten in derived handlers.
\wxheading{Parameters}
\docparam{fs}{Parent FS (the FS from that OpenFile was called). See ZIP handler
for details of how to use it.}
for details how to use it.}
\docparam{location}{The {\bf absolute} location of file.}
\membersection{wxFileSystemHandler::GetProtocol}\label{wxfilesystemhandlergetprotocol}
\constfunc{wxString}{GetProtocol}{\param{const wxString\& }{location}}
Returns protocol string extracted from {\it location}.
Example: GetProtocol("file:myzipfile.zip\#zip:index.htm") == "zip"
\membersection{wxFileSystemHandler::GetLeftLocation}\label{wxfilesystemhandlergetleftlocation}
\constfunc{wxString}{GetLeftLocation}{\param{const wxString\& }{location}}
Returns left location string extracted from {\it location}.
Example: GetLeftLocation("file:myzipfile.zip\#zip:index.htm") == "file:myzipfile.zip"
\membersection{wxFileSystemHandler::GetAnchor}\label{wxfilesystemhandlergetanchor}
\constfunc{wxString}{GetAnchor}{\param{const wxString\& }{location}}
Returns anchor if present in the location.
See \helpref{wxFSFile}{wxfsfilegetanchor} for details.
Example : GetAnchor("index.htm\#chapter2") == "chapter2"
{\bf Note:} anchor is NOT part of left location.
\membersection{wxFileSystemHandler::GetRightLocation}\label{wxfilesystemhandlergetrightlocation}
\constfunc{wxString}{GetRightLocation}{\param{const wxString\& }{location}}
Returns right location string extracted from {\it location}.
Example : GetRightLocation("file:myzipfile.zip\#zip:index.htm") == "index.htm"
\membersection{wxFileSystemHandler::GetMimeTypeFromExt}\label{wxfilesystemhandlergetmimetypefromext}
\func{wxString}{GetMimeTypeFromExt}{\param{const wxString\& }{location}}
Returns MIME type based on {\bf extension} of {\it location}. (While wxFSFile::GetMimeType
returns real MIME type - either extension-based or queried from HTTP)
Example : GetMimeTypeFromExt("index.htm") == "text/html"

View File

@@ -1,6 +1,6 @@
\section{\class{wxFileType}}\label{wxfiletype}
This class holds information about a given {\it file type}. File type is the same as
This class holds information about a given "file type". File type is the same as
MIME type under Unix, but under Windows it corresponds more to an extension than
to MIME type (in fact, several extensions may correspond to a file type). This
object may be created in several different ways: the program might know the file
@@ -13,14 +13,14 @@ will be returned if the corresponding information couldn't be found.
The objects of this class are never created by the application code but are
returned by \helpref{wxMimeTypesManager::GetFileTypeFromMimeType}{wxmimetypesmanagergetfiletypefrommimetype} and
\helpref{wxMimeTypesManager::GetFileTypeFromExtension}{wxmimetypesmanagergetfiletypefromextension} methods.
But it's your responsibility to delete the returned pointer when you're done
But it's your responsability to delete the returned pointer when you're done
with it!
% TODO describe MIME types better than this...
A brief reminder about what the MIME types are (see the RFC 1341 for more
information): basically, it is just a pair category/type (for example,
"text/plain") where the category is a basic indication of what a file is.
Examples of categories are "application", "image", "text", "binary", and
A brief remainder about what the MIME types are (see the RFC 1341 for more
information): basicly, it is just a pair category/type (for example,
"text/plain") where the category is a basic indication of what a file is
(examples of categories are "application", "image", "text", "binary"...) and
type is a precise definition of the document format: "plain" in the example
above means just ASCII text without any formatting, while "text/html" is the
HTML document source.
@@ -31,7 +31,7 @@ typically correspond to the extension ".txt", but may as well be associated with
\wxheading{Derived from}
None
No base class.
\wxheading{Include files}

View File

@@ -3,10 +3,6 @@
% -----------------------------------------------------------------------------
\section{\class{wxFilterInputStream}}\label{wxfilterinputstream}
A filter stream has the capability of a normal stream but it can be placed on top
of another stream. So, for example, it can uncompress, uncrypt the datas which are read
from another stream and pass it to the requester.
\wxheading{Derived from}
\helpref{wxInputStream}{wxinputstream}\\
@@ -28,5 +24,8 @@ differs and it is documented below.
\func{}{wxFilterInputStream}{\param{wxInputStream\&}{ stream}}
Initializes a "filter" stream.
Initializes a "filter" stream. A filter stream has the capability of a normal
stream but it can be placed on the top of another stream. So, for example, it
can uncompress, uncrypt the datas which are read from another stream and pass it
to the requester.

View File

@@ -3,11 +3,6 @@
% -----------------------------------------------------------------------------
\section{\class{wxFilterOutputStream}}\label{wxfilteroutputstream}
A filter stream has the capability of a normal
stream but it can be placed on top of another stream. So, for example, it
can compress, encrypt the data which are passed to it and write them to another
stream.
\wxheading{Derived from}
\helpref{wxOutputStream}{wxoutputstream}\\
@@ -29,5 +24,8 @@ differs and it is documented below.
\func{}{wxFilterOutputStream}{\param{wxOutputStream\&}{ stream}}
Initializes a "filter" stream.
Initializes a "filter" stream. A filter stream has the capability of a normal
stream but it can be placed on the top of another stream. So, for example, it
can compress, crypt the datas which are passed to it and write them to another
stream.

View File

@@ -41,11 +41,9 @@ wxSWISS\_FONT}
Default constructor.
\func{}{wxFont}{\param{int}{ pointSize}, \param{int}{ family}, \param{int}{ style}, \param{int}{ weight},
\param{const bool}{ underline = FALSE}, \param{const wxString\& }{faceName = ""},
\param{wxFontEncoding }{encoding = wxFONTENCODING\_DEFAULT}}
\param{const bool}{ underline = FALSE}, \param{const wxString\& }{faceName = ""}}
Creates a font object (see \helpref{font encoding
overview}{wxfontencodingoverview} for the meaning of the last parameter).
Creates a font object.
\wxheading{Parameters}
@@ -72,22 +70,6 @@ overview}{wxfontencodingoverview} for the meaning of the last parameter).
\docparam{faceName}{An optional string specifying the actual typeface to be used. If the empty string,
a default typeface will chosen based on the family.}
\docparam{encoding}{An encoding which may be one of
\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxFONTENCODING\_SYSTEM}}{Default system encoding.}
\twocolitem{{\bf wxFONTENCODING\_DEFAULT}}{Default application encoding: this
is the encoding set by calls to
\helpref{SetDefaultEncoding}{wxfontsetdefaultencoding} and which may be set to,
say, KOI8 to create all fonts by default with KOI8 encoding. Initially, the
default application encoding is the same as default system encoding.}
\twocolitem{{\bf wxFONTENCODING\_ISO8859\_1...15}}{ISO8859 encodings.}
\twocolitem{{\bf wxFONTENCODING\_KOI8}}{The standard russian encoding for Internet.}
\twocolitem{{\bf wxFONTENCODING\_CP1250...1252}}{Windows encodings similar to ISO8859 (but not identical).}
\end{twocollist}
If the specified encoding isn't available, no font is created.
}
\wxheading{Remarks}
If the desired font does not exist, the closest match will be chosen.
@@ -107,24 +89,13 @@ Destructor.
\wxheading{Remarks}
The destructor may not delete the underlying font object of the native windowing
system, since wxFont uses a reference counting system for efficiency.
system, since wxBrush uses a reference counting system for efficiency.
Although all remaining fonts are deleted when the application exits,
the application should try to clean up all fonts itself. This is because
wxWindows cannot know if a pointer to the font object is stored in an
application data structure, and there is a risk of double deletion.
\membersection{wxFont::GetDefaultEncoding}\label{wxfontgetdefaultencoding}
\func{static wxFontEncoding}{GetDefaultEncoding}{\void}
Returns the current applications default encoding.
\wxheading{See also}
\helpref{Font encoding overview}{wxfontencodingoverview},
\helpref{SetDefaultEncoding}{wxfontsetdefaultencoding}
\membersection{wxFont::GetFaceName}\label{wxfontgetfacename}
\constfunc{wxString}{GetFaceName}{\void}
@@ -196,17 +167,6 @@ weight identifiers.
\helpref{wxFont::SetWeight}{wxfontsetweight}
\membersection{wxFont::SetDefaultEncoding}\label{wxfontsetdefaultencoding}
\func{static void}{SetDefaultEncoding}{\param{wxFontEncoding }{encoding}}
Sets the default font encoding.
\wxheading{See also}
\helpref{Font encoding overview}{wxfontencodingoverview},
\helpref{GetDefaultEncoding}{wxfontgetdefaultencoding}
\membersection{wxFont::SetFaceName}\label{wxfontsetfacename}
\func{void}{SetFaceName}{\param{const wxString\& }{faceName}}

View File

@@ -1,111 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: fontenum.tex
%% Purpose: wxFontEnumerator documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 03.11.99
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxFontEnumerator}}\label{wxfontenumerator}
wxFontEnumerator enumerates either all available fonts on the system or only
the ones with given attributes - either only fixed-width (suited for use in
programs such as terminal emulators and the like) or the fonts available in
the given \helpref{encoding}{wxfontencodingoverview}.
To do this, you just have to call one of EnumerateXXX() functions - either
\helpref{EnumerateFacenames}{wxfontenumeratorenumeratefacenames} or
\helpref{EnumerateEncodings}{wxfontenumeratorenumerateencodings} and the
corresponding callback (
\helpref{OnFacename}{wxFontEnumeratoronfacename} or
\helpref{OnFontEncoding}{wxfontenumeratoronfontencoding}) will be called
repeatedly until either all fonts (satisfying the specified criteria) are
exhausted or the callback returns FALSE.
\wxheading{Virtual functions to override}
Either \helpref{OnFacename}{wxfontenumeratoronfacename} or
\helpref{OnFontEncoding}{wxfontenumeratoronfontencoding} should be overridden
depending on whether you plan to call
\helpref{EnumerateFacenames}{wxfontenumeratorenumeratefacenames} or
\helpref{EnumerateEncodings}{wxfontenumeratorenumerateencodings}. Of course,
if you call both of them, you should override both functions.
\wxheading{Derived from}
None
\wxheading{Include files}
<wx/fontenum.h>
\wxheading{See also}
\helpref{Font encoding overview}{wxfontencodingoverview},
\helpref{Font sample}{samplefont},
\helpref{wxFont}{wxfont},
\helpref{wxFontMapper}{wxfontmapper}
\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxFontEnumerator::EnumerateFacenames}\label{wxfontenumeratorenumeratefacenames}
\func{virtual bool}{EnumerateFacenames}{
\param{wxFontEncoding }{encoding = wxFONTENCODING\_SYSTEM},
\param{bool }{fixedWidthOnly = FALSE}}
Call \helpref{OnFacename}{wxfontenumeratoronfacename} for each font which
supports given encoding (only if it is not wxFONTENCODING\_SYSTEM) and is of
fixed width (if {\it fixedWidthOnly} is TRUE).
Calling this function with default arguments will result in enumerating all
fonts available on the system.
\membersection{wxFontEnumerator::EnumerateEncodings}\label{wxfontenumeratorenumerateencodings}
\func{virtual bool}{EnumerateEncodings}{\param{const wxString\& }{font = ""}}
Call \helpref{OnFontEncoding}{wxfontenumeratoronfontencoding} for each
encoding supported by the given font - or for each encoding supported by at
least some font if {\it font} is not specified.
\membersection{wxFontEnumerator::GetEncodings}\label{wxfontenumeratorgetencodings}
\func{wxArrayString*}{GetEncodings}{\void}
Return array of strings containing all encodings found by
\helpref{EnumerateEncodings}{wxfontenumeratorenumerateencodings}. This is convenience function. It is
based on default implementation of \helpref{OnFontEncoding}{wxfontenumeratoronfontencoding} so don't expect
it to work if you overwrite that method.
\membersection{wxFontEnumerator::GetFacenames}\label{wxfontenumeratorgetfacenames}
\func{wxArrayString*}{GetFacenames}{\void}
Return array of strings containing all facenames found by
\helpref{EnumerateFacenames}{wxfontenumeratorenumeratefacenames}. This is convenience function. It is
based on default implementation of \helpref{OnFacename}{wxfontenumeratoronfacename} so don't expect
it to work if you overwrite that method.
\membersection{wxFontEnumerator::OnFacename}\label{wxfontenumeratoronfacename}
\func{virtual bool}{OnFacename}{\param{const wxString\& }{font}}
Called by \helpref{EnumerateFacenames}{wxfontenumeratorenumeratefacenames} for
each match. Return TRUE to continue enumeration or FALSE to stop it.
\membersection{wxFontEnumerator::OnFontEncoding}\label{wxfontenumeratoronfontencoding}
\func{virtual bool}{OnFontEncoding}{
\param{const wxString\& }{font},
\param{const wxString\& }{encoding}
}
Called by \helpref{EnumerateEncodings}{wxfontenumeratorenumerateencodings} for
each match. Return TRUE to continue enumeration or FALSE to stop it.

View File

@@ -1,15 +0,0 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: fontmap.tex
%% Purpose: wxFontMapper documentation
%% Author: Vadim Zeitlin
%% Modified by:
%% Created: 03.11.99
%% RCS-ID: $Id$
%% Copyright: (c) Vadim Zeitlin
%% Licence: wxWindows licence
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{\class{wxFontMapper}}\label{wxfontmapper}
TODO.

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