Compare commits
385 Commits
wxPython-2
...
wxWINDOWS_
Author | SHA1 | Date | |
---|---|---|---|
|
fab7a8d0e5 | ||
|
402a82c6be | ||
|
ed8f12be32 | ||
|
83475efc94 | ||
|
89124b1ac2 | ||
|
7309b92dd7 | ||
|
f8c4475a3e | ||
|
d422d01eec | ||
|
22d6efa851 | ||
|
e70f5e1301 | ||
|
48e74ff549 | ||
|
60b6c062f8 | ||
|
d7cb14cec9 | ||
|
fb39c7ecd7 | ||
|
c543cdb77b | ||
|
956dbab1eb | ||
|
867673d4f2 | ||
|
edc26c4c2d | ||
|
77ed579e58 | ||
|
3f0be3ec40 | ||
|
923eda0780 | ||
|
60f5b8804b | ||
|
645ab2ee26 | ||
|
009a1c89e7 | ||
|
91ad003f43 | ||
|
f581a26df9 | ||
|
c3d434725b | ||
|
18ac8d6919 | ||
|
48bf5def83 | ||
|
48828fc9f0 | ||
|
8c3c31d4a5 | ||
|
88b0e1c83d | ||
|
17b0d794e6 | ||
|
c5be98a644 | ||
|
51929198e4 | ||
|
54e575f947 | ||
|
cb1b6606ab | ||
|
ccf0b1d76c | ||
|
36dda0de23 | ||
|
e65cc56a3b | ||
|
33961d59b0 | ||
|
2356708db3 | ||
|
6bddd8c5f3 | ||
|
de44a9f06d | ||
|
65fd5cb012 | ||
|
ea8fe90e65 | ||
|
2776d7c3bd | ||
|
a547ebffd6 | ||
|
d674cf6dc3 | ||
|
11b63f34f8 | ||
|
fa12f7e609 | ||
|
c9f9be4510 | ||
|
ff881f70d3 | ||
|
68abfefc45 | ||
|
d5d63453b1 | ||
|
3fb98ddfec | ||
|
6ccec5fcb2 | ||
|
7bcd390c94 | ||
|
1dc2f8658b | ||
|
849949b13f | ||
|
d22699b5eb | ||
|
e46286351d | ||
|
9bb2eb9fd6 | ||
|
e00f35bb06 | ||
|
1408104d04 | ||
|
3ab377bd1a | ||
|
913df6f2e0 | ||
|
54da4255a2 | ||
|
4d194d6368 | ||
|
5af2ff30ec | ||
|
10fcf31a2c | ||
|
4ee14879f2 | ||
|
23a54e14a7 | ||
|
f439844be2 | ||
|
71cbe687e3 | ||
|
2899e22327 | ||
|
fbdc71e0a7 | ||
|
9592b68708 | ||
|
97979ddfbe | ||
|
8bf5d46efb | ||
|
f91cd38969 | ||
|
2179d57968 | ||
|
9dfbf520eb | ||
|
717b9bf234 | ||
|
b7a34956cb | ||
|
604e7194e1 | ||
|
3646fd68cb | ||
|
39b91ecabe | ||
|
aa994705c7 | ||
|
154c4aa113 | ||
|
7ff14117cb | ||
|
b453e1b24b | ||
|
dfa13ec8d7 | ||
|
19e0e04b93 | ||
|
978db70ee3 | ||
|
4a041f2f92 | ||
|
e2e04ea4a7 | ||
|
3d9431bf7e | ||
|
d5dbeb3140 | ||
|
f56b833007 | ||
|
8a4df1595b | ||
|
7e1e096097 | ||
|
552e8bf87f | ||
|
7742efff20 | ||
|
0bcddc59c8 | ||
|
9b61f868b5 | ||
|
631fd4122a | ||
|
bbdb0e1313 | ||
|
45ccdd76c3 | ||
|
04392d70b9 | ||
|
f79c001d5d | ||
|
65ccd2b826 | ||
|
0e320a79f1 | ||
|
c2ff79b17b | ||
|
a1925afc90 | ||
|
452fd09f36 | ||
|
b1519886c3 | ||
|
52326d0eac | ||
|
9830033051 | ||
|
a3015c547a | ||
|
0c551f1c23 | ||
|
0655ad290a | ||
|
f61815af20 | ||
|
3de08727ca | ||
|
e5b767fff6 | ||
|
3660fc40ad | ||
|
a123dde717 | ||
|
bac507e062 | ||
|
e2c87f4cc4 | ||
|
1777b9bbf4 | ||
|
2259e00789 | ||
|
4dcaf11a7b | ||
|
813c20a67e | ||
|
2d61b48d14 | ||
|
31989b0b8f | ||
|
b116ab033e | ||
|
43871a5df9 | ||
|
a3c1786def | ||
|
193fe98904 | ||
|
106e25cccf | ||
|
58a855e062 | ||
|
d9ea011f4d | ||
|
ca17eff36b | ||
|
b2158ed0da | ||
|
2ac1b69a00 | ||
|
8d99be5f53 | ||
|
bae41ce192 | ||
|
e9158f7d8b | ||
|
a62867a56e | ||
|
7f7d950530 | ||
|
5f1ea0eeda | ||
|
15a2076a46 | ||
|
fd128b0c3a | ||
|
6e29a95a9a | ||
|
b56baa2d03 | ||
|
d9d61c23a8 | ||
|
dae3fbd88e | ||
|
2633389890 | ||
|
db8db70a19 | ||
|
0252777919 | ||
|
86f975a858 | ||
|
23aa4f09d2 | ||
|
b6caf397b3 | ||
|
24bd64eec1 | ||
|
c39eda949d | ||
|
fa834f81d7 | ||
|
8ed889787f | ||
|
0544bc0aab | ||
|
41bf0eb335 | ||
|
a58d5df4ef | ||
|
e179bd6537 | ||
|
a76015e6eb | ||
|
420ec58abb | ||
|
3001340cf4 | ||
|
befa6d980e | ||
|
3a5815b583 | ||
|
a35faffd59 | ||
|
22cf5fec15 | ||
|
e8b591249e | ||
|
259d1674f2 | ||
|
3bcf00abd7 | ||
|
9f3553c83e | ||
|
53f69f7a04 | ||
|
4ba80ec7ff | ||
|
9260761613 | ||
|
cd25b18c8e | ||
|
5a96d2f45f | ||
|
7e256c24fb | ||
|
11aab0d000 | ||
|
24463897d5 | ||
|
f98e25588d | ||
|
c193b707eb | ||
|
5ea4780630 | ||
|
9be9b97445 | ||
|
5bb05bc139 | ||
|
31528cd3ca | ||
|
c45a644eda | ||
|
dbd300df5c | ||
|
54c13c66d2 | ||
|
48a84964c6 | ||
|
5701b057fb | ||
|
ee6db21e41 | ||
|
59bc036c03 | ||
|
efee48a0f6 | ||
|
6de9282600 | ||
|
b91b22004d | ||
|
aece0491ee | ||
|
e7fc59f4a1 | ||
|
fc8525d7b0 | ||
|
e7b3d6babb | ||
|
e385b3ff37 | ||
|
c1b03ce802 | ||
|
45e41c05e4 | ||
|
5d1d2d465d | ||
|
c49245f8ba | ||
|
953704c1c7 | ||
|
1e7fd31108 | ||
|
a324a7bccf | ||
|
e4d18e7f60 | ||
|
b62c3631c9 | ||
|
619d05280a | ||
|
5d55595cb6 | ||
|
1fad4c3eb2 | ||
|
214960fb6d | ||
|
e41bbc80bc | ||
|
f92722960b | ||
|
6a570331df | ||
|
63b522d64b | ||
|
ee31c392ac | ||
|
20a8b34e2c | ||
|
d85eb7fcf8 | ||
|
8d18450524 | ||
|
c769f24816 | ||
|
8dd71e2b51 | ||
|
2508212677 | ||
|
483ff5a5af | ||
|
a1665b22b0 | ||
|
22baaed33e | ||
|
934e1edaf4 | ||
|
ba7f542f6a | ||
|
c637d46187 | ||
|
63aea43ffd | ||
|
2662e49e09 | ||
|
1ecffbff71 | ||
|
b908d2244a | ||
|
910484a67d | ||
|
c7a800eadb | ||
|
0d63177885 | ||
|
089989960f | ||
|
8506d95db4 | ||
|
0ae7f2a2e2 | ||
|
bcbc841d41 | ||
|
b09a4bb984 | ||
|
ab5a0b5d33 | ||
|
e6f1ad222c | ||
|
112c5086e8 | ||
|
510649e4d5 | ||
|
8b9c0e20ba | ||
|
cc9efb9be7 | ||
|
4d223b6704 | ||
|
530e7fa307 | ||
|
4f84c635dc | ||
|
01bc089cd2 | ||
|
b761fe4cfa | ||
|
baa9caff7e | ||
|
73927f8bac | ||
|
1d37e64400 | ||
|
29ea4a2908 | ||
|
bfcc7d7fd0 | ||
|
0c07f09eab | ||
|
25a2a4b05e | ||
|
9e855852c1 | ||
|
678d9f2a42 | ||
|
0a2fe387aa | ||
|
bcb5057e60 | ||
|
b2cad68016 | ||
|
bf86bd78cc | ||
|
803a65290b | ||
|
77b497a04a | ||
|
3bb0b01c29 | ||
|
4d19d97916 | ||
|
9b73db3c34 | ||
|
de844935b6 | ||
|
87c13572ad | ||
|
622d090e8a | ||
|
5d9c28189e | ||
|
5e3dad49b0 | ||
|
b21624e7e0 | ||
|
b6a0d8a25b | ||
|
b07b29d788 | ||
|
d30e0edda8 | ||
|
3b245d601a | ||
|
c980c99263 | ||
|
324dbfec39 | ||
|
d2e1ef1928 | ||
|
6a008b33c4 | ||
|
0efe5ba76e | ||
|
8b04a037d0 | ||
|
a1b82138ef | ||
|
f2071dda0b | ||
|
52d802ebb8 | ||
|
0e1ead0ef2 | ||
|
63e3daf4c7 | ||
|
98d3fdbedd | ||
|
4705ee2dde | ||
|
ddbde726d7 | ||
|
ec4f5ef53d | ||
|
3364ab799a | ||
|
602e68af58 | ||
|
7d6d2cd462 | ||
|
940ddb190c | ||
|
b1830dfaba | ||
|
bb69661b05 | ||
|
a8b96c3dd8 | ||
|
4e938f5b0b | ||
|
f74ececa19 | ||
|
c219cecc12 | ||
|
9146082cdf | ||
|
56d7679d3e | ||
|
d4c241b9e6 | ||
|
d1af991f49 | ||
|
e1f36ff823 | ||
|
704a4b7524 | ||
|
42977f66f8 | ||
|
78bd7ed38c | ||
|
e6f09be7da | ||
|
f3c0f9e75f | ||
|
d78b3d6414 | ||
|
7cc98b3e3f | ||
|
e5b110b109 | ||
|
77133f2d9c | ||
|
c7d9131ae5 | ||
|
cc985face5 | ||
|
e3e717ecc5 | ||
|
4ad3104559 | ||
|
c94ad3c365 | ||
|
76ad75d316 | ||
|
f8f81a2245 | ||
|
5526e819ec | ||
|
fae05df5a9 | ||
|
32d4bfd16c | ||
|
232806507b | ||
|
4e9865026f | ||
|
2b2edbedb4 | ||
|
094637f6d6 | ||
|
4092d6f221 | ||
|
ce9a75d225 | ||
|
a0bc2c1d27 | ||
|
ebea0891d0 | ||
|
13315b0cd3 | ||
|
8dbf458911 | ||
|
ba059d80b4 | ||
|
752c7d6bbd | ||
|
329e86bfde | ||
|
4438caf41a | ||
|
44719c473b | ||
|
e03bcf0d40 | ||
|
eda61172d0 | ||
|
5724671379 | ||
|
e93c800b85 | ||
|
53daeadab7 | ||
|
1e3eca9d37 | ||
|
f79fd1e54b | ||
|
88887175e6 | ||
|
9f0f2064a5 | ||
|
06d7fdef4b | ||
|
9f04ccb1ab | ||
|
266084b5de | ||
|
a533f5c122 | ||
|
7b8bd8182c | ||
|
0868079c33 | ||
|
bf6c2b3505 | ||
|
dfe1eee3bb | ||
|
a641505f0d | ||
|
7c0f3a1ebb | ||
|
c89165a82d | ||
|
c35414dbe4 | ||
|
6c582c35b9 | ||
|
9f3a38fcd5 | ||
|
4e57b0d495 | ||
|
e37feda245 | ||
|
367f2585a5 | ||
|
c50f1fb922 | ||
|
b6bff3019e | ||
|
c693edf3bc |
@@ -30,3 +30,4 @@ configure
|
||||
setup.h
|
||||
stamp-h
|
||||
libtool
|
||||
aclocal.m4
|
||||
|
134
BuildCVS.txt
@@ -5,20 +5,70 @@
|
||||
I) Windows using plain makefiles
|
||||
----------------------------------------
|
||||
|
||||
No idea, never did it.
|
||||
a) Using the GNU MinGW32 or GNU CygWin32 compilers
|
||||
|
||||
You'll need the compiler itself which is available from
|
||||
|
||||
II) Unix using plain makefiles.
|
||||
----------------------------------------
|
||||
http://www.cygwin.com
|
||||
|
||||
No idea, never did it.
|
||||
When using MingW32 you'll need GNU make which is part of
|
||||
part of the CygWin32 toolchain and is also available as
|
||||
a stand alone port without the infamous Cygwin.dll from
|
||||
|
||||
http://agnes.dida.physik.uni-essen.de/~janjaap/mingw32
|
||||
|
||||
The makefile has small problems with Cygwin<69>s tools
|
||||
so it is recommended not to use these (but MingGW32
|
||||
and its make.exe).
|
||||
|
||||
-> Set your path so that it includes the directory
|
||||
where your compiler and tools reside
|
||||
-> Assume that you installed the wxWindows sources
|
||||
into c:\wxWin
|
||||
-> Copy c:\wxWin\include\wx\msw\setup0.h
|
||||
to c:\wxWin\include\wx\msw\setup.h
|
||||
-> Edit c:\wxWin\include\wx\msw\setup.h so that
|
||||
most features are enabled (i.e. defined to 1) with
|
||||
#define wxUSE_SOCKETS 0
|
||||
#define wxUSE_HTML 1
|
||||
#define wxUSE_THREADS 1
|
||||
#define wxUSE_FS_INET 0
|
||||
#define wxUSE_FS_ZIP 1
|
||||
#define wxUSE_BUSYINFO 1
|
||||
#define wxUSE_DYNLIB_CLASS 1
|
||||
#define wxUSE_ZIPSTREAM 1
|
||||
#define wxUSE_JPEGLIB 1
|
||||
#define wxUSE_PNGLIB 1
|
||||
|
||||
and iostreams ares disabled with
|
||||
#define wxUSE_STD_IOSTREAM 0
|
||||
-> type: cd c:\wxWin\src\msw
|
||||
-> type: make -f makefile.g95
|
||||
|
||||
II) GTK port on Unix using plain makefiles.
|
||||
------------------------------------------
|
||||
|
||||
Set WXWIN environment variable to the base directory such
|
||||
as ~/wxWindows
|
||||
|
||||
-> type: export WXWIN=~/wxWindows
|
||||
-> edit ~/wxWindows/src/gtk.env as you wish.
|
||||
-> type: cd ~/wxWindows/src/gtk
|
||||
-> type: cp ./setup0.h setup.h
|
||||
-> type: make
|
||||
|
||||
|
||||
III) Windows using configure
|
||||
----------------------------------------
|
||||
|
||||
No idea..
|
||||
Take a look at Unix->Windows cross compiling. With minor
|
||||
modifications, this should work in Windows if you've got the cygnus
|
||||
utilities (bash, GNU make, etc) and either mingw32 or cygwin32 installed.
|
||||
See http://www.cygnus.com for these programs, or go straight to their
|
||||
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
|
||||
|
||||
Of course, you can also build the library using plain makefiles (see
|
||||
section I).
|
||||
|
||||
IV) Unix using configure
|
||||
----------------------------------------
|
||||
@@ -27,7 +77,7 @@ 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.14 (including autoheader 2.14)
|
||||
- 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
|
||||
@@ -57,6 +107,76 @@ or type: ../configure --with-wine
|
||||
V) MacOS
|
||||
----------------------------------------
|
||||
|
||||
V) OS/2
|
||||
VI) OS/2
|
||||
----------------------------------------
|
||||
|
||||
VII) Unix->Windows cross-compiling using configure
|
||||
--------------------------------------------------
|
||||
|
||||
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
|
||||
cygwin32 (both based on egcs) can be found at
|
||||
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Otherwise you can
|
||||
compile one yourself. Check the relevant FAQs.
|
||||
|
||||
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
|
||||
binaries are always linked against cygwin.dll. This dll encapsulates most
|
||||
standard Unix C extensions, which is very handy if you're porting unix
|
||||
software to windows. However, wxMSW doesn't need this, so mingw32 is
|
||||
preferable if you write portable C(++). ]
|
||||
|
||||
You might want to build both Unix and Windows binaries in the same source
|
||||
tree; to do this make subdirs for each e.g. unix and win32. If you've
|
||||
already build wxWindows in the main dir, do a 'make distclean' there,
|
||||
otherwise configure will get confused. (In any case, read the section 'Unix
|
||||
using configure' and make sure you're able to build a native wxWindows
|
||||
library; cross-compiling errors can be pretty obscure and you'll want to be
|
||||
sure that your configure setup is basically sound.)
|
||||
|
||||
To cross compile the windows library, do
|
||||
-> cd win32
|
||||
Now run configure. There are two ways to do this
|
||||
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw \
|
||||
--enable-dnd=no
|
||||
where --build= should read whatever platform you're building on. Configure
|
||||
will notice that build and host platforms differ, and automatically prepend
|
||||
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
|
||||
The other way to run configure is by specifying the names of the binaries
|
||||
yourself:
|
||||
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
|
||||
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
|
||||
../configure --host=i586-mingw32 --with-mingw --enable-dnd=no
|
||||
|
||||
(all assuming you're using mingw32)
|
||||
Drag'n'drop is disabled because mingw32 lacks (AFAIK) OLE headers.
|
||||
|
||||
Configure will conclude that shared libraries are out of the question and
|
||||
opt for a static one. I haven't looked into DLL creation yet.
|
||||
|
||||
Type
|
||||
-> make -C src
|
||||
and wait, wait, wait. Don't leave the room, because the minute you do there
|
||||
will be a compile error :-)
|
||||
|
||||
If this is successful, try building the minimal sample:
|
||||
-> cd samples/minimal
|
||||
-> make
|
||||
-> mv minimal minimal.exe
|
||||
|
||||
and run it with wine, for example
|
||||
-> wine minimal.exe
|
||||
|
||||
If all is well, do an install; from win32
|
||||
-> make install
|
||||
|
||||
Native and cross-compiled installations can co-exist peacefully
|
||||
(as long as their widget sets differ), except for wx-config. You might
|
||||
want to rename the cross-compiled one to i586-mingw32-wx-config, or something.
|
||||
|
||||
Cross-compiling TODO:
|
||||
---------------------
|
||||
- resource compiling must be done manually for now (should/can we link the
|
||||
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
|
||||
link it in... you have to supply an object file ]
|
||||
- dynamic libraries
|
||||
- static executables are HUGE -- there must be room for improvement.
|
||||
|
||||
|
61
acconfig.h
@@ -2,8 +2,10 @@
|
||||
/* */
|
||||
/* Version: $Id$ */
|
||||
|
||||
#ifndef __GTKSETUPH__
|
||||
#define __GTKSETUPH__
|
||||
/* 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
|
||||
@@ -31,7 +33,7 @@
|
||||
/*
|
||||
* Define to 1 for Unix[-like] system
|
||||
*/
|
||||
#define wxUSE_UNIX 1
|
||||
#define wxUSE_UNIX 0
|
||||
|
||||
#undef __UNIX__
|
||||
#undef __LINUX__
|
||||
@@ -51,11 +53,13 @@
|
||||
#undef __ULTRIX__
|
||||
#undef __DATA_GENERAL__
|
||||
#undef __EMX__
|
||||
#undef _GNU_SOURCE
|
||||
|
||||
#undef __WINDOWS__
|
||||
#undef __WIN95__
|
||||
#undef __WIN32__
|
||||
#undef __GNUWIN32__
|
||||
#undef WINVER
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* compiler options */
|
||||
@@ -144,6 +148,11 @@
|
||||
*/
|
||||
#define wxUSE_TEXTDLG 0
|
||||
|
||||
/*
|
||||
* Use startup tips
|
||||
*/
|
||||
#define wxUSE_STARTUP_TIPS 0
|
||||
|
||||
/*
|
||||
* Use progress dialog
|
||||
*/
|
||||
@@ -266,7 +275,7 @@
|
||||
*/
|
||||
#define wxUSE_TOOLBAR 0
|
||||
|
||||
#ifdef __WXWINE__
|
||||
#if defined(__WXWINE__) || defined(__GNUWIN32__)
|
||||
#if wxUSE_TOOLBAR
|
||||
#define wxUSE_BUTTONBAR 1
|
||||
#endif
|
||||
@@ -334,7 +343,7 @@
|
||||
/*
|
||||
* wxLibrary class
|
||||
*/
|
||||
#define wxUSE_DYNLIB_CLASS 1
|
||||
#define wxUSE_DYNLIB_CLASS 0
|
||||
|
||||
/* ------------------------------------------------------------------------ */
|
||||
/* PS options */
|
||||
@@ -469,15 +478,15 @@
|
||||
* 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
|
||||
* some new features such as event tables
|
||||
*/
|
||||
#define WXWIN_COMPATIBILITY 0
|
||||
/*
|
||||
* Compatibility with 2.0 API.
|
||||
/*
|
||||
* Compatibility with 2.0 API.
|
||||
*/
|
||||
#define WXWIN_COMPATIBILITY_2 1
|
||||
/*
|
||||
@@ -528,6 +537,28 @@
|
||||
*/
|
||||
#define wxUSE_MINIFRAME 0
|
||||
|
||||
/*
|
||||
* wxHTML
|
||||
*/
|
||||
#define wxUSE_HTML 0
|
||||
|
||||
/*
|
||||
* (virtual) filesystems code
|
||||
*/
|
||||
#define wxUSE_FS_INET 0
|
||||
#define wxUSE_FS_ZIP 0
|
||||
|
||||
/*
|
||||
* A class that shows info window when app is busy
|
||||
* (works exactly like wxBusyCursor)
|
||||
*/
|
||||
#define wxUSE_BUSYINFO 0
|
||||
|
||||
/*
|
||||
* Zip stream for accessing files stored inside .zip archives
|
||||
*/
|
||||
#define wxUSE_ZIPSTREAM 0
|
||||
|
||||
/*
|
||||
* Disable this if your compiler can't cope
|
||||
* with omission of prototype parameters.
|
||||
@@ -536,11 +567,11 @@
|
||||
/*
|
||||
* The const keyword is being introduced more in wxWindows.
|
||||
* You can use this setting to maintain backward compatibility.
|
||||
* If 0: will use const wherever possible.
|
||||
* If 1: will use const only where necessary
|
||||
* for precompiled headers to work.
|
||||
* If 2: will be totally backward compatible, but precompiled
|
||||
* headers may not work and program size will be larger.
|
||||
* If 0: will use const wherever possible.
|
||||
* If 1: will use const only where necessary
|
||||
* for precompiled headers to work.
|
||||
* If 2: will be totally backward compatible, but precompiled
|
||||
* headers may not work and program size will be larger.
|
||||
*/
|
||||
#define CONST_COMPATIBILITY 0
|
||||
|
||||
@@ -583,4 +614,4 @@
|
||||
|
||||
@BOTTOM@
|
||||
|
||||
#endif /* __GTKSETUPH__ */
|
||||
#endif /* __WX_SETUP_H__ */
|
||||
|
24
acinclude.m4
@@ -397,3 +397,27 @@ AC_DEFUN(WX_ARG_ENABLE,
|
||||
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
|
||||
])
|
||||
|
174
configure.in
@@ -18,7 +18,7 @@ dnl ---------------------------------------------------------------------------
|
||||
dnl the file passed to AC_INIT should be specific to our package
|
||||
AC_INIT(wx-config.in)
|
||||
|
||||
AC_CANONICAL_HOST
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
dnl When making releases do:
|
||||
dnl
|
||||
@@ -80,7 +80,7 @@ USE_FREEBSD=
|
||||
USE_VMS=
|
||||
USE_ULTRIX=
|
||||
USE_CYGWIN=
|
||||
USE_MINGW32=
|
||||
USE_MINGW=
|
||||
USE_DATA_GENERAL=
|
||||
|
||||
dnl the list of all available toolkits
|
||||
@@ -186,6 +186,16 @@ case "${host}" in
|
||||
AC_DEFINE(__WIN95__)
|
||||
AC_DEFINE(__WINDOWS__)
|
||||
AC_DEFINE(__GNUWIN32__)
|
||||
AC_DEFINE(WINVER, 0x0400)
|
||||
DEFAULT_DEFAULT_wxUSE_MSW=1
|
||||
;;
|
||||
*-*-mingw32* )
|
||||
USE_UNIX=0
|
||||
AC_DEFINE(__WIN32__)
|
||||
AC_DEFINE(__WIN95__)
|
||||
AC_DEFINE(__WINDOWS__)
|
||||
AC_DEFINE(__GNUWIN32__)
|
||||
AC_DEFINE(WINVER, 0x0400)
|
||||
DEFAULT_DEFAULT_wxUSE_MSW=1
|
||||
;;
|
||||
|
||||
@@ -289,8 +299,14 @@ if test $DEBUG_CONFIGURE = 1; then
|
||||
DEFAULT_wxUSE_COMMONDLGS=no
|
||||
DEFAULT_wxUSE_DIRDLG=no
|
||||
DEFAULT_wxUSE_TEXTDLG=no
|
||||
DEFAULT_wxUSE_STARTUP_TIPS=no
|
||||
DEFAULT_wxUSE_PROGRESSDLG=no
|
||||
DEFAULT_wxUSE_MINIFRAME=no
|
||||
DEFAULT_wxUSE_HTML=no
|
||||
DEFAULT_wxUSE_FS_INET=no
|
||||
DEFAULT_wxUSE_FS_ZIP=no
|
||||
DEFAULT_wxUSE_BUSYINFO=no
|
||||
DEFAULT_wxUSE_ZIPSTREAM=no
|
||||
DEFAULT_wxUSE_VALIDATORS=yes
|
||||
|
||||
DEFAULT_wxUSE_ACCEL=no
|
||||
@@ -387,8 +403,14 @@ else
|
||||
DEFAULT_wxUSE_COMMONDLGS=yes
|
||||
DEFAULT_wxUSE_DIRDLG=yes
|
||||
DEFAULT_wxUSE_TEXTDLG=yes
|
||||
DEFAULT_wxUSE_STARTUP_TIPS=yes
|
||||
DEFAULT_wxUSE_PROGRESSDLG=yes
|
||||
DEFAULT_wxUSE_MINIFRAME=yes
|
||||
DEFAULT_wxUSE_HTML=yes
|
||||
DEFAULT_wxUSE_FS_INET=yes
|
||||
DEFAULT_wxUSE_FS_ZIP=yes
|
||||
DEFAULT_wxUSE_BUSYINFO=yes
|
||||
DEFAULT_wxUSE_ZIPSTREAM=yes
|
||||
DEFAULT_wxUSE_VALIDATORS=yes
|
||||
|
||||
DEFAULT_wxUSE_ACCEL=yes
|
||||
@@ -521,6 +543,9 @@ WX_ARG_ENABLE(wcsrtombs, [ --enable-wcsrtombs use wcsrtombs instead of
|
||||
WX_ARG_ENABLE(wxprintfv, [ --enable-wxprintfv use wxWindows implementation of vprintf()], wxUSE_EXPERIMENTAL_PRINTF)
|
||||
WX_ARG_ENABLE(joystick, [ --enable-joystick compile in joystick support (Linux only)], wxUSE_JOYSTICK)
|
||||
WX_ARG_ENABLE(std_iostreams, [ --enable-std_iostreams use standard C++ stream classes], wxUSE_STD_IOSTREAM)
|
||||
WX_ARG_ENABLE(fs_inet, [ --enable-fs_inet use virtual HTTP/FTP filesystems], wxUSE_FS_INET)
|
||||
WX_ARG_ENABLE(fs_zip, [ --enable-fs_zip use virtual ZIP filesystems], wxUSE_FS_ZIP)
|
||||
WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], wxUSE_ZIPSTREAM)
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl "big" options (i.e. those which change a lot of things throughout the library)
|
||||
@@ -670,11 +695,14 @@ dnl ---------------------------------------------------------------------------
|
||||
WX_ARG_ENABLE(commondlg, [ --enable-commondlg use common dialogs (wxDirDialog, wxProgressDialog, wxTextDialog, ...)], wxUSE_COMMONDLGS)
|
||||
WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
|
||||
WX_ARG_ENABLE(textdlg, [ --enable-textdlg use wxTextDialog], wxUSE_TEXTDLG)
|
||||
WX_ARG_ENABLE(tipdlg, [ --enable-tipdlg use startup tips], wxUSE_STARTUP_TIPS)
|
||||
WX_ARG_ENABLE(progressdlg, [ --enable-progressdlg use wxProgressDialog], wxUSE_PROGRESSDLG)
|
||||
WX_ARG_ENABLE(miniframe, [ --enable-miniframe use wxMiniFrame class], wxUSE_MINIFRAME)
|
||||
WX_ARG_ENABLE(html, [ --enable-html use wxHTML sub-library], wxUSE_HTML)
|
||||
WX_ARG_ENABLE(tooltips, [ --enable-tooltips use wxToolTip class], wxUSE_TOOLTIPS)
|
||||
WX_ARG_ENABLE(splines, [ --enable-splines use spline drawing code], wxUSE_SPLINES)
|
||||
WX_ARG_ENABLE(validators, [ --enable-validators use wxValidator and derived classes], wxUSE_VALIDATORS)
|
||||
WX_ARG_ENABLE(busyinfo, [ --enable-busyinfo use wxBusyInfo], wxUSE_BUSYINFO)
|
||||
|
||||
dnl cache the options values before (may be) aborting below
|
||||
WX_ARG_CACHE_FLUSH
|
||||
@@ -742,11 +770,15 @@ AC_CACHE_SAVE
|
||||
dnl cross-compiling support: we're cross compiling if the build system is
|
||||
dnl different from the target one (assume host and target be always the same)
|
||||
if eval "test $host != $build"; then
|
||||
if eval "test $build != NONE"; then
|
||||
CC="$build-gcc"
|
||||
CXX="$build-g++"
|
||||
RANLIB="$build-ranlib"
|
||||
NM="$build-nm"
|
||||
if eval "test $host_alias != NONE"; then
|
||||
CC=$host_alias-gcc
|
||||
CXX=$host_alias-c++
|
||||
AR=$host_alias-ar
|
||||
RANLIB=$host_alias-ranlib
|
||||
DLLTOOL=$host_alias-dlltool
|
||||
LD=$host_alias-ld
|
||||
NM=$host_alias-nm
|
||||
STRIP=$host_alias-strip
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -856,7 +888,53 @@ dnl DLLs under Win32.
|
||||
dnl AC_LIBTOOL_WIN32_DLL
|
||||
|
||||
dnl disable static libs by default, this takes too much time...
|
||||
AM_DISABLE_STATIC
|
||||
dnl libtool doesn't work on anything but Linux and maybe
|
||||
dnl ***BSD
|
||||
|
||||
case "${host}" in
|
||||
*-hp-hpux* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-linux* )
|
||||
AM_DISABLE_STATIC
|
||||
;;
|
||||
*-*-irix5* | *-*-irix6* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-solaris2* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-sunos4* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-freebsd* | *-*-netbsd*)
|
||||
AM_DISABLE_STATIC
|
||||
;;
|
||||
*-*-osf* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-dgux5* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-sysv5* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-aix* )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*-*-cygwin32* )
|
||||
AM_DISABLE_STATIC
|
||||
;;
|
||||
*-*-mingw32* )
|
||||
AM_DISABLE_STATIC
|
||||
;;
|
||||
*-pc-os2_emx )
|
||||
AM_DISABLE_SHARED
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(unknown system type ${host}.)
|
||||
esac
|
||||
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -951,16 +1029,23 @@ WXGTK12=
|
||||
|
||||
WXWINE=
|
||||
|
||||
if test "$wxUSE_CYGWIN" = 1; then
|
||||
if test "$wxUSE_CYGWIN" = 1 || test "$wxUSE_MINGW" = 1 ; then
|
||||
AC_MSG_CHECKING(for Windows headers)
|
||||
WX_PATH_FIND_INCLUDES($SEARCH_INCLUDE, windows.h)
|
||||
INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS msw"
|
||||
|
||||
dnl --- Quick & Dirty ; link against most/all libraries
|
||||
dnl --- This will bloat the executable, but it'll work for now...
|
||||
LIBS="$LIBS -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -loldnames -lcomctl32 -lctl3d32 -lcrtdll -ladvapi32 -lwsock32"
|
||||
|
||||
if test "$ac_find_includes" != "" ; then
|
||||
AC_MSG_RESULT(found $ac_find_includes)
|
||||
TOOLKIT_INCLUDE="$TOOLKIT_INCLUDE -I$ac_find_includes"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
|
||||
if test "$cross_compiling" != "yes" ; then
|
||||
AC_MSG_ERROR(please set CFLAGS to contain the location of windows.h)
|
||||
fi
|
||||
fi
|
||||
|
||||
TOOLKIT=MSW
|
||||
@@ -1165,6 +1250,9 @@ WX_CPP_BOOL
|
||||
dnl check whether overloading on size_t/int parameter works
|
||||
WX_CPP_SIZE_T_IS_NOT_INT
|
||||
|
||||
dnl check whether we should define _GNU_SOURCE
|
||||
WX_GNU_EXTENSIONS
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
dnl Check for functions
|
||||
dnl ---------------------------------------------------------------------------
|
||||
@@ -1536,6 +1624,22 @@ if test "$wxUSE_FILE" = "yes"; then
|
||||
AC_DEFINE(wxUSE_FILE)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_FS_INET" = "yes"; then
|
||||
AC_DEFINE(wxUSE_FS_INET)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_FS_ZIP" = "yes"; then
|
||||
AC_DEFINE(wxUSE_FS_ZIP)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_ZIPSTREAM" = "yes"; then
|
||||
AC_DEFINE(wxUSE_ZIPSTREAM)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_BUSYINFO" = "yes"; then
|
||||
AC_DEFINE(wxUSE_BUSYINFO)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_STD_IOSTREAM" = "yes"; then
|
||||
AC_DEFINE(wxUSE_STD_IOSTREAM)
|
||||
fi
|
||||
@@ -1634,6 +1738,9 @@ if test "$wxUSE_JOYSTICK" = 1; then
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
AC_CHECK_FUNCS(vsscanf)
|
||||
|
||||
dnl ------------------------------------------------------------------------
|
||||
dnl DLL support
|
||||
dnl ------------------------------------------------------------------------
|
||||
@@ -1651,9 +1758,13 @@ if test "$wxUSE_DYNLIB_CLASS" = "yes"; then
|
||||
[AC_DEFINE(HAVE_SHL_LOAD) HAVE_DL_FUNCS=1 HAVE_SHL_FUNCS=1])
|
||||
|
||||
if test "$HAVE_DL_FUNCS" = 0; then
|
||||
AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
|
||||
wxUSE_ODBC=no
|
||||
wxUSE_DYNLIB_CLASS=no
|
||||
if test "$USE_UNIX" = 1; then
|
||||
AC_MSG_WARN("--with-dynlib and --with-odbc will be disabled due to missing shared library support")
|
||||
wxUSE_ODBC=no
|
||||
wxUSE_DYNLIB_CLASS=no
|
||||
else
|
||||
AC_MSG_WARN("Cannot check dynlib requirements on non-Unix platforms. dynlib remains enabled.")
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1969,6 +2080,14 @@ if test "$wxUSE_TEXTDLG" = "yes"; then
|
||||
AC_DEFINE(wxUSE_TEXTDLG)
|
||||
fi
|
||||
|
||||
if test "$wxUSE_STARTUP_TIPS" = "yes"; then
|
||||
if test "$wxUSE_CONSTRAINTS" != "yes"; then
|
||||
AC_MSG_WARN(Startup tips requires constraints and won't be compiled without them)
|
||||
else
|
||||
AC_DEFINE(wxUSE_STARTUP_TIPS)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$wxUSE_PROGRESSDLG" = "yes"; then
|
||||
if test "$wxUSE_CONSTRAINTS" != "yes"; then
|
||||
AC_MSG_WARN(wxProgressDialog requires constraints so it won't be compiled without them)
|
||||
@@ -1982,6 +2101,12 @@ if test "$wxUSE_MINIFRAME" = "yes"; then
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS minifram"
|
||||
fi
|
||||
|
||||
if test "$wxUSE_HTML" = "yes"; then
|
||||
AC_DEFINE(wxUSE_HTML)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS html"
|
||||
INCLUDE_SUBDIRS="$INCLUDE_SUBDIRS html"
|
||||
fi
|
||||
|
||||
if test "$wxUSE_VALIDATORS" = "yes"; then
|
||||
AC_DEFINE(wxUSE_VALIDATORS)
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS validate"
|
||||
@@ -2026,7 +2151,7 @@ if test "$wxUSE_GUI" = "yes"; then
|
||||
dnl TODO some samples are never built so far:
|
||||
dnl mfc, nativdlg, oleauto, ownerdrw, proplist
|
||||
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS bombs controls dialogs drawing dynamic \
|
||||
forty fractal image richedit wxpoem"
|
||||
forty fractal image wxpoem"
|
||||
fi
|
||||
|
||||
dnl for convenience, sort the files to build in alphabetical order
|
||||
@@ -2094,6 +2219,7 @@ dnl (the original file name may be overriden by appending another name after a
|
||||
dnl colon)
|
||||
AC_OUTPUT([
|
||||
wx-config
|
||||
makefile.unx
|
||||
Makefile
|
||||
src/Makefile
|
||||
|
||||
@@ -2112,8 +2238,11 @@ dnl samples/Makefile samples/minimal/Makefile
|
||||
include/wx/gtk/Makefile
|
||||
include/wx/motif/Makefile
|
||||
include/wx/msw/Makefile
|
||||
include/wx/msw/gnuwin32/Makefile
|
||||
include/wx/msw/ctl3d/Makefile
|
||||
include/wx/protocol/Makefile
|
||||
include/wx/unix/Makefile
|
||||
include/wx/html/Makefile
|
||||
misc/Makefile
|
||||
misc/afm/Makefile
|
||||
misc/gs_afm/Makefile
|
||||
@@ -2136,29 +2265,20 @@ dnl samples/Makefile samples/minimal/Makefile
|
||||
samples/help/Makefile
|
||||
samples/image/Makefile
|
||||
samples/internat/Makefile
|
||||
samples/joytest/Makefile
|
||||
samples/layout/Makefile
|
||||
samples/listctrl/Makefile
|
||||
samples/mdi/Makefile
|
||||
samples/memcheck/Makefile
|
||||
samples/mfc/Makefile
|
||||
samples/minifram/Makefile
|
||||
samples/minimal/Makefile
|
||||
samples/nativdlg/Makefile
|
||||
samples/notebook/Makefile
|
||||
samples/oleauto/Makefile
|
||||
samples/ownerdrw/Makefile
|
||||
samples/png/Makefile
|
||||
samples/printing/Makefile
|
||||
samples/proplist/Makefile
|
||||
samples/regtest/Makefile
|
||||
samples/resource/Makefile
|
||||
samples/richedit/Makefile
|
||||
samples/sashtest/Makefile
|
||||
samples/scroll/Makefile
|
||||
samples/splitter/Makefile
|
||||
samples/tab/Makefile
|
||||
samples/taskbar/Makefile
|
||||
samples/text/Makefile
|
||||
samples/thread/Makefile
|
||||
samples/toolbar/Makefile
|
||||
@@ -2167,6 +2287,14 @@ dnl samples/Makefile samples/minimal/Makefile
|
||||
samples/validate/Makefile
|
||||
samples/wxpoem/Makefile
|
||||
samples/wxsocket/Makefile
|
||||
samples/html/Makefile
|
||||
samples/html/about/Makefile
|
||||
samples/html/help/Makefile
|
||||
samples/html/test/Makefile
|
||||
samples/html/printing/Makefile
|
||||
samples/html/widget/Makefile
|
||||
samples/html/virtual/Makefile
|
||||
samples/html/zip/Makefile
|
||||
],
|
||||
[
|
||||
chmod +x wx-config
|
||||
|
@@ -23,6 +23,7 @@ the help file. To help you save disk space I'm now using Microsoft's
|
||||
HTML Help format. If your system doesn't know what to do with the help
|
||||
file, you can install the HTML Help Viewer as part of IE 4+, NT
|
||||
Service Pack 4+, or the HTML Workshop at
|
||||
|
||||
http://msdn.microsoft.com/workshop/author/htmlhelp/download.asp.
|
||||
|
||||
|
||||
@@ -44,6 +45,57 @@ Or you can send mail directly to the list using this address:
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
What's new in 2.1b2
|
||||
--------------------
|
||||
|
||||
Added the missing wxWindow.GetUpdateRegion() method.
|
||||
|
||||
Made a new change in SWIG (update your patches everybody) that
|
||||
provides a fix for global shadow objects that get an exception in
|
||||
their __del__ when their extension module has already been deleted.
|
||||
It was only a 1 line change in .../SWIG/Modules/pycpp.cxx at about
|
||||
line 496 if you want to do it by hand.
|
||||
|
||||
It is now possible to run through MainLoop more than once in any one
|
||||
process. The cleanup that used to happen as MainLoop completed (and
|
||||
prevented it from running again) has been delayed until the wxc module
|
||||
is being unloaded by Python.
|
||||
|
||||
I fixed a bunch of stuff in the C++ version of wxGrid so it wouldn't
|
||||
make wxPython look bad.
|
||||
|
||||
wxWindow.PopupMenu() now takes a wxPoint instead of x,y. Added
|
||||
wxWindow.PopupMenuXY to be consistent with some other methods.
|
||||
|
||||
Added wxGrid.SetEditInPlace and wxGrid.GetEditInPlace.
|
||||
|
||||
You can now provide your own app.MainLoop method. See
|
||||
wxPython/demo/demoMainLoop.py for an example and some explaination.
|
||||
|
||||
Got the in-place-edit for the wxTreeCtrl fixed and added some demo
|
||||
code to show how to use it.
|
||||
|
||||
Put the wxIcon constructor back in for GTK as it now has one that
|
||||
matches MSW's.
|
||||
|
||||
Added wxGrid.GetCells
|
||||
|
||||
Added wxSystemSettings static methods as functions with names like
|
||||
wxSystemSettings_GetSystemColour.
|
||||
|
||||
Removed wxPyMenu since using menu callbacks have been depreciated in
|
||||
wxWindows. Use wxMenu and events instead.
|
||||
|
||||
Added alternate wxBitmap constructor (for MSW only) as
|
||||
wxBitmapFromData(data, type, width, height, depth = 1)
|
||||
|
||||
Added a helper function named wxPyTypeCast that can convert shadow
|
||||
objects of one type into shadow objects of another type. (Like doing
|
||||
a down-cast.) See the implementation in wx.py for some docs.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
What's new in 2.1b1
|
||||
--------------------
|
||||
@@ -101,6 +153,9 @@ wxGIFHandler and wxBMPHandler.
|
||||
|
||||
Added new methods to wxTextCtrl.
|
||||
|
||||
Fixed some problems with how SWIG was wrapping some wxTreeCtrl
|
||||
methods.
|
||||
|
||||
|
||||
|
||||
What's new in 2.0b8
|
||||
@@ -137,7 +192,7 @@ with the 2.0 version of wxWindows.
|
||||
|
||||
I have finally started documenting wxPython. There are several pages
|
||||
in the wxWindows documentation tree specifically about wxPython, and I
|
||||
have added notes within the class references about where wxPython
|
||||
have added notes within the class references about where and how wxPython
|
||||
diverges from wxWindows.
|
||||
|
||||
Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
|
||||
@@ -195,7 +250,6 @@ down a nasty DECREF bug. Okay so I have to confess that it was just a
|
||||
DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
|
||||
because the behavior was so different on different platforms.
|
||||
|
||||
|
||||
The dynamicly loaded module on Solaris is still segfaulting, so it
|
||||
must have been a different issue all along...
|
||||
|
||||
@@ -215,6 +269,8 @@ version segfault shortly after starting up.
|
||||
|
||||
3. Varioius bug fixes, enhancements, etc.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
Build Instructions
|
||||
@@ -230,8 +286,8 @@ I added a few minor features to SWIG to control some of the code
|
||||
generation. If you want to playaround with this the patches are in
|
||||
wxPython/SWIG.patches and they should be applied to the 1.1p5 version
|
||||
of SWIG. These new patches are documented at
|
||||
http://starship.skyport.net/crew/robind/python/#swig, and they should
|
||||
also end up in the 1.2 version of SWIG.
|
||||
http://starship.skyport.net/crew/robind/#swig, and they should also
|
||||
end up in the 1.2 version of SWIG.
|
||||
|
||||
wxPython is organized as a Python package. This means that the
|
||||
directory containing the results of the build process should be a
|
||||
@@ -262,23 +318,24 @@ above.
|
||||
5. If it builds successfully, congratulations! Move on to the next
|
||||
step. If not then you can try mailing me for help. Also, I will
|
||||
always have a pre-built win32 version of this extension module at
|
||||
http://starship.skyport.net/crew/robind/python.
|
||||
http://alldunn.com/wxPython/.
|
||||
|
||||
6. Change to the $(WXWIN)/utils/wxPython/tests directory.
|
||||
6. Change to the $(WXWIN)/utils/wxPython/demo directory.
|
||||
|
||||
7. Try executing the test programs. Note that some of these print
|
||||
diagnositc or test info to standard output, so they will require the
|
||||
console version of python. For example:
|
||||
7. Try executing the demo program. For example:
|
||||
|
||||
python test1.py
|
||||
python demo.py
|
||||
|
||||
To run them without requiring a console, you can use the pythonw.exe
|
||||
To run it without requiring a console, you can use the pythonw.exe
|
||||
version of Python either from the command line or from a shortcut.
|
||||
|
||||
|
||||
|
||||
Unix
|
||||
----
|
||||
0. I configure wxWindows like this, YMMV:
|
||||
|
||||
./configure --with-gtk --disable-shared --enable-threads --disable-unicode
|
||||
|
||||
1. Change into the $(WXWIN)/utils/wxPython/src directory.
|
||||
|
||||
@@ -307,14 +364,11 @@ module:
|
||||
|
||||
5. Change to the $(WXWIN)/utils/wxPython/tests directory.
|
||||
|
||||
6. Try executing the test programs. For example:
|
||||
6. Try executing the demo program. For example:
|
||||
|
||||
python test1.py
|
||||
|
||||
|
||||
------------------------
|
||||
10/20/1998
|
||||
python demo.py
|
||||
|
||||
----------------
|
||||
Robin Dunn
|
||||
robin@alldunn.com
|
||||
|
||||
|
@@ -37,7 +37,7 @@ TARGETDIR=$(BINLIBDEST)/wxPython
|
||||
wxc wx.cpp helpers.cpp windows.cpp events.cpp misc.cpp gdi.cpp \
|
||||
mdi.cpp controls.cpp controls2.cpp windows2.cpp cmndlgs.cpp \
|
||||
frames.cpp stattool.cpp windows3.cpp image.cpp misc2.cpp \
|
||||
utils.cpp printfw.cpp \
|
||||
utils.cpp printfw.cpp libpy.c libptr.c \
|
||||
## comment out the next line to disable wxGLCanvas
|
||||
##_glcanvas.cpp glcanvas.cpp -DWITH_GLCANVAS -lGL -lGLU \
|
||||
-I. $(WX_CONFIG_CFLAGS) -I/usr/local/lib/glib/include \
|
||||
|
@@ -29,6 +29,7 @@ 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
|
||||
@@ -68,6 +69,13 @@ cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cd html
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/unix
|
||||
cd unix
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/unix
|
||||
@@ -78,6 +86,7 @@ cd ..
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
cd gtk
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
@@ -136,24 +145,47 @@ cp Makefile.am ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.xbm ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.c ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.inc ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/gtk
|
||||
cd ..
|
||||
|
||||
cd msw
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/msw
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/src/msw
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/src/msw
|
||||
cd ..
|
||||
|
||||
cd motif
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/motif
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/src/motif
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/src/motif
|
||||
cd ..
|
||||
|
||||
cd common
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/common
|
||||
cp glob.inc ~/wxgtk_dist/wxGTK/src/common
|
||||
cp lexer.l ~/wxgtk_dist/wxGTK/src/common
|
||||
cp parser.y ~/wxgtk_dist/wxGTK/src/common
|
||||
cp extended.c ~/wxgtk_dist/wxGTK/src/common
|
||||
cp unzip.* ~/wxgtk_dist/wxGTK/src/common
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/common
|
||||
cd ..
|
||||
|
||||
cd unix
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/unix
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/unix
|
||||
cp *.h ~/wxgtk_dist/wxGTK/src/unix
|
||||
cp *.c ~/wxgtk_dist/wxGTK/src/unix
|
||||
cd ..
|
||||
|
||||
cd html
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/html
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/html
|
||||
cp *.h ~/wxgtk_dist/wxGTK/src/html
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/html/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/src/html/bitmaps
|
||||
cd ../..
|
||||
|
||||
cd generic
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/generic
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/generic
|
||||
@@ -177,9 +209,7 @@ cd ..
|
||||
cd jpeg
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/jpeg
|
||||
cp * ~/wxgtk_dist/wxGTK/src/jpeg
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
cd ../..
|
||||
|
||||
echo Utils dir..
|
||||
|
||||
@@ -272,10 +302,6 @@ cp ./lib/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/lib/sizers
|
||||
cp ./lib/sizers/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/lib/sizers
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
cp ./tests/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
cp ./tests/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/tests
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
cp ./demo/README.txt ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
cp ./demo/*.py ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
@@ -283,26 +309,8 @@ cp ./demo/*.pyc ~/wxgtk_dist/wxGTK/utils/wxPython/demo
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
|
||||
cp ./demo/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/demo/bitmaps
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
|
||||
cp ./tests/bitmaps/* ~/wxgtk_dist/wxGTK/utils/wxPython/tests/bitmaps
|
||||
cd ..
|
||||
|
||||
echo wxOLE..
|
||||
|
||||
cd wxOLE
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk
|
||||
cp ./gtk/wxole.* ~/wxgtk_dist/wxGTK/utils/wxOLE/gtk
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/Makefile ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.xpm ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.cpp ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
cp ./samples/servlet/*.gnorba ~/wxgtk_dist/wxGTK/utils/wxOLE/samples/servlet
|
||||
|
||||
cd ../..
|
||||
|
||||
|
||||
echo Samples dir..
|
||||
|
||||
cd samples
|
||||
@@ -384,16 +392,17 @@ cp *.h ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/db
|
||||
cd ..
|
||||
|
||||
echo DDE sample..
|
||||
|
||||
cd dde
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cd ..
|
||||
#echo DDE sample..
|
||||
#
|
||||
#cd dde
|
||||
#mkdir ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cp Makefile.am ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cp *.h ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cp *.xpm ~/wxgtk_dist/wxGTK/samples/dde
|
||||
#cd ..
|
||||
#
|
||||
|
||||
echo Dialogs sample..
|
||||
|
||||
@@ -499,6 +508,42 @@ mkdir ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cp * ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cd ../..
|
||||
|
||||
echo HTML samples..
|
||||
|
||||
cd html
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html
|
||||
cp Makefile.* ~/wxgtk_dist/wxGTK/samples/html
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/about
|
||||
cp about/Makefile.* ~/wxgtk_dist/wxGTK/samples/html/about
|
||||
cp about/about.* ~/wxgtk_dist/wxGTK/samples/html/about
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/about/data
|
||||
cp about/data/*.* ~/wxgtk_dist/wxGTK/samples/html/about/data
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/help
|
||||
cp help/Makefile.* ~/wxgtk_dist/wxGTK/samples/html/help
|
||||
cp help/help.* ~/wxgtk_dist/wxGTK/samples/html/help
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/help/helpfiles
|
||||
cp help/helpfiles/*.* ~/wxgtk_dist/wxGTK/samples/html/help/helpfiles
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/printing
|
||||
cp printing/*.* ~/wxgtk_dist/wxGTK/samples/html/printing
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/test
|
||||
cp test/*.* ~/wxgtk_dist/wxGTK/samples/html/test
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/virtual
|
||||
cp virtual/*.* ~/wxgtk_dist/wxGTK/samples/html/virtual
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/widget
|
||||
cp widget/*.* ~/wxgtk_dist/wxGTK/samples/html/widget
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/html/zip
|
||||
cp zip/*.* ~/wxgtk_dist/wxGTK/samples/html/zip
|
||||
cd ..
|
||||
|
||||
echo Image sample..
|
||||
|
||||
cd image
|
||||
@@ -670,16 +715,6 @@ cp Makefile.in ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cd ..
|
||||
|
||||
echo Tab sample..
|
||||
|
||||
cd tab
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/tab
|
||||
cd ..
|
||||
|
||||
echo Text sample..
|
||||
|
||||
cd text
|
||||
@@ -776,4 +811,4 @@ cp README.txt ~/wxgtk_dist/wxGTK/utils/wxPython
|
||||
cp Setup ~/wxgtk_dist/wxGTK/utils/wxPython/src
|
||||
|
||||
cd ~/wxgtk_dist
|
||||
tar ch wxGTK | gzip -f9 > wxGTK-2.1.0-b7.tgz
|
||||
tar ch wxGTK | gzip -f9 > wxGTK-2.1.0-b8.tgz
|
||||
|
@@ -29,6 +29,7 @@ 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
|
||||
@@ -68,6 +69,13 @@ cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/generic
|
||||
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/generic
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/include/wx/html
|
||||
cd html
|
||||
cp *.h ~/wxmotif_dist/wxMotif/include/wx/html
|
||||
cp Makefile.am ~/wxmotif_dist/wxMotif/include/wx/html
|
||||
cp Makefile.in ~/wxmotif_dist/wxMotif/include/wx/html
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/include/wx/unix
|
||||
cd unix
|
||||
cp *.h ~/wxmotif_dist/wxMotif/include/wx/unix
|
||||
@@ -136,7 +144,6 @@ cp Makefile.am ~/wxmotif_dist/wxMotif/src/motif
|
||||
cp Makefile.in ~/wxmotif_dist/wxMotif/src/motif
|
||||
cp *.xbm ~/wxmotif_dist/wxMotif/src/motif
|
||||
cp *.c ~/wxmotif_dist/wxMotif/src/motif
|
||||
cp *.inc ~/wxmotif_dist/wxMotif/src/motif
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/src/motif
|
||||
cd ..
|
||||
|
||||
@@ -146,12 +153,24 @@ cp glob.inc ~/wxmotif_dist/wxMotif/src/common
|
||||
cp lexer.l ~/wxmotif_dist/wxMotif/src/common
|
||||
cp parser.y ~/wxmotif_dist/wxMotif/src/common
|
||||
cp extended.c ~/wxmotif_dist/wxMotif/src/common
|
||||
cp unzip.* ~/wxmotif_dist/wxMotif/src/common
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/src/common
|
||||
cd ..
|
||||
|
||||
cd html
|
||||
mkdir ~/wxmotif_dist/wxMotif/src/html
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/src/html
|
||||
cp *.h ~/wxmotif_dist/wxMotif/src/html
|
||||
cd bitmaps
|
||||
mkdir ~/wxmotif_dist/wxMotif/src/html/bitmaps
|
||||
cp *.xpm ~/wxmotif_dist/wxMotif/src/html/bitmaps
|
||||
cd ../..
|
||||
|
||||
cd unix
|
||||
mkdir ~/wxmotif_dist/wxMotif/src/unix
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/src/unix
|
||||
cp *.h ~/wxmotif_dist/wxMotif/src/unix
|
||||
cp *.c ~/wxmotif_dist/wxMotif/src/unix
|
||||
cd ..
|
||||
|
||||
cd generic
|
||||
@@ -270,17 +289,6 @@ cp *.h ~/wxmotif_dist/wxMotif/samples/db
|
||||
cp *.xpm ~/wxmotif_dist/wxMotif/samples/db
|
||||
cd ..
|
||||
|
||||
echo DDE sample..
|
||||
|
||||
cd dde
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cp Makefile.in ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cp *.h ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cp *.xpm ~/wxmotif_dist/wxMotif/samples/dde
|
||||
cd ..
|
||||
|
||||
echo Dialogs sample..
|
||||
|
||||
cd dialogs
|
||||
@@ -385,6 +393,42 @@ mkdir ~/wxmotif_dist/wxMotif/samples/help/doc
|
||||
cp * ~/wxmotif_dist/wxMotif/samples/help/doc
|
||||
cd ../..
|
||||
|
||||
echo HTML samples..
|
||||
|
||||
cd html
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html
|
||||
cp Makefile.* ~/wxmotif_dist/wxMotif/samples/html
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/about
|
||||
cp about/Makefile.* ~/wxmotif_dist/wxMotif/samples/html/about
|
||||
cp about/about.* ~/wxmotif_dist/wxMotif/samples/html/about
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/about/data
|
||||
cp about/data/*.* ~/wxmotif_dist/wxMotif/samples/html/about/data
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/help
|
||||
cp help/Makefile.* ~/wxmotif_dist/wxMotif/samples/html/help
|
||||
cp help/help.* ~/wxmotif_dist/wxMotif/samples/html/help
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/help/helpfiles
|
||||
cp help/helpfiles/*.* ~/wxmotif_dist/wxMotif/samples/html/help/helpfiles
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/printing
|
||||
cp printing/*.* ~/wxmotif_dist/wxMotif/samples/html/printing
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/test
|
||||
cp test/*.* ~/wxmotif_dist/wxMotif/samples/html/test
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/virtual
|
||||
cp virtual/*.* ~/wxgtk_dist/wxGTK/samples/html/virtual
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/widget
|
||||
cp widget/*.* ~/wxmotif_dist/wxMotif/samples/html/widget
|
||||
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/html/zip
|
||||
cp zip/*.* ~/wxmotif_dist/wxMotif/samples/html/zip
|
||||
cd ..
|
||||
|
||||
echo Image sample..
|
||||
|
||||
cd image
|
||||
@@ -556,8 +600,6 @@ cp Makefile.in ~/wxmotif_dist/wxMotif/samples/splitter
|
||||
cp *.cpp ~/wxmotif_dist/wxMotif/samples/splitter
|
||||
cd ..
|
||||
|
||||
echo Tab sample..
|
||||
|
||||
cd tab
|
||||
mkdir ~/wxmotif_dist/wxMotif/samples/tab
|
||||
cp Makefile.am ~/wxmotif_dist/wxMotif/samples/tab
|
||||
@@ -656,4 +698,4 @@ cp *.xpm ~/wxmotif_dist/wxMotif/samples/wxsocket
|
||||
cd ../..
|
||||
|
||||
cd ~/wxmotif_dist
|
||||
tar ch wxMotif | gzip -f9 > wxMotif-2.1.0-b7.tgz
|
||||
tar ch wxMotif | gzip -f9 > wxMotif-2.1.0-b8.tgz
|
||||
|
733
distrib/msw/copy_src.bat
Executable file
@@ -0,0 +1,733 @@
|
||||
echo --------
|
||||
echo This script will copy the wxMSW release files into \wxmsw_dist
|
||||
echo --------
|
||||
echo
|
||||
|
||||
md \wxmsw_dist
|
||||
md \wxmsw_dist\wxMSW
|
||||
|
||||
echo Base dir..
|
||||
|
||||
cd ..\..
|
||||
|
||||
echo Lib..
|
||||
|
||||
cd lib
|
||||
md \wxmsw_dist\wxMSW\lib
|
||||
copy dummy \wxmsw_dist\wxMSW\lib
|
||||
cd ..
|
||||
|
||||
echo Locale..
|
||||
|
||||
cd locale
|
||||
md \wxmsw_dist\wxMSW\locale
|
||||
copy *.?? \wxmsw_dist\wxMSW\locale
|
||||
cd ..
|
||||
|
||||
echo Docs..
|
||||
|
||||
cd docs\wine
|
||||
copy COPYING.LIB \wxmsw_dist\wxMSW
|
||||
copy licence.txt \wxmsw_dist\wxMSW\LICENCE.txt
|
||||
cd ..\msw
|
||||
copy install.txt \wxmsw_dist\wxMSW\INSTALL.txt
|
||||
copy readme.txt \wxmsw_dist\wxMSW\README.txt
|
||||
copy todo.txt \wxmsw_dist\wxMSW\TODO.txt
|
||||
cd ..
|
||||
copy symbols.txt \wxmsw_dist\wxMSW\SYMBOLS.txt
|
||||
cd ..
|
||||
echo Include dir..
|
||||
|
||||
md \wxmsw_dist\wxMSW\include
|
||||
cd include
|
||||
copy wx_*.* \wxmsw_dist\wxMSW\include
|
||||
|
||||
md \wxmsw_dist\wxMSW\include\wx
|
||||
cd wx
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx
|
||||
copy *.cpp \wxmsw_dist\wxMSW\include\wx
|
||||
|
||||
md \wxmsw_dist\wxMSW\include\wx\generic
|
||||
cd generic
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\generic
|
||||
cd ..
|
||||
|
||||
md \wxmsw_dist\wxMSW\include\wx\html
|
||||
cd html
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\html
|
||||
md \wxmsw_dist\wxMSW\include\wx\html\msw
|
||||
cd msw
|
||||
copy *.* \wxmsw_dist\wxMSW\include\wx\html\msw
|
||||
cd ..\..
|
||||
|
||||
|
||||
md \wxmsw_dist\wxMSW\include\wx\msw
|
||||
cd msw
|
||||
copy *.* \wxmsw_dist\wxMSW\include\wx\msw
|
||||
rem del \wxmsw_dist\wxMSW\include\wx\msw\setup.h
|
||||
del \wxmsw_dist\wxMSW\include\wx\msw\Makefile.am
|
||||
del \wxmsw_dist\wxMSW\include\wx\msw\Makefile.in
|
||||
md \wxmsw_dist\wxMSW\include\wx\msw\gnuwin32
|
||||
cd gnuwin32
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\gnuwin32
|
||||
cd ..
|
||||
md \wxmsw_dist\wxMSW\include\wx\msw\ole
|
||||
cd ole
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\ole
|
||||
cd ..
|
||||
cd ctl3d
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\msw\ctl3d
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
md \wxmsw_dist\wxMSW\include\wx\protocol
|
||||
cd protocol
|
||||
copy *.h \wxmsw_dist\wxMSW\include\wx\protocol
|
||||
cd ..
|
||||
|
||||
cd ..\..
|
||||
|
||||
echo Src dir..
|
||||
|
||||
cd src
|
||||
md \wxmsw_dist\wxMSW\src
|
||||
copy *.* \wxmsw_dist\wxMSW\src
|
||||
del Makefile.am \wxmsw_dist\wxMSW\src\Makefile.am
|
||||
del Makefile.in \wxmsw_dist\wxMSW\src\Makefile.in
|
||||
|
||||
cd msw
|
||||
md \wxmsw_dist\wxMSW\src\msw
|
||||
copy *.cpp \wxmsw_dist\wxMSW\src\msw
|
||||
copy *.c \wxmsw_dist\wxMSW\src\msw
|
||||
copy *.def \wxmsw_dist\wxMSW\src\msw
|
||||
copy makefile.* \wxmsw_dist\wxMSW\src\msw
|
||||
del Makefile.am \wxmsw_dist\wxMSW\src\msw\Makefile.am
|
||||
del Makefile.in \wxmsw_dist\wxMSW\src\msw\Makefile.in
|
||||
cd ..
|
||||
|
||||
cd common
|
||||
md \wxmsw_dist\wxMSW\src\common
|
||||
copy glob.inc \wxmsw_dist\wxMSW\src\common
|
||||
copy lexer.l \wxmsw_dist\wxMSW\src\common
|
||||
copy parser.y \wxmsw_dist\wxMSW\src\common
|
||||
copy *.c \wxmsw_dist\wxMSW\src\common
|
||||
copy *.h \wxmsw_dist\wxMSW\src\common
|
||||
copy *.cpp \wxmsw_dist\wxMSW\src\common
|
||||
cd ..
|
||||
|
||||
cd html
|
||||
md \wxmsw_dist\wxMSW\src\html
|
||||
copy *.cpp \wxmsw_dist\wxMSW\src\html
|
||||
copy *.h \wxmsw_dist\wxMSW\src\html
|
||||
cd ..
|
||||
|
||||
cd generic
|
||||
md \wxmsw_dist\wxMSW\src\generic
|
||||
copy *.cpp \wxmsw_dist\wxMSW\src\generic
|
||||
cd ..
|
||||
|
||||
cd zlib
|
||||
md \wxmsw_dist\wxMSW\src\zlib
|
||||
copy *.* \wxmsw_dist\wxMSW\src\zlib
|
||||
cd ..
|
||||
|
||||
cd png
|
||||
md \wxmsw_dist\wxMSW\src\png
|
||||
copy *.* \wxmsw_dist\wxMSW\src\png
|
||||
cd ..
|
||||
|
||||
cd jpeg
|
||||
md \wxmsw_dist\wxMSW\src\jpeg
|
||||
copy *.* \wxmsw_dist\wxMSW\src\jpeg
|
||||
cd ..
|
||||
|
||||
cd xpm
|
||||
md \wxmsw_dist\wxMSW\src\xpm
|
||||
copy *.* \wxmsw_dist\wxMSW\src\xpm
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
echo Utils dir..
|
||||
|
||||
cd utils
|
||||
md \wxmsw_dist\wxMSW\utils
|
||||
|
||||
echo wxGLCanvas..
|
||||
|
||||
cd glcanvas
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas
|
||||
copy .\docs\notes.txt \wxmsw_dist\wxMSW\utils\glcanvas\NOTES.txt
|
||||
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas\win
|
||||
copy .\win\glcanvas.cpp \wxmsw_dist\wxMSW\utils\glcanvas\win
|
||||
copy .\win\glcanvas.h \wxmsw_dist\wxMSW\utils\glcanvas\win
|
||||
copy .\win\makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\win
|
||||
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas\samples
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
md \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
|
||||
cd samples\cube
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
copy cube.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
copy cube.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
copy cube.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\cube
|
||||
cd ..
|
||||
|
||||
cd isosurf
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
copy isosurf.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
copy isosurf.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
copy isosurf.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
copy isosurf.dat.gz \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\isosurf
|
||||
cd ..
|
||||
|
||||
cd penguin
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy penguin.rc \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy penguin.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy penguin.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy trackball.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy trackball.c \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy lw.h \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy lw.cpp \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy penguin.lwo \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
copy mondrian.ico \wxmsw_dist\wxMSW\utils\glcanvas\samples\penguin
|
||||
cd ..\..\..
|
||||
|
||||
echo DialogEd..
|
||||
|
||||
cd dialoged\src
|
||||
md \wxmsw_dist\wxMSW\utils\dialoged
|
||||
md \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dialoged.def \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dialoged.rc \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dialoged.ico \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dialoged.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dlghndlr.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy edlist.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy edtree.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy reseditr.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy reswrite.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy symbtabl.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy winprop.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy winstyle.cpp \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dialoged.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy dlghndlr.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy edlist.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy edtree.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy reseditr.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy symbtabl.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy winprop.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
copy winstyle.h \wxmsw_dist\wxMSW\utils\dialoged\src
|
||||
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
|
||||
copy *.bmp \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
|
||||
copy *.ico \wxmsw_dist\wxMSW\utils\dialoged\src\bitmaps
|
||||
cd ..\..\..
|
||||
|
||||
|
||||
cd ..
|
||||
|
||||
echo Samples dir..
|
||||
|
||||
cd samples
|
||||
md \wxmsw_dist\wxMSW\samples
|
||||
copy makefile.* \wxmsw_dist\wxMSW\samples
|
||||
|
||||
echo Minimal sample..
|
||||
|
||||
cd minimal
|
||||
md \wxmsw_dist\wxMSW\samples\minimal
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\minimal
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\minimal
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\minimal
|
||||
copy minimal.cpp \wxmsw_dist\wxMSW\samples\minimal
|
||||
copy mondrian.ico \wxmsw_dist\wxMSW\samples\minimal
|
||||
cd ..
|
||||
|
||||
|
||||
echo Bombs sample..
|
||||
|
||||
cd bombs
|
||||
md \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\bombs
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\bombs
|
||||
cd ..
|
||||
|
||||
echo Caret sample..
|
||||
|
||||
cd caret
|
||||
md \wxmsw_dist\wxMSW\samples\caret
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\caret
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\caret
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\caret
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\caret
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\caret
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\caret
|
||||
cd ..
|
||||
|
||||
echo Checklst sample..
|
||||
|
||||
cd checklst
|
||||
md \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\checklst
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\checklst
|
||||
cd ..
|
||||
|
||||
echo Config sample..
|
||||
|
||||
cd config
|
||||
md \wxmsw_dist\wxMSW\samples\config
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\config
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\config
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\config
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\config
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\config
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\config
|
||||
cd ..
|
||||
|
||||
echo Controls sample..
|
||||
|
||||
cd controls
|
||||
md \wxmsw_dist\wxMSW\samples\controls
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\controls
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\controls
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\controls
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\controls
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\controls
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\controls
|
||||
cd icons
|
||||
md \wxmsw_dist\wxMSW\samples\controls\icons
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\controls\icons
|
||||
cd ..\..
|
||||
|
||||
echo Dialogs sample..
|
||||
|
||||
cd dialogs
|
||||
md \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\dialogs
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\dialogs
|
||||
cd ..
|
||||
|
||||
echo DnD sample..
|
||||
|
||||
cd dnd
|
||||
md \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\dnd
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\dnd
|
||||
cd ..
|
||||
|
||||
echo Docview sample..
|
||||
|
||||
cd docview
|
||||
md \wxmsw_dist\wxMSW\samples\docview
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\docview
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\docview
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\docview
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\docview
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\docview
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\docview
|
||||
cd ..
|
||||
|
||||
echo DocvwMDI sample..
|
||||
|
||||
cd docvwmdi
|
||||
md \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\docvwmdi
|
||||
cd ..
|
||||
|
||||
echo Dynamic sample..
|
||||
|
||||
cd dynamic
|
||||
md \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\dynamic
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\dynamic
|
||||
cd ..
|
||||
|
||||
echo Drawing sample..
|
||||
|
||||
cd drawing
|
||||
md \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\drawing
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\drawing
|
||||
cd ..
|
||||
|
||||
echo Forty sample..
|
||||
|
||||
cd forty
|
||||
md \wxmsw_dist\wxMSW\samples\forty
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.bmp \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\forty
|
||||
copy *.xbm \wxmsw_dist\wxMSW\samples\forty
|
||||
cd ..
|
||||
|
||||
echo Fractal sample..
|
||||
|
||||
cd fractal
|
||||
md \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\fractal
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\fractal
|
||||
cd ..
|
||||
|
||||
echo Grid sample..
|
||||
|
||||
cd grid
|
||||
md \wxmsw_dist\wxMSW\samples\grid
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\grid
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\grid
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\grid
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\grid
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\grid
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\grid
|
||||
cd ..
|
||||
|
||||
echo Help sample..
|
||||
|
||||
cd help
|
||||
md \wxmsw_dist\wxMSW\samples\help
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\help
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\help
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\help
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\help
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\help
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\help
|
||||
cd doc
|
||||
md \wxmsw_dist\wxMSW\samples\help\doc
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\help\doc
|
||||
cd ..\..
|
||||
|
||||
echo Image sample..
|
||||
|
||||
cd image
|
||||
md \wxmsw_dist\wxMSW\samples\image
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\image
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\image
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\image
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\image
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\image
|
||||
copy horse.png \wxmsw_dist\wxMSW\samples\image
|
||||
copy horse.gif \wxmsw_dist\wxMSW\samples\image
|
||||
copy horse.jpg \wxmsw_dist\wxMSW\samples\image
|
||||
cd ..
|
||||
|
||||
echo Internat sample..
|
||||
|
||||
cd internat
|
||||
md \wxmsw_dist\wxMSW\samples\internat
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\internat
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\internat
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\internat
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\internat
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\internat
|
||||
copy readme.txt \wxmsw_dist\wxMSW\samples\internat
|
||||
copy wxstd.po \wxmsw_dist\wxMSW\samples\internat
|
||||
cd fr
|
||||
md \wxmsw_dist\wxMSW\samples\internat\fr
|
||||
copy *.?o \wxmsw_dist\wxMSW\samples\internat\fr
|
||||
cd ..\..
|
||||
|
||||
echo Layout sample..
|
||||
|
||||
cd layout
|
||||
md \wxmsw_dist\wxMSW\samples\layout
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\layout
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\layout
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\layout
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\layout
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\layout
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\layout
|
||||
cd ..
|
||||
|
||||
echo Listctrl sample..
|
||||
|
||||
cd listctrl
|
||||
md \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\listctrl
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\listctrl
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\samples\listctrl\bitmaps
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\listctrl\bitmaps
|
||||
cd ..\..
|
||||
|
||||
echo MDI sample..
|
||||
|
||||
cd mdi
|
||||
md \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\mdi
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\mdi
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\samples\mdi\bitmaps
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\mdi\bitmaps
|
||||
cd ..\..
|
||||
|
||||
echo Memcheck sample..
|
||||
|
||||
cd memcheck
|
||||
md \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\memcheck
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\memcheck
|
||||
cd ..
|
||||
|
||||
echo Minifram sample..
|
||||
|
||||
cd minifram
|
||||
md \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\minifram
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\minifram
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\samples\minifram\bitmaps
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\minifram\bitmaps
|
||||
cd ..\..
|
||||
|
||||
echo Notebook sample..
|
||||
|
||||
cd notebook
|
||||
md \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\notebook
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\notebook
|
||||
cd ..
|
||||
|
||||
echo Printing sample..
|
||||
|
||||
cd printing
|
||||
md \wxmsw_dist\wxMSW\samples\printing
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\printing
|
||||
cd ..
|
||||
|
||||
echo Proplist sample..
|
||||
|
||||
cd proplist
|
||||
md \wxmsw_dist\wxMSW\samples\proplist
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\proplist
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\proplist
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\printing
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\proplist
|
||||
cd ..
|
||||
|
||||
echo Resource sample..
|
||||
|
||||
cd resource
|
||||
md \wxmsw_dist\wxMSW\samples\resource
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\resource
|
||||
copy *.wxr \wxmsw_dist\wxMSW\samples\resource
|
||||
cd ..
|
||||
|
||||
echo Sashtest sample..
|
||||
|
||||
cd sashtest
|
||||
md \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\sashtest
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\sashtest
|
||||
cd ..
|
||||
|
||||
echo Scroll sample..
|
||||
|
||||
cd scroll
|
||||
md \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\scroll
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\scroll
|
||||
cd ..
|
||||
|
||||
echo Splitter sample..
|
||||
|
||||
cd splitter
|
||||
md \wxmsw_dist\wxMSW\samples\splitter
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\splitter
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\splitter
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\splitter
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\splitter
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\splitter
|
||||
cd ..
|
||||
|
||||
echo Text sample..
|
||||
|
||||
cd text
|
||||
md \wxmsw_dist\wxMSW\samples\text
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\text
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\text
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\text
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\text
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\text
|
||||
cd ..
|
||||
|
||||
echo Thread sample..
|
||||
|
||||
cd thread
|
||||
md \wxmsw_dist\wxMSW\samples\thread
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\thread
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\thread
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\thread
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\thread
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\thread
|
||||
cd ..
|
||||
|
||||
echo Toolbar sample..
|
||||
|
||||
cd toolbar
|
||||
md \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\toolbar
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\toolbar
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\samples\toolbar\bitmaps
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\toolbar\bitmaps
|
||||
cd ..\..
|
||||
|
||||
echo TreeCtrl sample..
|
||||
|
||||
cd treectrl
|
||||
md \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\treectrl
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\treectrl
|
||||
cd bitmaps
|
||||
md \wxmsw_dist\wxMSW\samples\treectrl\bitmaps
|
||||
copy *.* \wxmsw_dist\wxMSW\samples\treectrl\bitmaps
|
||||
cd ..\..
|
||||
|
||||
echo typetest sample..
|
||||
|
||||
cd typetest
|
||||
md \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy *.ico \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\typetest
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\typetest
|
||||
cd ..
|
||||
|
||||
echo Validate sample..
|
||||
|
||||
cd validate
|
||||
md \wxmsw_dist\wxMSW\samples\validate
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\validate
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\validate
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\validate
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\validate
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\validate
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\validate
|
||||
cd ..
|
||||
|
||||
echo wxPoem sample..
|
||||
|
||||
cd wxpoem
|
||||
md \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy wxpoem.dat \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy wxpoem.txt \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
copy wxpoem.idx \wxmsw_dist\wxMSW\samples\wxpoem
|
||||
cd ..
|
||||
|
||||
echo wxSocket sample..
|
||||
|
||||
cd wxsocket
|
||||
md \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy Makefile.* \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy *.cpp \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy *.h \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy *.rc \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy *.def \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
copy *.xpm \wxmsw_dist\wxMSW\samples\wxsocket
|
||||
cd ..\..
|
||||
|
@@ -1,3 +1,21 @@
|
||||
*.spec
|
||||
BuildCVS.txt
|
||||
acconfig.h
|
||||
*.m4
|
||||
autogen.sh
|
||||
config.guess
|
||||
config.sub
|
||||
configure.in
|
||||
install-sh
|
||||
ltconfig
|
||||
ltmain.sh
|
||||
missing
|
||||
mkinstalldirs
|
||||
modules
|
||||
template.mak
|
||||
wx-config.in
|
||||
makefile.unx.in
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
distrib/msw/tardist
|
||||
@@ -36,6 +54,10 @@ src/generic/*.cpp
|
||||
src/generic/*.c
|
||||
src/generic/*.inc
|
||||
|
||||
src/html/*.cpp
|
||||
src/html/*.h
|
||||
src/html/bitmaps/*.xpm
|
||||
|
||||
src/unix/*.cpp
|
||||
|
||||
src/png/*.c
|
||||
@@ -725,3 +747,126 @@ samples/drawing/*.png
|
||||
samples/drawing/*.ico
|
||||
samples/drawing/*.txt
|
||||
|
||||
samples/html/makefile*
|
||||
samples/html/*.txt
|
||||
|
||||
samples/html/about/*.cpp
|
||||
samples/html/about/*.h
|
||||
samples/html/about/makefile*
|
||||
samples/html/about/*.rc
|
||||
samples/html/about/*.def
|
||||
samples/html/about/*.bmp
|
||||
samples/html/about/*.xpm
|
||||
samples/html/about/*.xbm
|
||||
samples/html/about/*.png
|
||||
samples/html/about/*.ico
|
||||
samples/html/about/*.txt
|
||||
samples/html/about/data/*.htm
|
||||
samples/html/about/data/*.png
|
||||
|
||||
samples/html/help/*.cpp
|
||||
samples/html/help/*.h
|
||||
samples/html/help/makefile*
|
||||
samples/html/help/*.rc
|
||||
samples/html/help/*.def
|
||||
samples/html/help/*.bmp
|
||||
samples/html/help/*.xpm
|
||||
samples/html/help/*.xbm
|
||||
samples/html/help/*.png
|
||||
samples/html/help/*.ico
|
||||
samples/html/help/*.txt
|
||||
samples/html/help/helpfiles/*.htm
|
||||
samples/html/help/helpfiles/*.hhc
|
||||
samples/html/help/helpfiles/*.hhk
|
||||
samples/html/help/helpfiles/*.hhp
|
||||
|
||||
samples/html/printing/*.cpp
|
||||
samples/html/printing/*.h
|
||||
samples/html/printing/makefile*
|
||||
samples/html/printing/*.rc
|
||||
samples/html/printing/*.def
|
||||
samples/html/printing/*.bmp
|
||||
samples/html/printing/*.xpm
|
||||
samples/html/printing/*.xbm
|
||||
samples/html/printing/*.png
|
||||
samples/html/printing/*.ico
|
||||
samples/html/printing/*.htm
|
||||
|
||||
samples/html/test/*.cpp
|
||||
samples/html/test/*.h
|
||||
samples/html/test/makefile*
|
||||
samples/html/test/*.rc
|
||||
samples/html/test/*.def
|
||||
samples/html/test/*.bmp
|
||||
samples/html/test/*.xpm
|
||||
samples/html/test/*.xbm
|
||||
samples/html/test/*.png
|
||||
samples/html/test/*.ico
|
||||
samples/html/test/*.htm
|
||||
samples/html/test/*.html
|
||||
|
||||
samples/html/virtual/*.cpp
|
||||
samples/html/virtual/*.h
|
||||
samples/html/virtual/makefile*
|
||||
samples/html/virtual/*.rc
|
||||
samples/html/virtual/*.def
|
||||
samples/html/virtual/*.bmp
|
||||
samples/html/virtual/*.xpm
|
||||
samples/html/virtual/*.xbm
|
||||
samples/html/virtual/*.png
|
||||
samples/html/virtual/*.ico
|
||||
samples/html/virtual/*.htm
|
||||
samples/html/virtual/*.html
|
||||
|
||||
samples/html/widget/*.cpp
|
||||
samples/html/widget/*.h
|
||||
samples/html/widget/makefile*
|
||||
samples/html/widget/*.rc
|
||||
samples/html/widget/*.def
|
||||
samples/html/widget/*.bmp
|
||||
samples/html/widget/*.xpm
|
||||
samples/html/widget/*.xbm
|
||||
samples/html/widget/*.png
|
||||
samples/html/widget/*.ico
|
||||
samples/html/widget/*.htm
|
||||
samples/html/widget/*.html
|
||||
|
||||
samples/html/zip/*.cpp
|
||||
samples/html/zip/*.h
|
||||
samples/html/zip/makefile*
|
||||
samples/html/zip/*.rc
|
||||
samples/html/zip/*.def
|
||||
samples/html/zip/*.bmp
|
||||
samples/html/zip/*.xpm
|
||||
samples/html/zip/*.xbm
|
||||
samples/html/zip/*.png
|
||||
samples/html/zip/*.ico
|
||||
samples/html/zip/*.htm
|
||||
samples/html/zip/*.html
|
||||
|
||||
samples/richedit/*.cpp
|
||||
samples/richedit/*.h
|
||||
samples/richedit/makefile*
|
||||
samples/richedit/*.rc
|
||||
samples/richedit/*.def
|
||||
samples/richedit/*.bmp
|
||||
samples/richedit/*.xpm
|
||||
samples/richedit/*.xbm
|
||||
samples/richedit/*.png
|
||||
samples/richedit/*.ico
|
||||
samples/richedit/*.txt
|
||||
samples/richedit/TODO
|
||||
samples/richedit/README
|
||||
|
||||
samples/text/*.cpp
|
||||
samples/text/*.h
|
||||
samples/text/makefile*
|
||||
samples/text/*.rc
|
||||
samples/text/*.def
|
||||
samples/text/*.bmp
|
||||
samples/text/*.xpm
|
||||
samples/text/*.xbm
|
||||
samples/text/*.png
|
||||
samples/text/*.ico
|
||||
samples/text/*.txt
|
||||
|
||||
|
@@ -1,20 +1,10 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
wxGTK.spec
|
||||
|
||||
distrib/gtk/copy_src
|
||||
distrib/gtk/README.txt
|
||||
distrib/gtk/Setup
|
||||
|
||||
docs/gtk/*.html
|
||||
docs/gtk/*.txt
|
||||
docs/gtk/COPYING.LIB
|
||||
docs/gtk/makewxgtk
|
||||
|
||||
include/wx/gtk/*.h
|
||||
|
@@ -80,6 +80,10 @@ 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
|
||||
@@ -89,3 +93,80 @@ utils/ogl/samples/studio/Makefile
|
||||
utils/ogl/src/Makefile.in
|
||||
utils/ogl/src/Makefile
|
||||
|
||||
Makefile.am
|
||||
include/Makefile.am
|
||||
include/wx/Makefile.am
|
||||
include/wx/generic/Makefile.am
|
||||
include/wx/gtk/Makefile.am
|
||||
include/wx/html/Makefile.am
|
||||
include/wx/motif/Makefile.am
|
||||
include/wx/msw/Makefile.am
|
||||
include/wx/msw/ctl3d/Makefile.am
|
||||
include/wx/msw/gnuwin32/Makefile.am
|
||||
include/wx/protocol/Makefile.am
|
||||
include/wx/unix/Makefile.am
|
||||
misc/Makefile.am
|
||||
misc/afm/Makefile.am
|
||||
misc/gs_afm/Makefile.am
|
||||
samples/Makefile.am
|
||||
samples/bombs/Makefile.am
|
||||
samples/caret/Makefile.am
|
||||
samples/checklst/Makefile.am
|
||||
samples/config/Makefile.am
|
||||
samples/controls/Makefile.am
|
||||
samples/db/Makefile.am
|
||||
samples/dialogs/Makefile.am
|
||||
samples/dnd/Makefile.am
|
||||
samples/docview/Makefile.am
|
||||
samples/docvwmdi/Makefile.am
|
||||
samples/drawing/Makefile.am
|
||||
samples/dynamic/Makefile.am
|
||||
samples/forty/Makefile.am
|
||||
samples/fractal/Makefile.am
|
||||
samples/grid/Makefile.am
|
||||
samples/help/Makefile.am
|
||||
samples/html/Makefile.am
|
||||
samples/html/about/Makefile.am
|
||||
samples/html/help/Makefile.am
|
||||
samples/html/printing/Makefile.am
|
||||
samples/html/test/Makefile.am
|
||||
samples/html/virtual/Makefile.am
|
||||
samples/html/widget/Makefile.am
|
||||
samples/html/zip/Makefile.am
|
||||
samples/image/Makefile.am
|
||||
samples/internat/Makefile.am
|
||||
samples/joytest/Makefile.am
|
||||
samples/layout/Makefile.am
|
||||
samples/listctrl/Makefile.am
|
||||
samples/mdi/Makefile.am
|
||||
samples/memcheck/Makefile.am
|
||||
samples/mfc/Makefile.am
|
||||
samples/minifram/Makefile.am
|
||||
samples/minimal/Makefile.am
|
||||
samples/nativdlg/Makefile.am
|
||||
samples/notebook/Makefile.am
|
||||
samples/oleauto/Makefile.am
|
||||
samples/ownerdrw/Makefile.am
|
||||
samples/png/Makefile.am
|
||||
samples/printing/Makefile.am
|
||||
samples/proplist/Makefile.am
|
||||
samples/regtest/Makefile.am
|
||||
samples/resource/Makefile.am
|
||||
samples/richedit/Makefile.am
|
||||
samples/sashtest/Makefile.am
|
||||
samples/scroll/Makefile.am
|
||||
samples/splitter/Makefile.am
|
||||
samples/tab/Makefile.am
|
||||
samples/taskbar/Makefile.am
|
||||
samples/text/Makefile.am
|
||||
samples/thread/Makefile.am
|
||||
samples/toolbar/Makefile.am
|
||||
samples/treectrl/Makefile.am
|
||||
samples/typetest/Makefile.am
|
||||
samples/validate/Makefile.am
|
||||
samples/wxpoem/Makefile.am
|
||||
samples/wxsocket/Makefile.am
|
||||
src/Makefile.am
|
||||
src/gtk/Makefile.am
|
||||
src/motif/Makefile.am
|
||||
src/msw/Makefile.am
|
||||
|
@@ -48,6 +48,8 @@ include/wx/install-sh
|
||||
|
||||
docs/motif/*.txt
|
||||
docs/motif/makewxmotif
|
||||
docs/motif2/*.txt
|
||||
docs/motif2/COPYING.LIB
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,8 +1,11 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
docs/msw/*.txt
|
||||
docs/wine/*.txt
|
||||
docs/wine/COPYING.LIB
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
distrib/msw/tmake/*.t
|
||||
|
||||
tools/gettext/xgettext.exe
|
||||
tools/gettext/msgfmt.exe
|
||||
@@ -48,6 +51,7 @@ src/msw/makefile.*
|
||||
src/msw/*.lst
|
||||
src/msw/*.def
|
||||
src/msw/*.inc
|
||||
src/msw/winestub.c
|
||||
|
||||
src/msw/ctl3d/*.*
|
||||
src/msw/ctl3d/msvc/*.*
|
||||
|
341
distrib/msw/tmake/b32.t
Normal file
@@ -0,0 +1,341 @@
|
||||
#!#############################################################################
|
||||
#! File: b32.t
|
||||
#! Purpose: tmake template file from which makefile.b32 is generated by running
|
||||
#! tmake -t b32 wxwin.pro
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
my $tag = "";
|
||||
next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
$isCFile = $file =~ /\.c$/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$obj = "\$(MSWDIR)\\" . $file . " ";
|
||||
$project{"WXCOMMONOBJS"} .= $obj;
|
||||
$project{"WXCOBJS"} .= $obj if $isCFile;
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
next if $wxMSW{$file} =~ /\b16\b/;
|
||||
|
||||
if ( $file =~ /^automtn/ ) {
|
||||
#! comment in old makefile.b32 seems to imply that this file can't
|
||||
#! be compiled with Borland (leads to crash in oleauto sample)
|
||||
next;
|
||||
}
|
||||
|
||||
my $isOleObj = $wxMSW{$file} =~ /\bO\b/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
my $obj = "\$(MSWDIR)\\" . $file . " ";
|
||||
|
||||
$project{"WXMSWOBJS"} .= $obj;
|
||||
if ( $isOleObj ) {
|
||||
#! remember that this file is in ole subdir
|
||||
$project{"WXOLEOBJS"} .= $obj;
|
||||
}
|
||||
|
||||
}
|
||||
#$}
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE B32.T!
|
||||
|
||||
#
|
||||
# File: makefile.b32
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
# Updated:
|
||||
# Copyright:
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile : Builds wxWindows library wx.lib for MS Windows,
|
||||
# and Borland C++ (32-bit).
|
||||
|
||||
!if "$(BCCDIR)" == ""
|
||||
!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
|
||||
!endif
|
||||
|
||||
!if "$(WXWIN)" == ""
|
||||
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
|
||||
!endif
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
# Set all these to 1 if you want to build a dynamic library
|
||||
!if "$(DLL)" == "1"
|
||||
WXMAKINGDLL=1
|
||||
WXBUILDDLL=1
|
||||
!endif
|
||||
|
||||
!include $(WXDIR)\src\makeb32.env
|
||||
|
||||
# Please set these according to the settings in wx_setup.h, so we can include
|
||||
# the appropriate libraries in wx.lib
|
||||
USE_CTL3D=0
|
||||
USE_XPM_IN_MSW=0
|
||||
|
||||
PERIPH_LIBS=
|
||||
PERIPH_TARGET=
|
||||
PERIPH_CLEAN_TARGET=
|
||||
|
||||
!if "$(USE_CTL3D)" == "1"
|
||||
#Use WIN32S/WIN95 32 bit version ctl3d32.dll under win95 (Andre Beltman)
|
||||
PERIPH_LIBS=$(WXDIR)\lib\ctl3d32.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=ctl3d $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_ctl3d $(PERIPH_CLEAN_TARGET)
|
||||
!endif
|
||||
|
||||
!if "$(USE_XPM_IN_MSW)" == "1"
|
||||
PERIPH_LIBS=$(WXLIB)\xpm.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=xpm $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
|
||||
!endif
|
||||
|
||||
#PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\jpeg.lib $(PERIPH_LIBS)
|
||||
PERIPH_LIBS=
|
||||
PERIPH_TARGET=zlib png jpeg $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_zlib clean_png clean_jpeg $(PERIPH_CLEAN_TARGET)
|
||||
|
||||
!if "$(DLL)" == "0"
|
||||
DUMMY=dummy
|
||||
!else
|
||||
DUMMY=dummydll
|
||||
LIBS= cw32 import32 ole2w32
|
||||
!endif
|
||||
|
||||
LIBTARGET=$(WXLIB)
|
||||
|
||||
GENDIR=..\generic
|
||||
COMMDIR=..\common
|
||||
OLEDIR=.\ole
|
||||
MSWDIR=.
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
# Not needed:
|
||||
# $(MSWDIR)\colrdlgg.obj \
|
||||
# $(MSWDIR)\fontdlgg.obj \
|
||||
# $(MSWDIR)\helpxlp.obj \
|
||||
# $(MSWDIR)\msgdlgg.obj \
|
||||
# $(MSWDIR)\printps.obj \
|
||||
# $(MSWDIR)\prntdlgg.obj \
|
||||
# $(MSWDIR)\listctrl.obj \
|
||||
# $(MSWDIR)\notebook.obj \
|
||||
# $(MSWDIR)\treectrl.obj
|
||||
|
||||
COMMONOBJS = \
|
||||
$(MSWDIR)\y_tab.obj \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
MSWOBJS = #$ ExpandList("WXMSWOBJS");
|
||||
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
|
||||
default: wx
|
||||
|
||||
wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
|
||||
|
||||
all: all_libs all_execs
|
||||
|
||||
!if "$(DLL)" == "0"
|
||||
|
||||
$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
|
||||
-erase $(LIBTARGET)
|
||||
tlib $(LIBTARGET) /P1024 @&&!
|
||||
+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
|
||||
!
|
||||
|
||||
!else
|
||||
|
||||
$(LIBTARGET): $(DUMMY).obj $(OBJECTS)
|
||||
-erase $(LIBTARGET)
|
||||
-erase $(WXLIBDIR)\wx.dll
|
||||
tlink32 $(LINK_FLAGS) /v @&&!
|
||||
c0d32.obj $(OBJECTS)
|
||||
$(WXLIBDIR)\wx
|
||||
nul
|
||||
$(PERIPH_LIBS) $(LIBS)
|
||||
wxb32
|
||||
!
|
||||
implib -c $(LIBTARGET) $(WXLIBDIR)\wx.dll
|
||||
|
||||
!endif
|
||||
|
||||
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
|
||||
$(MSWDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
# cl @<<
|
||||
# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
|
||||
# <<
|
||||
|
||||
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
# $(OBJECTS): $(WXDIR)\include\wx\setup.h
|
||||
|
||||
#${
|
||||
$_ = $project{"WXMSWOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
if ( $project{"WXOLEOBJS"} =~ /\Q$_/ ) { s/MSWDIR/OLEDIR/; }
|
||||
s/obj$/\$(SRCSUFF)/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Common objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXCOMMONOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
|
||||
s/MSWDIR/COMMDIR/;
|
||||
s/obj$/$suffix/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Generic objects (not always compiled, depending on
|
||||
# whether platforms have native implementations)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXGENERICOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
s/MSWDIR/GENDIR/;
|
||||
s/obj$/\$(SRCSUFF)/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
|
||||
all_utils:
|
||||
cd $(WXDIR)\utils
|
||||
make -f makefile.b32
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
all_samples:
|
||||
cd $(WXDIR)\samples
|
||||
make -f makefile.b32
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
all_execs:
|
||||
cd $(WXDIR)\utils
|
||||
make -f makefile.b32 all_execs
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
wxxpm: $(CFG)
|
||||
cd $(WXDIR)\src\xpm
|
||||
make -f makefile.b32 -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_wxxpm: $(CFG)
|
||||
cd $(WXDIR)\src\xpm
|
||||
make -f makefile.b32 clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
png: $(CFG)
|
||||
cd $(WXDIR)\src\png
|
||||
make -f makefile.b32
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_png:
|
||||
cd $(WXDIR)\src\png
|
||||
make -f makefile.b32 clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib: $(CFG)
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.b32 lib
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.b32 clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
jpeg: $(CFG)
|
||||
cd $(WXDIR)\src\jpeg
|
||||
make -f makefile.b32
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_jpeg:
|
||||
cd $(WXDIR)\src\jpeg
|
||||
make -f makefile.b32 clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
$(CFG): makefile.b32
|
||||
copy &&!
|
||||
-H=$(WXDIR)\src\msw\wx32.csm
|
||||
-3
|
||||
-d
|
||||
-R-
|
||||
-X
|
||||
-w-par
|
||||
-w-aus
|
||||
-w-hid # virtual function A hides virtual function B
|
||||
-WE
|
||||
-tWM
|
||||
|
||||
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/jpeg;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
|
||||
-I$(WXDIR)\include\wx\msw\gnuwin32
|
||||
|
||||
-L$(BCCDIR)\lib
|
||||
-D__WXWIN__
|
||||
-D__WXMSW__
|
||||
-D__WINDOWS__
|
||||
-DWIN32
|
||||
$(OPT)
|
||||
$(DEBUG_FLAGS)
|
||||
$(WIN95FLAG)
|
||||
! $(CFG)
|
||||
|
||||
#-I$(WXDIR)\src\common\wxxpm\libxpm.34b\lib
|
||||
# -Oxt
|
||||
|
||||
clean: $(PERIPH_CLEAN_TARGET)
|
||||
-erase $(LIBTARGET)
|
||||
-erase *.obj
|
||||
-erase *.pch
|
||||
-erase *.csm
|
||||
-erase *.cfg
|
||||
-erase ..\common\y_tab.c
|
||||
-erase ..\common\lex_yy.c
|
||||
|
||||
cleanall: clean
|
||||
|
||||
|
||||
MFTYPE=b32
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
||||
|
308
distrib/msw/tmake/bcc.t
Normal file
@@ -0,0 +1,308 @@
|
||||
#!#############################################################################
|
||||
#! File: bcc.t
|
||||
#! Purpose: tmake template file from which makefile.bcc is generated by running
|
||||
#! tmake -t bcc wxwin.pro -o makefile.bcc
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
my $tag = "";
|
||||
next if $wxGeneric{$file} =~ /\b(PS|G|U)\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXGENERICOBJS"} .= "\$(MSWDIR)\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
#! socket files don't compile under Win16 currently
|
||||
next if $wxCommon{$file} =~ /\b(32|S)\b/;
|
||||
|
||||
#! needs extra files (sql*.h) so not compiled by default.
|
||||
next if $file =~ /^odbc\./;
|
||||
|
||||
$isCFile = $file =~ /\.c$/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$obj = "\$(MSWDIR)\\" . $file . " ";
|
||||
$project{"WXCOMMONOBJS"} .= $obj;
|
||||
$project{"WXCOBJS"} .= $obj if $isCFile;
|
||||
}
|
||||
|
||||
#! special hack for Borland in 16 bits needs this file
|
||||
$project{"WXCOMMONOBJS"} .= '${MSWDIR}\resourc2.cpp';
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
#! don't take files not appropriate for 16-bit Windows
|
||||
next if $wxMSW{$file} =~ /\b(32|O)\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
|
||||
}
|
||||
#$}
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE BCC.T!
|
||||
|
||||
#
|
||||
# File: makefile.bcc
|
||||
# Author: Julian Smart
|
||||
# Created: 1993
|
||||
# Updated:
|
||||
# Copyright:(c) 1993, AIAI, University of Edinburgh
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile : Builds wxWindows library wx.lib for Windows 3.1
|
||||
# and Borland C++ 3.1
|
||||
|
||||
!if "$(BCCDIR)" == ""
|
||||
!error You must define the BCCDIR variable in autoexec.bat, e.g. BCCDIR=d:\bc4
|
||||
!endif
|
||||
|
||||
!if "$(WXWIN)" == ""
|
||||
!error You must define the WXWIN variable in autoexec.bat, e.g. WXWIN=c:\wx
|
||||
!endif
|
||||
|
||||
!if "$(CFG)" == ""
|
||||
# !error You must start compiling from wx\src, not wx\src\msw.
|
||||
!endif
|
||||
|
||||
!ifndef DEBUG
|
||||
DEBUG=0
|
||||
!endif
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
!include $(WXDIR)\src\makebcc.env
|
||||
|
||||
THISDIR = $(WXDIR)\src\msw
|
||||
|
||||
# Please set these according to the settings in wx_setup.h, so we can include
|
||||
# the appropriate libraries in wx.lib
|
||||
USE_CTL3D=1
|
||||
USE_XPM_IN_MSW=0
|
||||
|
||||
PERIPH_LIBS=
|
||||
PERIPH_TARGET=
|
||||
PERIPH_CLEAN_TARGET=
|
||||
|
||||
!if "$(USE_CTL3D)" == "1"
|
||||
PERIPH_LIBS=$(BCCDIR)\lib\ctl3dv2.lib $(PERIPH_LIBS)
|
||||
!endif
|
||||
|
||||
!if "$(USE_XPM_IN_MSW)" == "1"
|
||||
PERIPH_LIBS=$(WXDIR)\xpm.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=xpm $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
|
||||
!endif
|
||||
|
||||
# TODO: add these libraries
|
||||
# PERIPH_LIBS=$(WXDIR)\lib\zlib.lib $(WXDIR)\lib\winpng.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=zlib png $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_zlib clean_png $(PERIPH_CLEAN_TARGET)
|
||||
|
||||
CPPFLAGS=$(DEBUG_FLAGS) $(OPT) @$(CFG)
|
||||
|
||||
LIBTARGET= $(WXLIBDIR)\wx.lib
|
||||
DUMMY=dummy
|
||||
|
||||
GENDIR=..\generic
|
||||
COMMDIR=..\common
|
||||
OLEDIR=.\ole
|
||||
MSWDIR=.
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
$(MSWDIR)\y_tab.obj \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
MSWOBJS = #$ ExpandList("WXMSWOBJS");
|
||||
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
|
||||
default: wx
|
||||
|
||||
wx: $(CFG) $(DUMMY).obj $(OBJECTS) $(PERIPH_TARGET) $(LIBTARGET)
|
||||
|
||||
$(LIBTARGET): $(DUMMY).obj $(OBJECTS) $(PERIPH_LIBS)
|
||||
erase $(LIBTARGET)
|
||||
tlib $(LIBTARGET) /P1024 @&&!
|
||||
+$(OBJECTS:.obj =.obj +) +$(PERIPH_LIBS:.lib =.lib +)
|
||||
!
|
||||
|
||||
dummy.obj: dummy.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
dummydll.obj: dummydll.$(SRCSUFF) $(LOCALHEADERS) $(BASEHEADERS) $(WXDIR)\include\wx\wx.h
|
||||
|
||||
$(MSWDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
# cl @<<
|
||||
# $(CPPFLAGS2) /c $*.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
|
||||
# <<
|
||||
|
||||
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
# $(OBJECTS): $(WXDIR)\include\wx\setup.h
|
||||
|
||||
#${
|
||||
$_ = $project{"WXMSWOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
s/obj/\$(SRCSUFF)/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Common objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXCOMMONOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
$suffix = $project{"WXCOBJS"} =~ /\Q$_/ ? "c" : '$(SRCSUFF)';
|
||||
s/MSWDIR/COMMDIR/;
|
||||
s/obj/$suffix/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Generic objects (not always compiled, depending on
|
||||
# whether platforms have native implementations)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXGENERICOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ": ";
|
||||
s/MSWDIR/GENDIR/;
|
||||
s/obj/\$(SRCSUFF)/;
|
||||
$text .= $_ . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
all_utils:
|
||||
cd $(WXDIR)\utils
|
||||
make -f makefile.bcc
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
all_samples:
|
||||
cd $(WXDIR)\samples
|
||||
make -f makefile.bcc
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
all_execs:
|
||||
cd $(WXDIR)\utils
|
||||
make -f makefile.bcc all_execs
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
all_libs:
|
||||
cd $(WXDIR)\src\msw
|
||||
make -f makefile.bcc ctl3d dib fafa gauge hytext itsy prologio rcparser wx wxgraph\
|
||||
wxstring wxtree mfutils # wxxpm
|
||||
|
||||
all_contribs:
|
||||
cd $(WXDIR)\src\msw
|
||||
make -f makefile.bcc ctl3d fafa wxstring itsy gauge # wxxpm
|
||||
|
||||
# CONTRIB
|
||||
ctl3d: $(CFG)
|
||||
cd $(WXDIR)\src\msw\ctl3d\borland
|
||||
make -f makefile.bcc -DCFG=$(CFG)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
wxxpm: $(CFG)
|
||||
cd $(WXDIR)\src\xpm
|
||||
make -f makefile.bcc -DCFG=$(CFG) -DFINAL=$(FINAL) -DWXWIN=$(WXDIR) -DDEBUG=$(DEBUG)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
png: $(CFG)
|
||||
cd $(WXDIR)\src\png
|
||||
make -f makefile.bcc
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_png:
|
||||
cd $(WXDIR)\src\png
|
||||
make -f makefile.bcc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib: $(CFG)
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.bcc
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
make -f makefile.bcc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
$(CFG): makefile.bcc
|
||||
copy &&!
|
||||
-H=$(WXDIR)\src\msw\borland.pch
|
||||
-2
|
||||
-P
|
||||
-d
|
||||
-w-hid
|
||||
-w-par
|
||||
-w-pia
|
||||
-w-aus
|
||||
-w-rch
|
||||
-ml
|
||||
-Od
|
||||
-WE
|
||||
-Fs-
|
||||
-Vf
|
||||
-Ff=4
|
||||
-I$(WXINC);$(BCCDIR)\include;$(WXDIR)/src/png;$(WXDIR)/src/zlib;$(WXDIR)/src/xpm
|
||||
-I$(WXDIR)\include\wx\msw\gnuwin32
|
||||
-L$(BCCDIR)\lib
|
||||
-D__WXWIN__
|
||||
-D__WXMSW__
|
||||
-D__WINDOWS__
|
||||
-D__WIN16__
|
||||
! $(CFG)
|
||||
!if "$(BOR_VER)" == "3.1"
|
||||
echo -Ff=4 >>$(CFG)
|
||||
!elif "$(BOR_VER)" == "4"
|
||||
echo -Ff=512 >>$(CFG)
|
||||
echo -dc >>$(CFG)
|
||||
!else
|
||||
echo -Ff=512 >>$(CFG)
|
||||
echo -dc >>$(CFG)
|
||||
!endif
|
||||
|
||||
# -O was: -Oxt
|
||||
|
||||
clean: $(PERIPH_CLEAN_TARGET)
|
||||
erase $(LIBTARGET)
|
||||
erase *.obj
|
||||
erase *.pch
|
||||
erase *.csm
|
||||
erase *.cfg
|
||||
erase ..\common\y_tab.c
|
||||
erase ..\common\lex_yy.c
|
||||
|
||||
cleanall: clean
|
||||
|
||||
|
||||
MFTYPE=bcc
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
260
distrib/msw/tmake/dos.t
Normal file
@@ -0,0 +1,260 @@
|
||||
#!#############################################################################
|
||||
#! File: dos.t
|
||||
#! Purpose: tmake template file from which makefile.dos is generated by running
|
||||
#! tmake -t dos wxwin.pro -o makefile.dos
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
if ( $wxGeneric{$file} =~ /\b(PS|G|U)\b/ ) {
|
||||
#! this file for some reason was compiled for VC++ 1.52
|
||||
next unless $file =~ /^prntdlgg\./;
|
||||
}
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXGENERICOBJS"} .= "\$(GENDIR)\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
#! socket files don't compile under Win16 currently
|
||||
next if $wxCommon{$file} =~ /\b(32|S)\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXCOMMONOBJS"} .= "\$(COMMDIR)\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
#! don't take files not appropriate for 16-bit Windows
|
||||
next if $wxMSW{$file} =~ /\b(32|O)\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXMSWOBJS"} .= "\$(MSWDIR)\\" . $file . " "
|
||||
}
|
||||
#$}
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE DOS.T!
|
||||
|
||||
#
|
||||
# File: makefile.dos
|
||||
# Author: Julian Smart
|
||||
# Created: 1997
|
||||
# Updated:
|
||||
# Copyright:(c) 1997, Julian Smart
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile : Builds wxWindows library wx.lib for VC++ (16-bit)
|
||||
# Arguments:
|
||||
#
|
||||
# FINAL=1 argument to nmake to build version with no debugging info.
|
||||
#
|
||||
!include <..\makemsc.env>
|
||||
|
||||
LIBTARGET=$(WXLIB)
|
||||
DUMMYOBJ=dummy.obj
|
||||
|
||||
# Please set these according to the settings in wx_setup.h, so we can include
|
||||
# the appropriate libraries in wx.lib
|
||||
|
||||
# This one overrides the others, to be consistent with the settings in wx_setup.h
|
||||
MINIMAL_WXWINDOWS_SETUP=0
|
||||
|
||||
USE_XPM_IN_MSW=0
|
||||
USE_CTL3D=1
|
||||
|
||||
!if "$(MINIMAL_WXWINDOWS_SETUP)" == "1"
|
||||
USE_CTL3D=0
|
||||
USE_XPM_IN_MSW=0
|
||||
!endif
|
||||
|
||||
PERIPH_LIBS=
|
||||
PERIPH_TARGET=
|
||||
PERIPH_CLEAN_TARGET=
|
||||
|
||||
# !if "$(USE_CTL3D)" == "1"
|
||||
# PERIPH_LIBS=d:\msdev\lib\ctl3d32.lib $(PERIPH_LIBS)
|
||||
# !endif
|
||||
|
||||
!if "$(USE_XPM_IN_MSW)" == "1"
|
||||
PERIPH_LIBS=$(WXDIR)\contrib\wxxpm\xpm.lib $(PERIPH_LIBS)
|
||||
PERIPH_TARGET=xpm $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_xpm $(PERIPH_CLEAN_TARGET)
|
||||
!endif
|
||||
|
||||
# PNG and Zlib
|
||||
PERIPH_TARGET=png zlib $(PERIPH_TARGET)
|
||||
PERIPH_CLEAN_TARGET=clean_png clean_zlib $(PERIPH_CLEAN_TARGET)
|
||||
|
||||
GENDIR=..\generic
|
||||
COMMDIR=..\common
|
||||
OLEDIR=.\ole
|
||||
MSWDIR=.
|
||||
|
||||
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
$(COMMDIR)\y_tab.obj \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
MSWOBJS = #$ ExpandList("WXMSWOBJS");
|
||||
|
||||
# TODO: Implement XPM and PNG targets in this makefile!
|
||||
# $(OLEDIR)\xpmhand \
|
||||
# $(OLEDIR)\pnghand \
|
||||
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
|
||||
# Normal, static library
|
||||
all: $(DUMMYOBJ) $(WXDIR)\lib\wx1.lib $(WXDIR)\lib\wx2.lib $(WXDIR)\lib\wx3.lib
|
||||
|
||||
|
||||
# $(WXDIR)\lib\wx.lib: dummy.obj $(OBJECTS) $(PERIPH_LIBS)
|
||||
# -erase $(LIBTARGET)
|
||||
# lib /PAGESIZE:128 @<<
|
||||
# $(LIBTARGET)
|
||||
# y
|
||||
# $(OBJECTS) $(PERIPH_LIBS)
|
||||
# nul
|
||||
# ;
|
||||
# <<
|
||||
|
||||
$(WXDIR)\lib\wx1.lib: $(COMMONOBJS) $(PERIPH_LIBS)
|
||||
-erase $(WXDIR)\lib\wx1.lib
|
||||
lib /PAGESIZE:128 @<<
|
||||
$(WXDIR)\lib\wx1.lib
|
||||
y
|
||||
$(COMMONOBJS) $(PERIPH_LIBS)
|
||||
nul
|
||||
;
|
||||
<<
|
||||
|
||||
$(WXDIR)\lib\wx2.lib: $(GENERICOBJS)
|
||||
-erase $(WXDIR)\lib\wx2.lib
|
||||
lib /PAGESIZE:128 @<<
|
||||
$(WXDIR)\lib\wx2.lib
|
||||
y
|
||||
$(GENERICOBJS)
|
||||
nul
|
||||
;
|
||||
<<
|
||||
|
||||
$(WXDIR)\lib\wx3.lib: $(MSWOBJS)
|
||||
-erase $(WXDIR)\lib\wx3.lib
|
||||
lib /PAGESIZE:128 @<<
|
||||
$(WXDIR)\lib\wx3.lib
|
||||
y
|
||||
$(MSWOBJS)
|
||||
nul
|
||||
;
|
||||
<<
|
||||
|
||||
########################################################
|
||||
# Windows-specific objects
|
||||
|
||||
dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
|
||||
cl @<<
|
||||
cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
|
||||
<<
|
||||
|
||||
#dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
|
||||
# cl $(CPPFLAGS) /YcWX/WXPREC.H $(DEBUG_FLAGS) /c /Tp $*.$(SRCSUFF)
|
||||
|
||||
dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h
|
||||
cl @<<
|
||||
$(CPPFLAGS) /YcWX/WXPREC.H /c /Tp $*.$(SRCSUFF)
|
||||
<<
|
||||
|
||||
#${
|
||||
$_ = $project{"WXMSWOBJS"} . $project{"WXCOMMONOBJS"} . $project{"WXGENERICOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
s:\\:/:;
|
||||
$text .= $_ . ': $*.$(SRCSUFF)' . "\n" .
|
||||
' cl @<<' . "\n" .
|
||||
'$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)' . "\n" .
|
||||
"<<\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
$(COMMDIR)/y_tab.obj: $*.c $(COMMDIR)/lex_yy.c
|
||||
cl @<<
|
||||
$(CPPFLAGS2) -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@ /I ..\common /c $*.c
|
||||
<<
|
||||
|
||||
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
$(OBJECTS): $(WXDIR)/include/wx/setup.h
|
||||
|
||||
# Peripheral components
|
||||
|
||||
xpm:
|
||||
cd $(WXDIR)\src\xpm
|
||||
nmake -f makefile.dos FINAL=$(FINAL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_xpm:
|
||||
cd $(WXDIR)\src\xpm
|
||||
nmake -f makefile.dos clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
nmake -f makefile.dos FINAL=$(FINAL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
nmake -f makefile.dos clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
png:
|
||||
cd $(WXDIR)\src\png
|
||||
nmake -f makefile.dos FINAL=$(FINAL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_png:
|
||||
cd $(WXDIR)\src\png
|
||||
nmake -f makefile.dos clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean: $(PERIPH_CLEAN_TARGET)
|
||||
-erase *.obj
|
||||
-erase ..\lib\*.lib
|
||||
-erase *.pdb
|
||||
-erase *.sbr
|
||||
-erase *.pch
|
||||
cd $(WXDIR)\src\generic
|
||||
-erase *.pdb
|
||||
-erase *.sbr
|
||||
-erase *.obj
|
||||
cd $(WXDIR)\src\common
|
||||
-erase *.pdb
|
||||
-erase *.sbr
|
||||
-erase *.obj
|
||||
cd $(WXDIR)\src\msw\ole
|
||||
-erase *.pdb
|
||||
-erase *.sbr
|
||||
-erase *.obj
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
cleanall: clean
|
||||
|
||||
|
||||
MFTYPE=dos
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
58
distrib/msw/tmake/filelist.t
Normal file
@@ -0,0 +1,58 @@
|
||||
#!#############################################################################
|
||||
#! File: filelist.t
|
||||
#! Purpose: tmake template file containig Perl code to parse the filelist.txt
|
||||
#! file - this is used by all other templates.
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
#${
|
||||
open(FILELIST, "filelist.txt") or die "Can't open filelist file: $!\n";
|
||||
|
||||
line: while ( defined($_ = <FILELIST>) ) {
|
||||
chomp;
|
||||
|
||||
#! comment or blank line, skip
|
||||
next line if ( $_ eq "" or /^#/ );
|
||||
|
||||
#! if ( $verbose ) {
|
||||
#! print STDERR "Processing line: '$_'\n";
|
||||
#! }
|
||||
|
||||
my @fields = split "\t";
|
||||
if ( $#fields > 2 ) {
|
||||
warn "Ignoring malformed line $_ in the filelist file.\n";
|
||||
next line;
|
||||
} elsif ( $#fields == 1 ) {
|
||||
#! add an empty flags string
|
||||
$fields[2] = "";
|
||||
}
|
||||
|
||||
if ( $verbose ) {
|
||||
print STDERR "File $fields[0]: type '$fields[1]', flags '$fields[2]'\n";
|
||||
}
|
||||
|
||||
#! first column is filename, second is type, third is flags
|
||||
if ( $fields[1] eq "C" ) {
|
||||
$wxCommon{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "G" ) {
|
||||
$wxGeneric{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "M" ) {
|
||||
$wxMSW{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "R" ) {
|
||||
$wxGTK{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "H" ) {
|
||||
$wxHTML{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "U" ) {
|
||||
$wxUNIX{$fields[0]} = $fields[2];
|
||||
} elsif ( $fields[1] eq "I" ) {
|
||||
$wxINCLUDE{$fields[0]} = $fields[2];
|
||||
} else {
|
||||
warn "Unknown file type $fields[1] for $fields[0], ignoring.\n";
|
||||
next line;
|
||||
}
|
||||
}
|
||||
|
||||
close(FILELIST);
|
||||
#$}
|
||||
#! vim:sw=4:ts=4:list:et
|
572
distrib/msw/tmake/filelist.txt
Normal file
@@ -0,0 +1,572 @@
|
||||
###############################################################################
|
||||
# File: src/msw/filelist.cpp
|
||||
# Purpose: The list of source files for MSW version of wxWindows.
|
||||
# Author: Vadim Zeitlin
|
||||
# Created: 14.07.99
|
||||
# Version: $Id$
|
||||
#
|
||||
# Format of this file: TAB separated columns. The first column contains the
|
||||
# filename, the second a letter corresonding a directory:
|
||||
# G /src/generic
|
||||
# C /src/common
|
||||
# M /src/msw
|
||||
# U /src/unix
|
||||
# R /src/gtk
|
||||
# H /src/html
|
||||
# I /include/wx, /include/wx/gtk, /include/wx/msw, etc.
|
||||
#
|
||||
# The third column may be empty or contain some additional info about this
|
||||
# file (only compile it in 16bit mode, don't compile it with this or that
|
||||
# compiler, &c)
|
||||
#
|
||||
# Known flags:
|
||||
# 16 a generic file implementing Win32 control for Win16
|
||||
# 32 only can be compiled under Win32
|
||||
# PS PostScript related file, normally not compiled under Windows
|
||||
# G generic code which might be used instead of native one
|
||||
# U Unix-ish file, normally not compiled under Windows
|
||||
# O OLE file (needs Win32 and a decent compiler)
|
||||
# S Socket file (currently doesn't compile under Win16 nor with GNU)
|
||||
# R Not required for the GTK port
|
||||
# WX Base header
|
||||
# GTK GTK header
|
||||
# MSW MSW header
|
||||
# MAC Mac header
|
||||
# MOT Motif header
|
||||
# PM OS/2 header
|
||||
# GEN Generic header
|
||||
# PRO Protocol header
|
||||
# HTM wxHtml header
|
||||
# UNX Unix header
|
||||
###############################################################################
|
||||
|
||||
# File name Type Flags
|
||||
|
||||
busyinfo.cpp G
|
||||
caret.cpp G U
|
||||
choicdgg.cpp G R
|
||||
colrdlgg.cpp G G
|
||||
dirdlgg.cpp G 16
|
||||
extdlgg.cpp G
|
||||
fontdlgg.cpp G G
|
||||
gridg.cpp G
|
||||
helpxlp.cpp G G,R
|
||||
imaglist.cpp G 16
|
||||
laywin.cpp G
|
||||
listctrl.cpp G 16
|
||||
msgdlgg.cpp G G,R
|
||||
notebook.cpp G 16,R
|
||||
panelg.cpp G
|
||||
printps.cpp G PS
|
||||
prntdlgg.cpp G PS,U
|
||||
progdlgg.cpp G
|
||||
prop.cpp G
|
||||
propform.cpp G
|
||||
proplist.cpp G
|
||||
sashwin.cpp G
|
||||
scrolwin.cpp G
|
||||
splitter.cpp G
|
||||
statusbr.cpp G
|
||||
tabg.cpp G R
|
||||
numdlgg.cpp G
|
||||
textdlgg.cpp G R
|
||||
tipdlg.cpp G
|
||||
treectrl.cpp G 16
|
||||
|
||||
choiccmn.cpp C R
|
||||
cmndata.cpp C
|
||||
config.cpp C
|
||||
ctrlcmn.cpp C R
|
||||
date.cpp C
|
||||
datstrm.cpp C
|
||||
db.cpp C
|
||||
dbtable.cpp C
|
||||
dcbase.cpp C
|
||||
dlgcmn.cpp C
|
||||
docmdi.cpp C
|
||||
docview.cpp C
|
||||
dynarray.cpp C
|
||||
dynlib.cpp C
|
||||
event.cpp C
|
||||
extended.c C
|
||||
ffile.cpp C
|
||||
file.cpp C
|
||||
fileconf.cpp C
|
||||
filefn.cpp C
|
||||
filesys.cpp C
|
||||
framecmn.cpp C
|
||||
fs_inet.cpp C
|
||||
fs_zip.cpp C
|
||||
ftp.cpp C S
|
||||
gdicmn.cpp C
|
||||
hash.cpp C
|
||||
helpbase.cpp C
|
||||
http.cpp C S
|
||||
imagbmp.cpp C
|
||||
image.cpp C
|
||||
imaggif.cpp C
|
||||
imagjpeg.cpp C
|
||||
imagpng.cpp C
|
||||
intl.cpp C
|
||||
ipcbase.cpp C
|
||||
layout.cpp C
|
||||
list.cpp C
|
||||
log.cpp C
|
||||
memory.cpp C
|
||||
mimetype.cpp C 32
|
||||
module.cpp C
|
||||
mstream.cpp C
|
||||
object.cpp C
|
||||
objstrm.cpp C
|
||||
odbc.cpp C R
|
||||
paper.cpp C
|
||||
prntbase.cpp C
|
||||
process.cpp C 32
|
||||
protocol.cpp C S
|
||||
resource.cpp C
|
||||
sckaddr.cpp C S
|
||||
sckfile.cpp C S
|
||||
sckipc.cpp C S
|
||||
sckstrm.cpp C S
|
||||
socket.cpp C S
|
||||
stream.cpp C
|
||||
string.cpp C
|
||||
tbarbase.cpp C
|
||||
tbarsmpl.cpp C 16
|
||||
textcmn.cpp C
|
||||
textfile.cpp C
|
||||
time.cpp C
|
||||
timercmn.cpp C
|
||||
tokenzr.cpp C
|
||||
txtstrm.cpp C
|
||||
unzip.c C
|
||||
url.cpp C S
|
||||
utilscmn.cpp C
|
||||
valgen.cpp C
|
||||
validate.cpp C
|
||||
valtext.cpp C
|
||||
variant.cpp C
|
||||
wfstream.cpp C
|
||||
wincmn.cpp C
|
||||
wxchar.cpp C
|
||||
wxexpr.cpp C
|
||||
zipstream.cpp C
|
||||
zstream.cpp C
|
||||
|
||||
accel.cpp M
|
||||
app.cpp M
|
||||
automtn.cpp M O
|
||||
bitmap.cpp M
|
||||
bmpbuttn.cpp M
|
||||
brush.cpp M
|
||||
button.cpp M
|
||||
caret.cpp M
|
||||
checkbox.cpp M
|
||||
checklst.cpp M
|
||||
choice.cpp M
|
||||
clipbrd.cpp M
|
||||
colordlg.cpp M
|
||||
colour.cpp M
|
||||
combobox.cpp M
|
||||
control.cpp M
|
||||
curico.cpp M
|
||||
cursor.cpp M
|
||||
data.cpp M
|
||||
dataobj.cpp M O
|
||||
dc.cpp M
|
||||
dcclient.cpp M
|
||||
dcmemory.cpp M
|
||||
dcprint.cpp M
|
||||
dcscreen.cpp M
|
||||
dde.cpp M
|
||||
dialog.cpp M
|
||||
dib.cpp M
|
||||
dibutils.cpp M
|
||||
dirdlg.cpp M 32
|
||||
dragimag.cpp M
|
||||
dropsrc.cpp M O
|
||||
droptgt.cpp M O
|
||||
filedlg.cpp M
|
||||
font.cpp M
|
||||
fontdlg.cpp M
|
||||
frame.cpp M
|
||||
gauge95.cpp M 32
|
||||
gaugemsw.cpp M 16
|
||||
gdiobj.cpp M
|
||||
helpwin.cpp M
|
||||
icon.cpp M
|
||||
imaglist.cpp M 32
|
||||
iniconf.cpp M 16
|
||||
joystick.cpp M
|
||||
listbox.cpp M
|
||||
listctrl.cpp M 32
|
||||
main.cpp M
|
||||
mdi.cpp M
|
||||
menu.cpp M
|
||||
menuitem.cpp M
|
||||
metafile.cpp M
|
||||
minifram.cpp M
|
||||
msgdlg.cpp M
|
||||
nativdlg.cpp M
|
||||
notebook.cpp M 32
|
||||
oleutils.cpp M O
|
||||
ownerdrw.cpp M
|
||||
palette.cpp M
|
||||
pen.cpp M
|
||||
penwin.cpp M
|
||||
pnghand.cpp M
|
||||
printdlg.cpp M
|
||||
printwin.cpp M
|
||||
radiobox.cpp M
|
||||
radiobut.cpp M
|
||||
regconf.cpp M 32
|
||||
region.cpp M
|
||||
registry.cpp M 32
|
||||
scrolbar.cpp M
|
||||
settings.cpp M
|
||||
slider95.cpp M 32
|
||||
slidrmsw.cpp M 16
|
||||
spinbutt.cpp M
|
||||
statbmp.cpp M
|
||||
statbox.cpp M
|
||||
statbr95.cpp M 32
|
||||
statline.cpp M
|
||||
stattext.cpp M
|
||||
tabctrl.cpp M
|
||||
taskbar.cpp M 32
|
||||
tbar95.cpp M 32
|
||||
tbarmsw.cpp M 16
|
||||
textctrl.cpp M
|
||||
thread.cpp M 32
|
||||
timer.cpp M
|
||||
tooltip.cpp M 32
|
||||
treectrl.cpp M 32
|
||||
utils.cpp M
|
||||
utilsexc.cpp M
|
||||
uuid.cpp M O
|
||||
wave.cpp M
|
||||
window.cpp M
|
||||
xpmhand.cpp M
|
||||
|
||||
threadpsx.cpp U
|
||||
utilsunx.cpp U
|
||||
gsocket.c U
|
||||
|
||||
gsockgtk.c R
|
||||
win_gtk.c R
|
||||
accel.cpp R
|
||||
app.cpp R
|
||||
bitmap.cpp R
|
||||
bmpbuttn.cpp R
|
||||
brush.cpp R
|
||||
button.cpp R
|
||||
checkbox.cpp R
|
||||
checklst.cpp R
|
||||
choice.cpp R
|
||||
choicdlg.cpp R
|
||||
clipbrd.cpp R
|
||||
colour.cpp R
|
||||
combobox.cpp R
|
||||
control.cpp R
|
||||
cursor.cpp R
|
||||
data.cpp R
|
||||
dataobj.cpp R
|
||||
dc.cpp R
|
||||
dcclient.cpp R
|
||||
dcmemory.cpp R
|
||||
dcscreen.cpp R
|
||||
dialog.cpp R
|
||||
dnd.cpp R
|
||||
filedlg.cpp R
|
||||
font.cpp R
|
||||
frame.cpp R
|
||||
gauge.cpp R
|
||||
gdiobj.cpp R
|
||||
icon.cpp R
|
||||
listbox.cpp R
|
||||
main.cpp R
|
||||
mdi.cpp R
|
||||
menu.cpp R
|
||||
minifram.cpp R
|
||||
msgdlg.cpp R
|
||||
notebook.cpp R
|
||||
palette.cpp R
|
||||
pen.cpp R
|
||||
radiobox.cpp R
|
||||
radiobut.cpp R
|
||||
region.cpp R
|
||||
scrolbar.cpp R
|
||||
settings.cpp R
|
||||
slider.cpp R
|
||||
spinbutt.cpp R
|
||||
statbmp.cpp R
|
||||
statbox.cpp R
|
||||
statline.cpp R
|
||||
stattext.cpp R
|
||||
tbargtk.cpp R
|
||||
textctrl.cpp R
|
||||
textdlg.cpp R
|
||||
timer.cpp R
|
||||
tooltip.cpp R
|
||||
utilsgtk.cpp R
|
||||
utilsres.cpp R
|
||||
wave.cpp R
|
||||
window.cpp R
|
||||
|
||||
htmlcell.cpp H
|
||||
htmlfilter.cpp H
|
||||
htmlhelp.cpp H
|
||||
htmlhelp_io.cpp H
|
||||
htmlparser.cpp H
|
||||
htmltag.cpp H
|
||||
htmlwin.cpp H
|
||||
htmlwinparser.cpp H
|
||||
mod_fonts.cpp H
|
||||
mod_hline.cpp H
|
||||
mod_image.cpp H
|
||||
mod_layout.cpp H
|
||||
mod_links.cpp H
|
||||
mod_list.cpp H
|
||||
mod_pre.cpp H
|
||||
mod_tables.cpp H
|
||||
search.cpp H
|
||||
|
||||
arrimpl.cpp I WX
|
||||
listimpl.cpp I WX
|
||||
accel.h I WX
|
||||
app.h I WX
|
||||
bitmap.h I WX
|
||||
bmpbuttn.h I WX
|
||||
brush.h I WX
|
||||
buffer.h I WX
|
||||
busyinfo.h I WX
|
||||
button.h I WX
|
||||
caret.h I WX
|
||||
checkbox.h I WX
|
||||
checklst.h I WX
|
||||
choicdlg.h I WX
|
||||
choice.h I WX
|
||||
clipbrd.h I WX
|
||||
cmndata.h I WX
|
||||
colordlg.h I WX
|
||||
colour.h I WX
|
||||
combobox.h I WX
|
||||
confbase.h I WX
|
||||
config.h I WX
|
||||
control.h I WX
|
||||
cursor.h I WX
|
||||
dataobj.h I WX
|
||||
date.h I WX
|
||||
datstrm.h I WX
|
||||
db.h I WX
|
||||
dbtable.h I WX
|
||||
dc.h I WX
|
||||
dcclient.h I WX
|
||||
dcmemory.h I WX
|
||||
dcprint.h I WX
|
||||
dcps.h I WX
|
||||
dcscreen.h I WX
|
||||
dde.h I WX
|
||||
debug.h I WX
|
||||
defs.h I WX
|
||||
dialog.h I WX
|
||||
dirdlg.h I WX
|
||||
dnd.h I WX
|
||||
docmdi.h I WX
|
||||
docview.h I WX
|
||||
dragimag.h I WX
|
||||
dynarray.h I WX
|
||||
dynlib.h I WX
|
||||
event.h I WX
|
||||
expr.h I WX
|
||||
extdlg.h I WX
|
||||
ffile.h I WX
|
||||
file.h I WX
|
||||
fileconf.h I WX
|
||||
filedlg.h I WX
|
||||
filefn.h I WX
|
||||
filesys.h I WX
|
||||
font.h I WX
|
||||
fontdlg.h I WX
|
||||
frame.h I WX
|
||||
fs_inet.h I WX
|
||||
fs_zip.h I WX
|
||||
gauge.h I WX
|
||||
gdicmn.h I WX
|
||||
gdiobj.h I WX
|
||||
grid.h I WX
|
||||
hash.h I WX
|
||||
help.h I WX
|
||||
helpbase.h I WX
|
||||
helphtml.h I WX
|
||||
helpwin.h I WX
|
||||
helpxlp.h I WX
|
||||
icon.h I WX
|
||||
image.h I WX
|
||||
imaglist.h I WX
|
||||
intl.h I WX
|
||||
ioswrap.h I WX
|
||||
ipcbase.h I WX
|
||||
joystick.h I WX
|
||||
layout.h I WX
|
||||
laywin.h I WX
|
||||
list.h I WX
|
||||
listbox.h I WX
|
||||
listctrl.h I WX
|
||||
log.h I WX
|
||||
longlong.h I WX
|
||||
matrix.h I WX
|
||||
mdi.h I WX
|
||||
memory.h I WX
|
||||
menu.h I WX
|
||||
menuitem.h I WX
|
||||
metafile.h I WX
|
||||
mimetype.h I WX
|
||||
minifram.h I WX
|
||||
module.h I WX
|
||||
msgdlg.h I WX
|
||||
mstream.h I WX
|
||||
notebook.h I WX
|
||||
object.h I WX
|
||||
objstrm.h I WX
|
||||
odbc.h I WX
|
||||
ownerdrw.h I WX
|
||||
palette.h I WX
|
||||
panel.h I WX
|
||||
paper.h I WX
|
||||
pen.h I WX
|
||||
pnghand.h I WX
|
||||
print.h I WX
|
||||
printdlg.h I WX
|
||||
prntbase.h I WX
|
||||
process.h I WX
|
||||
progdlg.h I WX
|
||||
prop.h I WX
|
||||
propform.h I WX
|
||||
proplist.h I WX
|
||||
radiobox.h I WX
|
||||
radiobut.h I WX
|
||||
region.h I WX
|
||||
resource.h I WX
|
||||
sashwin.h I WX
|
||||
sckaddr.h I WX
|
||||
sckipc.h I WX
|
||||
sckstrm.h I WX
|
||||
scrolbar.h I WX
|
||||
scrolwin.h I WX
|
||||
serbase.h I WX
|
||||
settings.h I WX
|
||||
setup.h I WX
|
||||
slider.h I WX
|
||||
socket.h I WX
|
||||
spinbutt.h I WX
|
||||
splitter.h I WX
|
||||
statbmp.h I WX
|
||||
statbox.h I WX
|
||||
statline.h I WX
|
||||
stattext.h I WX
|
||||
statusbr.h I WX
|
||||
stream.h I WX
|
||||
string.h I WX
|
||||
tab.h I WX
|
||||
tabctrl.h I WX
|
||||
taskbar.h I WX
|
||||
tbar95.h I WX
|
||||
tbarbase.h I WX
|
||||
tbarmsw.h I WX
|
||||
tbarsmpl.h I WX
|
||||
textctrl.h I WX
|
||||
textdlg.h I WX
|
||||
textfile.h I WX
|
||||
txtstrm.h I WX
|
||||
thread.h I WX
|
||||
time.h I WX
|
||||
timer.h I WX
|
||||
tipdlg.h I WX
|
||||
tokenzr.h I WX
|
||||
toolbar.h I WX
|
||||
tooltip.h I WX
|
||||
treectrl.h I WX
|
||||
types.h I WX
|
||||
url.h I WX
|
||||
utils.h I WX
|
||||
valgen.h I WX
|
||||
validate.h I WX
|
||||
valtext.h I WX
|
||||
variant.h I WX
|
||||
version.h I WX
|
||||
wave.h I WX
|
||||
wfstream.h I WX
|
||||
window.h I WX
|
||||
wx.h I WX
|
||||
wx_cw.h I WX
|
||||
wx_cw_cm.h I WX
|
||||
wx_cw_d.h I WX
|
||||
wxchar.h I WX
|
||||
wxexpr.h I WX
|
||||
wxhtml.h I WX
|
||||
wxprec.h I WX
|
||||
xpmhand.h I WX
|
||||
zipstream.h I WX
|
||||
zstream.h I WX
|
||||
|
||||
accel.h I GTK
|
||||
app.h I GTK
|
||||
bitmap.h I GTK
|
||||
bmpbuttn.h I GTK
|
||||
brush.h I GTK
|
||||
button.h I GTK
|
||||
checkbox.h I GTK
|
||||
checklst.h I GTK
|
||||
choice.h I GTK
|
||||
choicdlg.h I GTK
|
||||
clipbrd.h I GTK
|
||||
colour.h I GTK
|
||||
combobox.h I GTK
|
||||
control.h I GTK
|
||||
cursor.h I GTK
|
||||
dataobj.h I GTK
|
||||
dc.h I GTK
|
||||
dcclient.h I GTK
|
||||
dcmemory.h I GTK
|
||||
dcscreen.h I GTK
|
||||
dialog.h I GTK
|
||||
dnd.h I GTK
|
||||
filedlg.h I GTK
|
||||
font.h I GTK
|
||||
frame.h I GTK
|
||||
gauge.h I GTK
|
||||
gdiobj.h I GTK
|
||||
icon.h I GTK
|
||||
joystick.h I GTK
|
||||
listbox.h I GTK
|
||||
mdi.h I GTK
|
||||
menu.h I GTK
|
||||
menuitem.h I GTK
|
||||
msgdlg.h I GTK
|
||||
minifram.h I GTK
|
||||
notebook.h I GTK
|
||||
palette.h I GTK
|
||||
pen.h I GTK
|
||||
radiobox.h I GTK
|
||||
radiobut.h I GTK
|
||||
region.h I GTK
|
||||
scrolbar.h I GTK
|
||||
settings.h I GTK
|
||||
slider.h I GTK
|
||||
spinbutt.h I GTK
|
||||
statbmp.h I GTK
|
||||
statbox.h I GTK
|
||||
statline.h I GTK
|
||||
stattext.h I GTK
|
||||
tbargtk.h I GTK
|
||||
textctrl.h I GTK
|
||||
textdlg.h I GTK
|
||||
timer.h I GTK
|
||||
tooltip.h I GTK
|
||||
treectrl.h I GTK
|
||||
wave.h I GTK
|
||||
win_gtk.h I GTK
|
||||
window.h I GTK
|
||||
|
||||
# vi: set noet ts=16 nolist:
|
267
distrib/msw/tmake/g95.t
Normal file
@@ -0,0 +1,267 @@
|
||||
#!#############################################################################
|
||||
#! File: g95.t
|
||||
#! Purpose: tmake template file from which makefile.g95 is generated by running
|
||||
#! tmake -t g95 wxwin.pro -o makefile.g95
|
||||
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
|
||||
#! so take the generic version
|
||||
if ( $wxGeneric{$file} =~ /\b(PS|G|U|16)\b/ ) {
|
||||
next unless $file =~ /^dirdlgg\./;
|
||||
}
|
||||
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\b(16)\b/;
|
||||
|
||||
#! needs extra files (sql*.h) so not compiled by default.
|
||||
next if $file =~ /^odbc\./;
|
||||
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
#! Mingw32 doesn't have the OLE headers and has some troubles with
|
||||
#! socket code
|
||||
next if $wxMSW{$file} =~ /\b(O|16)\b/;
|
||||
|
||||
#! native wxDirDlg can't be compiled due to GnuWin32/OLE limitations,
|
||||
next if $file =~ /^dirdlg\./;
|
||||
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXMSWOBJS"} .= '$(MSWDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxHTML) {
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
#$}
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T!
|
||||
|
||||
#
|
||||
# File: makefile.g95
|
||||
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
|
||||
# Created: 1993
|
||||
# Updated: 1999
|
||||
# Copyright:(c) 1993, AIAI, University of Edinburgh,
|
||||
# Copyright:(c) 1999, Vadim Zeitlin
|
||||
# Copyright:(c) 1999, Robert Roebling
|
||||
#
|
||||
# Makefile for libwx.a
|
||||
|
||||
# Replace this with your own path if necessary
|
||||
WXDIR = ../..
|
||||
|
||||
# All common compiler flags and options are now in
|
||||
# this central makefile.
|
||||
include $(WXDIR)/src/makeg95.env
|
||||
|
||||
# Subordinate library possibilities
|
||||
|
||||
EXTRAOBJS=
|
||||
|
||||
GENDIR = $(WXDIR)/src/generic
|
||||
COMMDIR = $(WXDIR)/src/common
|
||||
HTMLDIR = $(WXDIR)/src/html
|
||||
XPMDIR = $(WXDIR)/src/xpm
|
||||
PNGDIR = $(WXDIR)/src/png
|
||||
JPEGDIR = $(WXDIR)/src/jpeg
|
||||
ZLIBDIR = $(WXDIR)/src/zlib
|
||||
OLEDIR = $(WXDIR)/src/msw/ole
|
||||
MSWDIR = $(WXDIR)/src/msw
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS = \
|
||||
#$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
$(COMMDIR)/y_tab.$(OBJSUFF) \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
HTMLOBJS = \
|
||||
#$ ExpandList("WXHTMLOBJS");
|
||||
|
||||
MSWOBJS = \
|
||||
#$ ExpandList("WXMSWOBJS");
|
||||
|
||||
ZLIBOBJS = \
|
||||
$(ZLIBDIR)/adler32.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/compress.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/crc32.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/gzio.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/uncompr.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/deflate.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/trees.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/zutil.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inflate.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infblock.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inftrees.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infcodes.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infutil.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inffast.$(OBJSUFF)
|
||||
|
||||
PNGOBJS = \
|
||||
$(PNGDIR)/png.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngread.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrtran.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrutil.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngpread.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngtrans.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwrite.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwtran.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwutil.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngerror.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngmem.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwio.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrio.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngget.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngset.$(OBJSUFF)
|
||||
|
||||
|
||||
JPEGOBJS = \
|
||||
$(JPEGDIR)/jcomapi.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jutils.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jerror.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jmemmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jmemnobs.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcapimin.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcapistd.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jctrans.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcparam.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdatadst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcinit.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmaster.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmarker.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmainct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcprepct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jccoefct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jccolor.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcsample.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jchuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcphuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctfst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctflt.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctint.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdapimin.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdapistd.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdtrans.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdatasrc.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmaster.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdinput.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmarker.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdhuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdphuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmainct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdcoefct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdpostct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jddctmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctfst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctflt.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctint.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctred.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdsample.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdcolor.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jquant1.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jquant2.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmerge.$(OBJSUFF)
|
||||
|
||||
XPMOBJECTS = $(XPMDIR)/crbuffri.o\
|
||||
$(XPMDIR)/crdatfri.o\
|
||||
$(XPMDIR)/create.o $(XPMDIR)/crifrbuf.o\
|
||||
$(XPMDIR)/crifrdat.o\
|
||||
$(XPMDIR)/data.o\
|
||||
$(XPMDIR)/hashtab.o $(XPMDIR)/misc.o\
|
||||
$(XPMDIR)/parse.o $(XPMDIR)/rdftodat.o\
|
||||
$(XPMDIR)/rdftoi.o\
|
||||
$(XPMDIR)/rgb.o $(XPMDIR)/scan.o\
|
||||
$(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\
|
||||
$(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o
|
||||
|
||||
OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \
|
||||
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS)
|
||||
|
||||
all: $(OBJECTS) $(WXLIB)
|
||||
|
||||
$(WXLIB): $(OBJECTS) $(EXTRAOBJS)
|
||||
ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h
|
||||
|
||||
$(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c
|
||||
$(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c
|
||||
|
||||
$(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c
|
||||
copy ..\common\dosyacc.c ..\common\y_tab.c
|
||||
|
||||
$(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c
|
||||
copy ..\common\doslex.c ..\common\lex_yy.c
|
||||
|
||||
# Replace lex with flex if you run into compilation
|
||||
# problems with lex_yy.c. See also note about LEX_SCANNER
|
||||
# above.
|
||||
# $(COMMDIR)/lex_yy.c: $(COMMDIR)/lexer.l
|
||||
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
|
||||
#
|
||||
# Try one of these if the above line doesn't work.
|
||||
# Alternative syntax (1)
|
||||
# $(LEX) -t -L $(COMMDIR)/lexer.l > $(COMMDIR)/lex_yy.c
|
||||
# Alternative syntax (2)
|
||||
# $(LEX) -L -o$(COMMDIR)/lex_yy.c $(COMMDIR)/lexer.l
|
||||
#
|
||||
# sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \
|
||||
# sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \
|
||||
# sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c
|
||||
# rm -f lex.yy.c
|
||||
#
|
||||
# Replace yacc with bison if you run into compilation
|
||||
# problems with y_tab.c.
|
||||
#
|
||||
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
|
||||
# $(YACC) -o $(COMMDIR)/y_tab.c $(COMMDIR)/parser.y
|
||||
#
|
||||
# If you use e.g. gcc on Unix, uncomment these lines
|
||||
# and comment out the above.
|
||||
#
|
||||
# $(COMMDIR)/y_tab.c: $(COMMDIR)/parser.y
|
||||
# $(YACC) $(COMMDIR)/parser.y
|
||||
# mv y.tab.c $(COMMDIR)/y_tab.c
|
||||
|
||||
clean:
|
||||
-erase *.o
|
||||
-erase *.bak
|
||||
-erase core
|
||||
-erase ..\common\y_tab.c
|
||||
-erase ..\common\lex_yy.c
|
||||
-erase ..\common\*.o
|
||||
-erase ..\common\*.bak
|
||||
-erase ..\generic\*.o
|
||||
-erase ..\generic\*.bak
|
||||
-erase ..\html\*.o
|
||||
-erase ..\png\*.o
|
||||
-erase ..\png\*.bak
|
||||
-erase ..\zlib\*.o
|
||||
-erase ..\zlib\*.bak
|
||||
-erase ..\jpeg\*.o
|
||||
-erase ..\..\lib\libwx.a
|
||||
|
||||
cleanall: clean
|
219
distrib/msw/tmake/gtk.t
Normal file
@@ -0,0 +1,219 @@
|
||||
#!#############################################################################
|
||||
#! File: gtk.t
|
||||
#! Purpose: tmake template file from which Makefile is generated by running
|
||||
#! tmake -t gtk wxwin.pro -o Makefile
|
||||
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
next if $wxGeneric{$file} =~ /\bR\b/;
|
||||
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXGENERICOBJS"} .= '$(GENDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\bR\b/;
|
||||
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxGTK) {
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXGTKOBJS"} .= '$(GTKDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxHTML) {
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXHTMLOBJS"} .= '$(HTMLDIR)/' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxUNIX) {
|
||||
$file =~ s/cp?p?$/\$(OBJSUFF)/;
|
||||
$project{"WXUNIXOBJS"} .= '$(UNIXDIR)/' . $file . " "
|
||||
}
|
||||
#$}
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
|
||||
|
||||
#
|
||||
# File: Makefile
|
||||
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
|
||||
# Created: 1993
|
||||
# Updated: 1999
|
||||
# Copyright:(c) 1993, AIAI, University of Edinburgh,
|
||||
# Copyright:(c) 1999, Vadim Zeitlin
|
||||
# Copyright:(c) 1999, Robert Roebling
|
||||
#
|
||||
# Makefile for libwx_gtk.a
|
||||
|
||||
WXDIR = ../..
|
||||
|
||||
include $(WXDIR)/src/gtk.env
|
||||
|
||||
# Subordinate library possibilities
|
||||
|
||||
GENDIR = $(WXDIR)/src/generic
|
||||
COMMDIR = $(WXDIR)/src/common
|
||||
HTMLDIR = $(WXDIR)/src/html
|
||||
UNIXDIR = $(WXDIR)/src/unix
|
||||
PNGDIR = $(WXDIR)/src/png
|
||||
JPEGDIR = $(WXDIR)/src/jpeg
|
||||
ZLIBDIR = $(WXDIR)/src/zlib
|
||||
GTKDIR = $(WXDIR)/src/gtk
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS = \
|
||||
#$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
$(COMMDIR)/parser.$(OBJSUFF) \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
HTMLOBJS = \
|
||||
#$ ExpandList("WXHTMLOBJS");
|
||||
|
||||
GTKOBJS = \
|
||||
#$ ExpandList("WXGTKOBJS");
|
||||
|
||||
UNIXOBJS = \
|
||||
#$ ExpandList("WXUNIXOBJS");
|
||||
|
||||
ZLIBOBJS = \
|
||||
$(ZLIBDIR)/adler32.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/compress.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/crc32.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/gzio.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/uncompr.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/deflate.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/trees.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/zutil.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inflate.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infblock.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inftrees.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infcodes.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/infutil.$(OBJSUFF) \
|
||||
$(ZLIBDIR)/inffast.$(OBJSUFF)
|
||||
|
||||
PNGOBJS = \
|
||||
$(PNGDIR)/png.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngread.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrtran.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrutil.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngpread.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngtrans.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwrite.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwtran.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwutil.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngerror.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngmem.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngwio.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngrio.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngget.$(OBJSUFF) \
|
||||
$(PNGDIR)/pngset.$(OBJSUFF)
|
||||
|
||||
|
||||
JPEGOBJS = \
|
||||
$(JPEGDIR)/jcomapi.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jutils.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jerror.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jmemmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jmemnobs.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcapimin.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcapistd.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jctrans.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcparam.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdatadst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcinit.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmaster.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmarker.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcmainct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcprepct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jccoefct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jccolor.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcsample.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jchuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcphuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jcdctmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctfst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctflt.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jfdctint.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdapimin.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdapistd.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdtrans.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdatasrc.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmaster.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdinput.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmarker.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdhuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdphuff.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmainct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdcoefct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdpostct.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jddctmgr.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctfst.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctflt.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctint.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jidctred.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdsample.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdcolor.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jquant1.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jquant2.$(OBJSUFF) \
|
||||
$(JPEGDIR)/jdmerge.$(OBJSUFF)
|
||||
|
||||
OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
|
||||
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
|
||||
|
||||
all: $(OBJECTS) $(WXLIB)
|
||||
|
||||
$(WXLIB): $(OBJECTS)
|
||||
ar $(AROPTIONS) $@ $(OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(OBJECTS): $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
|
||||
|
||||
$(COMMDIR)/parser.$(OBJSUFF): $(COMMDIR)/parser.c $(COMMDIR)/lexer.c
|
||||
$(CCLEX) -c $(CFLAGS) -o $@ $(COMMDIR)/parser.c
|
||||
|
||||
$(COMMDIR)/parser.c: $(COMMDIR)/parser.y $(COMMDIR)/lexer.c
|
||||
$(YACC) $(COMMDIR)/parser.y
|
||||
@sed -e "s;$(COMMDIR)/y.tab.c;parser.y;g" < y.tab.c | \
|
||||
sed -e "s/BUFSIZ/5000/g" | \
|
||||
sed -e "s/YYLMAX 200/YYLMAX 5000/g" | \
|
||||
sed -e "s/yy/PROIO_yy/g" | \
|
||||
sed -e "s/input/PROIO_input/g" | \
|
||||
sed -e "s/unput/PROIO_unput/g" > $(COMMDIR)/parser.c
|
||||
@$(RM) y.tab.c
|
||||
|
||||
$(COMMDIR)/lexer.c: $(COMMDIR)/lexer.l
|
||||
$(LEX) $(COMMDIR)/lexer.l
|
||||
@sed -e "s;$(COMMDIR)/lex.yy.c;lexer.l;g" < lex.yy.c | \
|
||||
sed -e "s/yy/PROIO_yy/g" | \
|
||||
sed -e "s/input/PROIO_input/g" | \
|
||||
sed -e "s/unput/PROIO_unput/g" > $(COMMDIR)/lexer.c
|
||||
@$(RM) lex.yy.c
|
||||
|
||||
clean:
|
||||
rm -f $(GTKDIR)/*.$(OBJSUFF)
|
||||
rm -f $(COMMDIR)/parser.c
|
||||
rm -f $(COMMDIR)/lexer.c
|
||||
rm -f $(COMMDIR)/*.$(OBJSUFF)
|
||||
rm -f $(GENDIR)/*.$(OBJSUFF)
|
||||
rm -f $(PNGDIR)/*.$(OBJSUFF)
|
||||
rm -f $(ZLIBDIR)/*.$(OBJSUFF)
|
||||
rm -f $(JPEGDIR)/*.$(OBJSUFF)
|
||||
rm -f $(UNIXDIR)/*.$(OBJSUFF)
|
||||
rm -f $(HTMLDIR)/*.$(OBJSUFF)
|
||||
rm -f $(WXWIN)/lib/libwx_$(GUI).a
|
||||
|
||||
cleanall: clean
|
57
distrib/msw/tmake/makeall.bat
Executable file
@@ -0,0 +1,57 @@
|
||||
@echo off
|
||||
rem File: makeall.bat
|
||||
rem Purpose: create wxWindows makefiles for all compilers
|
||||
rem Author: Vadim Zeitlin
|
||||
rem Created: 14.07.99
|
||||
rem Copyright: (c) 1999 Vadim Zeitlin
|
||||
rem Version: $Id$
|
||||
rem
|
||||
rem Makefile to create the makefiles for all compilers from the templates using
|
||||
rem tmake. The environment variable WX or WXWIN should be defined and contain
|
||||
rem the root directory of wxWindows installation. TMAKE program should be in
|
||||
rem path or, alternatively, TMAKE environment variable should be set.
|
||||
|
||||
if "x%WX%" == "x" goto skip
|
||||
set WXDIR=%WX%
|
||||
goto ok
|
||||
|
||||
:skip
|
||||
if "x%WXWIN%" == "x" goto no_wx
|
||||
set WXDIR=%WXWIN%
|
||||
goto ok
|
||||
|
||||
:no_wx
|
||||
echo "Please set WX environment variable!"
|
||||
goto end
|
||||
|
||||
:ok
|
||||
set TM=tmake
|
||||
if "x%TMAKE%" == "x" goto skip2
|
||||
set TM=%TMAKE%
|
||||
|
||||
:skip2
|
||||
|
||||
rem this loop just doesn't want to work under command.com and cmd.exe and
|
||||
rem 4nt.exe, so I preferred to unroll it.
|
||||
rem for %%c in (b32 bcc dos g95 sc vc wat) %TM% -t %c% wxwin.pro -o %WXDIR%\src\msw\makefile.%c%
|
||||
|
||||
echo Generating for Visual C++ 4.0...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t vc wxwin.pro -o makefile.vc
|
||||
echo Generating for Borland C++ (32 bits)...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t b32 wxwin.pro -o makefile.b32
|
||||
echo Generating for Visual C++ 1.52...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t dos wxwin.pro -o makefile.dos
|
||||
echo Generating for Borland C++ (16 bits)...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t bcc wxwin.pro -o makefile.bcc
|
||||
echo Generating for Cygwin/Mingw32
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t g95 wxwin.pro -o makefile.g95
|
||||
echo Generating for Symantec C++...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t sc wxwin.pro -o makefile.sc
|
||||
echo Generating for Watcom C++...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t wat wxwin.pro -o makefile.wat
|
||||
echo Generating for wxGTK...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t gtk wxwin.pro -o Makefile
|
||||
echo Generating for Unix and Configure...
|
||||
E:\Perl\5.00471\bin\MSWin32-x86\perl.exe g:\Unix\tmake\bin\tmake -t unx wxwin.pro -o makefile.unx.in
|
||||
|
||||
:end
|
119
distrib/msw/tmake/sc.t
Normal file
@@ -0,0 +1,119 @@
|
||||
#!#############################################################################
|
||||
#! File: sc.t
|
||||
#! Purpose: tmake template file from which makefile.sc is generated by running
|
||||
#! tmake -t sc wxwin.pro -o makefile.sc
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
my $tag = "";
|
||||
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
|
||||
$tag = "WXNONESSENTIALOBJS";
|
||||
}
|
||||
else {
|
||||
$tag = "WXGENERICOBJS";
|
||||
}
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{$tag} .= '$(GENDIR)\\' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXCOMMONOBJS"} .= '$(COMMDIR)\\' . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
#! these files don't compile with SC++ 6
|
||||
next if $file =~ /^(joystick|pnghand)\./;
|
||||
|
||||
next if $wxGeneric{$file} =~ /\b16\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXMSWOBJS"} .= '$(MSWDIR)\\' . $file . " "
|
||||
}
|
||||
#$}
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE SC.T!
|
||||
|
||||
# Symantec C++ makefile for the msw objects
|
||||
# called from src\makefile.sc
|
||||
|
||||
# configuration section (see src\makefile.sc) ###########################
|
||||
|
||||
WXDIR = $(WXWIN)
|
||||
|
||||
include ..\makesc.env
|
||||
|
||||
DEBUG=0
|
||||
|
||||
LIBTARGET = $(LIBDIR)\wx.lib
|
||||
|
||||
OPTIONS=
|
||||
|
||||
# end of configuration section ##########################################
|
||||
|
||||
GENDIR=$(WXDIR)\src\generic
|
||||
COMMDIR=$(WXDIR)\src\common
|
||||
XPMDIR=$(WXDIR)\src\xpm
|
||||
OLEDIR=ole
|
||||
MSWDIR=$(WXDIR)\src\msw
|
||||
|
||||
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
$(COMMDIR)\y_tab.obj \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
MSWOBJS = #$ ExpandList("WXMSWOBJS");
|
||||
|
||||
XPMOBJECTS = $(XPMDIR)\crbuffri.obj\
|
||||
$(XPMDIR)\crdatfri.obj\
|
||||
$(XPMDIR)\create.obj $(XPMDIR)\crifrbuf.obj\
|
||||
$(XPMDIR)\crifrdat.obj\
|
||||
$(XPMDIR)\data.obj\
|
||||
$(XPMDIR)\hashtab.obj $(XPMDIR)\misc.obj\
|
||||
$(XPMDIR)\parse.obj $(XPMDIR)\rdftodat.obj\
|
||||
$(XPMDIR)\rdftoi.obj\
|
||||
$(XPMDIR)\rgb.obj $(XPMDIR)\scan.obj\
|
||||
$(XPMDIR)\simx.obj $(XPMDIR)\wrffrdat.obj\
|
||||
$(XPMDIR)\wrffrp.obj $(XPMDIR)\wrffri.obj
|
||||
|
||||
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS) # $(XPMOBJECTS)
|
||||
|
||||
all: $(LIBTARGET)
|
||||
|
||||
$(LIBTARGET): $(OBJECTS)
|
||||
-del $(LIBTARGET)
|
||||
*lib /PAGESIZE:512 $(LIBTARGET) y $(OBJECTS), nul;
|
||||
|
||||
clean:
|
||||
-del *.obj
|
||||
-del $(LIBTARGET)
|
||||
|
||||
$(COMMDIR)\y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
# $(COMMDIR)\cmndata.obj: $(COMMDIR)\cmndata.cpp
|
||||
# *$(CC) -c $(CFLAGS) -I$(INCLUDE) $(OPTIONS) $(COMMDIR)\cmndata.cpp -o$(COMMDIR)\cmndata.obj
|
||||
|
||||
MFTYPE=sc
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
343
distrib/msw/tmake/unx.t
Normal file
@@ -0,0 +1,343 @@
|
||||
#!################################################################################
|
||||
#! File: unx.t
|
||||
#! Purpose: tmake template file from which makefile.unx.in is generated by running
|
||||
#! tmake -t unx wxwin.pro -o makefile.unx.in
|
||||
#! Author: Vadim Zeitlin, Robert Roebling, Julian Smart
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!################################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric, %wxHtml, %wxUnix and %wxGTK hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
next if $wxGeneric{$file} =~ /\bR\b/;
|
||||
|
||||
$file =~ s/cp?p?$/\o/;
|
||||
$project{"WXGENERICOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\bR\b/;
|
||||
|
||||
$file =~ s/cp?p?$/\o/;
|
||||
$project{"WXCOMMONOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxGTK) {
|
||||
$file =~ s/cp?p?$/\o/;
|
||||
$project{"WXGTKOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxHTML) {
|
||||
$file =~ s/cp?p?$/\o/;
|
||||
$project{"WXHTMLOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxUNIX) {
|
||||
$file =~ s/cp?p?$/\o/;
|
||||
$project{"WXUNIXOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
#$}
|
||||
#
|
||||
# I want this to be:
|
||||
# $(INSTALL_DATA) $(INCDIR)/wx/window.h $(includedir)/wx/window.h
|
||||
#
|
||||
# foreach $file (sort keys %wxINCLUDE) {
|
||||
# next if $wxINCLUDE{$file} =~ /\b(GTK|MSW|MOT|PM|MAC|GEN|HTM|UNX)\b/;
|
||||
#
|
||||
# $project{"WXINSTALLWX"} .= "$(INSTALL_DATA)" . " " . "\$(INCDIR)/wx/" . $file . " \$(includedir)/wx/" . $file . "\n"
|
||||
# }
|
||||
#
|
||||
#
|
||||
#
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE UNX.T!
|
||||
|
||||
#
|
||||
# File: makefile.unx
|
||||
# Author: Julian Smart, Robert Roebling, Vadim Zeitlin
|
||||
# Created: 1993
|
||||
# Updated: 1999
|
||||
# Copyright:(c) 1993, AIAI, University of Edinburgh,
|
||||
# Copyright:(c) 1999, Vadim Zeitlin
|
||||
# Copyright:(c) 1999, Robert Roebling
|
||||
#
|
||||
# Makefile for libwx_gtk.a, libwx_motif.a and libwx_msw.a
|
||||
|
||||
########################### VERSION #################################
|
||||
|
||||
LIBS = @LIBS@
|
||||
|
||||
TOOLKIT = @TOOLKIT@
|
||||
|
||||
WXLIB = @WX_LIBRARY@
|
||||
|
||||
########################### VERSION #################################
|
||||
|
||||
WX_MAJOR_VERSION_NUMBER = @WX_MAJOR_VERSION_NUMBER@
|
||||
WX_MINOR_VERSION_NUMBER = @WX_MINOR_VERSION_NUMBER@
|
||||
WX_RELEASE_NUMBER = @WX_RELEASE_NUMBER@
|
||||
|
||||
########################### Misc #################################
|
||||
|
||||
SHELL = @SHELL@
|
||||
|
||||
########################### Paths #################################
|
||||
|
||||
srcdir = @srcdir@/src/gtk
|
||||
|
||||
top_srcdir = @top_srcdir@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
bindir = @bindir@
|
||||
sbindir = @sbindir@
|
||||
libexecdir = @libexecdir@
|
||||
datadir = @datadir@
|
||||
sysconfdir = @sysconfdir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
localstatedir = @localstatedir@
|
||||
libdir = @libdir@
|
||||
infodir = @infodir@
|
||||
mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
|
||||
top_builddir = .
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
transform = @program_transform_name@
|
||||
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_alias = @build_alias@
|
||||
build_triplet = @build@
|
||||
host_alias = @host_alias@
|
||||
host_triplet = @host@
|
||||
target_alias = @target_alias@
|
||||
target_triplet = @target@
|
||||
|
||||
EXTRA_VPATH = @EXTRA_VPATH_MF@
|
||||
|
||||
VPATH = .:${srcdir}:${srcdir}/src/common:${srcdir}/src/generic:${srcdir}/src/html:${EXTRA_VPATH}
|
||||
|
||||
########################### Programs #################################
|
||||
|
||||
# C++ compiler
|
||||
CC = @CXX@
|
||||
CCPP = @CXXCPP@
|
||||
|
||||
# C compiler
|
||||
CCC = @CC@
|
||||
CCCPP = @CPP@
|
||||
|
||||
# Compiler for lex/yacc .c programs
|
||||
CCLEX = @CC@
|
||||
|
||||
LEX = @LEX@
|
||||
YACC = @YACC@
|
||||
AR = @AR@
|
||||
AS = @AS@
|
||||
NM = @NM@
|
||||
LN_S = @LN_S@
|
||||
STRIP = @STRIP@
|
||||
MAKE = make
|
||||
AROPTIONS = ruv
|
||||
RANLIB = @RANLIB@
|
||||
LD = @LD@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
|
||||
########################### Flags #################################
|
||||
|
||||
CFLAGS = @TOOLKIT_DEF@ @WXDEBUG_DEFINE@ @CFLAGS@
|
||||
CPPFLAGS = @TOOLKIT_DEF@ @WXDEBUG_DEFINE@ @CXXFLAGS@
|
||||
|
||||
########################### Rules #################################
|
||||
|
||||
# Clears all default suffixes
|
||||
.SUFFIXES: .o .cpp .c
|
||||
|
||||
.c.o :
|
||||
$(CCC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
.cpp.o :
|
||||
$(CC) -c $(CPPFLAGS) -o $@ $<
|
||||
|
||||
########################### Files #################################
|
||||
|
||||
WXDIR = $(srcdir)/../..
|
||||
|
||||
# Subordinate library possibilities
|
||||
|
||||
GENDIR = $(WXDIR)/src/generic
|
||||
COMMDIR = $(WXDIR)/src/common
|
||||
HTMLDIR = $(WXDIR)/src/html
|
||||
UNIXDIR = $(WXDIR)/src/unix
|
||||
PNGDIR = $(WXDIR)/src/png
|
||||
JPEGDIR = $(WXDIR)/src/jpeg
|
||||
ZLIBDIR = $(WXDIR)/src/zlib
|
||||
GTKDIR = $(WXDIR)/src/gtk
|
||||
INCDIR = $(WXDIR)/include
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS = \
|
||||
#$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
parser.o \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
HTMLOBJS = \
|
||||
#$ ExpandList("WXHTMLOBJS");
|
||||
|
||||
GTKOBJS = \
|
||||
#$ ExpandList("WXGTKOBJS");
|
||||
|
||||
UNIXOBJS = \
|
||||
#$ ExpandList("WXUNIXOBJS");
|
||||
|
||||
ZLIBOBJS = \
|
||||
adler32.o \
|
||||
compress.o \
|
||||
crc32.o \
|
||||
gzio.o \
|
||||
uncompr.o \
|
||||
deflate.o \
|
||||
trees.o \
|
||||
zutil.o \
|
||||
inflate.o \
|
||||
infblock.o \
|
||||
inftrees.o \
|
||||
infcodes.o \
|
||||
infutil.o \
|
||||
inffast.o
|
||||
|
||||
PNGOBJS = \
|
||||
png.o \
|
||||
pngread.o \
|
||||
pngrtran.o \
|
||||
pngrutil.o \
|
||||
pngpread.o \
|
||||
pngtrans.o \
|
||||
pngwrite.o \
|
||||
pngwtran.o \
|
||||
pngwutil.o \
|
||||
pngerror.o \
|
||||
pngmem.o \
|
||||
pngwio.o \
|
||||
pngrio.o \
|
||||
pngget.o \
|
||||
pngset.o
|
||||
|
||||
|
||||
JPEGOBJS = \
|
||||
jcomapi.o \
|
||||
jutils.o \
|
||||
jerror.o \
|
||||
jmemmgr.o \
|
||||
jmemnobs.o \
|
||||
jcapimin.o \
|
||||
jcapistd.o \
|
||||
jctrans.o \
|
||||
jcparam.o \
|
||||
jdatadst.o \
|
||||
jcinit.o \
|
||||
jcmaster.o \
|
||||
jcmarker.o \
|
||||
jcmainct.o \
|
||||
jcprepct.o \
|
||||
jccoefct.o \
|
||||
jccolor.o \
|
||||
jcsample.o \
|
||||
jchuff.o \
|
||||
jcphuff.o \
|
||||
jcdctmgr.o \
|
||||
jfdctfst.o \
|
||||
jfdctflt.o \
|
||||
jfdctint.o \
|
||||
jdapimin.o \
|
||||
jdapistd.o \
|
||||
jdtrans.o \
|
||||
jdatasrc.o \
|
||||
jdmaster.o \
|
||||
jdinput.o \
|
||||
jdmarker.o \
|
||||
jdhuff.o \
|
||||
jdphuff.o \
|
||||
jdmainct.o \
|
||||
jdcoefct.o \
|
||||
jdpostct.o \
|
||||
jddctmgr.o \
|
||||
jidctfst.o \
|
||||
jidctflt.o \
|
||||
jidctint.o \
|
||||
jidctred.o \
|
||||
jdsample.o \
|
||||
jdcolor.o \
|
||||
jquant1.o \
|
||||
jquant2.o \
|
||||
jdmerge.o
|
||||
|
||||
OBJECTS = $(GTKOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJ) $(UNIXOBJS) \
|
||||
$(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS)
|
||||
|
||||
all: $(OBJECTS) $(WXLIB)
|
||||
|
||||
$(WXLIB): $(OBJECTS)
|
||||
$AR) $(AROPTIONS) $@ $(OBJECTS)
|
||||
$(RANLIB) $@
|
||||
|
||||
$(OBJECTS): $(WXDIR)/include/wx/defs.h $(WXDIR)/include/wx/object.h $(WXDIR)/include/wx/setup.h
|
||||
|
||||
parser.o: parser.c lexer.c
|
||||
$(CCLEX) -c $(CFLAGS) -o $@ parser.c
|
||||
|
||||
parser.c: $(COMMDIR)/parser.y lexer.c
|
||||
$(YACC) $(COMMDIR)/parser.y
|
||||
@sed -e "s;$(COMMDIR)/y.tab.c;parser.y;g" < y.tab.c | \
|
||||
sed -e "s/BUFSIZ/5000/g" | \
|
||||
sed -e "s/YYLMAX 200/YYLMAX 5000/g" | \
|
||||
sed -e "s/yy/PROIO_yy/g" | \
|
||||
sed -e "s/input/PROIO_input/g" | \
|
||||
sed -e "s/unput/PROIO_unput/g" > parser.c
|
||||
@$(RM) y.tab.c
|
||||
|
||||
lexer.c: $(COMMDIR)/lexer.l
|
||||
$(LEX) $(COMMDIR)/lexer.l
|
||||
@sed -e "s;$(COMMDIR)/lex.yy.c;lexer.l;g" < lex.yy.c | \
|
||||
sed -e "s/yy/PROIO_yy/g" | \
|
||||
sed -e "s/input/PROIO_input/g" | \
|
||||
sed -e "s/unput/PROIO_unput/g" > lexer.c
|
||||
@$(RM) lex.yy.c
|
||||
|
||||
install: $(WXLIB)
|
||||
#$ ExpandList("WXINSTALLWX");
|
||||
|
||||
clean:
|
||||
rm -f *.o
|
||||
rm -f *.lo
|
||||
rm -f parser.c
|
||||
rm -f lexer.c
|
||||
rm -f *.a
|
||||
rm -f *.la
|
||||
|
||||
cleanall: clean
|
638
distrib/msw/tmake/vc.t
Normal file
@@ -0,0 +1,638 @@
|
||||
#!#############################################################################
|
||||
#! File: vc.t
|
||||
#! Purpose: tmake template file from which makefile.vc is generated by running
|
||||
#! tmake -t vc wxwin.pro -o makefile.vc
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
my $tag = "";
|
||||
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
|
||||
$tag = "WXNONESSENTIALOBJS";
|
||||
}
|
||||
else {
|
||||
$tag = "WXGENERICOBJS";
|
||||
}
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{$tag} .= "..\\generic\\\$D\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\b16\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXCOMMONOBJS"} .= "..\\common\\\$D\\" . $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
next if $wxMSW{$file} =~ /\b16\b/;
|
||||
|
||||
#! OLE files live in a subdir
|
||||
$project{"WXMSWOBJS"} .= '..\msw\\';
|
||||
$project{"WXMSWOBJS"} .= 'ole\\' if $wxMSW{$file} =~ /\bO\b/;
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXMSWOBJS"} .= '$D\\' . $file . " ";
|
||||
}
|
||||
#$}
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE VC.T!
|
||||
|
||||
# File: makefile.vc
|
||||
# Author: Julian Smart
|
||||
# Created: 1997
|
||||
# Updated:
|
||||
# Copyright: (c) 1997, Julian Smart
|
||||
#
|
||||
# "%W% %G%"
|
||||
#
|
||||
# Makefile : Builds wxWindows library wx.lib for VC++ (32-bit)
|
||||
# Arguments:
|
||||
#
|
||||
# FINAL=1 argument to nmake to build version with no debugging info.
|
||||
# dll builds a library (wxdll.lib) suitable for creating DLLs
|
||||
#
|
||||
!include <..\makevc.env>
|
||||
|
||||
THISDIR=$(WXWIN)\src\msw
|
||||
|
||||
!if "$(WXMAKINGDLL)" == "1"
|
||||
LIBTARGET=$(WXDIR)\lib\$(WXLIBNAME).dll
|
||||
DUMMYOBJ=$D\dummydll.obj
|
||||
!else
|
||||
LIBTARGET=$(WXLIB)
|
||||
DUMMYOBJ=$D\dummy.obj
|
||||
!endif
|
||||
|
||||
# Please set these according to the settings in setup.h, so we can include
|
||||
# the appropriate libraries in wx.lib
|
||||
|
||||
# This one overrides the others, to be consistent with the settings in setup.h
|
||||
MINIMAL_WXWINDOWS_SETUP=0
|
||||
|
||||
PERIPH_LIBS=
|
||||
PERIPH_TARGET=
|
||||
PERIPH_CLEAN_TARGET=
|
||||
|
||||
# These are absolute paths, so that the compiler
|
||||
# generates correct __FILE__ symbols for debugging.
|
||||
# Otherwise you don't be able to double-click on a memory
|
||||
# error to load that file.
|
||||
GENDIR=$(WXDIR)\src\generic
|
||||
COMMDIR=$(WXDIR)\src\common
|
||||
OLEDIR=ole
|
||||
MSWDIR=$(WXDIR)\src\msw
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
HTMLDIR = $(WXDIR)\src\html
|
||||
|
||||
{..\generic}.cpp{..\generic\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $<
|
||||
<<
|
||||
|
||||
{..\common}.cpp{..\common\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $<
|
||||
<<
|
||||
|
||||
{..\common}.c{..\common\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS2) /Fo$@ /c /Tc $<
|
||||
<<
|
||||
|
||||
{..\msw}.cpp{..\msw\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $<
|
||||
<<
|
||||
|
||||
{..\msw\ole}.cpp{..\msw\ole\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $<
|
||||
<<
|
||||
|
||||
{..\html}.cpp{..\html\$D}.obj:
|
||||
cl @<<
|
||||
$(CPPFLAGS) /Fo$@ /c /Tp $<
|
||||
<<
|
||||
|
||||
GENERICOBJS= #$ ExpandList("WXGENERICOBJS");
|
||||
|
||||
# These are generic things that don't need to be compiled on MSW,
|
||||
# but sometimes it's useful to do so for testing purposes.
|
||||
NONESSENTIALOBJS= #$ ExpandList("WXNONESSENTIALOBJS");
|
||||
|
||||
COMMONOBJS = \
|
||||
..\common\$D\y_tab.obj \
|
||||
#$ ExpandList("WXCOMMONOBJS");
|
||||
|
||||
MSWOBJS = #$ ExpandList("WXMSWOBJS");
|
||||
|
||||
HTMLOBJS = \
|
||||
..\html\$D\htmlcell.obj \
|
||||
..\html\$D\htmlfilter.obj \
|
||||
..\html\$D\htmlhelp.obj \
|
||||
..\html\$D\htmlhelp_io.obj \
|
||||
..\html\$D\htmlparser.obj \
|
||||
..\html\$D\htmltag.obj \
|
||||
..\html\$D\htmlwin.obj \
|
||||
..\html\$D\htmlwinparser.obj \
|
||||
..\html\$D\mod_fonts.obj \
|
||||
..\html\$D\mod_hline.obj \
|
||||
..\html\$D\mod_image.obj \
|
||||
..\html\$D\mod_layout.obj \
|
||||
..\html\$D\mod_links.obj \
|
||||
..\html\$D\mod_list.obj \
|
||||
..\html\$D\mod_pre.obj \
|
||||
..\html\$D\mod_tables.obj \
|
||||
..\html\$D\search.obj
|
||||
|
||||
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
|
||||
# Add $(HTMLOBJS) if wanting wxHTML classes
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
|
||||
# Normal, static library
|
||||
all: dirs $(DUMMYOBJ) $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
|
||||
|
||||
dirs: $(MSWDIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(OLEDIR)\$D $(HTMLDIR)\$D
|
||||
|
||||
|
||||
test: $(MSWDIR)\$D\wave.obj
|
||||
test2: ..\common\Debug\config.obj
|
||||
|
||||
$D:
|
||||
mkdir $D
|
||||
|
||||
$(COMMDIR)\$D:
|
||||
mkdir $(COMMDIR)\$D
|
||||
|
||||
$(MSWDIR)\$D:
|
||||
mkdir $(MSWDIR)\$D
|
||||
|
||||
$(GENDIR)\$D:
|
||||
mkdir $(GENDIR)\$D
|
||||
|
||||
$(OLEDIR)\$D:
|
||||
mkdir $(OLEDIR)\$D
|
||||
|
||||
$(HTMLDIR)\$D:
|
||||
mkdir $(HTMLDIR)\$D
|
||||
|
||||
# wxWindows library as DLL
|
||||
dll:
|
||||
nmake -f makefile.vc all FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
|
||||
|
||||
cleandll:
|
||||
nmake -f makefile.vc clean FINAL=$(FINAL) DLL=1 WXMAKINGDLL=1 NEW_WXLIBNAME=$(NEW_WXLIBNAME)
|
||||
|
||||
# wxWindows + app as DLL. Only affects main.cpp.
|
||||
dllapp:
|
||||
nmake -f makefile.vc all FINAL=$(FINAL) DLL=1
|
||||
|
||||
# wxWindows + app as DLL, for Netscape plugin - remove DllMain.
|
||||
dllnp:
|
||||
nmake -f makefile.vc all NOMAIN=1 FINAL=$(FINAL) DLL=1
|
||||
|
||||
# Use this to make dummy.obj and generate a PCH.
|
||||
# You might use the dll target, then the pch target, in order to
|
||||
# generate a DLL, then a PCH/dummy.obj for compiling your applications with.
|
||||
#
|
||||
# Explanation: Normally, when compiling a static version of wx.lib, your dummy.obj/PCH
|
||||
# are associated with wx.lib. When using a DLL version of wxWindows, however,
|
||||
# the DLL is compiled without a PCH, so you only need it for compiling the app.
|
||||
# In fact headers are compiled differently depending on whether a DLL is being made
|
||||
# or an app is calling the DLL exported functionality (WXDLLEXPORT is different
|
||||
# in each case) so you couldn't use the same PCH.
|
||||
pch:
|
||||
nmake -f makefile.vc pch1 WXUSINGDLL=1 FINAL=$(FINAL) NEW_WXLIBNAME=$(NEW_WXLIBNAME)
|
||||
|
||||
pch1: dirs $(DUMMYOBJ)
|
||||
echo $(DUMMYOBJ)
|
||||
|
||||
!if "$(WXMAKINGDLL)" != "1"
|
||||
|
||||
### Static library
|
||||
|
||||
$(WXDIR)\lib\$(WXLIBNAME).lib: $D\dummy.obj $(OBJECTS) $(PERIPH_LIBS)
|
||||
-erase $(LIBTARGET)
|
||||
$(implib) @<<
|
||||
-out:$@
|
||||
-machine:$(CPU)
|
||||
$(OBJECTS) $(PERIPH_LIBS)
|
||||
<<
|
||||
|
||||
!else
|
||||
|
||||
### Update the import library
|
||||
|
||||
$(WXDIR)\lib\$(WXLIBNAME).lib: $(DUMMYOBJ) $(OBJECTS)
|
||||
$(implib) @<<
|
||||
-machine:$(CPU)
|
||||
-def:wx.def
|
||||
$(DUMMYOBJ) $(OBJECTS)
|
||||
-out:$(WXDIR)\lib\$(WXLIBNAME).lib
|
||||
<<
|
||||
|
||||
# Update the dynamic link library
|
||||
$(WXDIR)\lib\$(WXLIBNAME).dll: $(DUMMYOBJ) $(OBJECTS) $(WXDIR)\lib\$(WXLIBNAME).lib
|
||||
$(link) @<<
|
||||
$(LINKFLAGS)
|
||||
-out:$(WXDIR)\lib\$(WXLIBNAME).dll
|
||||
$(DUMMYOBJ) $(OBJECTS) $(guilibsdll) shell32.lib comctl32.lib ctl3d32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib odbc32.lib advapi32.lib winmm.lib $(WXDIR)\lib\winpng.lib $(WXDIR)\lib\zlib.lib $(WXDIR)\lib\xpm.lib $(WXDIR)\lib\jpeg.lib
|
||||
<<
|
||||
|
||||
!endif
|
||||
|
||||
|
||||
########################################################
|
||||
# Windows-specific objects
|
||||
|
||||
$D\dummy.obj: dummy.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
|
||||
cl $(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummy.obj /c /Tp dummy.cpp
|
||||
|
||||
$D\dummydll.obj: dummydll.$(SRCSUFF) $(WXDIR)\include\wx\wx.h $(WXDIR)\include\wx\msw\setup.h
|
||||
cl @<<
|
||||
$(CPPFLAGS) $(MAKEPRECOMP) /Fo$D\dummydll.obj /c /Tp dummydll.cpp
|
||||
<<
|
||||
|
||||
# If taking wxWindows from CVS, setup.h doesn't exist yet.
|
||||
# Actually the 'if not exist setup.h' test doesn't work
|
||||
# (copies the file anyway)
|
||||
# we'll have to comment this rule out.
|
||||
|
||||
# $(WXDIR)\include\wx\msw\setup.h: $(WXDIR)\include\wx\msw\setup0.h
|
||||
# cd "$(WXDIR)"\include\wx\msw
|
||||
# if not exist setup.h copy setup0.h setup.h
|
||||
# cd "$(WXDIR)"\src\msw
|
||||
|
||||
..\common\$D\y_tab.obj: ..\common\y_tab.c ..\common\lex_yy.c
|
||||
cl @<<
|
||||
$(CPPFLAGS2) /c ..\common\y_tab.c -DUSE_DEFINE -DYY_USE_PROTOS /Fo$@
|
||||
<<
|
||||
|
||||
..\common\y_tab.c: ..\common\dosyacc.c
|
||||
copy "..\common"\dosyacc.c "..\common"\y_tab.c
|
||||
|
||||
..\common\lex_yy.c: ..\common\doslex.c
|
||||
copy "..\common"\doslex.c "..\common"\lex_yy.c
|
||||
|
||||
$(OBJECTS): $(WXDIR)/include/wx/setup.h
|
||||
|
||||
..\common\$D\unzip.obj: ..\common\unzip.c
|
||||
cl @<<
|
||||
$(CPPFLAGS2) /c $(COMMDIR)\unzip.c /Fo$@
|
||||
<<
|
||||
|
||||
# Peripheral components
|
||||
|
||||
png:
|
||||
cd $(WXDIR)\src\png
|
||||
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_png:
|
||||
cd $(WXDIR)\src\png
|
||||
nmake -f makefile.vc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib:
|
||||
cd $(WXDIR)\src\zlib
|
||||
nmake -f makefile.vc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
jpeg:
|
||||
cd $(WXDIR)\src\jpeg
|
||||
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL) all
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_jpeg:
|
||||
cd $(WXDIR)\src\jpeg
|
||||
nmake -f makefile.vc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
xpm:
|
||||
cd $(WXDIR)\src\xpm
|
||||
nmake -f makefile.vc FINAL=$(FINAL) DLL=$(DLL) WXMAKINGDLL=$(WXMAKINGDLL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_xpm:
|
||||
cd $(WXDIR)\src\xpm
|
||||
nmake -f makefile.vc clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
rcparser:
|
||||
cd $(WXDIR)\utils\rcparser\src
|
||||
nmake -f makefile.vc FINAL=$(FINAL)
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean: $(PERIPH_CLEAN_TARGET) clean_png clean_zlib clean_jpeg clean_xpm
|
||||
-erase $(LIBTARGET)
|
||||
-erase $(WXDIR)\lib\$(WXLIBNAME).pdb
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).dll
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).lib
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).exp
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).pdb
|
||||
-erase ..\..\lib\wx$(WXVERSION)$(LIBEXT).ilk
|
||||
-erase *.pdb
|
||||
-erase *.sbr
|
||||
-erase $(WXLIBNAME).pch
|
||||
-erase $(GENDIR)\$D\*.obj
|
||||
-erase $(GENDIR)\$D\*.pdb
|
||||
-erase $(GENDIR)\$D\*.sbr
|
||||
-erase $(COMMDIR)\$D\*.obj
|
||||
-erase $(COMMDIR)\$D\*.pdb
|
||||
-erase $(COMMDIR)\$D\*.sbr
|
||||
-erase $(COMMDIR)\\y_tab.c
|
||||
-erase $(COMMDIR)\lex_yy.c
|
||||
-erase $(MSWDIR)\$D\*.obj
|
||||
-erase $(MSWDIR)\$D\*.sbr
|
||||
-erase $(MSWDIR)\$D\*.pdb
|
||||
-erase $(OLEDIR)\$D\*.obj
|
||||
-erase $(OLEDIR)\$D\*.sbr
|
||||
-erase $(OLEDIR)\$D\*.pdb
|
||||
-rmdir $(D)
|
||||
-rmdir ole\$(D)
|
||||
-rmdir ..\generic\$(D)
|
||||
-rmdir ..\common\$(D)
|
||||
|
||||
cleanall: clean
|
||||
|
||||
# Making documents
|
||||
docs: allhlp allhtml allpdfrtf
|
||||
alldocs: docs
|
||||
hlp: wxhlp portinghlp
|
||||
wxhlp: $(DOCDIR)/winhelp/wx.hlp
|
||||
prophlp: $(DOCDIR)/winhelp/prop.hlp
|
||||
refhlp: $(DOCDIR)/winhelp/techref.hlp
|
||||
rtf: $(DOCDIR)/winhelp/wx.rtf
|
||||
proprtf: $(DOCDIR)/winhelp/prop.rtf
|
||||
pdfrtf: $(DOCDIR)/pdf/wx.rtf
|
||||
proppdfrtf: $(DOCDIR)/pdf/prop.rtf
|
||||
refpdfrtf: $(DOCDIR)/pdf/techref.rtf
|
||||
html: wxhtml portinghtml
|
||||
wxhtml: $(DOCDIR)\html\wx\wx.htm
|
||||
htmlhelp: $(DOCDIR)\html\wx\wx.chm
|
||||
prophtml: $(DOCDIR)\html\proplist\prop.htm
|
||||
ps: wxps referencps
|
||||
wxps: $(WXDIR)\docs\ps\wx.ps
|
||||
propps: $(WXDIR)\docs\ps\prop.ps
|
||||
referencps: $(WXDIR)\docs\ps\referenc.ps
|
||||
|
||||
portinghtml: $(DOCDIR)\html\porting\port.htm
|
||||
portingrtf: $(DOCDIR)/winhelp/porting.rtf
|
||||
portinghlp: $(DOCDIR)/winhelp/porting.hlp
|
||||
portingpdfrtf: $(DOCDIR)/pdf/porting.rtf
|
||||
portingps: $(WXDIR)\docs\ps\porting.ps
|
||||
|
||||
allhlp: wxhlp portinghlp prophlp
|
||||
cd $(WXDIR)\utils\dialoged\src
|
||||
nmake -f makefile.vc hlp
|
||||
cd $(THISDIR)
|
||||
|
||||
# cd $(WXDIR)\utils\wxhelp\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\tex2rtf\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\wxgraph\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\wxchart\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\wxtree\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\wxbuild\src
|
||||
# nmake -f makefile.vc hlp
|
||||
# cd $(WXDIR)\utils\wxgrid\src
|
||||
# nmake -f makefile.vc hlp
|
||||
|
||||
allhtml: wxhtml portinghtml prophtml
|
||||
cd $(WXDIR)\utils\dialoged\src
|
||||
nmake -f makefile.vc html
|
||||
cd $(THISDIR)
|
||||
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\dialoged\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\hytext\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\wxhelp\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\tex2rtf\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\wxgraph\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\wxchart\src
|
||||
# nmake -f makefile.vc html
|
||||
# cd $(WXDIR)\utils\wxtree\src
|
||||
# nmake -f makefile.vc html
|
||||
|
||||
allps: wxps referencps portingps propps
|
||||
cd $(WXDIR)\utils\dialoged\src
|
||||
nmake -f makefile.vc ps
|
||||
cd $(THISDIR)
|
||||
|
||||
allpdfrtf: pdfrtf portingpdfrtf proppdfrtf
|
||||
cd $(WXDIR)\utils\dialoged\src
|
||||
nmake -f makefile.vc pdfrtf
|
||||
cd $(THISDIR)
|
||||
|
||||
# cd $(WXDIR)\utils\wxhelp\src
|
||||
# nmake -f makefile.vc ps
|
||||
# cd $(WXDIR)\utils\tex2rtf\src
|
||||
# nmake -f makefile.vc ps
|
||||
# cd $(WXDIR)\utils\wxgraph\src
|
||||
# nmake -f makefile.vc ps
|
||||
# cd $(WXDIR)\utils\wxchart\src
|
||||
# nmake -f makefile.vc ps
|
||||
# cd $(WXDIR)\utils\wxtree\src
|
||||
# nmake -f makefile.vc ps
|
||||
# cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/winhelp/wx.hlp: $(DOCDIR)/latex/wx/wx.rtf $(DOCDIR)/latex/wx/wx.hpj
|
||||
cd $(DOCDIR)/latex/wx
|
||||
-erase wx.ph
|
||||
hc wx
|
||||
move wx.hlp $(DOCDIR)\winhelp\wx.hlp
|
||||
move wx.cnt $(DOCDIR)\winhelp\wx.cnt
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/winhelp/porting.hlp: $(DOCDIR)/latex/porting/porting.rtf $(DOCDIR)/latex/porting/porting.hpj
|
||||
cd $(DOCDIR)/latex/porting
|
||||
-erase porting.ph
|
||||
hc porting
|
||||
move porting.hlp $(DOCDIR)\winhelp\porting.hlp
|
||||
move porting.cnt $(DOCDIR)\winhelp\porting.cnt
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/winhelp/prop.hlp: $(DOCDIR)/latex/proplist/prop.rtf $(DOCDIR)/latex/proplist/prop.hpj
|
||||
cd $(DOCDIR)/latex/proplist
|
||||
-erase prop.ph
|
||||
hc prop
|
||||
move prop.hlp $(DOCDIR)\winhelp\prop.hlp
|
||||
move prop.cnt $(DOCDIR)\winhelp\prop.cnt
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/winhelp/techref.hlp: $(DOCDIR)/latex/techref/techref.rtf $(DOCDIR)/latex/techref/techref.hpj
|
||||
cd $(DOCDIR)/latex/techref
|
||||
-erase techref.ph
|
||||
hc techref
|
||||
move techref.hlp $(DOCDIR)\winhelp\techref.hlp
|
||||
move techref.cnt $(DOCDIR)\winhelp\techref.cnt
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/latex/wx/wx.rtf: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
|
||||
cd $(DOCDIR)\latex\wx
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/latex/wx/wx.rtf -twice -winhelp
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/latex/porting/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
|
||||
cd $(DOCDIR)\latex\porting
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/latex/porting/porting.rtf -twice -winhelp
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/latex/proplist/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
|
||||
cd $(DOCDIR)\latex\proplist
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/prop.rtf -twice -winhelp
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/latex/techref/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
|
||||
cd $(DOCDIR)\latex\techref
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/latex/techref/techref.rtf -twice -winhelp
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/pdf/wx.rtf: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/manual.tex
|
||||
cd $(DOCDIR)\latex\wx
|
||||
-copy *.bmp *.wmf $(DOCDIR)\pdf
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/wx/manual.tex $(DOCDIR)/pdf/wx.rtf -twice -rtf
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/pdf/porting.rtf: $(DOCDIR)/latex/porting/porting.tex
|
||||
cd $(DOCDIR)\latex\porting
|
||||
-copy *.bmp *.wmf $(DOCDIR)\pdf
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/porting/porting.tex $(DOCDIR)/pdf/porting.rtf -twice -rtf
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/pdf/prop.rtf: $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/latex/proplist/body.tex $(DOCDIR)/latex/proplist/classes.tex $(DOCDIR)/latex/proplist/changes.tex
|
||||
cd $(DOCDIR)\latex\proplist
|
||||
-copy *.bmp *.wmf $(DOCDIR)\pdf
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/proplist/prop.tex $(DOCDIR)/pdf/prop.rtf -twice -rtf
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)/pdf/techref.rtf: $(DOCDIR)/latex/techref/techref.tex
|
||||
cd $(DOCDIR)\latex\techref
|
||||
-copy *.bmp *.wmf $(DOCDIR)\pdf
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)/latex/techref/techref.tex $(DOCDIR)/pdf/techref.rtf -twice -rtf
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)\html\wx\wx.htm: $(DOCDIR)\latex\wx\classes.tex $(DOCDIR)\latex\wx\body.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)\latex\wx\manual.tex
|
||||
cd $(DOCDIR)\latex\wx
|
||||
-mkdir $(DOCDIR)\html\wx
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\wx\manual.tex $(DOCDIR)\html\wx\wx.htm -twice -html
|
||||
-erase $(DOCDIR)\html\wx\*.con
|
||||
-erase $(DOCDIR)\html\wx\*.ref
|
||||
-erase $(DOCDIR)\latex\wx\*.con
|
||||
-erase $(DOCDIR)\latex\wx\*.ref
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)\html\wx\wx.chm : $(DOCDIR)\html\wx\wx.htm $(DOCDIR)\html\wx\wx.hhp
|
||||
cd $(DOCDIR)\html\wx
|
||||
-hhc wx.hhp
|
||||
cd $(THISDIR)
|
||||
|
||||
|
||||
$(DOCDIR)\html\porting\port.htm: $(DOCDIR)\latex\porting\porting.tex
|
||||
cd $(DOCDIR)\latex\porting
|
||||
-mkdir $(DOCDIR)\html\porting
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\porting\porting.tex $(DOCDIR)\html\porting\port.htm -twice -html
|
||||
-erase $(DOCDIR)\html\porting\*.con
|
||||
-erase $(DOCDIR)\html\porting\*.ref
|
||||
-erase $(DOCDIR)\latex\porting\*.con
|
||||
-erase $(DOCDIR)\latex\porting\*.ref
|
||||
cd $(THISDIR)
|
||||
|
||||
$(DOCDIR)\html\proplist\prop.htm: $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\latex\proplist\body.tex $(DOCDIR)\latex\proplist\classes.tex $(DOCDIR)\latex\proplist\changes.tex
|
||||
cd $(DOCDIR)\latex\proplist
|
||||
-mkdir $(DOCDIR)\html\proplist
|
||||
-start $(WAITFLAG) tex2rtf $(DOCDIR)\latex\proplist\prop.tex $(DOCDIR)\html\proplist\prop.htm -twice -html
|
||||
-erase $(DOCDIR)\html\proplist\*.con
|
||||
-erase $(DOCDIR)\html\proplist\*.ref
|
||||
-erase $(DOCDIR)\latex\proplist\*.con
|
||||
-erase $(DOCDIR)\latex\proplist\*.ref
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\latex\wx\manual.dvi: $(DOCDIR)/latex/wx/body.tex $(DOCDIR)/latex/wx/manual.tex
|
||||
cd $(WXDIR)\docs\latex\wx
|
||||
-latex manual
|
||||
-latex manual
|
||||
-makeindx manual
|
||||
-bibtex manual
|
||||
-latex manual
|
||||
-latex manual
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\latex\porting\porting.dvi: $(DOCDIR)/latex/porting/porting.tex
|
||||
cd $(WXDIR)\docs\latex\porting
|
||||
-latex porting
|
||||
-latex porting
|
||||
-makeindx porting
|
||||
-bibtex porting
|
||||
-latex porting
|
||||
-latex porting
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\ps\wx.ps: $(WXDIR)\docs\latex\wx\manual.dvi
|
||||
cd $(WXDIR)\docs\latex\wx
|
||||
-dvips32 -o wx.ps manual
|
||||
move wx.ps $(WXDIR)\docs\ps\wx.ps
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\ps\porting.ps: $(WXDIR)\docs\latex\porting\porting.dvi
|
||||
cd $(WXDIR)\docs\latex\porting
|
||||
-dvips32 -o porting.ps porting
|
||||
move porting.ps $(WXDIR)\docs\ps\porting.ps
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\latex\wx\referenc.dvi: $(DOCDIR)/latex/wx/classes.tex $(DOCDIR)/latex/wx/topics.tex $(DOCDIR)/latex/wx/referenc.tex
|
||||
cd $(WXDIR)\docs\latex\wx
|
||||
-latex referenc
|
||||
-latex referenc
|
||||
-makeindx referenc
|
||||
-bibtex referenc
|
||||
-latex referenc
|
||||
-latex referenc
|
||||
cd $(THISDIR)
|
||||
|
||||
$(WXDIR)\docs\ps\referenc.ps: $(WXDIR)\docs\latex\wx\referenc.dvi
|
||||
cd $(WXDIR)\docs\latex\wx
|
||||
-dvips32 -o referenc.ps referenc
|
||||
move referenc.ps $(WXDIR)\docs\ps\referenc.ps
|
||||
cd $(THISDIR)
|
||||
|
||||
# In order to force document reprocessing
|
||||
touchmanual:
|
||||
-touch $(WXDIR)\docs\latex\wx\manual.tex
|
||||
|
||||
updatedocs: touchmanual alldocs
|
||||
|
||||
# Start Word, running the GeneratePDF macro. MakeManual.dot should be in the
|
||||
# Office StartUp folder, and PDFMaker should be installed.
|
||||
updatepdf: # touchmanual pdfrtf
|
||||
start $(WAITFLAG) "winword d:\wx2\wxWindows\docs\latex\pdf\wx.rtf /mGeneratePDF"
|
||||
|
||||
|
||||
MFTYPE=vc
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
||||
|
146
distrib/msw/tmake/vc6.t
Normal file
@@ -0,0 +1,146 @@
|
||||
#!#############################################################################
|
||||
#! File: vc6.t
|
||||
#! Purpose: tmake template file from which wxWindows.dsp is generated by running
|
||||
#! tmake -t vc6 wxwin.pro -o wxWindows.dsp
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
next if $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/;
|
||||
$project{"WXGENERICSRCS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
next if $wxCommon{$file} =~ /\b16\b/;
|
||||
|
||||
my $tag = $file =~ /\.c$/ ? "WXCSRCS" : "WXCOMMONSRCS";
|
||||
$project{$tag} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
next if $wxMSW{$file} =~ /\b16\b/;
|
||||
|
||||
my $tag = $wxMSW{$file} =~ /\bO\b/ ? "WXOLESRCS" : "WXMSWSRCS";
|
||||
$project{$tag} .= $file . " "
|
||||
}
|
||||
#$}
|
||||
# Microsoft Developer Studio Project File - Name="wxWindows" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=wxWindows - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "wxWindows.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "wxWindows.mak" CFG="wxWindows - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "wxWindows - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "wxWindows - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "wxWindows - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /Zi /O2 /I "$(wx)\include" /I "$(wx)\src\zlib" /D "NDEBUG" /D WIN95=1 /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN32__" /Yu"wx/wxprec.h" /FD /c
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /W4 /Zi /Od /I "$(wx)\include" /I "$(wx)\src\zlib" /D "_DEBUG" /D DEBUG=1 /D WXDEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "WIN32" /D "_WIN32" /D WINVER=0x400 /D "__WINDOWS__" /D "__WIN32__" /D "__WXMSW__" /Fr /Yu"wx/wxprec.h" /FD /c
|
||||
# ADD BASE RSC /l 0x409
|
||||
# ADD RSC /l 0x409
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo /o"lib/wxWindows.bsc"
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "wxWindows - Win32 Release"
|
||||
# Name "wxWindows - Win32 Debug"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\src\msw\dummy.cpp
|
||||
# ADD CPP /Yc"wx/wxprec.h"
|
||||
# End Source File
|
||||
#$ ExpandGlue("WXMSWSRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\", "\n# End Source File\n");
|
||||
#$ ExpandGlue("WXOLESRCS", "# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\msw\\ole\\", "\n# End Source File\n");
|
||||
#$ ExpandGlue("WXGENERICSRCS", "# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\generic\\", "\n# End Source File\n");
|
||||
#$ ExpandGlue("WXCOMMONSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# End Source File\n");
|
||||
#$ ExpandGlue("WXCSRCS", "# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n# Begin Source File\n\nSOURCE=.\\src\\common\\", "\n# SUBTRACT CPP /YX /Yc /Yu\n# End Source File\n");
|
||||
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\src\common\y_tab.c
|
||||
|
||||
!IF "$(CFG)" == "wxWindows - Win32 Release"
|
||||
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ELSEIF "$(CFG)" == "wxWindows - Win32 Debug"
|
||||
|
||||
# ADD CPP /W1
|
||||
# SUBTRACT CPP /YX /Yc /Yu
|
||||
|
||||
!ENDIF
|
||||
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
326
distrib/msw/tmake/wat.t
Normal file
@@ -0,0 +1,326 @@
|
||||
#!#############################################################################
|
||||
#! File: wat.t
|
||||
#! Purpose: tmake template file from which makefile.wat is generated by running
|
||||
#! tmake -t wat wxwin.pro -o makefile.wat
|
||||
#! Author: Vadim Zeitlin
|
||||
#! Created: 14.07.99
|
||||
#! Version: $Id$
|
||||
#!#############################################################################
|
||||
|
||||
#${
|
||||
#! include the code which parses filelist.txt file and initializes
|
||||
#! %wxCommon, %wxGeneric and %wxMSW hashes.
|
||||
IncludeTemplate("filelist.t");
|
||||
|
||||
#! now transform these hashes into $project tags
|
||||
foreach $file (sort keys %wxGeneric) {
|
||||
my $tag = "";
|
||||
if ( $wxGeneric{$file} =~ /\b(PS|G|16|U)\b/ ) {
|
||||
$tag = "WXNONESSENTIALOBJS";
|
||||
}
|
||||
else {
|
||||
$tag = "WXGENERICOBJS";
|
||||
}
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{$tag} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxCommon) {
|
||||
#! doesn't compile, apparently
|
||||
next if $file =~ /^imagjpeg\./;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXCOMMONOBJS"} .= $file . " "
|
||||
}
|
||||
|
||||
foreach $file (sort keys %wxMSW) {
|
||||
#! these files don't compile
|
||||
next if $file =~ /^pnghand\./;
|
||||
|
||||
next if $wxGeneric{$file} =~ /\b16\b/;
|
||||
|
||||
$file =~ s/cp?p?$/obj/;
|
||||
$project{"WXMSWOBJS"} .= $file . " "
|
||||
}
|
||||
#$}
|
||||
|
||||
# This file was automatically generated by tmake at #$ Now()
|
||||
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE WAT.T!
|
||||
|
||||
#! an attempt to embed '#' directly in the string somehow didn't work...
|
||||
#$ $text = chr(35) . '!/binb/wmake.exe';
|
||||
|
||||
#
|
||||
# File: makefile.wat
|
||||
# Author: Julian Smart
|
||||
# Created: 1998
|
||||
#
|
||||
# Makefile : Builds wxWindows library for Watcom C++, WIN32
|
||||
|
||||
WXDIR = ..\..
|
||||
|
||||
!include $(WXDIR)\src\makewat.env
|
||||
|
||||
WXLIB = $(WXDIR)\lib
|
||||
|
||||
LIBTARGET = $(WXLIB)\wx.lib
|
||||
DUMMY=dummydll
|
||||
# ODBCLIB = ..\..\contrib\odbc\odbc32.lib
|
||||
|
||||
EXTRATARGETS = xpm png zlib
|
||||
EXTRATARGETSCLEAN = clean_xpm clean_png clean_zlib
|
||||
GENDIR=$(WXDIR)\src\generic
|
||||
COMMDIR=$(WXDIR)\src\common
|
||||
XPMDIR=$(WXDIR)\src\xpm
|
||||
OLEDIR=ole
|
||||
MSWDIR=$(WXDIR)\src\msw
|
||||
|
||||
DOCDIR = $(WXDIR)\docs
|
||||
|
||||
GENERICOBJS= #$ ExpandGlue("WXGENERICOBJS", "", " &\n\t")
|
||||
|
||||
# These are generic things that don't need to be compiled on MSW,
|
||||
# but sometimes it's useful to do so for testing purposes.
|
||||
NONESSENTIALOBJS= #$ ExpandGlue("WXNONESSENTIALOBJS", "", " &\n\t")
|
||||
|
||||
COMMONOBJS = &
|
||||
y_tab.obj &
|
||||
#$ ExpandGlue("WXCOMMONOBJS", "", " &\n\t")
|
||||
|
||||
MSWOBJS = #$ ExpandGlue("WXMSWOBJS", "", " &\n\t")
|
||||
|
||||
# Add $(NONESSENTIALOBJS) if wanting generic dialogs, PostScript etc.
|
||||
OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(MSWOBJS)
|
||||
|
||||
all: $(OBJECTS) $(LIBTARGET) $(EXTRATARGETS)
|
||||
|
||||
$(LIBTARGET) : $(OBJECTS)
|
||||
%create tmp.lbc
|
||||
@for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
|
||||
wlib /b /c /n /p=512 $^@ @tmp.lbc
|
||||
|
||||
#test : $(OBJECTS)
|
||||
# %create tmp.lbc
|
||||
# @for %i in ( $(OBJECTS) ) do @%append tmp.lbc +%i
|
||||
# wlib /b /c /n /p=512 $^@ @tmp.lbc
|
||||
|
||||
|
||||
clean: .SYMBOLIC $(EXTRATARGETSCLEAN)
|
||||
-erase *.obj
|
||||
-erase $(LIBTARGET)
|
||||
-erase *.pch
|
||||
-erase *.err
|
||||
-erase *.lbc
|
||||
|
||||
cleanall: clean
|
||||
|
||||
#${
|
||||
$_ = $project{"WXMSWOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_ . ': $(';
|
||||
s/\.obj$//;
|
||||
if ( $wxMSW{$_} =~ /\bO\b/ ) {
|
||||
$text .= 'OLEDIR)\\';
|
||||
} else {
|
||||
$text .= 'MSWDIR)\\';
|
||||
}
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
########################################################
|
||||
# Common objects (always compiled)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXCOMMONOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(COMMDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
y_tab.obj: $(COMMDIR)\y_tab.c $(COMMDIR)\lex_yy.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE $(COMMDIR)\y_tab.c
|
||||
|
||||
# *$(CC) $(CPPFLAGS) $(IFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\y_tab.c: $(COMMDIR)\dosyacc.c
|
||||
copy $(COMMDIR)\dosyacc.c $(COMMDIR)\y_tab.c
|
||||
|
||||
$(COMMDIR)\lex_yy.c: $(COMMDIR)\doslex.c
|
||||
copy $(COMMDIR)\doslex.c $(COMMDIR)\lex_yy.c
|
||||
|
||||
########################################################
|
||||
# Generic objects (not always compiled, depending on
|
||||
# whether platforms have native implementations)
|
||||
|
||||
#${
|
||||
$_ = $project{"WXGENERICOBJS"};
|
||||
my @objs = split;
|
||||
foreach (@objs) {
|
||||
$text .= $_;
|
||||
s/\.obj$//;
|
||||
$text .= ': $(GENDIR)\\';
|
||||
$text .= $_ . ".cpp\n" .
|
||||
' *$(CCC) $(CPPFLAGS) $(IFLAGS) $<' . "\n\n";
|
||||
}
|
||||
#$}
|
||||
|
||||
crbuffri.obj: $(XPMDIR)\crbuffri.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crbuffrp.obj: $(XPMDIR)\crbuffrp.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crdatfri.obj: $(XPMDIR)\crdatfri.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crdatfrp.obj: $(XPMDIR)\crdatfrp.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
create.obj: $(XPMDIR)\create.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crifrbuf.obj: $(XPMDIR)\crifrbuf.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crifrdat.obj: $(XPMDIR)\crifrdat.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crpfrbuf.obj: $(XPMDIR)\crpfrbuf.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
crpfrdat.obj: $(XPMDIR)\crpfrdat.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
# TODO: what to do about this clash of filename????
|
||||
#data.obj: $(XPMDIR)\data.c
|
||||
# *$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
hashtab.obj: $(XPMDIR)\hashtab.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
misc.obj: $(XPMDIR)\misc.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
parse.obj: $(XPMDIR)\parse.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
rdftodat.obj: $(XPMDIR)\rdftodat.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
rdftoi.obj: $(XPMDIR)\rdftoi.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
rdftop.obj: $(XPMDIR)\rdftop.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
rgb.obj: $(XPMDIR)\rgb.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
scan.obj: $(XPMDIR)\scan.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
simx.obj: $(XPMDIR)\simx.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
wrffrdat.obj: $(XPMDIR)\wrffrdat.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
wrffri.obj: $(XPMDIR)\wrffri.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
wrffrp.obj: $(XPMDIR)\wrffrp.c
|
||||
*$(CC) $(CPPFLAGS) $(IFLAGS) $<
|
||||
|
||||
OBJ1 = adler32$(O) compress$(O) crc32$(O) gzio$(O) uncompr$(O) deflate$(O) \
|
||||
trees$(O)
|
||||
OBJ2 = zutil$(O) inflate$(O) infblock$(O) inftrees$(O) infcodes$(O) \
|
||||
infutil$(O) inffast$(O)
|
||||
|
||||
adler32.obj: adler32.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
compress.obj: compress.c zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
crc32.obj: crc32.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
deflate.obj: deflate.c deflate.h zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
gzio.obj: gzio.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infblock.obj: infblock.c zutil.h zlib.h zconf.h infblock.h inftrees.h\
|
||||
infcodes.h infutil.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infcodes.obj: infcodes.c zutil.h zlib.h zconf.h inftrees.h infutil.h\
|
||||
infcodes.h inffast.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inflate.obj: inflate.c zutil.h zlib.h zconf.h infblock.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inftrees.obj: inftrees.c zutil.h zlib.h zconf.h inftrees.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
infutil.obj: infutil.c zutil.h zlib.h zconf.h inftrees.h infutil.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
inffast.obj: inffast.c zutil.h zlib.h zconf.h inftrees.h infutil.h inffast.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
trees.obj: trees.c deflate.h zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
uncompr.obj: uncompr.c zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
zutil.obj: zutil.c zutil.h zlib.h zconf.h
|
||||
$(CC) -c $(CFLAGS) $*.c
|
||||
|
||||
xpm: .SYMBOLIC
|
||||
cd $(WXDIR)\src\xpm
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_xpm: .SYMBOLIC
|
||||
cd $(WXDIR)\src\xpm
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
png: .SYMBOLIC
|
||||
cd $(WXDIR)\src\png
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_png: .SYMBOLIC
|
||||
cd $(WXDIR)\src\png
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
zlib: .SYMBOLIC
|
||||
cd $(WXDIR)\src\zlib
|
||||
wmake -f makefile.wat all
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
clean_zlib: .SYMBOLIC
|
||||
cd $(WXDIR)\src\zlib
|
||||
wmake -f makefile.wat clean
|
||||
cd $(WXDIR)\src\msw
|
||||
|
||||
MFTYPE=wat
|
||||
makefile.$(MFTYPE) : $(WXWIN)\distrib\msw\tmake\filelist.txt $(WXWIN)\distrib\msw\tmake\$(MFTYPE).t
|
||||
cd $(WXWIN)\distrib\msw\tmake
|
||||
tmake -t $(MFTYPE) wxwin.pro -o makefile.$(MFTYPE)
|
||||
copy makefile.$(MFTYPE) $(WXWIN)\src\msw
|
10
distrib/msw/tmake/wxwin.pro
Normal file
@@ -0,0 +1,10 @@
|
||||
###############################################################################
|
||||
# File: wxwin.pro
|
||||
# Purpose: tmake project file from which makefiles for wxWindows are generated
|
||||
# tmake -t vc wxwin.pro
|
||||
# Author: Vadim Zeitlin
|
||||
# Created: 14.07.99
|
||||
# Version: $Id$
|
||||
###############################################################################
|
||||
|
||||
# this file is empty
|
@@ -68,6 +68,13 @@ cp Makefile.am ~/wxwine_dist/wxWINE/include/wx/generic
|
||||
cp Makefile.in ~/wxwine_dist/wxWINE/include/wx/generic
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cd html
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cp Makefile.am ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/include/wx/html
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxwine_dist/wxWINE/include/wx/unix
|
||||
cd unix
|
||||
cp *.h ~/wxwine_dist/wxWINE/include/wx/unix
|
||||
@@ -149,6 +156,15 @@ cp extended.c ~/wxwine_dist/wxWINE/src/common
|
||||
cp *.cpp ~/wxwine_dist/wxWINE/src/common
|
||||
cd ..
|
||||
|
||||
cd html
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/html
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/html
|
||||
cp *.h ~/wxgtk_dist/wxGTK/src/html
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/html/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/src/html/bitmaps
|
||||
cd ../..
|
||||
|
||||
cd unix
|
||||
mkdir ~/wxwine_dist/wxWINE/src/unix
|
||||
cp *.cpp ~/wxwine_dist/wxWINE/src/unix
|
||||
|
@@ -1,4 +1,49 @@
|
||||
|
||||
6th August '99: Eight wxGTK 2.1 snapshot released
|
||||
|
||||
The new makefile system is not able to produce shared libraries
|
||||
on Unix with the exception of Linux - libtool is really great.
|
||||
Therefore, the build system defaults to static libraries on
|
||||
anything but Linux for now.
|
||||
|
||||
Work in wxPen, wxBrush and wxDC to match wxMSW more exactly and
|
||||
to implement missing feature etc.
|
||||
|
||||
Reimplemented radio buttons. The first of a group of such buttons
|
||||
is now marked by having the wxRB_GROUP style.
|
||||
|
||||
Complete redesign of all stream classes, including tests for them
|
||||
in the samples.
|
||||
|
||||
Controls now send the same messages (or more importantly none if
|
||||
changed programmatically) as per wxMSW.
|
||||
|
||||
New implementation of wxSocket using an intermediate library called
|
||||
GSocket. This willl hopefully change in the future.
|
||||
|
||||
Reworked in-place editing of wxListCtrl and wxTreeCtrl.
|
||||
|
||||
Fixed bug reporting two refreshes when scrolling.
|
||||
|
||||
Corrected bug in wxComboBox client data code.
|
||||
|
||||
Corrected reported but unverified bug in BMP loading code.
|
||||
|
||||
Added a few more methods to wxStaticBitmap.
|
||||
|
||||
Integration of wxHTML code in the main library, including wxZIPStream,
|
||||
wxFilesystem, wxHTMLHelpController and others.
|
||||
|
||||
Added a wrapper for ffile() etc functions.
|
||||
|
||||
Updates to wxDynamicLibrary.
|
||||
|
||||
New documentation.
|
||||
|
||||
New version of wxPython, of course.
|
||||
|
||||
Fixed in unenclosed number of other bugs...
|
||||
|
||||
25th June '99: Seventh wxGTK 2.1 snapshot released
|
||||
|
||||
Many fixes to th new makefile system. The last version gave
|
||||
|
@@ -6,22 +6,47 @@
|
||||
* The most simple case
|
||||
-----------------------
|
||||
|
||||
If you compile wxWindows on Unix for the first time and don't like to read
|
||||
If you compile wxWindows on Linux for the first time and don't like to read
|
||||
install instructions just do (in the base dir):
|
||||
|
||||
./configure
|
||||
make
|
||||
su <type root password>
|
||||
make install
|
||||
ldconfig
|
||||
exit
|
||||
> ./configure --with-gtk
|
||||
> make
|
||||
> su <type root password>
|
||||
> make install
|
||||
> ldconfig
|
||||
> exit
|
||||
|
||||
On all variants of Unix except Linux (and maybe except *BSD), shared libraries
|
||||
are not supportet out of the box due to the utter stupidity of libtool, so you'll
|
||||
have to do this to get shared library support:
|
||||
|
||||
> ./configure --with-gtk --disable-static --enable-shared
|
||||
|
||||
Then you'll have to edit the wrongly created libtool script. There are two
|
||||
important entries with respect to shared library creation, which are
|
||||
|
||||
archive_cmds="\$LD -shared ....
|
||||
archive_expsym_cmds="\$LD -shared ....
|
||||
|
||||
which should be something like
|
||||
|
||||
archive_cmds="\$CC -shared ....
|
||||
archive_expsym_cmds="\$CC -shared ....
|
||||
|
||||
Afterwards you can continue with
|
||||
|
||||
> make
|
||||
> su <type root password>
|
||||
> make install
|
||||
> ldconfig
|
||||
> exit
|
||||
|
||||
If you want to remove wxWindows on Unix you can do this:
|
||||
|
||||
su <type root password>
|
||||
make uninstall
|
||||
ldconfig
|
||||
exit
|
||||
> su <type root password>
|
||||
> make uninstall
|
||||
> ldconfig
|
||||
> exit
|
||||
|
||||
* The expert case
|
||||
-----------------
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
Welcome to wxWindows/Gtk 2.1 snapshot 7,
|
||||
Welcome to wxWindows/Gtk 2.1 snapshot 8,
|
||||
|
||||
you have downloaded version 2.1 of the GTK+ 1.2 port of
|
||||
the wxWindows GUI library. This is a developers release
|
||||
@@ -26,7 +26,8 @@ at Julian Smart's homepage at:
|
||||
|
||||
Information on how to install can be found in the file
|
||||
INSTALL.txt, but if you cannot wait, this should work on
|
||||
many systems (when using GTK 1.0 read the INSTALL.txt):
|
||||
many systems (when using GTK 1.0 or when not using Linux
|
||||
read the INSTALL.txt):
|
||||
|
||||
./configure
|
||||
make
|
||||
|
@@ -185,6 +185,7 @@ downloaded from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P
|
||||
|
||||
<ul>
|
||||
<li><a href="../../samples/bombs">bombs</a>: minesweeper-like game.
|
||||
<li><a href="../../samples/caret">caret</a>: a sample to test the wxCaret class.
|
||||
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
|
||||
supported platforms (currently Windows and GTK only).
|
||||
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
|
||||
@@ -210,6 +211,8 @@ fully-fledged application!
|
||||
<li><a href="../../samples/fractal">fractal</a>: fractal mountains by Andrew Davison.
|
||||
<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
|
||||
<li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
|
||||
<li><a href="../../samples/html">html</a>: a number of demos for the wxHTML class library, used inside
|
||||
applications and also as a help facility.
|
||||
<li><a href="../../samples/image">image</a>: shows off the cross-platform wxImage class.
|
||||
<li><a href="../../samples/internat">internat</a>: use of wxWindows' internationalization support.
|
||||
<li><a href="../../samples/joytest">joytest</a>: tests the wxJoystick class (currently Windows and GTK only).
|
||||
@@ -237,6 +240,8 @@ Excel to be present).
|
||||
<li><a href="../../samples/proplist">proplist</a>: demonstrates the property list classes (a VB-style property editor).
|
||||
<li><a href="../../samples/regtest">regtest</a>: tests the low-level Windows registry functions (Windows only).
|
||||
<li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files).
|
||||
<li><a href="../../samples/richedit">richedit</a>: a work-in-progress rich text editor with plain text and HTML export
|
||||
facilities.
|
||||
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
|
||||
the user to resize subwindows.
|
||||
<li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
|
||||
@@ -246,6 +251,8 @@ implementing wxNotebook on platforms with no native support.
|
||||
<li><a href="../../samples/taskbar">taskbar</a>: demonstrates the wxTaskBarIcon class, for
|
||||
adding icons to the system tray. Windows only, but may eventually be implemented for other desktop
|
||||
environments that use this metaphor.
|
||||
<li><a href="../../samples/text">text</a>: demonstrates single and multiline text controls,
|
||||
and clipboard operations.
|
||||
<li><a href="../../samples/thread">thread</a>: tests the family of classes for doing thread
|
||||
programming.
|
||||
<li><a href="../../samples/toolbar">toolbar</a>: demonstrates wxToolBar.
|
||||
|
292
docs/html/news.htm
Normal file
@@ -0,0 +1,292 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>News</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
News
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<H3>August 6th, 1999</H3><P>
|
||||
|
||||
Today, a snapshot release of the MSW and the GTK ports has been
|
||||
made. The two snapshots are synchronized and have been tested
|
||||
for several weeks and should thus be considered to be quite stable.
|
||||
|
||||
Among the many new features that have appeared since version 2.0
|
||||
was release are:
|
||||
|
||||
<ul>
|
||||
<li> A great number of incompatiblities between the GTK and the MSW port have been removed. This
|
||||
holds escecially true for the way, time and order, controls send notifications to the user program.
|
||||
<li> Practically all widgets have been updated, removing bugs or adding missing features to
|
||||
specific ports (mostly the GTK port).
|
||||
<li> The GTK port now supports GTK version 1.2 as well as 1.0, giving access to the many new
|
||||
features, such as e.g. menu accelerators.
|
||||
<li> Many of the non-GUI classes have been reworked and new ones added, the stream classes
|
||||
having undergone a complete rewrite.
|
||||
<li> The addition of code to handle Unicode has begun and is in an advanced state.
|
||||
<li> The Python bindings (wxPython) have been largely improved and upadted to the newest
|
||||
API and features.
|
||||
</ul>
|
||||
|
||||
|
||||
|
||||
<H3>July 31st, 1999</H3><P>
|
||||
|
||||
We are glad to announce the start of the work on the new wxWindows port - wxBeOS
|
||||
which will implement wxWindows 2 API for <A HREF="http://www.be.com">BeOS</A>.
|
||||
Thanks to Be for donating licenses to wxWindows project to make it possible.
|
||||
<P>
|
||||
If you're interested in helping with this new port, please write to wxWindows
|
||||
developers mailing list!
|
||||
|
||||
<H3>May 27th, 1999</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Beta 1 of <a href="dl_mac2.htm">wxWindows 2 for Mac</a> has been released, thanks to Stefan Csomor's amazing efforts.
|
||||
<li>Work continues on the development branch of wxWindows 2 for MSW, GTK and Motif. Vadim has been reworking the
|
||||
MSW implementation to solve some internal design problems, as well as factoring out base classes to make
|
||||
development easier.
|
||||
<li>Work on consistent drag and drop support in GTK and MSW continues.
|
||||
</ul>
|
||||
|
||||
<H3>March 1st, 1999</H3><P>
|
||||
|
||||
wxWindows 2 launch day!<P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows 2 officially launched, after more than two years' development of
|
||||
the API and ports to Windows, GTK and Motif (Mac to follow).
|
||||
<a href="download.htm">Download</a> wxWindows 2.
|
||||
</ul>
|
||||
|
||||
<H3>November 26th 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li><a href="ftp://www.remstar.com/pub/wxwin/1.68E">wxWindows 1.68E</a> contains minor bug fixes and now compiles with MS VC++ 6.0, and
|
||||
(hopefully) BC++ 5.0, as well as Cygwin b20.
|
||||
<li>The latest <a href="ftp://www.remstar.com/pub/wxwin/2.0.1">wxWindows 2.0 alpha</a> shows good progress
|
||||
on the Motif port, with a tabbed MDI implementation, a nice wxToolBar class and most
|
||||
major classes working. wxWindows 2.0 for Windows now works with VC++ 6.0, BC++ 5.0 and
|
||||
Cygwin b20. There's a problem linking with Mingw32, I don't know why this is, perhaps
|
||||
something to do with differences in the way pragmas are handled.
|
||||
<li>There is also good progress with Stefan Csomor's wxMac 2.0: watch this space. A preview
|
||||
is available <a href="http://www.advanced.ch/wxwin/wxmac_d1.zip">here</a>.
|
||||
<li>Work is finally underway on a <a href="wxide.htm">wxWindows IDE</a>!
|
||||
<li>Aleksandras Gluchovas is working on a docking window implementation and the results
|
||||
are pretty impressive so far. Here's a <a href="http://www.soften.ktu.lt/~alex/fl_screenshot.gif">screenshot</a>;
|
||||
source code is <a href="http://www.soften.ktu.lt/~alex/fl_src_0_1.zip">here</a> and a WIN32 executable
|
||||
is <a href="http://www.soften.ktu.lt/~alex/fl_demo_exe_0_1.zip">here</a>. The source also includes
|
||||
work on persistent storage classes.
|
||||
</ul>
|
||||
|
||||
<H3>September 13th 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>The main ftp site is now <a href="ftp://www.remstar.com/pub/wxwin">www.remstar.com/pub/wxwin</a>,
|
||||
since the AIAI site is no longer available for uploads.
|
||||
</ul>
|
||||
|
||||
<H3>August 23rd 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxGTK and wxMSW 2.0 progress continues apace. The API is being unified quite successfully,
|
||||
and most of the samples now compile under both ports.
|
||||
<li>We are looking for <a href="sponsor.htm">sponsorship</a> of wxMotif 2.0.
|
||||
</ul>
|
||||
|
||||
<H3>April 28th 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows 1.68C has been released. This mainly provides compatibility with Gnu-Win32 b19
|
||||
and Mingw32.
|
||||
<li>wxWindows 2.0 beta 9 has been released. Again, this provides Gnu-Win32 b19/Mingw32 compatibility
|
||||
plus a few small bug fixes.
|
||||
</ul>
|
||||
|
||||
<H3>March 22nd 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>The mailing list addresses have changed: please see the <a href="maillist2.htm">mailing list page</a>
|
||||
for details. You may need to re-subscribe if you subscribed since February 1998.
|
||||
</ul>
|
||||
|
||||
<H3>January 5th 1998</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Happy New Year!
|
||||
<li>wxWindows 1.68B is available.
|
||||
<li>wxWindows 2.0 has another port in progress - <a href="http://www.freiburg.linux.de/~wxxt" target=_top>wxGTK</a>,
|
||||
by Robert Roebling (see also the information on the same page about Robert's FADE desktop
|
||||
environment project).
|
||||
<li>The Windows and Xt/Motif ports to 2.0 are progressing well. A large proportion of the documentation
|
||||
has been done. One of the main things to resolve is how transformations (such as scaling
|
||||
and translation) will be done in 2.0, but we're heading towards agreement.
|
||||
<li>There is a new <a href="http://wxwin.projects.ml.org" target=_top>wxWindows Developers Site</a> in preparation, for people developing ports of
|
||||
wxWindows. There are newsgroups and a wxwin-developers mailing list.
|
||||
<li>40 wxWindows CD-ROMs have been sold, mostly outside the U.K.
|
||||
<li>Antonia Charlotte Smart was born on November 1st 1997. Naturally, she's as cute as her parents.
|
||||
</ul>
|
||||
|
||||
<H3>August 13th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Added <a href="getstart.htm">Getting Started</a> page for new users.
|
||||
<li>There's a good review of wxWindows by Oliver Niedung and Stefan Gunther in
|
||||
<I>iX</I>, a German computer magazine.
|
||||
</ul>
|
||||
|
||||
<H3>July 24th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows 1.67 <a href="download.htm" target=wxmain>released</a>.
|
||||
</ul>
|
||||
|
||||
<H3>July 22nd 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows 1.67 is nearly there...
|
||||
<li>Check out <a href="apps/forty/forty.htm">Forty Thieves</a>, a great card game
|
||||
by Chris Breeze of Hitachi Europe Limited.
|
||||
</ul>
|
||||
|
||||
<H3>July 16th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Jobst Schmalenbach has set up Australian mirrors of the wxWindows ftp and Web sites:
|
||||
please see the <a href="mirrors.htm">Mirrors</a> page.
|
||||
<li>Arthur Tetzlaff-Deas is starting to look afresh at a port of wxWindows 2.0 to
|
||||
NeXTStep. This is more relevant now that the NeXT OS will be essential to the Apple Mac's future.
|
||||
<li>The next release of wxWindows for Motif/XView/Windows should be within the next two weeks or so. I have abandoned
|
||||
documentation in wxHelp form in favour of the much better quality HTML format, which I
|
||||
will be including with the distribution from now on.
|
||||
</ul>
|
||||
|
||||
<H3>July 7th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>For news on wxWindows 2.0 development, please see <a href="coming.htm">What's coming next?</a>
|
||||
- developments include DLL and experimental Netscape Plugin support. The estimate for a release
|
||||
date has been put back to October 1997 - to be out of the way before Smart Jr. arrives in November...
|
||||
<li>Negotiations with a U.S. company about development of wxWindows into a commercial product
|
||||
fell through, since it was not possible to agree about the continuation of a version
|
||||
of wxWindows that maintains the free, collaborative spirit that currently exists.
|
||||
</ul>
|
||||
|
||||
<H3>May 18th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows 2.0 development (mostly for the Windows platform) is on track thanks to funding for wxWin-related consultancy
|
||||
- thank you to those concerned! This work is still on the free version of 2.0, although an additional
|
||||
commercial version may be developed sometime in the future. Markus Holzem continues to generously donate
|
||||
his spare time for Motif/Xt developments, and Greg Whitehead is looking into the Mac version of 2.0.
|
||||
<li>Guilhem Lavaux has contributed a first version of
|
||||
<a href="ftp://www.remstar.com/pub/wxwin/contrib/wxsocket">wxSocket</a>, a set of classes for
|
||||
network programming based on work by Andrew Davison. Currently this works on Motif/Xt and is coded but not yet tested
|
||||
for Windows. The wxIPC classes on the UNIX side have been rewritten to take advantage of the new
|
||||
classes. wxSocket is a great contribution that will be a part of wxWindows 2.0. Meanwhile, do check
|
||||
it out and help Guilhem debug and develop it further.
|
||||
<li>Other noteworthy contributions in recent weeks include a patch for using bitmap
|
||||
<a href="ftp://www.remstar.com/pub/wxwin/contrib/unixmask">masks</a> on X for transparency
|
||||
effects - another Lavaux effort! - plus <a href="ftp://www.remstar.com/pub/wxwin/contrib/wxthread">thread</a> classes
|
||||
by Wolfram Gloger, updates to <a href="ftp://www.remstar.com/pub/wxwin/ports/xt">wxXt</a> by Markus Holzem,
|
||||
a start at <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxole">OLE control</a> support by Norbert Grotz,
|
||||
an improved <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/winstmod">Winstall</a> by Stefan Hammes,
|
||||
and <A HREF="ftp://www.remstar.com/pub/wxwin/contrib/wxpref">wxPreferences</a> by Bart Jourquin
|
||||
to simulate .ini files on UNIX.<P>
|
||||
Check out the <A href="contrib2.htm">Contributions</a> page for more.
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>May 8th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Hitachi Europe Limited have used wxWindows both to implement and to illustrate
|
||||
their WebReuser tool - a link to <a href="http://www.stablesoft.com">their pages</a> has been
|
||||
added to the <a href="apps.htm">Applications</a> page.
|
||||
<li>Another interesting link in the Applications page is
|
||||
<a href="http://www.softwarebuero.de/wipeout-eng.html">WipeOut</a>, a C++ integrated development
|
||||
environment for Linux.
|
||||
<li>Fixes to make wxWindows 1.66F work with VC++ 5.0 are in the
|
||||
<A href="ftp://www.remstar.com/pub/wxwin/ports/msvc50">ports/msvc50</a>
|
||||
directory.
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>April 20th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>wxWindows is listed in the <a href="http://SAL.KachinaTech.COM/">Scientific Applications on Linux</a> index</a>,
|
||||
<a href="http://SAL.KachinaTech.COM/F/5/WXWINDOWS.html">here</a>.
|
||||
<li>There is a new page for <a href="issues.htm">issues with the current release</a> which I would
|
||||
encourage you to read.
|
||||
<li>The wxWindows Web pages can be switched to non-frames mode, for those who find frames irritating
|
||||
(and who use browsers that don't implement Back properly :-)).
|
||||
<li>The <A href="contrib.htm">Contrib</a> page has some new entries.
|
||||
<li>wxWindows 2.0 progress is steady.
|
||||
<li><a href="mailto:grw@market.net">Greg Whitehead</a> is taking a look at what's involved for a Mac port of 2.0, possibly using MetroWerks' PowerPlant
|
||||
classes to speed up development.
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
<H3>March 13th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Check out C-LAB's <a href="http://www.c-lab.de/~lipuser/lip" TARGET=_top>Lean Integration Platform</a> written in wxWindows/wxLisp: it's
|
||||
a multi-platform workflow tool. Nice Web pages!
|
||||
<li>I've written some <a href="prepare.htm">tips</a> to help you code for easy porting to wxWindows 2.0.
|
||||
<li>wxWin 2.0 progress: I've eliminated the need for the dreaded CTL3D library for Windows 95 applications.
|
||||
New MDI classes are working, plus wxStatusBar, wxScrolledWindow. Markus is starting work on the Motif
|
||||
port, with wxXt 2.0 as a second priority. But <a href="sponsors.htm">financial help</a> to keep
|
||||
the momentum going is needed!
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>February 25th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li>Yura Bidus (yari_b@automedi.com) has successfully adapted wxWindows 1.66B to compile as a DLL under
|
||||
Borland C++. He will be patching 1.66F and investigating using VC++ for building the DLL.
|
||||
<li>Early experiments indicate that application files using wxWindows 2.0
|
||||
and GNU-WIN32 will be at least twice as fast to compile as 1.66, due to elimination of base classes
|
||||
and restructuring to avoid including windows.h.
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>January 29th 1997</H3><P>
|
||||
|
||||
<ul>
|
||||
<li><a href="ftp://www.remstar.com/pub/wxwin/1.66F_internal">wxWindows 1.66F</a> has been semi-released
|
||||
for people to test before the official release. It works with GNU-WIN32, and contains miscellaneous bug fixes.
|
||||
<li>ITA, Inc. have sent a debugged and
|
||||
enhanced <a href="ftp://www.remstar.com/pub/wxwin/ports/mac/ita">Mac port</a> (building on 1.61).
|
||||
<li>Markus Holzem and Julian Smart are designing wxWindows 2.0, which should make wxWindows into a force
|
||||
to be reckoned with against other free and commercial libraries. The <a href="coming.htm">What's coming next?</a>
|
||||
page will shortly contain more details.
|
||||
<li>The <a href="maillist.htm">mailing lists</a> are up and running again, with new subscription and discussion
|
||||
list addresses.
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
780
docs/html/standard.htm
Normal file
@@ -0,0 +1,780 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>wxWindows Programmer Style Guide</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY>
|
||||
|
||||
<a name="top"></a>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows Programmer Style Guide
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
by <A HREF=mailto:zeitlin@dptmaths.ens-cachan.fr>Vadim Zeitlin</A><P>
|
||||
|
||||
This guide is intended for people who are (or intending to start) writing code
|
||||
for <A HREF="http://web.ukonline.co.uk/julian.smart/wxwin/" target=_top>wxWindows</A> class library.
|
||||
|
||||
<P>
|
||||
The guide is separated into two parts: the first one addresses the general
|
||||
compatibility issues and is not wxWindows-specific. The advises in this part
|
||||
will hopefully help you to write programs which compile and run on greater
|
||||
variety of platforms. The second part details the wxWindows code organization and
|
||||
its goal it to make wxWindows as uniform as possible without imposing too
|
||||
many restrictions on the programmer.
|
||||
<P>
|
||||
Acknowledgements: This guide is partly based on <A
|
||||
HREF=http://www.mozilla.org/docs/tplist/catBuild/portable-cpp.html target=_top>
|
||||
C++ portability guide</A> by David Williams.
|
||||
|
||||
<P>
|
||||
<H3>General C++ Rules</H3>
|
||||
<UL>
|
||||
<LI>New or not widely supported C++ features</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#no_templates">Don't use C++ templates</A></LI>
|
||||
<LI><A HREF="#no_exceptions">Don't use C++ exceptions</A></LI>
|
||||
<LI><A HREF="#no_rtti">Don't use RTTI</A></LI>
|
||||
<LI><A HREF="#no_namespaces">Don't use namespaces</A></LI>
|
||||
<LI><A HREF="#no_stl">Don't use STL</A></LI>
|
||||
<LI><A HREF="#no_fordecl">Don't declare variables inside <TT>for()</TT></A></LI>
|
||||
<LI><A HREF="#no_nestedclasses">Don't use nested classes</A></LI>
|
||||
</OL>
|
||||
<BR>
|
||||
<LI>General recommendations</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#no_globals">No global variables with constructor</A></LI>
|
||||
<LI><A HREF="#no_warnings">Turn on all warnings and eradicate them</A></LI>
|
||||
<LI><A HREF="#no_assume_sizeof">Don't rely on <TT>sizeof(int) == 2</TT>...</A></LI>
|
||||
<LI><A HREF="#no_assignment_in_if">No assignments in conditional expressions</A></LI>
|
||||
<LI><A HREF="#no_comment_code">Use <TT>#if 0</TT> rather than comments to temporarily
|
||||
disable blocks of code</A></LI>
|
||||
<LI><A HREF="#no_extra_semicolon">Don't use extra semi-colons on top level</A></LI>
|
||||
</OL>
|
||||
<BR>
|
||||
<LI>Unix/DOS differences</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#use_cpp_ext">Use .cpp for C++ source file extension</A></LI>
|
||||
<LI><A HREF="#no_backslash">Don't use backslash ('\\') in #includes</A></LI>
|
||||
<LI><A HREF="#no_carriagereturn">Avoid carriage returns in cross-platform code</A></LI>
|
||||
<LI><A HREF="#no_caps_in_filenames">Use only lower letter filenames</A></LI>
|
||||
<LI><A HREF="#no_incomplete_files">Terminate the files with a new-line</A></LI>
|
||||
</OL>
|
||||
<BR>
|
||||
<LI>Style choices</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#naming_conv">Naming conventions: use <TT>m_</TT> for members</A></LI>
|
||||
<LI><A HREF="#no_void_param">Don't use <TT>void</TT> for functions without
|
||||
arguments</A></LI>
|
||||
<LI><A HREF="#no_const_int">Don't use <TT>const</TT> for non pointer/reference
|
||||
arguments</A></LI>
|
||||
</OL>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>wxWindows Rules</H3>
|
||||
<UL>
|
||||
<LI>Files location and naming conventions</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#file_locations">File locations</A></LI>
|
||||
<LI><A HREF="#include_guards">Include guards</A></LI>
|
||||
<LI><A HREF="#pch">Precompiled headers</A></LI>
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>File layout and indentation</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#wxwin_header">wxWindows standard header</A></LI>
|
||||
<LI><A HREF="#indentation">Indent your code with 4 spaces (no tabs!)</A></LI>
|
||||
<LI><A HREF="#class_decl">Order of parts in a class declarations</A></LI>
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>More about naming conventions</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#wx_prefix">Use wx or WX prefix for all public symbols</A></LI>
|
||||
<LI><A HREF="#wxdllexport">Use WXDLLEXPORT with all classes/functions in
|
||||
wxMSW/common code</A></LI>
|
||||
<LI><A HREF="#set_get">Use Set/Get prefixes for accessors</A></LI>
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>Miscellaneous</LI>
|
||||
<OL>
|
||||
<LI><A HREF="#forward_decl">Use forward declarations whenever possible</A></LI>
|
||||
<LI><A HREF="#debug_macros">Use debugging macros</A></LI>
|
||||
</OL>
|
||||
</UL>
|
||||
|
||||
<HR>
|
||||
|
||||
<H3>General C++ Rules</H3>
|
||||
<UL>
|
||||
<LI>New or not widely supported C++ features</LI>
|
||||
|
||||
<P>The usage of all features in this section is not recommended for one reason: they appeared in C++ relatively recently and are not yet
|
||||
supported by all compilers. Moreover, when they're supported, there are
|
||||
differences between different vendor's implementations. It's understandable that
|
||||
you might love one (or all) of these features, but you surely can write C++
|
||||
programs without them. Where possible, workarounds to compensate for absence
|
||||
of your favourite C++ abilities are indicated.
|
||||
<P>Just to suppress any doubts that there are compilers which don't support
|
||||
these new features, you can think about Win16 (a.k.a. Win 3.1) compilers,
|
||||
<I>none</I> of which supports <I>any</I> feature from the list below.
|
||||
|
||||
<OL>
|
||||
<P><LI><A NAME="no_templates"></A><B>Don't use C++ templates</B></LI><P>
|
||||
Besides the reasons mentioned above, template usage also makes the
|
||||
program compile much slower (200%-300% is not uncommon) and their support
|
||||
even in the compilers which have had it for a long time is far from perfect
|
||||
(the best example is probably gcc).
|
||||
<P><U>Workaround</U>: The things you would like to use templates for are,
|
||||
most commonly, polymorphic containers (in the sense that they can contain objects of
|
||||
any type without compromising C++ type system, i.e. using <TT>void *</TT>
|
||||
is out of question). wxWindows provides <A HREF="TODO">dynamic
|
||||
arrays and lists</A> which are sufficient in 99% of cases - please don't hesitate
|
||||
to use them. Lack of template is not a reason to use static arrays or
|
||||
type-less (passing by <TT>void *</TT>) containers.
|
||||
|
||||
<P><LI><A NAME="no_exceptions"></A><B>Don't use C++ exceptions</B></LI><P>
|
||||
The C++ exception system is an error-reporting mechanism. Another reasons not to use it,
|
||||
besides portability, are the performance penalty it imposes (small, but, at least for
|
||||
current compilers, non-zero), and subtle problems with
|
||||
memory/resource deallocation it may create (the place where you'd like to use
|
||||
C++ exceptions most of all are the constructors, but you need to be very
|
||||
careful in order to be able to do it).
|
||||
<P><U>Workaround</U>: there is no real workaround, of course, or the exceptions
|
||||
wouldn't have been added to the language. However, there are several rules which
|
||||
might help here:<P>
|
||||
|
||||
<OL>
|
||||
<LI>Every function returns an integer (or at least boolean) error code.
|
||||
<P>There is no such thing as a function that never fails - even if it can't
|
||||
fail now, it might do it later, when modified to be more powerful/general.
|
||||
Put the <TT>int</TT> or <TT>bool</TT> return type from the very beginning!<P>
|
||||
</LI><LI>Every function you call may fail - check the return code!
|
||||
<P>Never rely on the function's success, always test for a possible error.<P>
|
||||
</LI><LI>Tell the user about the error, don't silently ignore them.
|
||||
<P>Exceptions are always caught and, normally, processed when they're
|
||||
caught. In the same manner, the error return code must always be processed
|
||||
somehow. You may choose to ignore it, but at least tell the user that
|
||||
something wrong happened using <A HREF="TODO"><TT>wxLogError</TT></A> or
|
||||
<A HREF="TODO"><TT>wxLogWarning</TT></A> functions. All wxWindows
|
||||
functions (must) log the error messages on failure - this can be disabled
|
||||
by using <A HREF="TODO">wxLogNull</A> object before calling it.
|
||||
<P>Examples:<UL>
|
||||
<LI><I>Wrong</I>:
|
||||
<PRE>
|
||||
void ReadAddressBookFile(const wxString& strName)
|
||||
{
|
||||
wxFile file;
|
||||
|
||||
if ( !file.Open(strFile) )
|
||||
return;
|
||||
|
||||
...process it...
|
||||
}
|
||||
</PRE>
|
||||
</LI><LI><I>Correct</I>:
|
||||
<PRE>
|
||||
// returns false if the address book couldn't be read
|
||||
bool ReadAddressBookFile(const wxString& strName)
|
||||
{
|
||||
wxFile file;
|
||||
|
||||
if ( !file.Open(strFile) ) {
|
||||
// wxFile logged an error because file couldn't be opened which
|
||||
// contains the system error code, however it doesn't know what
|
||||
// this file is for and an error message "can't open $GLCW.ADB"
|
||||
// can be quite confusing for the user. Here we say what we mean.
|
||||
wxLogError("Can't read address book from '%s'!",
|
||||
strName.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
...process it...
|
||||
|
||||
return true;
|
||||
}
|
||||
</PRE>
|
||||
or, if it's not an error if file doesn't exist (here we could just check
|
||||
its existence, but let's suppose that there is no <TT>wxFile::Exists()</TT>)
|
||||
we can also write:
|
||||
<PRE>
|
||||
// returns false if address book file doesn't exist
|
||||
bool ReadAddressBookFile(const wxString& strName)
|
||||
{
|
||||
wxFile file;
|
||||
|
||||
// start a block inside which all log messages are suppressed
|
||||
{
|
||||
wxLogNull noLog;
|
||||
if ( !file.Open(strFile) )
|
||||
return false;
|
||||
}
|
||||
|
||||
...process it...
|
||||
|
||||
return true;
|
||||
}
|
||||
</PRE></LI>
|
||||
</UL>
|
||||
</OL>
|
||||
|
||||
<P><LI><A NAME="no_rtti"></A><B>Don't use RTTI</B></LI><P>
|
||||
RTTI stands for Run-Time Type Information and there is probably no other
|
||||
reason not to use it except the portability issue and the fact that it adds
|
||||
<TT>sizeof(void *)</TT> bytes to any class having virtual functions (at least,
|
||||
in the implementations I'm aware of).
|
||||
<P><U>Workaround</U>: use wxWindows RTTI system which allows you to do almost
|
||||
everything which the new C++ RTTI, except that, of course, you have to use
|
||||
macros instead of the (horrible looking, BTW) <TT>dynamic_cast</TT>.
|
||||
|
||||
<P><LI><A NAME="no_namespaces"></A><B>Don't use namespaces</B></LI><P>
|
||||
This topic is subject to change with time, however for the moment all wxWindows
|
||||
classes/functions live in the global namespace.
|
||||
<P><U>Workaround</U>: None.
|
||||
|
||||
<P><LI><A NAME="no_stl"></A><B>Don't use STL</B></LI><P>
|
||||
STL is the new C++ standard library, proposing all kinds of template containers
|
||||
and generic algorithm implementations. Templates are the heart (and almost
|
||||
everything else) of the library, so its usage is out of question. Besides, even
|
||||
with the compilers which do support templates, STL has many of its own problems,
|
||||
there are many "not 100% standard compatible" vendor implementations, none of existing debuggers understands its
|
||||
complicated data structures, ... the list can go on (almost) forever.
|
||||
<P><U>Workaround</U>: Use wxString, dynamic arrays and lists and other wxWindows
|
||||
classes. wxString has many of the most often used functions of std::string STL
|
||||
class (typedef to be precise).
|
||||
<P><LI><A NAME="no_fordecl"></A><B>Don't declare variables inside <TT>for()
|
||||
</TT></B></LI><P>
|
||||
The scope of a variable declared inside <TT>for()</TT> statement changed several
|
||||
years ago, however many compilers still will complain about second declaration
|
||||
of <TT>i</TT> in the following code:
|
||||
<PRE>
|
||||
for ( int i = 0; i < 10; i++ ) {
|
||||
...
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
for ( int i = 0; i < 10; i++ ) {
|
||||
...
|
||||
}
|
||||
</PRE>
|
||||
Even if it's perfectly legal now.
|
||||
<P><U>Workaround</U>: write this instead:
|
||||
<PRE>
|
||||
int i;
|
||||
for ( i = 0; i < 10; i++ ) {
|
||||
...
|
||||
}
|
||||
|
||||
...
|
||||
|
||||
for ( i = 0; i < 10; i++ ) {
|
||||
...
|
||||
}
|
||||
</PRE>
|
||||
|
||||
<P><LI><A NAME="no_nestedclasses"></A><B>Don't use nested classes</B></LI><P>
|
||||
Nested classes are, without doubt, a very good thing because they allow to hide
|
||||
"private" (in the sense that they're used only inside the library) classes and,
|
||||
generally, put the related things together.
|
||||
<P>Unfortunately, some compilers have trouble understanding them, so we must
|
||||
sacrifice the ideals of software design to get a working program in this case.
|
||||
<P><U>Workaround</U>: instead of
|
||||
<PRE>
|
||||
// in the header
|
||||
class PublicLibClass {
|
||||
...
|
||||
private:
|
||||
class PrivateLibClass { ... } m_object;
|
||||
};
|
||||
</PRE>
|
||||
you can try the following:
|
||||
<PRE>
|
||||
// in the header
|
||||
class PrivateLibClass; // fwd decl
|
||||
class PublicLibClass {
|
||||
...
|
||||
private:
|
||||
class PrivateLibClass *m_pObject;
|
||||
};
|
||||
|
||||
// in the .cpp file
|
||||
class PrivateLibClass { ... };
|
||||
|
||||
PublicLibClass::PublicLibClass()
|
||||
{
|
||||
m_pObject = new PrivateLibClass;
|
||||
|
||||
...
|
||||
}
|
||||
|
||||
PublicLibClass::~PublicLibClass()
|
||||
{
|
||||
delete m_pObject;
|
||||
}
|
||||
</PRE>
|
||||
<P>A nice side effect is that you don't need to recompile all the files
|
||||
including the header if you change the PrivateLibClass declaration (it's
|
||||
an example of a more general interface/implementation separation idea).
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>General recommendations</B></LI><P>
|
||||
While the recommendations in the previous section may not apply to you if you're
|
||||
only working with perfect compilers which implement the very newest directives of
|
||||
C++ standard, this section contains compiler- (and language-) independent advice
|
||||
which <B>must</B> be followed if you wish to write correct, i.e. working, programs. It
|
||||
also contains some C/C++ specific remarks in the end which are less
|
||||
important.
|
||||
<OL>
|
||||
<P><LI><A NAME="no_globals"></A><B>No global variables with constructors</B></LI><P>
|
||||
In C++, the constructors of global variables are called before the
|
||||
<TT>main()</TT> function (or <TT>WinMain()</TT> or any other program entry point)
|
||||
starts executing. Thus, there is no possibility to initialize <I>anything</I>
|
||||
before the constructor call. The order of construction is largely
|
||||
implementation-defined, meaning that there is no guarantee that one global
|
||||
object will be initialized before another one (except if they are both defined
|
||||
in the same translation unit, i.e. .cpp file). Most importantly, no custom
|
||||
memory allocation operators are installed at the moment of execution of global
|
||||
variables constructors, so a (less restrictive) rule is that you should have
|
||||
no global variables which allocate memory (or do anything else non-trivial) in
|
||||
the constructor. Of course, if an object doesn't allocate memory in its constructor
|
||||
right now, it may start making it later, so you can only be sure about this if
|
||||
you don't use <I>any</I> variables of object (as opposed to simple:
|
||||
<TT>int</TT>, ...) types. Example: currently, wxString doesn't allocate memory
|
||||
in its default constructor, so you might think that having a global (initially)
|
||||
empty wxString is safe. However, if wxString starts allocating some minimal
|
||||
amount of memory in its default constructor (which doesn't look unreasonable),
|
||||
you would have all kinds of problems with <TT>new</TT>
|
||||
and <TT>delete</TT> operators (overloaded in wxWindows), especially because the first <TT>new</TT> called
|
||||
is the standard one (before wxWindows overloads them) and <TT>delete</TT> will
|
||||
be the overloaded operator.
|
||||
|
||||
<P><LI><A NAME="no_warnings"></A><B>Turn on all warnings and eradicate them</B></LI><P>
|
||||
Give the compiler a chance to help you - turn on all warnings! You should always
|
||||
use the maximum available warning level of your compiler and understand and
|
||||
correct each of them. If, for whatever reasons, a compiler gives a warning on
|
||||
some perfectly legal line of code and you can't change it, please insert a
|
||||
comment indicating it in the code. Most oftenly, however, all compiler warnings
|
||||
may be avoided (not suppressed!) with minimal changes to your code.
|
||||
|
||||
<P><LI><A NAME="no_assume_sizeof"></A><B>Don't rely on <TT>sizeof(int) == 2</TT>...</B></LI><P>
|
||||
You should never assume any absolute constraints on data type sizes. Currently,
|
||||
we have 16-bit, 32-bit and 64-bit machines and even inside each class data type
|
||||
sizes are different. A small table illustrates it quite well:
|
||||
<TABLE BORDER COLS=5 WIDTH="100%" NOSAVE >
|
||||
<TR>
|
||||
<TD>Architecture/OS</TD>
|
||||
<TD>sizeof(short)</TD>
|
||||
<TD>sizeof(int)</TD>
|
||||
<TD>sizeof(long)</TD>
|
||||
<TD>sizeof(void *)</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD>i386/Windows 3.1</TD>
|
||||
<TD>2</TD>
|
||||
<TD>2</TD>
|
||||
<TD>4</TD>
|
||||
<TD>2 or 4</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD>i386/Windows 95</TD>
|
||||
<TD>2</TD>
|
||||
<TD>4</TD>
|
||||
<TD>4</TD>
|
||||
<TD>4</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD>Merced/Win64</TD>
|
||||
<TD>2</TD>
|
||||
<TD>4</TD>
|
||||
<TD>4</TD>
|
||||
<TD>8</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD>Alpha/Linux</TD>
|
||||
<TD>???</TD>
|
||||
<TD>???</TD>
|
||||
<TD>???</TD>
|
||||
<TD>???</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<P><LI><A NAME="no_assignment_in_if"></A><B>No assignments in conditional expressions</B></LI><P>
|
||||
Although close to the heart of many C programmers (I plead guilty), code like
|
||||
classical <TT>if ( (c = getchar()) != EOF )</TT> is bad because it prevents you
|
||||
from enabling "assignment in conditional expression" warning (see also
|
||||
<A HREF="#no_warnings">above</A>) warning which is helpful to detect common
|
||||
mistypes like <TT>if ( x = 2 )</TT> instead of <TT>if ( x == 2 )</TT>.
|
||||
|
||||
<P><LI><A NAME="no_comment_code"></A><B>Use <TT>#if 0</TT> rather than comments to temporarily
|
||||
disable blocks of code</B></LI><P>
|
||||
If you have to temporarily disable some code, use
|
||||
<PRE>
|
||||
#if 0 // VZ: I think this code is unneeded, it probably must be removed
|
||||
...
|
||||
#endif // 0
|
||||
</PRE>
|
||||
instead of
|
||||
<PRE>
|
||||
/*
|
||||
...
|
||||
*/
|
||||
</PRE>
|
||||
The reason is simple: if there are any <TT>/* ... */</TT> comments inside
|
||||
<TT>...</TT> the second version will, of course, miserably fail.
|
||||
|
||||
<P><LI><A NAME="no_extra_semicolon"></A><B>Don't use extra semi-colons on top level</B></LI><P>
|
||||
Some compilers don't pay any attention to extra semicolons on top level, as in
|
||||
<PRE>
|
||||
class Foo { };;
|
||||
</PRE>
|
||||
while others complain loudly about it. Of course, you would rarely put 2
|
||||
semicolons yourself, but it may happen if you're using a macro
|
||||
(<TT>IMPLEMENT_something</TT>, for example) which already has a ';' inside and
|
||||
put another one after it.
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>Unix/DOS differences</B></LI><P>
|
||||
Two operating systems supported by wxWindows right now are (different flavours
|
||||
of) Unix and Windows 3.1/95/NT (although Mac, OS/2 and other ports exist/are
|
||||
being developed as well). The main differences between them are summarized
|
||||
here.
|
||||
|
||||
<OL>
|
||||
<P><LI><A NAME="use_cpp_ext"></A><B>Use .cpp for C++ source file extension</B></LI><P>
|
||||
There is, unfortunately, no standard exceptions for C++ source files. Different
|
||||
people use .C, .cc, .cpp, .cxx, .c++ and probably several others I forgot. Some
|
||||
compilers don't care about extension, but there are also other ones which can't
|
||||
be made to compile any file with "wrong" extension. Such compilers are very
|
||||
common in DOS/Windows land, that's why the .cpp extension is the least likely to
|
||||
cause any problems - it's the standard one under DOS and will probably be
|
||||
accepted by any Unix compiler as well (any counter examples?). The extension
|
||||
for the header files is .h.
|
||||
|
||||
<P><LI><A NAME="no_backslash"></A><B>Don't use backslash ('\\') in #includes</B></LI><P>
|
||||
Although it's too silly to mention, please don't use backslashes in
|
||||
<TT>#include</TT> preprocessor statement. Even not all Windows compilers accept
|
||||
it, without speaking about all other ones.
|
||||
|
||||
<P><LI><A NAME="no_carriagereturn"></A><B>Avoid carriage returns in cross-platform code</B></LI><P>
|
||||
This problem will hopefully not arise at all, with CVS taking care of this
|
||||
stuff, however it's perhaps not useless to remember that many Unix compilers
|
||||
(including, but not limited to, gcc) don't accept carriage returns
|
||||
(= <Ctrl-M> = '\r') in C/C++ code.
|
||||
|
||||
<P><LI><A NAME="no_caps_in_filenames"></A><B>Use only lower case filenames</B></LI><P>
|
||||
DOS/Windows 3.1 isn't case sensitive, Windows 95/NT are case preserving, but not
|
||||
case sensitive. To avoid all kinds of problems with compiling under Unix (or
|
||||
any other fully case-sensitive OS), please use only lower case letters in the
|
||||
filenames.
|
||||
|
||||
<P><LI><A NAME="no_incomplete_files"></A><B>Terminate the files with a new-line</B></LI><P>
|
||||
While DOS/Windows compilers don't seem to mind, their Unix counterparts don't
|
||||
like files without terminating new-line. Such files also give a warning message
|
||||
when loaded to vim (the Unix programmer's editor of choice :-)), so please think
|
||||
about terminating the last line.
|
||||
</OL>
|
||||
|
||||
<BR>
|
||||
<LI>Style choices</B></LI><P>
|
||||
All wxWindows specific style guidelines are specified in the next
|
||||
section, here are the choices which are not completely arbitrary,
|
||||
but have some deeper and not wxWindows-specific meaning.
|
||||
|
||||
<OL>
|
||||
<P><LI><A NAME="naming_conv"></A><B>Naming conventions: use <TT>m_</TT> for members</B></LI><P>
|
||||
It's extremely important to write readable code. One of the first steps in this
|
||||
direction is the choice of naming convention. It may be quite vague or strictly
|
||||
define the names of all the variables and function in the program, however it
|
||||
surely must somehow allow the reader to distinguish between variable and
|
||||
functions and local variables and member variables from the first glance.
|
||||
<P>The first requirement is commonly respected, but for some strange reasons, the
|
||||
second isn't, even if it's much more important because, after all, the immediate
|
||||
context usually allows you to distinguish a variable from a function in
|
||||
C/C++ code. On the other hand, you <I>cannot</I> say what <TT>x</TT> in the
|
||||
following code fragment is:
|
||||
<PRE>
|
||||
void Foo::Bar(int x_)
|
||||
{
|
||||
...
|
||||
|
||||
x = x_;
|
||||
|
||||
...
|
||||
}
|
||||
</PRE>
|
||||
It might be either a local variable (unluckily the function is too long so you
|
||||
don't see the variable declarations when you look at <TT>x = x_</TT> line), a
|
||||
member variable or a global variable - you have no way of knowing.
|
||||
<P>The wxWindows naming convention gives you, the reader of the code, much more
|
||||
information about <TT>x</TT>. In the code above you know that it's a local
|
||||
variable because:<P>
|
||||
<OL>
|
||||
<LI>global variables are always prefixed with <TT>g_</TT></LI>
|
||||
<LI>member variables are always prefixed with <TT>m_</TT></LI>
|
||||
<LI>static variables are always prefixed with <TT>s_</TT></LI>
|
||||
</OL>
|
||||
<P>Examples:
|
||||
<PRE>
|
||||
extern int g_x; // of course, 'x' is not the best name for a global...
|
||||
|
||||
void Bar()
|
||||
{
|
||||
int x;
|
||||
}
|
||||
|
||||
class Foo {
|
||||
public:
|
||||
void SetX(int x) { m_x = x; }
|
||||
private:
|
||||
int m_x;
|
||||
};
|
||||
</PRE>
|
||||
As you see, it also solves once and for all the old C++ programmer's question:
|
||||
how to call <TT>SetX()</TT> parameter? The answer is simple: just call it
|
||||
<TT>x</TT> because there is no ambiguity with <TT>Foo::m_x</TT>.
|
||||
<P>The prefixes can be combined to give <TT>ms_</TT> and <TT>gs_</TT> for static
|
||||
member (a.k.a. class) variables and static global variables.
|
||||
<P>The convention is, of course, completely worthless if it is not followed:
|
||||
nothing like being sure that <TT>x</TT> is a local variable in the code fragment
|
||||
above and discovering later the following lines in the header:
|
||||
<PRE>
|
||||
class Foo {
|
||||
...
|
||||
int x; // I don't like wxWindows naming convention
|
||||
};
|
||||
</PRE>
|
||||
Please do use these prefixes, they make your code much easier to read. Also
|
||||
please notice that it has nothing to do with the so-called <I>Hungarian notation</I>
|
||||
which is used in wxMSW part of wxWindows code and which encodes the <I>type</I>
|
||||
of the variable in its name - it is actually quite useful in C, but has little
|
||||
or no sense in C++.
|
||||
|
||||
<P><LI><A NAME="no_void_param"></A><B>Don't use <TT>void</TT> for functions without
|
||||
arguments</B></LI><P>
|
||||
In ANSI C, <TT>void Foo()</TT> takes an arbitrary number of arbitrarily typed
|
||||
arguments (although the form <TT>void Foo(...)</TT> is preferred) and <TT>void
|
||||
Foo(void)</TT> doesn't take any arguments. In C++, however, the situation is
|
||||
different and both declarations are completely equivalent. As there is no need
|
||||
to write <TT>void</TT> in this situation, let's not write it - it can only be
|
||||
confusing and create an impression that it really means something when it's not
|
||||
at all the case.
|
||||
|
||||
<P><LI><A NAME="no_const_int"></A><B>Don't use <TT>const</TT> for non pointer/reference
|
||||
arguments</B></LI><P>
|
||||
In both C and C++ an argument passed by value cannot be modified - or, more
|
||||
precisely, if it is modified in the called function, only the local copy is
|
||||
really changed, not the caller's variable. So, semantically speaking, there is
|
||||
no difference between <TT>void Foo(int)</TT> and <TT>void Foo(const int)</TT>.
|
||||
However, the <TT>const</TT> keyword is confusing here, adds nothing to the code
|
||||
and even cannot be removed if <TT>Foo()</TT> is virtual and overridden (because
|
||||
the names are mangled differently). So, <I>for arguments passed by value</I>
|
||||
you shouldn't use <TT>const</TT>.
|
||||
<P>Of course, it doesn't apply to functions such as
|
||||
<TT>void PrintMessage(const char *text)</TT> where <TT>const</TT> is mandatory.
|
||||
</OL>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<H3>wxWindows rules</H3>
|
||||
<UL>
|
||||
<P><LI>File location and naming conventions</LI><P>
|
||||
<OL>
|
||||
<P><LI><A NAME="file_locations"></LI><B>File locations</B><P>
|
||||
The wxWindows files for each supported platform have their own subdirectories
|
||||
in "include" and "src". So, for example, there is "src/msw", "include/gtk"
|
||||
etc. There are also two special subdirectories called "common" and
|
||||
"generic". The common subdirectory contains the files which are platform
|
||||
independent (wxObject, wxString, ...) and the generic one the generic
|
||||
implementations of GUI widgets, i.e. those which use only other wxWindows
|
||||
classes to implement them. For the platforms where the given functionality
|
||||
cannot be implemented natively, the generic implementation is used and the native
|
||||
one is used for the others. As I feel that it becomes a bit too confusing,
|
||||
here is an example: wxMessageBox function is implemented natively under
|
||||
Windows (where it just calls MessageBox API), but there is also a generic
|
||||
implementation which is used under, for example, GTK. A generic class should
|
||||
normally have a name that distinguishes it from any platform-specific implementation.
|
||||
A #define will allow wxGenericMessageDialog to be wxMessageDialog on some
|
||||
platforms, for example.
|
||||
|
||||
<P>This scheme applies not only for the .cpp files, but also for the headers.
|
||||
However, as the program using wxWindows should (ideally) not use any
|
||||
"<TT>#ifdef <platform></TT>" at all, the headers are always included with
|
||||
"<TT>#include <wx/msgdlg.h></TT>" (for example). This file, in turn, includes
|
||||
the right header for given platform. Any new headers should conform to this
|
||||
setup as well to allow including <TT><wx/foo.h></TT> on any platform.<P>
|
||||
|
||||
Note that wxWindows implementation files should use quotes when including wxWindows
|
||||
headers, not angled brackets. Applications should use angled brackets. There
|
||||
is a reason for it (can anyone remember what this is?).
|
||||
|
||||
<P><LI><A NAME="include_guards"></LI><B>Include guards</B><P>
|
||||
To minimize the compile time C++ programmers often use so called include
|
||||
guards: for example, in the header file foo.h you might have
|
||||
|
||||
<PRE>
|
||||
#ifndef _FOO_H_
|
||||
#define _FOO_H_
|
||||
|
||||
... all header contents ...
|
||||
|
||||
#endif
|
||||
//_FOO_H_
|
||||
</PRE>
|
||||
|
||||
In this way, the header will only be included once for the compilation
|
||||
of any .cpp (of course, it still will be included many times for the
|
||||
compilation of the whole project, so it has nothing to do with precompiled
|
||||
headers). wxWindows is no exception and also uses include guards which should use
|
||||
the above form, except for top-level headers which include files with identical
|
||||
names, in which case you should use _FOO_H_BASE_.
|
||||
|
||||
<P><LI><A NAME="pch"></LI><B>Precompiled headers</B><P>
|
||||
The precompiled headers greatly (we're speaking about orders of hundreds of
|
||||
percent here) reduce the compilation time. wxWindows uses them if the target
|
||||
compiler supports them (it knows about MS Visual C++, Borland C++ and g++).
|
||||
You should include all the headers included from <TT><wx/wx_prec.h></TT> only
|
||||
inside "<TT>#if !USE_PRECOMP</TT>" to avoid unnecessary overhead in the case
|
||||
when the precompiled headers are used.<P>
|
||||
|
||||
The start of a cpp implementation file after the heading might look like this:<P>
|
||||
|
||||
<PRE>
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "bitmap.h"
|
||||
#endif
|
||||
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include <stdio.h>
|
||||
#include "wx/setup.h"
|
||||
#include "wx/list.h"
|
||||
#include "wx/utils.h"
|
||||
#include "wx/app.h"
|
||||
#include "wx/palette.h"
|
||||
#include "wx/bitmap.h"
|
||||
#include "wx/icon.h"
|
||||
#endif
|
||||
|
||||
#include "wx/msw/private.h"
|
||||
#include "assert.h"
|
||||
</PRE>
|
||||
|
||||
|
||||
<P>Any header file should containg the following lines:
|
||||
<PRE>
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "foo.h"
|
||||
#endif
|
||||
</PRE>
|
||||
and the corresponding .cpp file:
|
||||
<PRE>
|
||||
#ifdef __GNUG__
|
||||
#pragma implementation "foo.h"
|
||||
#endif
|
||||
</PRE> for g++ compilation.
|
||||
</OL>
|
||||
|
||||
<P><LI>File layout and indentation</LI><P>
|
||||
<OL>
|
||||
<P><LI><A NAME="wxwin_header"></LI><B>wxWindows standard header</B> <a href="header.txt">here</a>. The
|
||||
copyright holder is the original author. It is assumed the author does not assert copyright,
|
||||
under the terms of the wxWindows licence. This is a legal interpretation of the informal
|
||||
usage 'public domain' (the copyright holder does not assert the copyright).<P>
|
||||
<P><LI><A NAME="indentation"></LI><B>Indent your code with 4 spaces (no tabs!)</B>
|
||||
<P><LI><A NAME="class_decl"></LI><B>Order of parts in a class declarations</B><P>
|
||||
</OL>
|
||||
|
||||
<P><LI>More about naming conventions</LI><P>
|
||||
<OL>
|
||||
<P><LI><A NAME="wx_prefix"></LI><B>Use wx or WX prefix for all public symbols</B>.
|
||||
wx should be used for functions and classes, WX for macros.
|
||||
<P><LI><A NAME="wxdllexport"</LI><B>Use WXDLLEXPORT with all classes/functions in
|
||||
wxMSW/common code</B>
|
||||
The title says it all - every public (in the sense that it is not internal to
|
||||
the library) function or class should have WXDLLEXPORT macro in its
|
||||
declaration to allow compilation of wxWindows as shared library. For example:<P>
|
||||
|
||||
<pre>
|
||||
bool WXDLLEXPORT wxYield(void);
|
||||
class WXDLLEXPORT MyClass; // (for forward declarations and real declarations)
|
||||
WXDLLEXPORT_DATA(extern wxApp*) wxTheApp;
|
||||
</pre>
|
||||
|
||||
The reason for the strange syntax for data is that some compilers use different
|
||||
keyword ordering for exporting data.
|
||||
|
||||
<P>There also several other places where you should take care of shared
|
||||
library case: all IMPLEMENT_xxx macros which are usually used in the
|
||||
corresponding .cpp files must be taken inside
|
||||
"<TT>#if !USE_SHARED_LIBRARY</TT>" and in the <TT>#if USE_SHARED_LIBRARY</TT>
|
||||
case you should put them inside <TT>common/cmndata.cpp</TT> file.
|
||||
|
||||
<P><LI><A NAME="set_get"></LI><B>Use Set/Get prefixes for accessors</B><P>
|
||||
There is a convention in wxWindows to prefix the accessors (i.e. any simple, in
|
||||
general, inline function which does nothing else except changing or returning
|
||||
the value of a member variable) with either <TT>Set</TT> or <TT>Get</TT>.
|
||||
</OL>
|
||||
|
||||
<P><LI>Miscellaneous</LI><P>
|
||||
<OL>
|
||||
<P><LI><A NAME="forward_decl"></LI><B>Use forward declarations whenever possible</B><P>
|
||||
It's really a trivial piece of advice, but remember that using forward declarations
|
||||
instead of including the header of corresponding class is better because not
|
||||
only does it minimize the compile time, it also simplifies the dependencies
|
||||
between different source files.
|
||||
<P>On a related subject, in general, you should try not to include other
|
||||
headers from a header file.
|
||||
|
||||
<P><LI><A NAME="debug_macros"></LI><B>Use debugging macros</B><P>
|
||||
wxWindows provides the debugging macros <TT>wxASSERT, wxFAIL</TT> and
|
||||
<TT>wxCHECK_RET</TT> in <TT><wx/wx.h></TT> file. Please use them as often as
|
||||
you can - they will never do you any harm but can greatly simplify the bug
|
||||
tracking both for you and for others.
|
||||
<P>Also, please use <TT>wxFAIL_MSG("not implemented")</TT> instead of writing
|
||||
stubs for not (yet) implemented functions which silently return incorrect
|
||||
values - otherwise, a person using a not implemented function has no idea that
|
||||
it is, in fact, not implemented.
|
||||
<P>As all debugging macros only do something useful if the symbol
|
||||
<TT>__DEBUG__</TT> is defined, you should compile your programs in debug mode to profit
|
||||
from them.
|
||||
</OL>
|
||||
</UL>
|
||||
|
||||
<P>
|
||||
|
||||
<HR>
|
||||
Please send any comments to <A HREF=mailto:zeitlin@dptmaths.ens-cachan.fr>Vadim Zeitlin</A>.
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
BIN
docs/latex/wx/alignv.bmp
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
docs/latex/wx/alignv.gif
Normal file
After Width: | Height: | Size: 3.6 KiB |
@@ -441,3 +441,15 @@ needs to use the top window.
|
||||
|
||||
\helpref{wxApp::GetTopWindow}{wxappgettopwindow}, \helpref{wxApp::OnInit}{wxapponinit}
|
||||
|
||||
\membersection{wxApp::GetStdIcon}\label{wxappgetstdicon}
|
||||
|
||||
\func{virtual wxIcon}{GetStdIcon}{\param{int }{which}} const
|
||||
|
||||
Returns the icons used by wxWindows internally, e.g. the ones used for
|
||||
message boxes. This function is used internally and
|
||||
can be overridden by the user to change the default icons.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{which}{One of the wxICON_XXX defines and chooses which icon to return.}
|
||||
|
||||
|
@@ -43,15 +43,21 @@ Copy constructor.
|
||||
\func{}{wxBitmap}{\param{void*}{ data}, \param{int}{ type}, \param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||
|
||||
Creates a bitmap from the given data, which can be of arbitrary type.
|
||||
Windows only, I think.
|
||||
|
||||
\func{}{wxBitmap}{\param{const char}{ bits[]}, \param{int}{ width}, \param{int}{ height}\\
|
||||
\param{int}{ depth = 1}}
|
||||
|
||||
Creates a bitmap from an array of bits.
|
||||
|
||||
Note that the bit depth is ignored on GTK+ and Motif. If you want to create a bitmap
|
||||
from something else than a 1-bit data array, use the \helpref{wxImage}{wximage} class.
|
||||
|
||||
\func{}{wxBitmap}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||
|
||||
Creates a new bitmap.
|
||||
Creates a new bitmap. A depth of -1 indicates the depth of the current screen or
|
||||
visual. Some platforms only support 1 for monochrome and -1 for the current colour
|
||||
setting.
|
||||
|
||||
\func{}{wxBitmap}{\param{const char**}{ bits}}
|
||||
|
||||
@@ -137,6 +143,8 @@ 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{wxBitmap(data, type, width, height, depth=1)}}{Creates
|
||||
a bitmap from the given data, which can be of arbitrary type.}
|
||||
\twocolitem{\bf{wxNoRefBitmap(name, flag)}}{This one won't own the
|
||||
reference, so Python won't call the destructor, this is good for toolbars
|
||||
and such where the parent will manage the bitmap.}
|
||||
|
BIN
docs/latex/wx/border.bmp
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
docs/latex/wx/border.gif
Normal file
After Width: | Height: | Size: 6.0 KiB |
34
docs/latex/wx/busyinfo.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
\section{\class{wxBusyInfo}}\label{wxbusyinfo}
|
||||
|
||||
This class makes it easy to tell your user that the program is temporarily busy.
|
||||
Just create a wxBusyInfo object on the stack, and within the current scope,
|
||||
a message window will be shown.
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
wxBusyInfo wait("Please wait, working...");
|
||||
|
||||
for (int i = 0; i < 100000; i++)
|
||||
DoACalculation();
|
||||
\end{verbatim}
|
||||
|
||||
It works by creating a window in the constructor,
|
||||
and deleting it in the destructor.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/busyinfo.h>
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBusyInfo::wxBusyInfo}
|
||||
|
||||
\func{}{wxBusyInfo}{\param{const wxString\&}{ msg}}
|
||||
|
||||
Constructs a busy info object, displays {\it msg}.
|
||||
|
@@ -99,6 +99,14 @@ The button's label.
|
||||
|
||||
\helpref{wxButton::SetLabel}{wxbuttonsetlabel}
|
||||
|
||||
\membersection{wxButton::GetDefaultSize}\label{wxbuttongetdefaultsize}
|
||||
|
||||
\func{wxSize}{GetDefaultSize}{\void}
|
||||
|
||||
Returns the default size for the buttons. It is advised to make all the dialog
|
||||
buttons of the same size and this function allows to retrieve the (platform and
|
||||
current font dependent size) which should be the best suited for this.
|
||||
|
||||
\membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
|
||||
|
||||
\func{void}{SetDefault}{\void}
|
||||
|
@@ -178,9 +178,12 @@ An event object contains information about a specific event. Event handlers
|
||||
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
|
||||
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
|
||||
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
|
||||
\twocolitem{\helpref{wxNotifyEvent}{wxnotifyevent}}{A notification event, which can be vetoed}
|
||||
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
|
||||
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
|
||||
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
|
||||
\twocolitem{\helpref{wxScrollEvent}{wxscrollevent}}{A scroll event from sliders, stand-alone scrollbars and spin buttons}
|
||||
\twocolitem{\helpref{wxScrollWinEvent}{wxscrollwinevent}}{A scroll event from scrolled windows}
|
||||
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
|
||||
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
|
||||
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
|
||||
@@ -275,7 +278,7 @@ based on DDE.
|
||||
\twocolitem{\helpref{wxTCPConnection}{wxtcpconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxTCPServer}{wxtcpserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
|
||||
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
%\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
|
||||
\end{twocollist}
|
||||
|
||||
@@ -375,8 +378,10 @@ libraries, and to provide enhanced functionality.
|
||||
\twocolitem{\helpref{wxOutputStream}{wxoutputstream}}{Output stream class}
|
||||
\twocolitem{\helpref{wxFilterInputStream}{wxfilterinputstream}}{Filtered input stream class}
|
||||
\twocolitem{\helpref{wxFilterOutputStream}{wxfilteroutputstream}}{Filtered output stream class}
|
||||
\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent data input stream class}
|
||||
\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent data output stream class}
|
||||
\twocolitem{\helpref{wxDataInputStream}{wxdatainputstream}}{Platform-independent binary data input stream class}
|
||||
\twocolitem{\helpref{wxDataOutputStream}{wxdataoutputstream}}{Platform-independent binary data output stream class}
|
||||
\twocolitem{\helpref{wxTextInputStream}{wxtextinputstream}}{Platform-independent text data input stream class}
|
||||
\twocolitem{\helpref{wxTextOutputStream}{wxtextoutputstream}}{Platform-independent text data output stream class}
|
||||
\twocolitem{\helpref{wxFileInputStream}{wxfileinputstream}}{File input stream class}
|
||||
\twocolitem{\helpref{wxFileOutputStream}{wxfileoutputstream}}{File output stream class}
|
||||
\twocolitem{\helpref{wxZlibInputStream}{wxzlibinputstream}}{Zlib (compression) input stream class}
|
||||
|
@@ -99,7 +99,8 @@ Returns TRUE if it is checked, FALSE otherwise.
|
||||
|
||||
\func{void}{SetValue}{\param{const bool}{ state}}
|
||||
|
||||
Sets the checkbox to the given state.
|
||||
Sets the checkbox to the given state. This does not cause a
|
||||
wxEVT\_COMMAND\_CHECKBOX\_CLICKED event to get emitted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
|
@@ -183,7 +183,8 @@ This is implemented for Motif only.
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ n}}
|
||||
|
||||
Sets the choice by passing the desired string position.
|
||||
Sets the choice by passing the desired string position. This does not cause
|
||||
a wxEVT\_COMMAND\_CHOICE\_SELECTED event to get emitted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
@@ -197,7 +198,8 @@ Sets the choice by passing the desired string position.
|
||||
|
||||
\func{void}{SetStringSelection}{\param{const wxString\& }{ string}}
|
||||
|
||||
Sets the choice by passing the desired string.
|
||||
Sets the choice by passing the desired string. This does not cause
|
||||
a wxEVT\_COMMAND\_CHOICE\_SELECTED event to get emitted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
|
@@ -10,7 +10,9 @@
|
||||
\input arrstrng.tex
|
||||
\input autoobj.tex
|
||||
\input busycurs.tex
|
||||
\input busyinfo.tex
|
||||
\input button.tex
|
||||
\input strmbfrd.tex
|
||||
\input bitmap.tex
|
||||
\input bbutton.tex
|
||||
\input bmpdatob.tex
|
||||
@@ -66,6 +68,8 @@
|
||||
\input fildrptg.tex
|
||||
\input filehist.tex
|
||||
\input strmfile.tex
|
||||
\input filesys.tex
|
||||
\input filesysh.tex
|
||||
\input filetype.tex
|
||||
\input fltinstr.tex
|
||||
\input fltoutst.tex
|
||||
@@ -74,6 +78,7 @@
|
||||
\input fontdlg.tex
|
||||
\input fontlist.tex
|
||||
\input frame.tex
|
||||
\input fsfile.tex
|
||||
\input ftp.tex
|
||||
\input gauge.tex
|
||||
\input gdiobj.tex
|
||||
@@ -81,6 +86,19 @@
|
||||
\input grid.tex
|
||||
\input hash.tex
|
||||
\input helpinst.tex
|
||||
\input htcell.tex
|
||||
\input htcolor.tex
|
||||
\input htcontnr.tex
|
||||
\input htfilter.tex
|
||||
\input hthelpct.tex
|
||||
\input htparser.tex
|
||||
\input httag.tex
|
||||
\input httaghnd.tex
|
||||
\input httagmod.tex
|
||||
\input htwidget.tex
|
||||
\input htwindow.tex
|
||||
\input htwinprs.tex
|
||||
\input htwinhnd.tex
|
||||
\input http.tex
|
||||
\input idleevt.tex
|
||||
\input icon.tex
|
||||
@@ -156,6 +174,7 @@
|
||||
\input sashwin.tex
|
||||
\input screendc.tex
|
||||
\input scrolbar.tex
|
||||
\input scrlwevt.tex
|
||||
\input scrolevt.tex
|
||||
\input scrolwin.tex
|
||||
\input sngchdlg.tex
|
||||
@@ -164,6 +183,7 @@
|
||||
\input slider.tex
|
||||
\input sckaddr.tex
|
||||
\input socket.tex
|
||||
%\input gsocket.tex
|
||||
\input splitevt.tex
|
||||
\input strmsock.tex
|
||||
\input spinbutt.tex
|
||||
@@ -189,6 +209,7 @@
|
||||
\input tempfile.tex
|
||||
\input text.tex
|
||||
\input txtdatob.tex
|
||||
\input txtstrm.tex
|
||||
\input textdlg.tex
|
||||
\input txtdrptg.tex
|
||||
\input valtext.tex
|
||||
@@ -196,6 +217,7 @@
|
||||
\input thread.tex
|
||||
\input time.tex
|
||||
\input timer.tex
|
||||
\input tipprov.tex
|
||||
\input toolbar.tex
|
||||
\input treectrl.tex
|
||||
\input treeevt.tex
|
||||
@@ -207,6 +229,7 @@
|
||||
\input wave.tex
|
||||
\input window.tex
|
||||
\input windowdc.tex
|
||||
\input zipstrm.tex
|
||||
\input strmzlib.tex
|
||||
\input function.tex
|
||||
\input keycode.tex
|
||||
|
@@ -26,11 +26,11 @@ For example:
|
||||
// Read some text
|
||||
if (wxTheClipboard->Open())
|
||||
{
|
||||
wxTextDataObject data;
|
||||
if (wxTheClipboard->IsSupported(data))
|
||||
if (wxTheClipboard->IsSupported( "STRING" ))
|
||||
{
|
||||
wxTheClipboard->GetData(data);
|
||||
wxMessageBox(data.GetText());
|
||||
wxTextDataObject data;
|
||||
wxTheClipboard->GetData( &data );
|
||||
wxMessageBox( data.GetText() );
|
||||
}
|
||||
wxTheClipboard->Close();
|
||||
}
|
||||
@@ -83,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{wxDataObject\&}{ data}}
|
||||
\func{bool}{IsSupported}{\param{wxDataFormat}{ format}}
|
||||
|
||||
Returns TRUE if the format of the given data object is available on the clipboard.
|
||||
|
||||
@@ -114,3 +114,12 @@ Call this function to set the data object to the clipboard. This function will
|
||||
clear all previous contents in the clipboard, so calling it several times
|
||||
does not make any sense.
|
||||
|
||||
\membersection{wxClipboard::UsePrimarySelection}\label{wxclipboarduseprimary}
|
||||
|
||||
\func{void}{UsePrimarySelection}{\param{bool}{ primary = TRUE}}
|
||||
|
||||
On platforms supporting it (currently only GTK), selects the so called
|
||||
PRIMARY SELECTION as the clipboard as opposed to the normal clipboard,
|
||||
if {\it primary} is TRUE.
|
||||
|
||||
|
||||
|
@@ -295,7 +295,8 @@ Sets the insertion point at the end of the combobox text field.
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ n}}
|
||||
|
||||
Selects the given item in the combobox list.
|
||||
Selects the given item in the combobox list. This does not cause a
|
||||
wxEVT\_COMMAND\_COMBOBOX\_SELECTED event to get emitted.
|
||||
|
||||
\func{void}{SetSelection}{\param{long}{ from}, \param{long}{ to}}
|
||||
|
||||
|
BIN
docs/latex/wx/cont.bmp
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
docs/latex/wx/cont.gif
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
docs/latex/wx/contbox.bmp
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
docs/latex/wx/contbox.gif
Normal file
After Width: | Height: | Size: 9.9 KiB |
@@ -1,14 +1,35 @@
|
||||
% ----------------------------------------------------------------------------
|
||||
% wxDataInputStream
|
||||
% ----------------------------------------------------------------------------
|
||||
\section{\class{wxDataInputStream}}\label{wxdatainputstream}
|
||||
|
||||
This class provides functions that read data types in a
|
||||
portable way. So, a file written by an Intel processor can be read by a
|
||||
Sparc or anything else.
|
||||
This class provides functions that read binary data types in a
|
||||
portable way. Data can be read in either big-endian or litte-endian
|
||||
format, little-endian being the default on all architectures.
|
||||
|
||||
\wxheading{Derived from}
|
||||
If you want to read data from text files (or streams) use
|
||||
\helpref{wxTextInputStream}{wxtextinputstream} instead.
|
||||
|
||||
\helpref{wxFilterInputStream}{wxfilterinputstream}\\
|
||||
\helpref{wxInputStream}{wxinputstream}\\
|
||||
\helpref{wxStreamBase}{wxstreambase}
|
||||
The >> operator is overloaded and you can use this class like a standard C++ iostream.
|
||||
Note, however, that the arguments are the fixed size types wxUint32, wxInt32 etc
|
||||
and on a typical 32-bit computer, none of these match to the "long" type (wxInt32
|
||||
is defined as signed int on 32-bit architectures) so that you cannot use long. To avoid
|
||||
problems (here and elsewhere), make use of the wxInt32, wxUint32, etc types.
|
||||
|
||||
For example:
|
||||
\begin{verbatim}
|
||||
wxFileInputStream input( "mytext.dat" );
|
||||
wxDataInputStream store( input );
|
||||
wxUint8 i1;
|
||||
float f2;
|
||||
wxString line;
|
||||
|
||||
store >> i1; // read a 8 bit integer.
|
||||
store >> i1 >> f2; // read a 8 bit integer followed by float.
|
||||
store >> line; // read a text line
|
||||
\end{verbatim}
|
||||
|
||||
See also \helpref{wxDataOutputStream}{wxdataoutputstream}.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
@@ -33,21 +54,30 @@ be available.
|
||||
|
||||
Destroys the wxDataInputStream object.
|
||||
|
||||
\membersection{wxDataInputStream::BigEndianOrdered}
|
||||
|
||||
\func{void}{BigEndianOrdered}{\param{bool}{ be_order}}
|
||||
|
||||
If {\it be_order} is TRUE, all data will be read in big-endian
|
||||
order, such as written by programs on a big endian architecture
|
||||
(e.g. Sparc) or written by Java-Streams (which always use
|
||||
big-endian order).
|
||||
|
||||
\membersection{wxDataInputStream::Read8}
|
||||
|
||||
\func{unsigned char}{Read8}{\void}
|
||||
\func{wxUint8}{Read8}{\void}
|
||||
|
||||
Reads a single byte from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::Read16}
|
||||
|
||||
\func{unsigned short}{Read16}{\void}
|
||||
\func{wxUint16}{Read16}{\void}
|
||||
|
||||
Reads a 16 bit integer from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::Read32}
|
||||
|
||||
\func{unsigned long}{Read32}{\void}
|
||||
\func{wxUint32}{Read32}{\void}
|
||||
|
||||
Reads a 32 bit integer from the stream.
|
||||
|
||||
@@ -57,12 +87,6 @@ Reads a 32 bit integer from the stream.
|
||||
|
||||
Reads a double (IEEE encoded) from the stream.
|
||||
|
||||
\membersection{wxDataInputStream::ReadLine}
|
||||
|
||||
\func{wxString}{wxDataInputStream::ReadLine}{\void}
|
||||
|
||||
Reads a line from the stream. A line is a string which ends with \\n or \\r\\n.
|
||||
|
||||
\membersection{wxDataInputStream::ReadString}
|
||||
|
||||
\func{wxString}{wxDataInputStream::ReadString}{\void}
|
||||
@@ -71,19 +95,32 @@ Reads a string from a stream. Actually, this function first reads a long integer
|
||||
specifying the length of the string (without the last null character) and then
|
||||
reads the string.
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% wxDataOutputStream
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\section{\class{wxDataOutputStream}}\label{wxdataoutputstream}
|
||||
|
||||
This class provides functions that write data types in a
|
||||
portable way. So, a file written by an Intel processor can be read by a
|
||||
Sparc or anything else.
|
||||
This class provides functions that write binary data types in a
|
||||
portable way. Data can be written in either big-endian or litte-endian
|
||||
format, little-endian being the default on all architectures.
|
||||
|
||||
If you want to write data to text files (or streams) use
|
||||
\helpref{wxTextOutputStream}{wxtextoutputstream} instead.
|
||||
|
||||
The << operator is overloaded and you can use this class like a standard
|
||||
C++ iostream. See \helpref{wxDataInputStream}{wxdatainputstream} for its
|
||||
usage and caveats.
|
||||
|
||||
See also \helpref{wxDataInputStream}{wxdatainputstream}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDataOutputStream::wxDataOutputStream}\label{wxdataoutputstreamconstr}
|
||||
|
||||
\func{}{wxDataInputStream}{\param{wxOutputStream\&}{ stream}}
|
||||
\func{}{wxDataOutputStream}{\param{wxOutputStream\&}{ stream}}
|
||||
|
||||
Constructs a datastream object from an output stream. Only read methods will
|
||||
Constructs a datastream object from an output stream. Only write methods will
|
||||
be available.
|
||||
|
||||
\wxheading{Parameters}
|
||||
@@ -96,21 +133,30 @@ be available.
|
||||
|
||||
Destroys the wxDataOutputStream object.
|
||||
|
||||
\membersection{wxDataOutputStream::BigEndianOrdered}
|
||||
|
||||
\func{void}{BigEndianOrdered}{\param{bool}{ be_order}}
|
||||
|
||||
If {\it be_order} is TRUE, all data will be written in big-endian
|
||||
order, e.g. for reading on a Sparc or from Java-Streams (which
|
||||
always use big-endian order), otherwise data will be written in
|
||||
little-endian order.
|
||||
|
||||
\membersection{wxDataOutputStream::Write8}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write8}{{\param unsigned char }{i8}}
|
||||
\func{void}{wxDataOutputStream::Write8}{{\param wxUint8 }{i8}}
|
||||
|
||||
Writes the single byte {\it i8} to the stream.
|
||||
|
||||
\membersection{wxDataOutputStream::Write16}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write16}{{\param unsigned short }{i16}}
|
||||
\func{void}{wxDataOutputStream::Write16}{{\param wxUint16 }{i16}}
|
||||
|
||||
Writes the 16 bit integer {\it i16} to the stream.
|
||||
|
||||
\membersection{wxDataOutputStream::Write32}
|
||||
|
||||
\func{void}{wxDataOutputStream::Write32}{{\param unsigned long }{i32}}
|
||||
\func{void}{wxDataOutputStream::Write32}{{\param wxUint32 }{i32}}
|
||||
|
||||
Writes the 32 bit integer {\it i32} to the stream.
|
||||
|
||||
@@ -120,13 +166,6 @@ Writes the 32 bit integer {\it i32} to the stream.
|
||||
|
||||
Writes the double {\it f} to the stream using the IEEE format.
|
||||
|
||||
\membersection{wxDataOutputStream::WriteLine}
|
||||
|
||||
\func{void}{wxDataOutputStream::WriteLine}{{\param const wxString\& }{string}}
|
||||
|
||||
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||
$\backslash$n or $\backslash$r$\backslash$n.
|
||||
|
||||
\membersection{wxDataOutputStream::WriteString}
|
||||
|
||||
\func{void}{wxDataOutputStream::WriteString}{{\param const wxString\& }{string}}
|
||||
|
BIN
docs/latex/wx/descent.bmp
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
docs/latex/wx/descent.gif
Normal file
After Width: | Height: | Size: 4.0 KiB |
@@ -303,7 +303,7 @@ a code to the application. The function \helpref{wxDialog::EndModal}{wxdialogend
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
|
||||
\helpref{wxDialog::GetReturnCode}{wxdialoggetreturncode}, \helpref{wxDialog::ShowModal}{wxdialogshowmodal},\rtfsp
|
||||
\helpref{wxDialog::EndModal}{wxdialogendmodal}
|
||||
|
||||
\membersection{wxDialog::SetTitle}\label{wxdialogsettitle}
|
||||
@@ -341,12 +341,11 @@ Shows a modal dialog. Program flow does not return until the dialog has been dis
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The return value is the value set with \helpref{wxWindow::SetReturnCode}{wxwindowsetreturncode}.
|
||||
The return value is the value set with \helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDialog::EndModal}{wxdialogendmodal},\rtfsp
|
||||
\helpref{wxWindow::GetReturnCode}{wxwindowgetreturncode},\rtfsp
|
||||
\helpref{wxWindow::SetReturnCode}{wxwindowsetreturncode}
|
||||
|
||||
\helpref{wxDialog:GetReturnCode}{wxdialoggetreturncode},\rtfsp
|
||||
\helpref{wxDialog::SetReturnCode}{wxdialogsetreturncode}
|
||||
|
||||
|
@@ -287,17 +287,9 @@ typedef enum {
|
||||
|
||||
Returns the word value of the expression.
|
||||
|
||||
\membersection{wxExpr::WriteLispExpr}\label{wxexprwritelistexpr}
|
||||
\membersection{wxExpr::WriteClause}\label{wxexprwriteprologclause}
|
||||
|
||||
\func{void}{WriteLispExpr}{\param{ostream\&}{ stream}}
|
||||
|
||||
Writes the expression or clause to the given stream in LISP format.
|
||||
Not normally needed, since the whole {\bf wxExprDatabase} will usually
|
||||
be written at once. Lists are enclosed in parentheses will no commas.
|
||||
|
||||
\membersection{wxExpr::WritePrologClause}\label{wxexprwriteprologclause}
|
||||
|
||||
\func{void}{WritePrologClause}{\param{ostream\&}{ stream}}
|
||||
\func{void}{WriteClause}{\param{FILE *}{ stream}}
|
||||
|
||||
Writes the clause to the given stream in Prolog format. Not normally needed, since
|
||||
the whole {\bf wxExprDatabase} will usually be written at once. The format is:
|
||||
@@ -306,7 +298,7 @@ full stop.
|
||||
|
||||
\membersection{wxExpr::WriteExpr}\label{wxexprwriteexpr}
|
||||
|
||||
\func{void}{WriteExpr}{\param{ostream\&}{ stream}}
|
||||
\func{void}{WriteExpr}{\param{FILE *}{ stream}}
|
||||
|
||||
Writes the expression (not clause) to the given stream in Prolog
|
||||
format. Not normally needed, since the whole {\bf wxExprDatabase} will
|
||||
@@ -494,15 +486,9 @@ Reads in the given file, returning TRUE if successful.
|
||||
Reads a Prolog database from the given string buffer, returning TRUE if
|
||||
successful.
|
||||
|
||||
\membersection{wxExprDatabase::WriteLisp}\label{wxexprdatabasewritelisp}
|
||||
|
||||
\func{bool}{WriteLisp}{\param{ostream\& }{stream}}
|
||||
|
||||
Writes the database as a LISP-format file.
|
||||
|
||||
\membersection{wxExprDatabase::Write}\label{wxexprdatabasewrite}
|
||||
|
||||
\func{bool}{Write}{\param{ostream\& }{stream}}
|
||||
\func{bool}{Write}{\param{FILE *}{stream}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\&}{ filename}}
|
||||
|
||||
|
96
docs/latex/wx/filesys.tex
Normal file
@@ -0,0 +1,96 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% filesystem.tex at 21/Mar/99 23:00:52
|
||||
%
|
||||
|
||||
\section{\class{wxFileSystem}}\label{wxfilesystem}
|
||||
|
||||
This class provides interface for opening files on different
|
||||
file systems. It can handle absolute and/or local filenames.
|
||||
It uses system of \helpref{handlers}{wxfilesystemhandler} to
|
||||
provide access to user-defined virtual file systems.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{wxFileSystemHandler}{wxfilesystemhandler},
|
||||
\helpref{wxFSFile}{wxfsfile},
|
||||
\helpref{Overview}{fs}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxFileSystem::wxFileSystem}\label{wxfilesystemwxfilesystem}
|
||||
|
||||
\func{}{wxFileSystem}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
|
||||
|
||||
\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = FALSE}}
|
||||
|
||||
Sets the current location. {\it location} parameter passed to
|
||||
\helpref{OpenFile}{wxfilesystemopenfile} is relative to this path.
|
||||
|
||||
{\bf Caution! } Unless {\it is\_dir} is TRUE the {\it location} parameter
|
||||
is not directory name but the name of the file in this directory!! All these
|
||||
commands change path to "dir/subdir/" :
|
||||
|
||||
\begin{verbatim}
|
||||
ChangePathTo("dir/subdir/xh.htm");
|
||||
ChangePathTo("dir/subdir", TRUE);
|
||||
ChangePathTo("dir/subdir/", TRUE);
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{location}{the new location. Its meaning depends on value of {\it is\_dir}}
|
||||
|
||||
\docparam{is\_dir}{if TRUE {\it location} is new directory. If FALSE (default)
|
||||
{\it location} is {\bf file in} the new directory.}
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
\begin{verbatim}
|
||||
f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm'
|
||||
fs -> ChangePathTo("subdir/folder", TRUE);
|
||||
f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxFileSystem::GetPath}\label{wxfilesystemgetpath}
|
||||
|
||||
\func{wxString}{GetPath}{\void}
|
||||
|
||||
Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}).
|
||||
|
||||
\membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile}
|
||||
|
||||
\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}}
|
||||
|
||||
Opens file and returns pointer to \helpref{wxFSFile}{wxfsfile} object
|
||||
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.
|
||||
|
121
docs/latex/wx/filesysh.tex
Normal file
@@ -0,0 +1,121 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% filesystemhandler.tex at 21/Mar/99 23:00:52
|
||||
%
|
||||
|
||||
\section{\class{wxFileSystemHandler}}\label{wxfilesystemhandler}
|
||||
|
||||
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 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
|
||||
are constructed.
|
||||
|
||||
\wxheading{Notes}
|
||||
|
||||
\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 {\bf absolute} path. You don't need to check the FS's current path!
|
||||
\end{itemize}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFileSystem}{wxfilesystem},
|
||||
\helpref{wxFSFile}{wxfsfile},
|
||||
\helpref{Overview}{fs}
|
||||
|
||||
\membersection{wxFileSystemHandler::wxFileSystemHandler}\label{wxfilesystemhandlerwxfilesystemhandler}
|
||||
|
||||
\func{}{wxFileSystemHandler}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxFileSystemHandler::CanOpen}\label{wxfilesystemhandlercanopen}
|
||||
|
||||
\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).
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
bool MyHand::CanOpen(const wxString& location)
|
||||
{
|
||||
return (GetProtocol(location) == "http");
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
Must be overwriten in derived handlers.
|
||||
|
||||
\membersection{wxFileSystemHandler::OpenFile}\label{wxfilesystemhandleropenfile}
|
||||
|
||||
\func{virtual wxFSFile*}{OpenFile}{\param{wxFileSystem\& }{fs}, \param{const wxString\& }{location}}
|
||||
|
||||
Opens the file and returns wxFSFile pointer or NULL if failed.
|
||||
|
||||
Must be overwriten in derived handlers.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{fs}{Parent FS (the FS from that OpenFile was called). See ZIP handler
|
||||
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"
|
||||
|
70
docs/latex/wx/fs.tex
Normal file
@@ -0,0 +1,70 @@
|
||||
\section{File Systems}\label{fs}
|
||||
|
||||
The wxHTML library uses a {\bf virtual file systems} mechanism
|
||||
similar to the one used in Midnight Commander, Dos Navigator,
|
||||
FAR or almost any modern file manager. (Do you remember? You can
|
||||
press enter on ZIP file and its contents is displayed as if it
|
||||
were a local directory...)
|
||||
|
||||
\wxheading{Classes}
|
||||
|
||||
Three classes are used in order to provide full VFS:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item The \helpref{wxFSFile}{wxfsfile} class provides information
|
||||
on opened file (name, input stream, mime type and anchor).
|
||||
\item The \helpref{wxFileSystem}{wxfilesystem} class is the interface.
|
||||
Its main methods are ChangePathTo() and OpenFile(). This class
|
||||
is most often used by the end user.
|
||||
\item The \helpref{wxFileSystemHandler}{wxfilesystemhandler} is the core
|
||||
if VFS mechanism. You can derive your own handler and pass it to
|
||||
wxFileSystem's AddHandler() method. In the new handler you only need to
|
||||
overwrite OpenFile() and CanOpen() methods.
|
||||
\end{itemize}
|
||||
|
||||
\wxheading{Locations}
|
||||
|
||||
Locations (aka filenames aka addresses) are constructed from 4 parts:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item {\bf protocol} - handler can recognize if it is able to open a
|
||||
file by checking its protocol. Examples are "http", "file" or "ftp".
|
||||
\item {\bf right location} - is the name of file within the protocol.
|
||||
In "http://www.wxwindows.org/index.html" the right location is "//www.wxwindows.org/index.html".
|
||||
\item {\bf anchor} - anchor is optional and is usually not present.
|
||||
In "index.htm\#chapter2" the anchor is "chapter2".
|
||||
\item {\bf left location} - this is usually an empty string.
|
||||
It is used by 'local' protocols such as ZIP.
|
||||
See Combined Protocols paragraph for details.
|
||||
\end{itemize}
|
||||
|
||||
\wxheading{Combined Protocols}
|
||||
|
||||
Left location pretends protocol in URL string.
|
||||
It's not used by global protocols like HTTP but it's used
|
||||
by local ones - for example you can see this address:
|
||||
|
||||
file:archives/cpp\_doc.zip\#zip:reference/fopen.htm\#syntax
|
||||
|
||||
In this example, protocol is "zip", left location is
|
||||
"reference/fopen.htm", anchor is "syntax" and right location
|
||||
is "file:archives/cpp_doc.zip". It is used by zip handler
|
||||
to determine in what file this particular zip VFS is stored.
|
||||
|
||||
In fact there are two protocols used in this example: zip and file.
|
||||
You can construct even more complicated addresses like this one:
|
||||
|
||||
http://www.archives.org/myarchive.zip\#zip:local/docs/cpp/stdio.zip\#zip:index.htm
|
||||
|
||||
In this example you access zip VFS stdio.zip stored in another zip (myarchive.zip)
|
||||
which is at WWW.
|
||||
|
||||
\wxheading{File Systems Included in wxHTML}
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Local files
|
||||
\item HTTP protocol
|
||||
\item FTP protocol
|
||||
\item .ZIP archives
|
||||
\end{enumerate}
|
||||
|
121
docs/latex/wx/fsfile.tex
Normal file
@@ -0,0 +1,121 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% fsfile.tex at 21/Mar/99 23:00:52
|
||||
%
|
||||
|
||||
\section{\class{wxFSFile}}\label{wxfsfile}
|
||||
|
||||
This class represents single file opened by \helpref{wxFileSystem}{wxfilesystem}.
|
||||
It provides more information than wx's input stream
|
||||
(stream, filename, mime type, anchor).
|
||||
|
||||
{\bf Note:} Any pointer returned by wxFSFile's member is valid
|
||||
only as long as wxFSFile object exits. For example call to GetStream()
|
||||
doesn't {\it create} the stream but only returns the pointer to it. In
|
||||
other words after 10 calls to GetStream() you'll obtain ten identical
|
||||
pointers.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{wxFileSystemHandler}{wxfilesystemhandler},
|
||||
\helpref{wxFileSystem}{wxfilesystem},
|
||||
\helpref{Overview}{fs}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxFSFile::wxFSFile}\label{wxfsfilewxfsfile}
|
||||
|
||||
\func{}{wxFSFile}{\param{wxInputStream }{*stream}, \param{const wxString\& }{loc}, \param{const wxString\& }{mimetype}, \param{const wxString\& }{anchor}}
|
||||
|
||||
Constructor. You probably won't use it. See Notes for details.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{The input stream that will be used to access data}
|
||||
|
||||
\docparam{location}{The full location (aka filename) of the file}
|
||||
|
||||
\docparam{mimetype}{MIME type of this file. Mime type is either extension-based or HTTP Content-Type}
|
||||
|
||||
\docparam{anchor}{Anchor. See \helpref{GetAnchor()}{wxfsfilegetanchor} for details.}
|
||||
|
||||
If you aren't sure what do these params mean see description of GetXXXX()
|
||||
functions.
|
||||
|
||||
\wxheading{Notes}
|
||||
|
||||
It is never used by end user but you'll need it if
|
||||
you're writing own virtual FS. For example you may need something
|
||||
similar to wxMemoryInputStream but because wxMemoryInputStream
|
||||
doesn't free the memory when destroyed and thus passing memory stream
|
||||
pointer into wxFSFile constructor would lead to memory leaks, you
|
||||
can write your own class derived from wxFSFile :
|
||||
|
||||
\begin{verbatim}
|
||||
class wxMyFSFile : public wxFSFile
|
||||
{
|
||||
private:
|
||||
void *m_Mem;
|
||||
public:
|
||||
wxMyFSFile(.....)
|
||||
~wxMyFSFile() {free(m_Mem);}
|
||||
// of course dtor is virtual ;-)
|
||||
};
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxFSFile::GetStream}\label{wxfsfilegetstream}
|
||||
|
||||
\constfunc{wxInputStream*}{GetStream}{\void}
|
||||
|
||||
Returns pointer to the stream. You can use the returned
|
||||
stream to directly access data. You may suppose
|
||||
that the stream provide Seek and GetSize functionality
|
||||
(even in case of HTTP protocol which doesn't provide
|
||||
this by default. wxHtml is using local cache to workaround
|
||||
this and to speed up connection)
|
||||
|
||||
\membersection{wxFSFile::GetMimeType}\label{wxfsfilegetmimetype}
|
||||
|
||||
\constfunc{const wxString\&}{GetMimeType}{\void}
|
||||
|
||||
Returns MIME type of the content of this file. It is either
|
||||
extension-based (see wxMimeTypesManager) or extracted from
|
||||
HTTP protocol Content-Type header.
|
||||
|
||||
\membersection{wxFSFile::GetLocation}\label{wxfsfilegetlocation}
|
||||
|
||||
\constfunc{const wxString\&}{GetLocation}{\void}
|
||||
|
||||
Returns full location of the file, including path and protocol.
|
||||
Examples :
|
||||
|
||||
\begin{verbatim}
|
||||
http://www.wxwindows.org
|
||||
http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/archive.zip#zip:info.txt
|
||||
file:/home/vasek/index.htm
|
||||
relative-file.htm
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxFSFile::GetAnchor}\label{wxfsfilegetanchor}
|
||||
|
||||
\constfunc{const wxString\&}{GetAnchor}{\void}
|
||||
|
||||
Returns anchor (if present). The term of {\bf anchor} can be easily
|
||||
explained using few examples:
|
||||
|
||||
\begin{verbatim}
|
||||
index.htm#anchor /* 'anchor' is anchor */
|
||||
index/wx001.htm /* NO anchor here! */
|
||||
archive/main.zip#zip:index.htm#global /* 'global' */
|
||||
archive/main.zip#zip:index.htm /* NO anchor here! */
|
||||
\end{verbatim}
|
||||
|
||||
Usually anchor is presented only if mime type is 'text/html'.
|
||||
But it may have some meaning with other files
|
||||
(for example myanim.avi\#200 may refer to position in animation
|
||||
or reality.wrl\#MyView may refer to predefined view in VRML)
|
||||
|
@@ -405,6 +405,27 @@ parameters are optional. However, it is recommended to pass a parent frame
|
||||
parameter, or (in MS Windows or Motif) the wrong window frame may be brought to
|
||||
the front when the dialog box is popped up.
|
||||
|
||||
\membersection{::wxCreateFileTipProvider}\label{wxcreatefiletipprovider}
|
||||
|
||||
\func{wxTipProvider *}{wxCreateFileTipProvider}{
|
||||
\param{const wxString\& }{filename},
|
||||
\param{size\_t }{currentTip}}
|
||||
|
||||
This function creates a \helpref{wxTipProvider}{wxtipprovider} which may be
|
||||
used with \helpref{wxShowTip}{wxshowtip}.
|
||||
|
||||
\docparam{filename}{The name of the file containing the tips, one per line}
|
||||
\docparam{currentTip}{The index of the first tip to show - normally this index
|
||||
is remembered between the 2 program runs.}
|
||||
|
||||
\wxheading{See also:}
|
||||
|
||||
\helpref{Tips overview}{tipsoverview}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/tipdlg.h>
|
||||
|
||||
\membersection{::wxFileSelector}\label{wxfileselector}
|
||||
|
||||
\func{wxString}{wxFileSelector}{\param{const wxString\& }{message}, \param{const wxString\& }{default\_path = ""},\\
|
||||
@@ -451,6 +472,33 @@ if (s)
|
||||
|
||||
<wx/filedlg.h>
|
||||
|
||||
\membersection{::wxGetNumberFromUser}\label{wxgetnumberfromuser}
|
||||
|
||||
\func{long}{wxGetNumberFromUser}{
|
||||
\param{const wxString\& }{message},
|
||||
\param{const wxString\& }{prompt},
|
||||
\param{const wxString\& }{caption},
|
||||
\param{long }{value},
|
||||
\param{long }{min = 0},
|
||||
\param{long }{max = 100},
|
||||
\param{wxWindow *}{parent = NULL},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}}
|
||||
|
||||
Shows a dialog asking the user for numeric input. The dialogs title is set to
|
||||
{\it caption}, it contains a (possibly) multiline {\it message} above the
|
||||
single line {\it prompt} and the zone for entering the number.
|
||||
|
||||
The number entered must be in the range {\it min}..{\it max} (both of which
|
||||
should be positive) and {\it value} is the initial value of it. If the user
|
||||
enters an invalid value or cancels the dialog, the function will return -1.
|
||||
|
||||
Dialog is centered on its {\it parent} unless an explicit position is given in
|
||||
{\it pos}.
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/textdlg.h>
|
||||
|
||||
\membersection{::wxGetTextFromUser}\label{wxgettextfromuser}
|
||||
|
||||
\func{wxString}{wxGetTextFromUser}{\param{const wxString\& }{message}, \param{const wxString\& }{caption = ``Input text"},\\
|
||||
@@ -585,6 +633,33 @@ The symbols are not shown when the generic function is used.
|
||||
|
||||
<wx/msgdlg.h>
|
||||
|
||||
\membersection{::wxShowTip}\label{wxshowtip}
|
||||
|
||||
\func{bool}{wxShowTip}{
|
||||
\param{wxWindow *}{parent},
|
||||
\param{wxTipProvider *}{tipProvider},
|
||||
\param{bool }{showAtStartup = TRUE}}
|
||||
|
||||
This function shows a "startup tip" to the user.
|
||||
|
||||
\docparam{parent}{The parent window for the modal dialog}
|
||||
|
||||
\docparam{tipProvider}{An object which is used to get the text of the tips.
|
||||
It may be created with
|
||||
\helpref{wxCreateFileTipProvider}{wxcreatefiletipprovider} function.}
|
||||
|
||||
\docparam{showAtStartup}{Should be TRUE if startup tips are shown, FALSE
|
||||
otherwise. This is used as the initial value for "Show tips at startup"
|
||||
checkbox which is shown in the tips dialog.}
|
||||
|
||||
\wxheading{See also:}
|
||||
|
||||
\helpref{Tips overview}{tipsoverview}
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wx/tipdlg.h>
|
||||
|
||||
\section{GDI functions}\label{gdifunctions}
|
||||
|
||||
The following are relevant to the GDI (Graphics Device Interface).
|
||||
|
BIN
docs/latex/wx/hello.bmp
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/latex/wx/hello.gif
Normal file
After Width: | Height: | Size: 3.2 KiB |
@@ -23,6 +23,7 @@ There are currently the following help controller classes defined:
|
||||
\item wxWinHelpController, for controlling Windows Help.
|
||||
\item wxExtHelpController, for controlling external browsers under Unix.
|
||||
The default browser is Netscape Navigator.
|
||||
\item wxHelpControllerHtml, using wxHTML to display help
|
||||
\item wxXLPHelpController, for controlling wxHelp (from wxWindows 1).
|
||||
\end{itemize}
|
||||
|
||||
@@ -37,6 +38,7 @@ wxHelpControllerBase\\
|
||||
<wx/helpbase.h> (wxHelpControllerBase class)\\
|
||||
<wx/helpwin.h> (Windows Help controller)\\
|
||||
<wx/generic/helpext.h> (external HTML browser controller)
|
||||
<wx/generic/helpwxht.h> (wxHTML based help controller)
|
||||
<wx/generic/helpxlp.h> (wxHelp controller)
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
@@ -95,7 +97,7 @@ If the help viewer is not running, runs it and displays the given section.
|
||||
|
||||
{\it WinHelp:} {\it sectionNo} is a context id.
|
||||
|
||||
{\it External HTML help:} wxExtHelpController implements {\it sectionNo} as an id in a map file, which is of the form:
|
||||
{\it External HTML help/wxHTML based help:} wxExtHelpController and wxHelpControllerHtml implement {\it sectionNo} as an id in a map file, which is of the form:
|
||||
|
||||
\begin{verbatim}
|
||||
0 wx.html ; Index
|
||||
@@ -136,6 +138,31 @@ has opened another file.
|
||||
|
||||
Sets detailed viewer information. So far this is only relevant to wxExtHelpController.
|
||||
|
||||
\membersection{wxHelpController::SetFrameParameters}\label{wxhelpcontrollersetframeparameters}
|
||||
\func{virtual void}{SetFrameParameters}
|
||||
{\param{const wxString \& }{title},
|
||||
\param{const wxSize \& }{size}, \param{const wxPoint \& }{pos = wxDefaultPosition},
|
||||
\param{bool }{newFrameEachTime = FALSE}}
|
||||
|
||||
For the wxHelpControllerHtml, this allows the application to set the
|
||||
default frame title, size and position for the frame. If the title
|
||||
contains \%s, this will be replaced with the page title. If the
|
||||
parammeter newFrameEachTime is set, the controller will open a new
|
||||
help frame each time it is called. For all other help controllers this
|
||||
function has no effect.
|
||||
|
||||
\membersection{wxHelpController::GetFrameParameters}\label{wxhelpcontrollergetframeparameters}
|
||||
\func{virtual wxFrame *}{GetFrameParameters}
|
||||
{\param{const wxSize * }{size = NULL}, \param{const wxPoint * }{pos = NULL},
|
||||
\param{bool *}{newFrameEachTime = NULL}}
|
||||
This reads the current settings for the help frame in the case of the
|
||||
wxHelpControllerHtml, setting the frame size, position and
|
||||
the newFrameEachTime parameters to the last values used. It also
|
||||
returns the pointer to the last opened help frame. This can be used
|
||||
for example, to automatically close the help frame on program
|
||||
shutdown. For all other help controllers, this function does nothing
|
||||
and just returns NULL.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{viewer}{This defaults to "netscape" for wxExtHelpController.}
|
||||
|
226
docs/latex/wx/htcell.tex
Normal file
@@ -0,0 +1,226 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlcell.tex at 21/Mar/99 22:45:23
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlCell}}\label{wxhtmlcell}
|
||||
|
||||
Internal data structure. It represents fragments of parsed HTML
|
||||
page, so-called {\bf cell} - a word, picture, table, horizontal line and so on.
|
||||
It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
|
||||
\helpref{wxHtmlWinParser}{wxhtmlwinparser} to represent HTML page in memory.
|
||||
|
||||
You can divide cells into two groups : {\it visible} cells with non-zero width and
|
||||
height and {\it helper} cells (usually with zero width and height) that
|
||||
perform special actions such as color or font change.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Cells Overview}{cells},
|
||||
\helpref{wxHtmlContainerCell}{wxhtmlcontainercell}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlCell::wxHtmlCell}\label{wxhtmlcellwxhtmlcell}
|
||||
|
||||
\func{}{wxHtmlCell}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent}
|
||||
|
||||
\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}}
|
||||
|
||||
Sets parent container of this cell. This is called from
|
||||
\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
|
||||
|
||||
\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent}
|
||||
|
||||
\constfunc{wxHtmlContainerCell*}{GetParent}{\void}
|
||||
|
||||
Returns pointer to parent container.
|
||||
|
||||
\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx}
|
||||
|
||||
\constfunc{int}{GetPosX}{\void}
|
||||
|
||||
Returns X position within parent (the value is relative to parent's
|
||||
upper left corner). The returned value is meaningful only if
|
||||
parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
|
||||
|
||||
\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy}
|
||||
|
||||
\constfunc{int}{GetPosY}{\void}
|
||||
|
||||
Returns Y position within parent (the value is relative to parent's
|
||||
upper left corner). The returned value is meaningful only if
|
||||
parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
|
||||
|
||||
\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth}
|
||||
|
||||
\constfunc{int}{GetWidth}{\void}
|
||||
|
||||
Returns width of the cell (m_Width member).
|
||||
|
||||
\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight}
|
||||
|
||||
\constfunc{int}{GetHeight}{\void}
|
||||
|
||||
Returns height of the cell (m_Height member).
|
||||
|
||||
\membersection{wxHtmlCell::GetDescent}\label{wxhtmlcellgetdescent}
|
||||
|
||||
\constfunc{int}{GetDescent}{\void}
|
||||
|
||||
Returns descent value of the cell (m_Descent member). See explanation:
|
||||
|
||||
\image{}{descent.bmp}
|
||||
|
||||
\membersection{wxHtmlCell::GetLink}\label{wxhtmlcellgetlink}
|
||||
|
||||
\constfunc{virtual wxString}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
|
||||
|
||||
Returns hypertext link if associated with this cell or empty string otherwise.
|
||||
(Note : this makes sense only for visible tags).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{x,y}{Coordinates of position where the user pressed mouse button.
|
||||
These coordinates are used e.g. by COLORMAP. Values are relative to the
|
||||
upper left corner of THIS cell (i.e. from 0 to m_Width or m_Height)}
|
||||
|
||||
\membersection{wxHtmlCell::GetNext}\label{wxhtmlcellgetnext}
|
||||
|
||||
\constfunc{wxHtmlCell*}{GetNext}{\void}
|
||||
|
||||
Returns pointer to the next cell in list (see htmlcell.h if you're
|
||||
interested in details).
|
||||
|
||||
\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos}
|
||||
|
||||
\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
|
||||
|
||||
Sets cell's position within parent container.
|
||||
|
||||
\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink}
|
||||
|
||||
\func{void}{SetLink}{\param{const wxString\& }{link}}
|
||||
|
||||
Sets the hypertext link asocciated with this cell. (Default value
|
||||
is wxEmptyString (no link))
|
||||
|
||||
\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext}
|
||||
|
||||
\func{void}{SetNext}{\param{wxHtmlCell }{*cell}}
|
||||
|
||||
Sets the next cell in the list. This shouldn't be called by user - it is
|
||||
to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}
|
||||
|
||||
\membersection{wxHtmlCell::Layout}\label{wxhtmlcelllayout}
|
||||
|
||||
\func{virtual void}{Layout}{\param{int }{w}}
|
||||
|
||||
This method performs 2 actions:
|
||||
|
||||
\begin{enumerate}
|
||||
\item adjusts cell's width according to the fact that maximal possible width is {\it w}.
|
||||
(this has sense when working with horizontal lines, tables etc.)
|
||||
\item prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members)
|
||||
based on actual width {\it w}
|
||||
\end{enumerate}
|
||||
|
||||
It must be called before displaying cells structure because
|
||||
m\_PosX and m\_PosY are undefined (or invalid)
|
||||
before calling Layout.
|
||||
|
||||
\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw}
|
||||
|
||||
\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}}
|
||||
|
||||
Renders the cell.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{dc}{Device context to which the cell is to be drawn}
|
||||
|
||||
\docparam{x,y}{Coordinates of parent's upper left corner (origin). You must
|
||||
add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
|
||||
Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
|
||||
|
||||
\docparam{view_y1}{y-coord of the first line visible in window. This is
|
||||
used to optimize rendering speed}
|
||||
|
||||
\docparam{view_y2}{y-coord of the last line visible in window. This is
|
||||
used to optimize rendering speed}
|
||||
|
||||
\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible}
|
||||
|
||||
\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}}
|
||||
|
||||
This method is called instead of \helpref{Draw}{wxhtmlcelldraw} when the
|
||||
cell is certainly out of the screen (and thus invisible). This is not
|
||||
nonsense - some tags (like \helpref{wxHtmlColourCell}{wxhtmlcolourcell}
|
||||
or font setter) must be drawn even if they are invisible!
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{dc}{Device context to which the cell is to be drawn}
|
||||
|
||||
\docparam{x,y}{Coordinates of parent's upper left corner. You must
|
||||
add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
|
||||
Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
|
||||
|
||||
\membersection{wxHtmlCell::Find}\label{wxhtmlcellfind}
|
||||
|
||||
\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}}
|
||||
|
||||
Returns pointer to itself if this cell matches condition (or if any of the cells
|
||||
following in the list matches), NULL otherwise.
|
||||
(In other words if you call top-level container's Find it will
|
||||
return pointer to the first cell that matches the condition)
|
||||
|
||||
It is recommended way how to obtain pointer to particular cell or
|
||||
to cell of some type (e.g. wxHtmlAnchorCell reacts on
|
||||
HTML_COND_ISANCHOR condition)
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{condition}{Unique integer identifier of condition}
|
||||
|
||||
\docparam{param}{Optional parameters}
|
||||
|
||||
\wxheading{Defined conditions}
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML_COND_ISANCHOR}}{Finds particular anchor.
|
||||
{\it param} is pointer to wxString with name of the anchor.}
|
||||
\twocolitem{{\bf HTML_COND_USER}}{User-defined conditions start
|
||||
from this number}
|
||||
\end{twocollist}
|
||||
|
||||
\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick}
|
||||
|
||||
\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int }{x}, \param{int }{y}, \param{bool }{left}, \param{bool }{middle}, \param{bool }{right}}
|
||||
|
||||
This function is simple event handler. Each time user clicks mouse button over a cell
|
||||
within \helpref{wxHtmlWindow}{wxhtmlwindow} this method of that cell is called. Default behavior is
|
||||
that it calls \helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage}.
|
||||
|
||||
\wxheading{Note}
|
||||
|
||||
If you need more "advanced" behaviour (for example you'd like to catch mouse movement events or
|
||||
key events or whatsoever) you should use wxHtmlBinderCell instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{parent window (always wxHtmlWindow!)}
|
||||
|
||||
\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin}
|
||||
|
||||
\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right
|
||||
button is pressed, FALSE otherwise}
|
||||
|
34
docs/latex/wx/htcolor.tex
Normal file
@@ -0,0 +1,34 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlcolourcell.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlColourCell}}\label{wxhtmlcolourcell}
|
||||
|
||||
This cell changes color of either background or foreground.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxHtmlCell}{wxhtmlcell}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlColourCell::wxHtmlColourCell}\label{wxhtmlcolourcellwxhtmlcolourcell}
|
||||
|
||||
\func{}{wxHtmlColourCell}{\param{wxColour }{clr}, \param{int }{flags = HTML\_CLR\_FOREGROUND}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{clr}{The color}
|
||||
|
||||
\docparam{flags}{Can be one of following:
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_CLR\_FOREGROUND}}{change color of text}
|
||||
\twocolitem{{\bf HTML\_CLR\_BACKGROUND}}{change background color}
|
||||
|
||||
\end{twocollist}
|
||||
}
|
||||
|
239
docs/latex/wx/htcontnr.tex
Normal file
@@ -0,0 +1,239 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlcontainercell.tex at 21/Mar/99 22:45:23
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlContainerCell}}\label{wxhtmlcontainercell}
|
||||
|
||||
wxHtmlContainerCell class an implementation of a cell that may
|
||||
contain more cells in it. It is heavily used in the wxHTML layout algorithm.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxHtmlCell}{wxhtmlcell}
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Cells Overview}{cells}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlContainerCell::wxHtmlContainerCell}\label{wxhtmlcontainercellwxhtmlcontainercell}
|
||||
|
||||
\func{}{wxHtmlContainerCell}{\param{wxHtmlContainerCell }{*parent}}
|
||||
|
||||
Constructor. {\it parent} is pointer to parent container or NULL.
|
||||
|
||||
|
||||
\membersection{wxHtmlContainerCell::InsertCell}\label{wxhtmlcontainercellinsertcell}
|
||||
|
||||
\func{void}{InsertCell}{\param{wxHtmlCell }{*cell}}
|
||||
|
||||
Inserts new cell into the container.
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetAlignHor}\label{wxhtmlcontainercellsetalignhor}
|
||||
|
||||
\func{void}{SetAlignHor}{\param{int }{al}}
|
||||
|
||||
Sets container's {\it horizontal alignment}. During \helpref{Layout}{wxhtmlcelllayout}
|
||||
each line is aligned according to {\it al} value.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{al}{new horizontal alignment. May be one of these values:
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_LEFT}}{lines are left-aligned (default)}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_CENTER\_H}}{lines are centered}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_RIGHT}}{lines are right-aligned}
|
||||
\end{twocollist}
|
||||
}
|
||||
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetAlignHor}\label{wxhtmlcontainercellgetalignhor}
|
||||
|
||||
\constfunc{int}{GetAlignHor}{\void}
|
||||
|
||||
Returns container's horizontal alignment.
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetAlignVer}\label{wxhtmlcontainercellsetalignver}
|
||||
|
||||
\func{void}{SetAlignVer}{\param{int }{al}}
|
||||
|
||||
Sets container's {\it vertical alignment}. This is per-line alignment!
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{al}{new vertical alignment. May be one of these values:
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_BOTTOM}}{cells are over the line (default)}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_CENTER\_V}}{cells are centered on line}
|
||||
\twocolitem{{\bf HTML\_ALIGN\_TOP}}{cells are under the line}
|
||||
\end{twocollist}
|
||||
|
||||
\image{}{alignv.bmp}
|
||||
}
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetAlignVer}\label{wxhtmlcontainercellgetalignver}
|
||||
|
||||
\constfunc{int}{GetAlignVer}{\void}
|
||||
|
||||
Returns container's vertical alignment.
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetIndent}\label{wxhtmlcontainercellsetindent}
|
||||
|
||||
\func{void}{SetIndent}{\param{int }{i}, \param{int }{what}, \param{int }{units = HTML\_UNITS\_PIXELS}}
|
||||
|
||||
Sets indentation (free space between borders of container and subcells).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{i}{Indentation value.}
|
||||
|
||||
\docparam{what}{Determines which of the 4 borders we're setting. It is OR
|
||||
combination of following constants:
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_INDENT\_TOP}}{top border}
|
||||
\twocolitem{{\bf HTML\_INDENT\_BOTTOM}}{bottom}
|
||||
\twocolitem{{\bf HTML\_INDENT\_LEFT}}{left}
|
||||
\twocolitem{{\bf HTML\_INDENT\_RIGHT}}{right}
|
||||
\twocolitem{{\bf HTML\_INDENT\_HORIZONTAL}}{left and right}
|
||||
\twocolitem{{\bf HTML\_INDENT\_VERTICAL}}{top and bottom}
|
||||
\twocolitem{{\bf HTML\_INDENT\_ALL}}{all 4 borders}
|
||||
\end{twocollist}
|
||||
|
||||
\image{}{indent.bmp}
|
||||
}
|
||||
|
||||
\docparam{units}{Units of {\it i}. This parameter affects interpretation of {\it} value.
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it i} is number of pixels}
|
||||
\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it i} is interpreted as percents of width
|
||||
of parent container}
|
||||
\end{twocollist}
|
||||
}
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetIndent}\label{wxhtmlcontainercellgetindent}
|
||||
|
||||
\constfunc{int}{GetIndent}{\param{int }{ind}}
|
||||
|
||||
Returns the indentation. {\it ind} is one of the {\bf HTML\_INDENT\_*} constants.
|
||||
|
||||
{\bf Note:} You must call \helpref{GetIndentUnits}{wxhtmlcontainercellgetindentunits}
|
||||
with same {\it ind} parameter in order to correctly interpret the returned integer value.
|
||||
It is NOT always in pixels!
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetIndentUnits}\label{wxhtmlcontainercellgetindentunits}
|
||||
|
||||
\constfunc{int}{GetIndentUnits}{\param{int }{ind}}
|
||||
|
||||
Returns units of intentation value for {\it ind} where {\it ind} is one
|
||||
of the {\bf HTML\_INDENT\_*} constants.
|
||||
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetAlign}\label{wxhtmlcontainercellsetalign}
|
||||
|
||||
\func{void}{SetAlign}{\param{const wxHtmlTag\& }{tag}}
|
||||
|
||||
Sets container's alignment (both horizontal and vertical) according to
|
||||
the values stored in {\it tag}. (Tags {\tt ALIGN} parameter is extracted.) In fact
|
||||
it is only a front-end to \helpref{SetAlignHor}{wxhtmlcontainercellsetalignhor}
|
||||
and \helpref{SetAlignVer}{wxhtmlcontainercellsetalignver}.
|
||||
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetWidthFloat}\label{wxhtmlcontainercellsetwidthfloat}
|
||||
|
||||
\func{void}{SetWidthFloat}{\param{int }{w}, \param{int }{units}}
|
||||
|
||||
\func{void}{SetWidthFloat}{\param{const wxHtmlTag\& }{tag}}
|
||||
|
||||
Sets floating width adjustment.
|
||||
|
||||
Normal behaviour of container is that it's width is same as width of
|
||||
parent container (and thus you can have only one sub-container per line).
|
||||
You can change this by setting FWA.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{w}{Width of the container. If the value is negative it means
|
||||
complement to full width of parent container (e.g.
|
||||
{\tt SetWidthFloat(-50, HTML\_UNITS\_PIXELS)} sets the width
|
||||
of container to parent's width minus 50 pixels. This is useful when
|
||||
creating tables - you can call SetWidthFloat(50) and SetWidthFloat(-50))}
|
||||
|
||||
\docparam{units}{Units of {\it w} This parameter affects interpretation of {\it} value.
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it w} is number of pixels}
|
||||
\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it w} is interpreted as percents of width
|
||||
of parent container}
|
||||
\end{twocollist}
|
||||
}
|
||||
|
||||
\docparam{tag}{In the second version of method, {\it w} and {\it units}
|
||||
info is extracted from tag's {\tt WIDTH} parameter.}
|
||||
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetMinHeight}\label{wxhtmlcontainercellsetminheight}
|
||||
|
||||
\func{void}{SetMinHeight}{\param{int }{h}, \param{int }{align = HTML_ALIGN_TOP}}
|
||||
|
||||
Sets minimal height of the container.
|
||||
|
||||
(When container's \helpref{Layout}{wxhtmlcelllayout} is called, m_Height
|
||||
is set depending on layout of subcells to the height of area covered
|
||||
by layouted subcells. Call to this method guarantees you that the height
|
||||
of container is never smaller than {\it h} - even if the subcells cover
|
||||
much smaller area.)
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{h}{The minimal height.}
|
||||
|
||||
\docparam{align}{If height of the container is lower than min. height, empty space must be inserted
|
||||
somewhere in order to ensure minimal height. This parameter is one of {\bf HTML_ALIGN_TOP,
|
||||
HTML_ALIGN_BOTTOM, HTML_ALIGN_CENTER} constants. It refers to the {\it contents}, not to the
|
||||
empty place!}
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetMaxLineWidth}\label{wxhtmlcontainercellgetmaxlinewidth}
|
||||
|
||||
\constfunc{int}{GetMaxLineWidth}{\void}
|
||||
|
||||
Returns width of widest line (note : this may be more than GetWidth()!!
|
||||
E.g. if you have 640x480 image and the wxHtmlWindow is only 100x100...)
|
||||
|
||||
Call to this method is valid only after calling \helpref{Layout}{wxhtmlcelllayout}
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetBackgroundColour}\label{wxhtmlcontainercellsetbackgroundcolour}
|
||||
|
||||
\func{void}{SetBackgroundColour}{\param{const wxColour\& }{clr}}
|
||||
|
||||
Sets background color for this container.
|
||||
|
||||
\membersection{wxHtmlContainerCell::SetBorder}\label{wxhtmlcontainercellsetborder}
|
||||
|
||||
\func{void}{SetBorder}{\param{const wxColour\& }{clr1}, \param{const wxColour\& }{clr2}}
|
||||
|
||||
Sets border (frame) colours. Border is rectangle around the container.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{clr1}{Color of top and left lines}
|
||||
|
||||
\docparam{clr2}{Color of bottom and right lines}
|
||||
|
||||
\membersection{wxHtmlContainerCell::GetFirstCell}\label{wxhtmlcontainercellgetfirstcell}
|
||||
|
||||
\func{wxHtmlCell*}{GetFirstCell}{\void}
|
||||
|
||||
Returns pointer to the first cell in the list.
|
||||
You can then use wxHtmlCell's GetNext method to obtain pointer to the next
|
||||
cell in list.
|
||||
|
||||
{\bf Note} : This shouldn't be used by the end user. If you need some way of
|
||||
finding particular cell in the list, try \helpref{Find}{wxhtmlcellfind} method
|
||||
instead.
|
||||
|
58
docs/latex/wx/htfilter.tex
Normal file
@@ -0,0 +1,58 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlfilter.tex at 29/Mar/99 18:35:09
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlFilter}}\label{wxhtmlfilter}
|
||||
|
||||
This class is input filter for \helpref{wxHtmlWindow}{wxhtmlwindow}.
|
||||
It allows you to read and display files of different file formats.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Overview}{filters}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlFilter::wxHtmlFilter}\label{wxhtmlfilterwxhtmlfilter}
|
||||
|
||||
\func{}{wxHtmlFilter}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxHtmlFilter::CanRead}\label{wxhtmlfiltercanread}
|
||||
|
||||
\func{bool}{CanRead}{\param{const wxFSFile\& }{file}}
|
||||
|
||||
Returns TRUE if this filter is capable of reading file {\it file}.
|
||||
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
bool MyFilter::CanRead(const wxFSFile& file)
|
||||
{
|
||||
return (file.GetMimeType() == "application/x-ugh");
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlFilter::ReadFile}\label{wxhtmlfilterreadfile}
|
||||
|
||||
\func{wxString}{ReadFile}{\param{const wxFSFile\& }{file}}
|
||||
|
||||
Reads the file and returns string with HTML document.
|
||||
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
wxString MyImgFilter::ReadFile(const wxFSFile& file)
|
||||
{
|
||||
return "<html><body><img src=\"" +
|
||||
file.GetLocation() +
|
||||
"\"></body></html>";
|
||||
}
|
||||
\end{verbatim}
|
||||
|
142
docs/latex/wx/hthelpct.tex
Normal file
@@ -0,0 +1,142 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlhelp.h at 02/May/99 19:58:53
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller}
|
||||
|
||||
{\bf WARNING! This help controller has an API incompatible with wxWindows
|
||||
wxHelpController!}
|
||||
|
||||
This help controller provides easy way how to display HTML help in your
|
||||
application (see {\it test} sample). Whole help system is based on {\bf books}
|
||||
(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is logical
|
||||
part of documentation (for example "User's Guide" or "Programmer's Guide" or
|
||||
"C++ Reference" or "wxWindows Reference"). Help controller can handle as
|
||||
many books as you want.
|
||||
|
||||
wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its
|
||||
native format. The file format is described \helpref{here}{helpformat}.
|
||||
Have a look at docs/html/ directory where sample project files are stored.
|
||||
|
||||
You can use tex2rtf to generate MHHW projects (see wxHTML homepage for details).
|
||||
|
||||
In order to use the controller in your application under Windows you must
|
||||
have following line in your .rc file:
|
||||
|
||||
\begin{verbatim}
|
||||
#include "wx/html/msw/wxhtml.rc"
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxEvtHandler
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlHelpController::wxHtmlHelpController}\label{wxhtmlhelpcontrollerwxhtmlhelpcontroller}
|
||||
|
||||
\func{}{wxHtmlHelpController}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat}
|
||||
|
||||
\func{void}{SetTitleFormat}{\param{const wxString\& }{format}}
|
||||
|
||||
Sets format of title of the frame. Must contain exactly one "\%s"
|
||||
(for title of displayed HTML page).
|
||||
|
||||
\membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir}
|
||||
|
||||
\func{void}{SetTempDir}{\param{const wxString\& }{path}}
|
||||
|
||||
Sets path for storing temporary files (cached binary versions of index and contents files. These binary
|
||||
forms are much faster to read.) Default value is empty string (empty string means
|
||||
that no cached data are stored). Note that these files are NOT
|
||||
deleted when program exits!
|
||||
|
||||
\membersection{wxHtmlHelpController::AddBook}\label{wxhtmlhelpcontrolleraddbook}
|
||||
|
||||
\func{bool}{AddBook}{\param{const wxString\& }{book}, \param{bool }{show_wait_msg}}
|
||||
|
||||
Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books.
|
||||
This must be called at least once before displaying any help.
|
||||
|
||||
If {\it show_wait_msg} is TRUE then a decorationless window with progress message is displayed.
|
||||
|
||||
\membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay}
|
||||
|
||||
\func{void}{Display}{\param{const wxString\& }{x}}
|
||||
|
||||
Displays page {\it x}. This is THE important function - it is used to display
|
||||
the help in application.
|
||||
|
||||
You can specify the page in many ways:
|
||||
|
||||
\begin{itemize}
|
||||
\item as direct filename of HTML document
|
||||
\item as chapter name (from contents) or as a book name
|
||||
\item as some word from index
|
||||
\item even as any word (will be searched)
|
||||
\end{itemize}
|
||||
|
||||
Looking for the page runs in these steps:
|
||||
|
||||
\begin{enumerate}
|
||||
\item try to locate file named x (if x is for example "doc/howto.htm")
|
||||
\item try to open starting page of book named x
|
||||
\item try to find x in contents (if x is for example "How To ...")
|
||||
\item try to find x in index (if x is for example "How To ...")
|
||||
\item switch to Search panel and start searching
|
||||
\end{enumerate}
|
||||
|
||||
\func{void}{Display}{\param{const int }{id}}
|
||||
|
||||
This alternative form is used to search help contents by numeric IDs.
|
||||
|
||||
\membersection{wxHtmlHelpController::DisplayContents}\label{wxhtmlhelpcontrollerdisplaycontents}
|
||||
|
||||
\func{void}{DisplayContents}{\void}
|
||||
|
||||
Displays help window and focuses contents panel.
|
||||
|
||||
\membersection{wxHtmlHelpController::DisplayIndex}\label{wxhtmlhelpcontrollerdisplayindex}
|
||||
|
||||
\func{void}{DisplayIndex}{\void}
|
||||
|
||||
Displays help window and focuses index panel.
|
||||
|
||||
\membersection{wxHtmlHelpController::KeywordSearch}\label{wxhtmlhelpcontrollerkeywordsearch}
|
||||
|
||||
\func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}}
|
||||
|
||||
Displays help window, focuses search panel and starts searching.
|
||||
Returns TRUE if the keyword was found.
|
||||
|
||||
IMPORTANT! KeywordSearch searches only pages listed in .htc file(s)!
|
||||
(you should have all pages in contents file...)
|
||||
|
||||
\membersection{wxHtmlHelpController::UseConfig}\label{wxhtmlhelpcontrolleruseconfig}
|
||||
|
||||
\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
|
||||
|
||||
Associates {\it config} object with the controller.
|
||||
|
||||
If there is associated config object, wxHtmlHelpController automatically
|
||||
reads and writes settings (including wxHtmlWindow's settings) when needed.
|
||||
|
||||
The only thing you must do is create wxConfig object and call UseConfig.
|
||||
|
||||
\membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization}
|
||||
|
||||
\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
|
||||
|
||||
Reads controllers setting (position of window etc.)
|
||||
|
||||
\membersection{wxHtmlHelpController::WriteCustomization}\label{wxhtmlhelpcontrollerwritecustomization}
|
||||
|
||||
\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
|
||||
|
||||
Stores controllers setting (position of window etc.)
|
||||
|
82
docs/latex/wx/htmlcell.tex
Normal file
@@ -0,0 +1,82 @@
|
||||
\subsection{Cells and Containers}\label{cells}
|
||||
|
||||
This article describes mechanism used by
|
||||
\helpref{wxHtmlWinParser}{wxhtmlwinparser} and
|
||||
\helpref{wxHtmlWindow}{wxhtmlwindow} to parse and display HTML documents.
|
||||
|
||||
\wxheading{Cells}
|
||||
|
||||
You can divide any text (or HTML) into small fragments. Let's call these
|
||||
fragments {\bf cells}. Cell is for example one word, horizontal line, image
|
||||
or any other part of document. Each cell has width and height (except special
|
||||
"magic" cells with zero dimensions - e.g. colour changers or font changers).
|
||||
|
||||
See \helpref{wxHtmlCell}{wxhtmlcell}.
|
||||
|
||||
\wxheading{Containers}
|
||||
|
||||
Container is kind of cell that may contain sub-cells. Its size depends
|
||||
on number and sizes of its sub-cells (and also depends on width of window).
|
||||
|
||||
See \helpref{wxHtmlContainerCell}{wxhtmlcontainercell},
|
||||
\helpref{wxHtmlCell::Layout}{wxhtmlcelllayout}.
|
||||
|
||||
\begin{comment}
|
||||
% Bitmap is corrupt!
|
||||
This image shows you cells and containers:
|
||||
|
||||
\image{}{contbox.bmp}
|
||||
\end{comment}
|
||||
\wxheading{Using Containers in Tag Handler}
|
||||
|
||||
\helpref{wxHtmlWinParser}{wxhtmlwinparser} provides a user-friendly way
|
||||
of managing containers. It's based on the idea of opening and closing containers.
|
||||
|
||||
Use \helpref{OpenContainer}{wxhtmlwinparseropencontainer} to open new
|
||||
a container {\it within an already opened container}. This new container is a
|
||||
{\it sub-container} of the old one. (If you want to create a new container with
|
||||
the same depth level you can call {\tt CloseContainer(); OpenContainer();}.)
|
||||
|
||||
Use \helpref{CloseContaier}{wxhtmlwinparserclosecontainer} to close the
|
||||
container. This doesn't create a new container with same depth level but
|
||||
it returns "control" to the parent container.
|
||||
|
||||
\begin{comment}
|
||||
% Bitmap corrupt!
|
||||
See explanation:
|
||||
|
||||
\image{}{cont.bmp}
|
||||
\end{comment}
|
||||
It's clear there must be same number of calls to
|
||||
OpenContainer as to CloseContainer...
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
This code creates a new paragraph (container at same depth level)
|
||||
with "Hello, world!":
|
||||
|
||||
\begin{verbatim}
|
||||
m_WParser -> CloseContainer();
|
||||
c = m_WParser -> OpenContainer();
|
||||
|
||||
m_WParser -> AddWord("Hello, ");
|
||||
m_WParser -> AddWord("world!");
|
||||
|
||||
m_WParser -> CloseContainer();
|
||||
m_WParser -> OpenContainer();
|
||||
\end{verbatim}
|
||||
|
||||
\begin{comment}
|
||||
% Bitmap corrupt!
|
||||
and here is image of the situation:
|
||||
|
||||
\image{}{hello.bmp}
|
||||
\end{comment}
|
||||
|
||||
You can see that there was opened container before running the code. We closed
|
||||
it, created our own container, then closed our container and opened
|
||||
new container. The result was that we had {\it same depth level} after
|
||||
executing. This is general rule that should be followed by tag handlers:
|
||||
leave depth level of containers unmodified (in other words, number of
|
||||
OpenContainer and CloseContainer calls should be same within \helpref{HandleTag}{wxhtmltaghandlerhandletag}'s body).
|
||||
|
10
docs/latex/wx/htmlfilt.tex
Normal file
@@ -0,0 +1,10 @@
|
||||
\membersection{Input Filters}\label{filters}
|
||||
|
||||
The wxHTML library provides a mechanism for reading and displaying
|
||||
files of many different file formats.
|
||||
|
||||
\helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage} can load not
|
||||
only HTML files but any known file. To make a file type known to wxHtmlWindow
|
||||
you must create a \helpref{wxHtmlFilter}{wxhtmlfilter} filter and
|
||||
register it using \helpref{wxHtmlWindow::AddFilter}{wxhtmlwindowaddfilter}.
|
||||
|
147
docs/latex/wx/htmlhand.tex
Normal file
@@ -0,0 +1,147 @@
|
||||
\membersection{Tag Handlers}\label{handlers}
|
||||
|
||||
wxHTML library provides architecture of pluginable {\it tag handlers}.
|
||||
Tag handler is class that understands particular HTML tag (or tags) and is
|
||||
able to interpret it.
|
||||
|
||||
\helpref{wxHtmlWinParser}{wxhtmlwinparser} has static table of {\bf modules}.
|
||||
Each module contains one or more tag handlers. Each time new wxHtmlWinParser
|
||||
object is constructed all modules are scanned and handlers are added
|
||||
to wxHtmlParser's list of available handlers (note : wxHtmlParser's list
|
||||
is non-static).
|
||||
|
||||
\wxheading{How it works}
|
||||
|
||||
Common tag handler's \helpref{HandleTag}{wxhtmltaghandlerhandletag} method
|
||||
works in four steps:
|
||||
|
||||
\begin{enumerate}
|
||||
\item Save state of parent parser into local variables
|
||||
\item Change parser state according to tag's params
|
||||
\item Parse text between the tag and paired ending tag (if present)
|
||||
\item Restore original parser state
|
||||
\end{enumerate}
|
||||
|
||||
See \helpref{wxHtmlWinParser}{wxhtmlwinparser} for methods for modifying
|
||||
parser's state. In general you can do things like opening/closing containers,
|
||||
changing colors, fonts etc.
|
||||
|
||||
\wxheading{Providing own tag handlers}
|
||||
|
||||
You should create new .cpp file and place following lines into it:
|
||||
|
||||
\begin{verbatim}
|
||||
#include <mod_templ.h>
|
||||
#include <forcelink.h>
|
||||
FORCE_LINK_ME(yourmodulefilenamewithoutcpp)
|
||||
\end{verbatim}
|
||||
|
||||
Then you must define handlers and one module.
|
||||
|
||||
\wxheading{Tag handlers}
|
||||
|
||||
The handler is derived from \helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}
|
||||
(or directly from \helpref{wxHtmlTagHandler}{wxhtmltaghandler})
|
||||
|
||||
You can use set of macros to define the handler (see src/mod\_*.cpp files
|
||||
for details). Handler definition must start with {\bf TAG\_HANDLER\_BEGIN} macro
|
||||
and end with {\bf TAG\_HANDLER\_END} macro. I strongly recommend to have a look
|
||||
at {\it include/wxhtml/mod\_templ.h} file. Otherwise you won't understand
|
||||
the structure of macros... See macros reference:
|
||||
|
||||
{\bf TAG\_HANDLER\_BEGIN}({\it name}, {\it tags})
|
||||
|
||||
Starts handler definition. {\it name} is handler identifier (in fact
|
||||
part of class name), {\it tags} is string containing list of tags
|
||||
supported by this handler (in uppercase). This macro derives new class from
|
||||
wxHtmlWinTagHandler and implements it's
|
||||
\helpref{GetSupportedTags}{wxhtmltaghandlergetsupportedtags} method.
|
||||
|
||||
Example: TAG\_HANDLER\_BEGIN(FONTS, "B,I,U,T")
|
||||
|
||||
{\bf TAG\_HANDLER\_VARS}
|
||||
|
||||
This macro starts block of variables definitions. (Variables are identical
|
||||
to class attributes.) Example:
|
||||
|
||||
\begin{verbatim}
|
||||
TAG_HANDLER_BEGIN(VARS_ONLY, "CRAZYTAG")
|
||||
TAG_HANDLER_VARS
|
||||
int my_int_var;
|
||||
wxString something_else;
|
||||
TAG_HANDLER_END(VARS_ONLY)
|
||||
\end{verbatim}
|
||||
|
||||
This macro is used only in rare cases.
|
||||
|
||||
{\bf TAG\_HANDLER\_CONSTR}({\it name})
|
||||
|
||||
This macro supplies object constructor. {\it name} is same name as the one
|
||||
from TAG\_HANDLER\_BEGIN macro. Body of constructor follow after
|
||||
this macro (you must use { and } ). Example:
|
||||
|
||||
\begin{verbatim}
|
||||
TAG_HANDLER_BEGIN(VARS2, "CRAZYTAG")
|
||||
TAG_HANDLER_VARS
|
||||
int my_int_var;
|
||||
TAG_HANDLER_CONSTR(vars2)
|
||||
{ // !!!!!!
|
||||
my_int_var = 666;
|
||||
} // !!!!!!
|
||||
TAG_HANDLER_END(VARS2)
|
||||
\end{verbatim}
|
||||
|
||||
Never used in wxHTML :-)
|
||||
|
||||
{\bf TAG\_HANDLER\_PROC}({\it varib})
|
||||
|
||||
This is very important macro. It defines \helpref{HandleTag}{wxhtmltaghandlerhandletag}
|
||||
method. {\it varib} is name of parameter passed to the method, usually
|
||||
{\it tag}. Body of method follows after this macro.
|
||||
Note than you must use { and } ! Example:
|
||||
|
||||
\begin{verbatim}
|
||||
TAG_HANDLER_BEGIN(TITLE, "TITLE")
|
||||
TAG_HANDLER_PROC(tag)
|
||||
{
|
||||
printf("TITLE found...\n");
|
||||
}
|
||||
TAG_HANDLER_END(TITLE)
|
||||
\end{verbatim}
|
||||
|
||||
{\bf TAG\_HANDLER\_END}({\it name})
|
||||
|
||||
Ends definition of tag handler {\it name}.
|
||||
|
||||
|
||||
\wxheading{Tags Modules}
|
||||
|
||||
You can use set of 3 macros TAGS\_MODULE\_BEGIN, TAGS\_MODULE\_ADD and
|
||||
TAGS\_MODULE\_END to inherit new module from
|
||||
\helpref{wxHtmlTagsModule}{wxhtmltagsmodule} and to create instance of it.
|
||||
See macros reference:
|
||||
|
||||
{\bf TAGS\_MODULE\_BEGIN}({\it modname})
|
||||
|
||||
Begins module definition. {\it modname} is part of class name and must
|
||||
be unique.
|
||||
|
||||
{\bf TAGS\_MODULE\_ADD}({\it name})
|
||||
|
||||
Adds the handler to this module. {\it name} is the identifier from
|
||||
TAG\_HANDLER\_BEGIN.
|
||||
|
||||
{\bf TAGS\_MODULE\_END}({\it modname})
|
||||
|
||||
Ends the definition of module.
|
||||
|
||||
{\bf Example:}
|
||||
|
||||
\begin{verbatim}
|
||||
TAGS_MODULE_BEGIN(Examples)
|
||||
TAGS_MODULE_ADD(VARS_ONLY)
|
||||
TAGS_MODULE_ADD(VARS2)
|
||||
TAGS_MODULE_ADD(TITLE)
|
||||
TAGS_MODULE_END(Examples)
|
||||
\end{verbatim}
|
||||
|
82
docs/latex/wx/htmlhlpf.tex
Normal file
@@ -0,0 +1,82 @@
|
||||
\membersection{Help Files Format}\label{helpformat}
|
||||
|
||||
wxHTML library uses a reduced version of MS HTML Workshop format.
|
||||
|
||||
(See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} for help controller description.)
|
||||
|
||||
A {\bf book} consists of three files : header file, contents file and index file.
|
||||
|
||||
\wxheading{Header file (.hhp)}
|
||||
|
||||
Header file must contain these lines (and may contain additional lines which are ignored) :
|
||||
|
||||
\begin{verbatim}
|
||||
Contents file=@filename.hhc@
|
||||
Index file=@filename.hhk@
|
||||
Title=@title of your book@
|
||||
Default topic=@default page to be displayed.htm@
|
||||
\end{verbatim}
|
||||
|
||||
All filenames (including Default topic) are relative to the location of .hhp file.
|
||||
|
||||
For larger projects I recommend storing everything but .hhp file into one .zip archive. (E.g. contents file
|
||||
would then be reffered as myhelp.zip\#zip:contents.hhc)
|
||||
|
||||
\wxheading{Contents file (.hhc)}
|
||||
|
||||
Contents file has HTML syntax and it can be parsed by regular HTML parser. It contains exactly one list
|
||||
(<ul>....</ul> statement):
|
||||
|
||||
\begin{verbatim}
|
||||
<ul>
|
||||
|
||||
<li> <object>
|
||||
<param name="Name" value="@topic name@">
|
||||
<param name="ID" value=@numeric_id@>
|
||||
<param name="Local" value="@filename.htm@">
|
||||
</object>
|
||||
<li> <object>
|
||||
<param name="Name" value="@topic name@">
|
||||
<param name="ID" value=@numeric_id@>
|
||||
<param name="Local" value="@filename.htm@">
|
||||
</object>
|
||||
...
|
||||
|
||||
</ul>
|
||||
\end{verbatim}
|
||||
|
||||
You can modify value attributes of param tags. {\it topic name} is name of chapter/topic as is displayed in
|
||||
contents, {\it filename.htm} is HTML page name (relative to .hhp file) and {\it numeric_id} is optional
|
||||
- it is used only when you use \helpref{wxHtmlHelpController::Display(int)}{wxhtmlhelpcontrollerdisplay}
|
||||
|
||||
Items in the list may be nested - one \<li\> statement may contain \<ul\> sub-statement:
|
||||
|
||||
\begin{verbatim}
|
||||
<ul>
|
||||
|
||||
<li> <object>
|
||||
<param name="Name" value="Top node">
|
||||
<param name="Local" value="top.htm">
|
||||
</object>
|
||||
<ul>
|
||||
<li> <object>
|
||||
<param name="Name" value="subnode in topnode">
|
||||
<param name="Local" value="subnode1.htm">
|
||||
</object>
|
||||
...
|
||||
</ul>
|
||||
|
||||
<li> <object>
|
||||
<param name="Name" value="Another Top">
|
||||
<param name="Local" value="top2.htm">
|
||||
</object>
|
||||
...
|
||||
|
||||
</ul>
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Index file (.hhk)}
|
||||
|
||||
Index files have same format as contents file except that ID params are ignored and sublists are {\bf not}
|
||||
allowed.
|
||||
|
63
docs/latex/wx/htmlprn.tex
Normal file
@@ -0,0 +1,63 @@
|
||||
\membersection{Printing}\label{printing}
|
||||
|
||||
The wxHTML library provides printing facilities.
|
||||
|
||||
You can redirect output displayed by \helpref{wxHtmlWindow}{wxhtmlwindow}
|
||||
to the printer DC using this (or similar) code (see {\bf printing} sample for
|
||||
more details) :
|
||||
|
||||
\begin{verbatim}
|
||||
//
|
||||
// This method prints page number one to dc:
|
||||
//
|
||||
|
||||
void MyPrintout::DrawPageOne(wxDC *dc)
|
||||
{
|
||||
int leftMargin = 20;
|
||||
int topMargin = 50;
|
||||
// You must compute the margins there.
|
||||
// Caution! These values are NOT in printer DC's units.
|
||||
// These values are in screen pixels.
|
||||
// (see bellow)
|
||||
|
||||
// Here we obtain internal cell representation of HTML document:
|
||||
// (html is our pointer to wxHtmlWindow object)
|
||||
wxHtmlContainerCell *cell = html -> GetInternalRepresentation();
|
||||
|
||||
// Now we have to check in case our real page size is reduced
|
||||
// (e.g. because we're drawing to a print preview memory DC)
|
||||
int pageWidth, pageHeight;
|
||||
int w, h;
|
||||
dc->GetSize(&w, &h); // DC size
|
||||
GetPageSizePixels(&pageWidth, &pageHeight); // real size
|
||||
|
||||
// Now we must scale it. This equation will map wxHtmlWindow
|
||||
// to page in this way:
|
||||
// |--this is whole page as printed---------|
|
||||
// | | | |
|
||||
// | | | |
|
||||
// |-margin-|-----wxHtmlWindow-----|-margin-|
|
||||
//
|
||||
// So page width is 2*leftMargin + [wxHtmlWindow size]
|
||||
// (measured in screen pixels).
|
||||
// We will scale the printer DC so that wxHtmlWindow's content
|
||||
// spreads from left to right:
|
||||
float scale = (float)(
|
||||
(float)(pageWidth) /
|
||||
(float)(2 * leftMargin + cell -> GetMaxLineWidth()));
|
||||
|
||||
// If printer pageWidth == current DC width, then this doesn't
|
||||
// change. But w might be the preview bitmap width, so scale down.
|
||||
float overallScale = scale * (float)(w/(float)pageWidth);
|
||||
|
||||
// Set the user scale so that our computations take effect:
|
||||
dc->SetUserScale(overallScale, overallScale);
|
||||
dc->SetBackgroundMode(wxTRANSPARENT);
|
||||
|
||||
// And this is - finally - HTML stuff:
|
||||
cell -> Draw(*dc, leftMargin, topMargin, 0, cell -> GetHeight());
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
(Thanks to Julian Smart for sample)
|
||||
|
68
docs/latex/wx/htmlstrt.tex
Normal file
@@ -0,0 +1,68 @@
|
||||
\membersection{Quick Start}\label{quickstart}
|
||||
|
||||
\wxheading{Displaying HMTL}
|
||||
|
||||
First of all, you must include <wx/wxhtml.h>.
|
||||
|
||||
Class \helpref{wxHtmlWindow}{wxhtmlwindow} (derived from wxScrolledWindow)
|
||||
is used to display HTML documents.
|
||||
It has two important methods : \helpref{LoadPage}{wxhtmlwindowloadpage}
|
||||
and \helpref{SetPage}{wxhtmlwindowsetpage}.
|
||||
LoadPage loads and displays HTML file while SetPage displays directly the
|
||||
passed {\bf string}. See the example:
|
||||
|
||||
\begin{verbatim}
|
||||
mywin -> LoadPage("test.htm");
|
||||
mywin -> SetPage("<html><body>"
|
||||
"<h1>Error</h1>"
|
||||
"Some error occured :-H)"
|
||||
"</body></hmtl>");
|
||||
\end{verbatim}
|
||||
|
||||
I think the difference is quite clear.
|
||||
|
||||
\wxheading{Displaying Help}
|
||||
|
||||
See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}.
|
||||
|
||||
\wxheading{Setting up wxHtmlWindow}
|
||||
|
||||
Because wxHtmlWindow is derived from wxScrolledWindow and not from
|
||||
wxFrame, it doesn't have visible frame. But the user usually want to see
|
||||
the title of HTML page displayed somewhere and frame's titlebar is
|
||||
ideal place for it.
|
||||
|
||||
wxHtmlWindow provides 2 methods in order to handle this:
|
||||
\helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe} and
|
||||
\helpref{SetRelatedStatusBar}{wxhtmlwindowsetrelatedstatusbar}.
|
||||
See the example:
|
||||
|
||||
\begin{verbatim}
|
||||
html = new wxHtmlWindow(this);
|
||||
html -> SetRelatedFrame(this, "HTML : %%s");
|
||||
html -> SetRelatedStatusBar(0);
|
||||
\end{verbatim}
|
||||
|
||||
The first command associates html object with it's parent frame
|
||||
(this points to wxFrame object there) and sets format of title.
|
||||
Page title "Hello, world!" will be displayed as "HTML : Hello, world!"
|
||||
in this example.
|
||||
|
||||
The second command sets which frame's status bar should be used to display
|
||||
browser's messages (such as "Loading..." or "Done" or hypertext links).
|
||||
|
||||
\wxheading{Customizing wxHtmlWindow}
|
||||
|
||||
You can customize wxHtmlWindow by setting font size, font face and
|
||||
borders (space between border of window and displayed HTML). Related functions:
|
||||
|
||||
\begin{itemize}
|
||||
\item \helpref{SetFonts}{wxhtmlwindowsetfonts}
|
||||
\item \helpref{SetBorders}{wxhtmlwindowsetborders}
|
||||
\item \helpref{ReadCustomization}{wxhtmlwindowreadcustomization}
|
||||
\item \helpref{WriteCustomization}{wxhtmlwindowwritecustomization}
|
||||
\end{itemize}
|
||||
|
||||
The last two functions are used to store user customization info wxConfig stuff
|
||||
(for example registry under Windows or dotfile under Unix).
|
||||
|
184
docs/latex/wx/htparser.tex
Normal file
@@ -0,0 +1,184 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlparser.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlParser}}\label{wxhtmlparser}
|
||||
|
||||
This class handles the {\bf generic} parsing of HTML document: it scans
|
||||
the document and divide it into blocks of tags (where one block
|
||||
consists of begining and ending tag and of text between these
|
||||
two tags).
|
||||
|
||||
It is independent from wxHtmlWindow and can be used as stand-alone parser
|
||||
(Julian Smart's idea of speech-only HTML viewer or wget-like utility -
|
||||
see InetGet sample for example).
|
||||
|
||||
It uses system of tag handlers to parse the HTML document. Tag handlers
|
||||
are not staticaly shared by all instances but are created for each
|
||||
wxHtmlParser instance. The reason is that the handler may contain
|
||||
document-specific temporary data used during parsing (e.g. complicated
|
||||
structures like tables).
|
||||
|
||||
Typically the user calls only the \helpref{Parse}{wxhtmlparserparse} method.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Cells Overview}{cells},
|
||||
\helpref{Tag Handlers Overview}{handlers},
|
||||
\helpref{wxHtmlTag}{wxhtmltag}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlParser::wxHtmlParser}\label{wxhtmlparserwxhtmlparser}
|
||||
|
||||
\func{}{wxHtmlParser}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxHtmlParser::SetFS}\label{wxhtmlparsersetfs}
|
||||
|
||||
\func{void}{SetFS}{\param{wxFileSystem }{*fs}}
|
||||
|
||||
Sets the virtual file system that will be used to request additional
|
||||
files. (For example {\tt <IMG>} tag handler requests wxFSFile with the
|
||||
image data.)
|
||||
|
||||
\membersection{wxHtmlParser::GetFS}\label{wxhtmlparsergetfs}
|
||||
|
||||
\constfunc{wxFileSystem*}{GetFS}{\void}
|
||||
|
||||
Returns pointer to the file system. Because each tag handler has
|
||||
reference to it's parent parser it can easily request the file by
|
||||
calling
|
||||
|
||||
\begin{verbatim}
|
||||
wxFSFile *f = m_Parser -> GetFS() -> OpenFile("image.jpg");
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlParser::Parse}\label{wxhtmlparserparse}
|
||||
|
||||
\func{wxObject*}{Parse}{\param{const wxString\& }{source}}
|
||||
|
||||
Proceeds parsing of the document. This is end-user method. You can simply
|
||||
call it when you need to obtain parsed output (which is parser-specific)
|
||||
|
||||
The method does these things:
|
||||
|
||||
\begin{enumerate}
|
||||
\item calls \helpref{InitParser(source)}{wxhtmlparserinitparser}
|
||||
\item calls \helpref{DoParsing}{wxhtmlparserdoparsing}
|
||||
\item calls \helpref{GetProduct}{wxhtmlparsergetproduct}
|
||||
\item calls \helpref{DoneParser}{wxhtmlparserdoneparser}
|
||||
\item returns value returned by GetProduct
|
||||
\end{enumerate}
|
||||
|
||||
You shouldn't use InitParser, DoParsing, GetProduct or DoneParser directly.
|
||||
|
||||
\membersection{wxHtmlParser::InitParser}\label{wxhtmlparserinitparser}
|
||||
|
||||
\func{virtual void}{InitParser}{\param{const wxString\& }{source}}
|
||||
|
||||
Setups the parser for parsing the {\it source} string. (Should be overriden
|
||||
in derived class)
|
||||
|
||||
\membersection{wxHtmlParser::DoneParser}\label{wxhtmlparserdoneparser}
|
||||
|
||||
\func{virtual void}{DoneParser}{\void}
|
||||
|
||||
This must be called after DoParsing().
|
||||
|
||||
\membersection{wxHtmlParser::DoParsing}\label{wxhtmlparserdoparsing}
|
||||
|
||||
\func{void}{DoParsing}{\param{int }{begin\_pos}, \param{int }{end\_pos}}
|
||||
|
||||
\func{void}{DoParsing}{\void}
|
||||
|
||||
Parses the m\_Source from begin\_pos to end\_pos-1.
|
||||
(in noparams version it parses whole m\_Source)
|
||||
|
||||
\membersection{wxHtmlParser::GetProduct}\label{wxhtmlparsergetproduct}
|
||||
|
||||
\func{virtual wxObject*}{GetProduct}{\void}
|
||||
|
||||
Returns product of parsing. Returned value is result of parsing
|
||||
of the document. The type of this result depends on internal
|
||||
representation in derived parser (but it must be derived from wxObject!).
|
||||
|
||||
See wxHtmlWinParser for details.
|
||||
|
||||
\membersection{wxHtmlParser::AddTagHandler}\label{wxhtmlparseraddtaghandler}
|
||||
|
||||
\func{virtual void}{AddTagHandler}{\param{wxHtmlTagHandler }{*handler}}
|
||||
|
||||
Adds handler to the internal list (\& hash table) of handlers. This
|
||||
method should not be called directly by user but rather by derived class'
|
||||
constructor.
|
||||
|
||||
This adds the handler to this {\bf instance} of wxHtmlParser, not to
|
||||
all objects of this class! (Static front-end to AddTagHandler is provided
|
||||
by wxHtmlWinParser).
|
||||
|
||||
All handlers are deleted on object deletion.
|
||||
|
||||
\membersection{wxHtmlParser::GetSource}\label{wxhtmlparsergetsource}
|
||||
|
||||
\func{wxString*}{GetSource}{\void}
|
||||
|
||||
Returns pointer to the source being parsed.
|
||||
|
||||
\membersection{wxHtmlParser::GetTempData}\label{wxhtmlparsergettempdata}
|
||||
|
||||
\func{virtual wxList*}{GetTempData}{\void}
|
||||
|
||||
This method returns list of wxObjects that represents
|
||||
all data allocated by the parser. These can't be freed
|
||||
by the destructor because they must be valid as long as
|
||||
GetProduct's return value is valid - the caller must
|
||||
explicitly call
|
||||
|
||||
\begin{verbatim}
|
||||
delete (MyParser -> GetTempData());
|
||||
\end{verbatim}
|
||||
|
||||
to free the memory (this method always sets the list to delete its contents).
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
Why is this neccessary? Imagine wxHtmlWinParser: when handling
|
||||
a FONT tag it creates some fonts. These fonts are then used by wxHtmlWindow
|
||||
to display the text. But the wxHtmWinParser object is needed only when parsing
|
||||
the document - it may be deleted then. But fonts CAN'T be deleted - they
|
||||
must exist as long as the window is displaying text.
|
||||
|
||||
GetTempData() solves the problem.
|
||||
|
||||
\membersection{wxHtmlParser::AddText}\label{wxhtmlparseraddword}
|
||||
|
||||
\func{virtual void}{AddWord}{\param{const char* }{txt}}
|
||||
|
||||
Must be overwriten in derived class.
|
||||
|
||||
This method is called by \helpref{DoParsing}{wxhtmlparserdoparsing}
|
||||
each time a part of text is parsed. {\it txt} is NOT only one word, it is
|
||||
substring of input. It is not formatted or preprocessed (so white spaces are
|
||||
unmodified).
|
||||
|
||||
\membersection{wxHtmlParser::AddTag}\label{wxhtmlparseraddtag}
|
||||
|
||||
\func{void}{AddTag}{\param{const wxHtmlTag\& }{tag}}
|
||||
|
||||
This may (and may not) be overwriten in derived class.
|
||||
|
||||
This method is called each time new tag is about to be added.
|
||||
{\it tag} contains information about the tag. (See \helpref{wxHtmlTag}{wxhtmltag}
|
||||
for details.)
|
||||
|
||||
Default (wxHtmlParser) behaviour is this:
|
||||
First it finds a handler capable of handling this tag and then it calls
|
||||
handler's HandleTag method.
|
||||
|
169
docs/latex/wx/httag.tex
Normal file
@@ -0,0 +1,169 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmltag.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlTag}}\label{wxhtmltag}
|
||||
|
||||
This class represents single HTML tag.
|
||||
It is used by \helpref{tag handlers}{handlers}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlTag::wxHtmlTag}\label{wxhtmltagwxhtmltag}
|
||||
|
||||
\func{}{wxHtmlTag}{\param{const wxString\& }{source}, \param{int }{pos}, \param{int }{end\_pos}, \param{wxHtmlTagsCache* }{cache}}
|
||||
|
||||
Constructor. You'll probably never have to construct wxHtmlTag object
|
||||
yourself. Feel free to ignore the constructor parameters...
|
||||
(have a look at lib/htmlparser.cpp if you're interested in creating it)
|
||||
|
||||
\membersection{wxHtmlTag::GetName}\label{wxhtmltaggetname}
|
||||
|
||||
\constfunc{wxString}{GetName}{\void}
|
||||
|
||||
Returns tag's name. The name is always in uppercase and it doesn't contain
|
||||
'<' or '/' characters. (So the name of {\tt <FONT SIZE=+2>} tag is "FONT"
|
||||
and name of {\tt </table>} is "TABLE")
|
||||
|
||||
\membersection{wxHtmlTag::HasParam}\label{wxhtmltaghasparam}
|
||||
|
||||
\constfunc{bool}{HasParam}{\param{const wxString\& }{par}}
|
||||
|
||||
Returns TRUE if the tag has parameter of the given name.
|
||||
Example : {\tt <FONT SIZE=+2 COLOR="\#FF00FF">} has two parameters named
|
||||
"SIZE" and "COLOR".
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{par}{the parameter you're looking for. It must {\it always} be in uppercase!}
|
||||
|
||||
\membersection{wxHtmlTag::GetParam}\label{wxhtmltaggetparam}
|
||||
|
||||
\constfunc{wxString}{GetParam}{\param{const wxString\& }{par}, \param{bool }{with\_commas = FALSE}}
|
||||
|
||||
Retuns the value of the parameter. You should check whether the
|
||||
param exists or not (use \helpref{HasParam}{wxhtmltaghasparam}) first.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{par}{The parameter's name in uppercase}
|
||||
|
||||
\docparam{with\_commas}{TRUE if you want to get commas as well. See example.}
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
\begin{verbatim}
|
||||
...
|
||||
/* you have wxHtmlTag variable tag which is equal to
|
||||
HTML tag <FONT SIZE=+2 COLOR="#0000FF"> */
|
||||
dummy = tag.GetParam("SIZE");
|
||||
// dummy == "+2"
|
||||
dummy = tag.GetParam("COLOR");
|
||||
// dummy == "#0000FF"
|
||||
dummy = tag.GetParam("COLOR", TRUE);
|
||||
// dummy == "\"#0000FF\"" -- see the difference!!
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlTag::ScanParam}\label{wxhtmltagscanparam}
|
||||
|
||||
\constfunc{wxString}{ScanParam}{\param{const wxString\& }{par}, \param{const char *}{format}, fuck}
|
||||
|
||||
This method scans given parameter. Usage is exatly the same as sscanf's
|
||||
usage except that you don't pass string but param name as the first parameter.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{par}{The name of tag you wanna query (in uppercase)}
|
||||
|
||||
\docparam{format}{scanf()-like format string.}
|
||||
|
||||
\wxheading{Cygwin and Mingw32}
|
||||
|
||||
If you're using Cygwin beta 20 or Mingw32 compiler please remember
|
||||
that ScanParam() is only partially implemented!! The problem is
|
||||
that under Cygnus' GCC vsscanf() function is not implemented. I workarounded
|
||||
this in a way which causes that you can use only one parameter in ...
|
||||
(and only one \% in {\it format})
|
||||
|
||||
\membersection{wxHtmlTag::GetAllParams}\label{wxhtmltaggetallparams}
|
||||
|
||||
\constfunc{const wxString\&}{GetAllParams}{\void}
|
||||
|
||||
Returns string with all params.
|
||||
|
||||
Example : tag contains {\tt <FONT SIZE=+2 COLOR="\#000000">}. Call to
|
||||
tag.GetAllParams() would return {\tt SIZE=+2 COLOR="\#000000"}.
|
||||
|
||||
\membersection{wxHtmlTag::IsEnding}\label{wxhtmltagisending}
|
||||
|
||||
\constfunc{bool}{IsEnding}{\void}
|
||||
|
||||
Returns TRUE if this tag is ending one.
|
||||
({\tt </FONT>} is ending tag, {\tt <FONT>} is not)
|
||||
|
||||
|
||||
\membersection{wxHtmlTag::HasEnding}\label{wxhtmltaghasending}
|
||||
|
||||
\constfunc{bool}{HasEnding}{\void}
|
||||
|
||||
Returns TRUE if this tag is paired with ending tag, FALSE otherwise.
|
||||
|
||||
See the example of HTML document:
|
||||
|
||||
\begin{verbatim}
|
||||
<html><body>
|
||||
Hello<p>
|
||||
How are you?
|
||||
<p align=center>This is centered...</p>
|
||||
Oops<br>Oooops!
|
||||
</body></html>
|
||||
\end{verbatim}
|
||||
|
||||
In this example tags HTML and BODY have ending tags, first P and BR
|
||||
doesn't have ending tag while the second P has. The third P tag (which
|
||||
is ending itself) of course doesn't have ending tag.
|
||||
|
||||
\membersection{wxHtmlTag::GetBeginPos}\label{wxhtmltaggetbeginpos}
|
||||
|
||||
\constfunc{int}{GetBeginPos}{\void}
|
||||
|
||||
Returns beginning position of the text {\it between} this tag and paired
|
||||
ending tag.
|
||||
See explanation (returned position is marked with '^'):
|
||||
|
||||
\begin{verbatim}
|
||||
bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
|
||||
^
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlTag::GetEndPos1}\label{wxhtmltaggetendpos1}
|
||||
|
||||
\constfunc{int}{GetEndPos1}{\void}
|
||||
|
||||
Returns ending position of the text {\it between} this tag and paired
|
||||
ending tag.
|
||||
See explanation (returned position is marked with '^'):
|
||||
|
||||
\begin{verbatim}
|
||||
bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
|
||||
^
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlTag::GetEndPos2}\label{wxhtmltaggetendpos2}
|
||||
|
||||
\constfunc{int}{GetEndPos2}{\void}
|
||||
|
||||
Returns ending position 2 of the text {\it between} this tag and paired
|
||||
ending tag.
|
||||
See explanation (returned position is marked with '^'):
|
||||
|
||||
\begin{verbatim}
|
||||
bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
|
||||
^
|
||||
\end{verbatim}
|
||||
|
87
docs/latex/wx/httaghnd.tex
Normal file
@@ -0,0 +1,87 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmltaghandler.tex at 18/Mar/99 19:20:29
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlTagHandler}}\label{wxhtmltaghandler}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxObject
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Overview}{handlers},
|
||||
\helpref{wxHtmlTag}{wxhtmltag}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlTagHandler::m\_Parser}\label{wxhtmltaghandlermparser}
|
||||
|
||||
{\bf wxHtmlParser* m\_Parser}
|
||||
|
||||
This attribute is used to access parent parser. It is protected so that
|
||||
it can't be accessed by user but can be accessed from derived classes.
|
||||
|
||||
\membersection{wxHtmlTagHandler::wxHtmlTagHandler}\label{wxhtmltaghandlerwxhtmltaghandler}
|
||||
|
||||
\func{}{wxHtmlTagHandler}{\void}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxHtmlTagHandler::SetParser}\label{wxhtmltaghandlersetparser}
|
||||
|
||||
\func{virtual void}{SetParser}{\param{wxHtmlParser }{*parser}}
|
||||
|
||||
Assigns {\it parser} to this handler. Each {\bf instance} of handler
|
||||
is guaranteed to be called only from the parser.
|
||||
|
||||
\membersection{wxHtmlTagHandler::GetSupportedTags}\label{wxhtmltaghandlergetsupportedtags}
|
||||
|
||||
\func{virtual wxString}{GetSupportedTags}{\void}
|
||||
|
||||
Returns list of supported tags. The list is in uppercase and tags
|
||||
are delimited by ','. Example : {\tt "I,B,FONT,P" }
|
||||
|
||||
\membersection{wxHtmlTagHandler::HandleTag}\label{wxhtmltaghandlerhandletag}
|
||||
|
||||
\func{virtual bool}{HandleTag}{\param{const wxHtmlTag\& }{tag}}
|
||||
|
||||
This is the core method of each handler. It is called each time
|
||||
one of supported tags is detected. {\it tag} contains all neccessary
|
||||
info (see \helpref{wxHtmlTag}{wxhtmltag} for details).
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if \helpref{ParseInner}{wxhtmltaghandlerparseinner} was called,
|
||||
FALSE otherwise.
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
\begin{verbatim}
|
||||
bool MyHandler::HandleTag(const wxHtmlTag& tag)
|
||||
{
|
||||
...
|
||||
// change state of parser (e.g. set bold face)
|
||||
ParseInner(tag);
|
||||
...
|
||||
// restore original state of parser
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
You shouldn't call ParseInner if the tag is not paired with ending one.
|
||||
|
||||
\membersection{wxHtmlTagHandler::ParseInner}\label{wxhtmltaghandlerparseinner}
|
||||
|
||||
\func{void}{ParseInner}{\param{const wxHtmlTag\& }{tag}}
|
||||
|
||||
This method calls parser's \helpref{DoParsing}{wxhtmlparserdoparsing} method
|
||||
for the string between this tag and paired ending tag:
|
||||
|
||||
\begin{verbatim}
|
||||
...<A HREF="x.htm">Hello, world!</A>...
|
||||
\end{verbatim}
|
||||
|
||||
In this example, a call to ParseInner (with {\it tag} pointing to A tag)
|
||||
will parse 'Hello, world!'.
|
||||
|
39
docs/latex/wx/httagmod.tex
Normal file
@@ -0,0 +1,39 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmltagsmodule.tex at 14/Mar/99 20:13:37
|
||||
|
||||
\section{\class{wxHtmlTagsModule}}\label{wxhtmltagsmodule}
|
||||
|
||||
This class provides easy way of filling wxHtmlWinParser's table of
|
||||
tag handlers. It is used almost exclusively together with set of
|
||||
\helpref{TAGS\_MODULE\_* macros}{handlers}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxModule
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Tag Handlers}{handlers},
|
||||
\helpref{wxHtmlTagHandler}{wxhtmltaghandler},
|
||||
\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler},
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlTagsModule::FillHandlersTable}\label{wxhtmltagsmodulefillhandlerstable}
|
||||
|
||||
\func{virtual void}{FillHandlersTable}{\param{wxHtmlWinParser }{*parser}}
|
||||
|
||||
You must override this method. In most common case it's body consists
|
||||
only of lines of following type:
|
||||
|
||||
\begin{verbatim}
|
||||
parser -> AddTagHandler(new MyHandler);
|
||||
\end{verbatim}
|
||||
|
||||
I recommend using {\bf TAGS\_MODULE\_*} macros.
|
||||
|
||||
\wxheading{Paremeters}
|
||||
|
||||
\docparam{parser}{Pointer to the parser that requested tables filling.}
|
||||
|
@@ -23,10 +23,18 @@
|
||||
|
||||
Creates a new input stream on the the specified path. You can use all except the seek
|
||||
functionality of wxStream. Seek isn't available on all streams. For example,
|
||||
http or ftp streams doesn't deal with it. Other functions like StreamSize and
|
||||
Tell aren't available for the moment for this sort of stream.
|
||||
http or ftp streams doesn't deal with it. Other functions like Tell and SeekI
|
||||
for this sort of stream.
|
||||
You will be notified when the EOF is reached by an error.
|
||||
|
||||
\wxheading{Note}
|
||||
|
||||
You can know the size of the file you are getting using \helpref{wxStreamBase::GetSize()}{wxstreambasegetsize}.
|
||||
But there is a limitation: as HTTP servers aren't obliged to pass the size ofi
|
||||
the file, in some case, you will be returned 0xfffffff by GetSize(). In these
|
||||
cases, you should use the value returned by \helpref{wxInputStream::LastRead()}{wxinputstreamlastread}:
|
||||
this value will be 0 when the stream is finished.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns the initialized stream. You will have to delete it yourself once you
|
||||
@@ -48,10 +56,15 @@ It sets data of a field to be sent during the next request to the HTTP server. T
|
||||
name is specified by \it{header} and the content by \it{h\_data}.
|
||||
This is a low level function and it assumes that you know what you are doing.
|
||||
|
||||
\membersection{wxHTTP::SetHeader}
|
||||
\membersection{wxHTTP::GetHeader}
|
||||
|
||||
\func{wxString}{GetHeader}{\param{const wxString\&}{ header}}
|
||||
|
||||
Returns the data attached with a field whose name is specified by \it{header}.
|
||||
If the field doesn't exist, it will return an empty string and not a NULL string.
|
||||
|
||||
\wxheading{Note}
|
||||
|
||||
The header is not case-sensitive: I mean that "CONTENT-TYPE" and "content-type"
|
||||
represent the same header.
|
||||
|
||||
|
33
docs/latex/wx/htwidget.tex
Normal file
@@ -0,0 +1,33 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlcell.h at 14/Apr/99 20:12:40
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlWidgetCell}}\label{wxhtmlwidgetcell}
|
||||
|
||||
wxHtmlWidgetCell is class that provides connection between HTML cell and widget (object derived
|
||||
from wxWindow). You can use it to display things like forms, input boxes etc. in HTML window.
|
||||
|
||||
wxHtmlWidgetCell takes care of resizing and moving window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxHtmlCell}{wxhtmlcell}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlWidgetCell::wxHtmlWidgetCell}\label{wxhtmlwidgetcellwxhtmlwidgetcell}
|
||||
|
||||
\func{}{wxHtmlWidgetCell}{\param{wxWindow* }{wnd}, \param{int }{w = 0}}
|
||||
|
||||
Constructor
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{wnd}{Connected window. It's parent window {\bf must} be the wxHtmlWindow object within
|
||||
which it is displayed!}
|
||||
|
||||
\docparam{w}{Floating width. If non-zero width of {\it wnd} window is adjusted so that it is
|
||||
always {\it w} percents of parent container's width. (For example w = 100 means that the window
|
||||
will always have same width as parent container)}
|
||||
|
255
docs/latex/wx/htwindow.tex
Normal file
@@ -0,0 +1,255 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlwindow.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlWindow}}\label{wxhtmlwindow}
|
||||
|
||||
wxHtmlWindow is probably the only class you will directly use
|
||||
unless you want to do something special (like adding new tag
|
||||
handlers or MIME filters)
|
||||
|
||||
Purpose of this class is to display HTML page (either local
|
||||
file or downloaded via HTTP protocol) in a window. Width
|
||||
of window is constant - given in constructor - virtual height
|
||||
is changed dynamicly depending on page size.
|
||||
Once the window is created you can set it's content by calling
|
||||
\helpref{SetPage(text)}{wxhtmlwindowsetpage} or
|
||||
\helpref{LoadPage(filename)}{wxhtmlwindowloadpage}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxScrolledWindow
|
||||
|
||||
\wxheading{Include files}
|
||||
|
||||
<wxhtml/wxhtmlwin.h>
|
||||
|
||||
\membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
|
||||
|
||||
\func{}{wxHtmlWindow}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxHtmlWindow}{\param{wxWindow }{*parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxHW_SCROLLBAR_AUTO}, \param{const wxString\& }{name = "htmlWindow"}}
|
||||
|
||||
Constructor. The parameters are same as in wxScrollWindow ctor.
|
||||
(Too lazy to document it once again... :-)
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{wxHW\_SCROLLBAR\_NEVER, or wxHW\_SCROLLBAR\_AUTO.
|
||||
Affects appearance of vertical scrollbar in the window.}
|
||||
|
||||
\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
|
||||
|
||||
\func{bool}{SetPage}{\param{const wxString\& }{source}}
|
||||
|
||||
Sets HTML page and display it. This won't {\bf load} the page!!
|
||||
It will display the {\it source}. See example:
|
||||
|
||||
\begin{verbatim}
|
||||
htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
|
||||
\end{verbatim}
|
||||
|
||||
If you want to load document from some location use
|
||||
\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{source}{The HTML document source to be displayed.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
FALSE if an error occured, TRUE otherwise
|
||||
|
||||
\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
|
||||
|
||||
\func{bool}{LoadPage}{\param{const wxString\& }{location}}
|
||||
|
||||
Unlike SetPage this function first loads HTML page from {\it location}
|
||||
and then displays it. See example:
|
||||
|
||||
\begin{verbatim}
|
||||
htmlwin -> SetPage("help/myproject/index.htm");
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{location}{The address of document. See \helpref{wxFileSystem}{wxfilesystem} for details on address format and behaviour of "opener".}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
FALSE if an error occured, TRUE otherwise
|
||||
|
||||
\membersection{wxHtmlWindow::GetOpenedPage}\label{wxhtmlwindowgetopenedpage}
|
||||
|
||||
\func{wxString}{GetOpenedPage}{\void}
|
||||
|
||||
Returns full location of the opened page. If no page is opened or if the displayed page wasn't
|
||||
produced by call to LoadPage, empty string is returned.
|
||||
|
||||
\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
|
||||
|
||||
\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
|
||||
|
||||
Sets frame in which page title will be displayed. {\it format} is format of
|
||||
frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
|
||||
\%s is substituted with HTML page title.
|
||||
|
||||
\membersection{wxHtmlWindow::GetRelatedFrame}\label{wxhtmlwindowgetrelatedframe}
|
||||
|
||||
\constfunc{wxFrame*}{GetRelatedFrame}{\void}
|
||||
|
||||
Returns the related frame.
|
||||
|
||||
\membersection{wxHtmlWindow::SetRelatedStatusBar}\label{wxhtmlwindowsetrelatedstatusbar}
|
||||
|
||||
\func{void}{SetRelatedStatusBar}{\param{int }{bar}}
|
||||
|
||||
{\bf After} calling \helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe},
|
||||
this sets statusbar slot where messages will be displayed.
|
||||
(Default is -1 = no messages.)
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bar}{statusbar slot number (0..n)}
|
||||
|
||||
\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
|
||||
|
||||
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{int }{normal\_italic\_mode}, \param{wxString }{fixed\_face}, \param{int }{fixed\_italic\_mode}, \param{int }{*sizes}}
|
||||
|
||||
This function sets font sizes and faces.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{normal_face}{This is face name for normal (i.e. non-fixed) font.
|
||||
It can be either empty string (then the default face is choosen) or
|
||||
platform-specific face name. Examples are "helvetica" under Unix or
|
||||
"Times New Roman" under Windows.}
|
||||
|
||||
\docparam{normal_italic_mode}{This is either wxSLANT or wxITALIC.
|
||||
It determines how
|
||||
italic (<I>..</I>) text is handled. See wxFont documentation for
|
||||
details. For example you should use wxSLANT in conjuction with
|
||||
"helvetica" face or wxITALIC with "times" face.}
|
||||
|
||||
\docparam{fixed_face}{The same thing for fixed face ( <TT>..</TT> )}
|
||||
|
||||
\docparam{fixed_italic_mode}{The same thing for fixed face.}
|
||||
|
||||
\docparam{sizes}{This is an array of 7 items of {\it int} type.
|
||||
The values represent size of font with HTML size from -2 to +4
|
||||
( <FONT SIZE=-2> to <FONT SIZE=+4> )}
|
||||
|
||||
\wxheading{Defaults}
|
||||
|
||||
Under wxGTK:
|
||||
|
||||
\begin{verbatim}
|
||||
SetFonts("", wxSLANT, "", wxSLANT, {10, 12, 14, 16, 19, 24, 32});
|
||||
\end{verbatim}
|
||||
|
||||
Under Windows:
|
||||
|
||||
\begin{verbatim}
|
||||
SetFonts("", wxSLANT, "", wxSLANT, {7, 8, 10, 12, 16, 22, 30});
|
||||
\end{verbatim}
|
||||
|
||||
Athough it seems different the fact is that the fonts are of approximately
|
||||
same size under both platforms (due to wxMSW / wxGTK inconsistency)
|
||||
|
||||
\membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
|
||||
|
||||
\func{void}{SetBorders}{\param{int }{b}}
|
||||
|
||||
This function sets the space between border of window and HTML contents. See image:
|
||||
|
||||
\image{}{border.bmp}
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{b}{indentation from borders in pixels}
|
||||
|
||||
\membersection{wxHtmlWindow::ReadCustomization}\label{wxhtmlwindowreadcustomization}
|
||||
|
||||
\func{virtual void}{ReadCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
|
||||
|
||||
This reads custom settings from wxConfig. It uses the path 'path'
|
||||
if given, otherwise it saves info into currently selected path.
|
||||
The values are stored in sub-path {\tt wxHtmlWindow}
|
||||
|
||||
Read values : all things set by SetFonts, SetBorders.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{cfg}{wxConfig from which you wanna read configuration}
|
||||
|
||||
\docparam{path}{Optional path in config tree. If not given current path is used.}
|
||||
|
||||
\membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}
|
||||
|
||||
\func{virtual void}{WriteCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
|
||||
|
||||
Saves custom settings into wxConfig. It uses the path 'path'
|
||||
if given, otherwise it saves info into currently selected path.
|
||||
Regardless path is given or not the function creates sub-path
|
||||
{\tt wxHtmlWindow}
|
||||
|
||||
Saved values : all things set by SetFonts, SetBorders.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{cfg}{wxConfig to which you wanna save configuration}
|
||||
|
||||
\docparam{path}{Optional path in config tree. If not given current path is used.}
|
||||
|
||||
|
||||
\membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
|
||||
|
||||
\constfunc{wxHtmlContainerCell*}{GetInternalRepresentation}{\void}
|
||||
|
||||
Returns pointer to the top-level container.
|
||||
|
||||
See also: \helpref{Cells Overview}{cells},
|
||||
\helpref{Printing Overview}{printing}
|
||||
|
||||
\membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
|
||||
|
||||
\func{static void}{AddFilter}{\param{wxHtmlFilter }{*filter}}
|
||||
|
||||
Adds \helpref{input filter}{filters} to the static list of available
|
||||
filters. These filters are present by default:
|
||||
|
||||
\begin{itemize}
|
||||
\item {\tt text/html} MIME type
|
||||
\item {\tt image/*} MIME types
|
||||
\item Plain Text filter (this filter is used if no other filter matches)
|
||||
\end{itemize}
|
||||
|
||||
\membersection{wxHtmlWindow::HistoryBack}\label{wxhtmlwindowhistoryback}
|
||||
|
||||
\func{bool}{HistoryBack}{\void}
|
||||
|
||||
Moves back to the previous page. (each page displayed using
|
||||
\helpref{LoadPage}{wxhtmlwindowloadpage} is stored in history list.)
|
||||
|
||||
\membersection{wxHtmlWindow::HistoryForward}\label{wxhtmlwindowhistoryforward}
|
||||
|
||||
\func{bool}{HistoryForward}{\void}
|
||||
|
||||
Moves to next page in history.
|
||||
|
||||
\membersection{wxHtmlWindow::HistoryClear}\label{wxhtmlwindowhistoryclear}
|
||||
|
||||
\func{void}{HistoryClear}{\void}
|
||||
|
||||
Clears history.
|
||||
|
||||
\membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked}
|
||||
|
||||
\func{virtual void}{OnLinkClicked}{\param{const wxString\& }{link}}
|
||||
|
||||
Called when user clicks on hypertext link. Default behaviour is to call
|
||||
\helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
|
||||
|
26
docs/latex/wx/htwinhnd.tex
Normal file
@@ -0,0 +1,26 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlwintaghandler.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlWinTagHandler}}\label{wxhtmlwintaghandler}
|
||||
|
||||
This is basically wxHtmlTagHandler except that
|
||||
it is extended with protected member m\_WParser pointing to
|
||||
the wxHtmlWinParser object (value of this member is identical
|
||||
to wxHtmlParser's m\_Parser).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxHtmlTagHandler}{wxhtmltaghandler}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlWinTagHandler::m\_WParser}\label{wxhtmlwintaghandlerwxhtmlwintaghandlermwparser}
|
||||
|
||||
{\bf wxHtmlWinParser* m\_WParser}
|
||||
|
||||
Value of this attribute is identical to value of m\_Parser. The only different
|
||||
is that m\_WParser points to wxHtmlWinParser object while m\_Parser
|
||||
points to wxHtmlParser object. (The same object, but overcast.)
|
||||
|
254
docs/latex/wx/htwinprs.tex
Normal file
@@ -0,0 +1,254 @@
|
||||
%
|
||||
% automatically generated by HelpGen from
|
||||
% htmlwinparser.tex at 14/Mar/99 20:13:37
|
||||
%
|
||||
|
||||
\section{\class{wxHtmlWinParser}}\label{wxhtmlwinparser}
|
||||
|
||||
This class is derived from \helpref{wxHtmlParser}{wxhtmlparser} and
|
||||
its mail goal is to parse HTML input so that it can be displayed in
|
||||
\helpref{wxHtmlWindow}{wxhtmlwindow}. It uses special
|
||||
\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}.
|
||||
|
||||
\wxheading{Notes}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Product of parsing is wxHtmlCell (resp. wxHtmlContainer) object.
|
||||
\item This parser produces temporary data! You should call
|
||||
\helpref{delete GetTempData()}{wxhtmlparsergettempdata}!
|
||||
\end{enumerate}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxHtmlParser}{wxhtmlparser}
|
||||
|
||||
\wxheading{See Also}
|
||||
|
||||
\helpref{Handlers overview}{handlers}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHtmlWinParser::wxHtmlWinParser}\label{wxhtmlwinparserwxhtmlwinparser}
|
||||
|
||||
\func{}{wxHtmlWinParser}{\void}
|
||||
|
||||
\func{}{wxHtmlWinParser}{\param{wxWindow }{*wnd}}
|
||||
|
||||
Constructor. Don't use the default one, use constructor with
|
||||
{\it wnd} paremeter ({\it wnd} is pointer to associated \helpref{wxHtmlWindow}{wxhtmlwindow})
|
||||
|
||||
\membersection{wxHtmlWinParser::SetDC}\label{wxhtmlwinparsersetdc}
|
||||
|
||||
\func{virtual void}{SetDC}{\param{wxDC }{*dc}}
|
||||
|
||||
Sets the DC. This must be called before \helpref{Parse}{wxhtmlparserparse}!
|
||||
|
||||
\membersection{wxHtmlWinParser::GetDC}\label{wxhtmlwinparsergetdc}
|
||||
|
||||
\func{wxDC*}{GetDC}{\void}
|
||||
|
||||
Returns pointer to the DC used during parsing.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetCharHeight}\label{wxhtmlwinparsergetcharheight}
|
||||
|
||||
\constfunc{int}{GetCharHeight}{\void}
|
||||
|
||||
Returns (average) char height in standard font. It's used as DC-independent metrics.
|
||||
|
||||
{\bf Note:} This function doesn't return {\it actual} height. If you wanna
|
||||
know height of current font, call {\tt GetDC -> GetCharHeight()}
|
||||
|
||||
\membersection{wxHtmlWinParser::GetCharWidth}\label{wxhtmlwinparsergetcharwidth}
|
||||
|
||||
\constfunc{int}{GetCharWidth}{\void}
|
||||
|
||||
Returns average char width in standard font. It's used as DC-independent metrics.
|
||||
|
||||
{\bf Note:} This function doesn't return {\it actual} width. If you wanna
|
||||
know height of current font, call {\tt GetDC -> GetCharWidth()}
|
||||
|
||||
\membersection{wxHtmlWinParser::GetWindow}\label{wxhtmlwinparsergetwindow}
|
||||
|
||||
\func{wxWindow*}{GetWindow}{\void}
|
||||
|
||||
Returns associated window (wxHtmlWindow). This may be NULL! (You should always
|
||||
test if it is non-NULL. For example {\tt TITLE} handler sets window
|
||||
title only if some window is associated, otherwise it does nothing)
|
||||
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFonts}\label{wxhtmlwinparsersetfonts}
|
||||
|
||||
\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{int }{normal\_italic\_mode}, \param{wxString }{fixed\_face}, \param{int }{fixed\_italic\_mode}, \param{int }{*sizes}}
|
||||
|
||||
Sets fonts. This method is identical to \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts}
|
||||
|
||||
\membersection{wxHtmlWinParser::AddModule}\label{wxhtmlwinparseraddmodule}
|
||||
|
||||
\func{static void}{AddModule}{\param{wxHtmlTagsModule }{*module}}
|
||||
|
||||
Adds \helpref{module}{handlers} to the list of wxHtmlWinParser tag handler.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetContainer}\label{wxhtmlwinparsergetcontainer}
|
||||
|
||||
\constfunc{wxHtmlContainerCell*}{GetContainer}{\void}
|
||||
|
||||
Returns pointer to the currectly opened container (see \helpref{Overview}{cells}).
|
||||
Common use:
|
||||
|
||||
\begin{verbatim}
|
||||
m_WParser -> GetContainer() -> InsertCell(new ...);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxHtmlWinParser::OpenContainer}\label{wxhtmlwinparseropencontainer}
|
||||
|
||||
\func{wxHtmlContainerCell*}{OpenContainer}{\void}
|
||||
|
||||
Opens new container and returns pointer to it (see \helpref{Overview}{cells}).
|
||||
|
||||
%
|
||||
%\membersection{wxHtmlWinParser::SetContainer}\label{wxhtmlwinparsersetcontainer}
|
||||
%
|
||||
%\func{wxHtmlContainerCell*}{SetContainer}{\param{wxHtmlContainerCell *}{c}}
|
||||
%
|
||||
%Allows you to directly set opened container. This is not recommended - you should use OpenContainer
|
||||
%whereever possible.
|
||||
%
|
||||
|
||||
\membersection{wxHtmlWinParser::CloseContainer}\label{wxhtmlwinparserclosecontainer}
|
||||
|
||||
\func{wxHtmlContainerCell*}{CloseContainer}{\void}
|
||||
|
||||
Closes the container, sets actual container to the parent one
|
||||
and returns pointer to it (see \helpref{Overview}{cells}).
|
||||
|
||||
\membersection{wxHtmlWinParser::GetFontSize}\label{wxhtmlwinparsergetfontsize}
|
||||
|
||||
\constfunc{int}{GetFontSize}{\void}
|
||||
|
||||
Returns actual font size (HTML size varies from -2 to +4)
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFontSize}\label{wxhtmlwinparsersetfontsize}
|
||||
|
||||
\func{void}{SetFontSize}{\param{int }{s}}
|
||||
|
||||
Sets actual font size (HTML size varies from -2 to +4)
|
||||
|
||||
\membersection{wxHtmlWinParser::GetFontBold}\label{wxhtmlwinparsergetfontbold}
|
||||
|
||||
\constfunc{int}{GetFontBold}{\void}
|
||||
|
||||
Returns TRUE if actual font is bold, FALSE otherwise.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFontBold}\label{wxhtmlwinparsersetfontbold}
|
||||
|
||||
\func{void}{SetFontBold}{\param{int }{x}}
|
||||
|
||||
Sets bold flag of actualfont. {\it x} is either TRUE of FALSE.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetFontItalic}\label{wxhtmlwinparsergetfontitalic}
|
||||
|
||||
\constfunc{int}{GetFontItalic}{\void}
|
||||
|
||||
Returns TRUE if actual font is italic, FALSE otherwise.
|
||||
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFontItalic}\label{wxhtmlwinparsersetfontitalic}
|
||||
|
||||
\func{void}{SetFontItalic}{\param{int }{x}}
|
||||
|
||||
Sets italic flag of actualfont. {\it x} is either TRUE of FALSE.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetFontUnderlined}\label{wxhtmlwinparsergetfontunderlined}
|
||||
|
||||
\constfunc{int}{GetFontUnderlined}{\void}
|
||||
|
||||
Returns TRUE if actual font is underlined, FALSE otherwise.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFontUnderlined}\label{wxhtmlwinparsersetfontunderlined}
|
||||
|
||||
\func{void}{SetFontUnderlined}{\param{int }{x}}
|
||||
|
||||
Sets underlined flag of actualfont. {\it x} is either TRUE of FALSE.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetFontFixed}\label{wxhtmlwinparsergetfontfixed}
|
||||
|
||||
\constfunc{int}{GetFontFixed}{\void}
|
||||
|
||||
Returns TRUE if actual font is fixed face, FALSE otherwise.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetFontFixed}\label{wxhtmlwinparsersetfontfixed}
|
||||
|
||||
\func{void}{SetFontFixed}{\param{int }{x}}
|
||||
|
||||
Sets fixed face flag of actualfont. {\it x} is either TRUE of FALSE.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetAlign}\label{wxhtmlwinparsergetalign}
|
||||
|
||||
\constfunc{int}{GetAlign}{\void}
|
||||
|
||||
Returns default horizontal alignment.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetAlign}\label{wxhtmlwinparsersetalign}
|
||||
|
||||
\func{void}{SetAlign}{\param{int }{a}}
|
||||
|
||||
Sets default horizontal alignment (see \helpref{wxHtmlContainerCell::SetAlignHor}{wxhtmlcontainercellsetalignhor}.
|
||||
Alignment of newly opened container is set to this value.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetLinkColor}\label{wxhtmlwinparsergetlinkcolor}
|
||||
|
||||
\constfunc{const wxColour\&}{GetLinkColor}{\void}
|
||||
|
||||
Returns color of hypertext link text.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetLinkColor}\label{wxhtmlwinparsersetlinkcolor}
|
||||
|
||||
\func{void}{SetLinkColor}{\param{const wxColour\& }{clr}}
|
||||
|
||||
Sets color of hypertext link.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetActualColor}\label{wxhtmlwinparsergetactualcolor}
|
||||
|
||||
\constfunc{const wxColour\&}{GetActualColor}{\void}
|
||||
|
||||
Returns actual text color.
|
||||
|
||||
\membersection{wxHtmlWinParser::SetActualColor}\label{wxhtmlwinparsersetactualcolor}
|
||||
|
||||
\func{void}{SetActualColor}{\param{const wxColour\& }{clr}}
|
||||
|
||||
Sets actual text color. Note: this DOESN'T change the color!
|
||||
You must create \helpref{wxHtmlColourCell}{wxhtmlcolourcell} yourself.
|
||||
|
||||
\membersection{wxHtmlWinParser::GetLink}\label{wxhtmlwinparsergetlink}
|
||||
|
||||
\constfunc{const wxString\&}{GetLink}{\void}
|
||||
|
||||
Returns actual hypertext link. (This value is non-empty string
|
||||
if the parser is between {\tt <A>} and {\tt </A>} tags,
|
||||
wxEmptyString otherwise.
|
||||
|
||||
|
||||
\membersection{wxHtmlWinParser::SetLink}\label{wxhtmlwinparsersetlink}
|
||||
|
||||
\func{void}{SetLink}{\param{const wxString\& }{link}}
|
||||
|
||||
Sets actual hypertext link. wxEmptyString means no link.
|
||||
|
||||
\membersection{wxHtmlWinParser::CreateCurrentFont}\label{wxhtmlwinparsercreatecurrentfont}
|
||||
|
||||
\func{virtual wxFont*}{CreateCurrentFont}{\void}
|
||||
|
||||
Creates font based on current setting (see
|
||||
\helpref{SetFontSize}{wxhtmlwinparsersetfontsize},
|
||||
\helpref{SetFontBold}{wxhtmlwinparsersetfontbold},
|
||||
\helpref{SetFontItalic}{wxhtmlwinparsersetfontitalic},
|
||||
\helpref{SetFontFixed}{wxhtmlwinparsersetfontfixed},
|
||||
\helpref{SetFontUnderlined}{wxhtmlwinparsersetfontunderlined})
|
||||
and returns pointer to it.
|
||||
(If the font was already created only a pointer is returned.)
|
||||
|
||||
Fonts created during parsing are temporary data and are not freed on DoneParser.
|
||||
You must call \helpref{delete myparser->GetTempData();}{wxhtmlparsergettempdata}
|
||||
to free the memory!
|
||||
|
@@ -433,15 +433,50 @@ mimetype to the named file}
|
||||
\end{twocollist}}
|
||||
}
|
||||
|
||||
\membersection{wxImage::Rescale}\label{wximagerescale}
|
||||
|
||||
\func{wxImage}{Rescale}{\param{int}{ width}, \param{int}{ height}}
|
||||
|
||||
Changes the size of the image in-place: after a call to this function, thei
|
||||
mage will have the given width and height.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Scale}{wximagescale}
|
||||
|
||||
\membersection{wxImage::Scale}\label{wximagescale}
|
||||
|
||||
\func{wxImage}{Scale}{\param{int}{ width}, \param{int}{ height}}
|
||||
\constfunc{wxImage}{Scale}{\param{int}{ width}, \param{int}{ height}}
|
||||
|
||||
Returns a scaled version of the image. This is also useful for
|
||||
scaling bitmaps in general as the only other way to scale bitmaps
|
||||
is to blit a wxMemoryDC into another wxMemoryDC. Windows can do such
|
||||
scaling itself but in the GTK port, scaling bitmaps is done using
|
||||
this routine internally.
|
||||
is to blit a wxMemoryDC into another wxMemoryDC.
|
||||
|
||||
NB: although Windows can do such scaling itself but in the GTK port, scaling
|
||||
bitmaps is done using this routine internally.
|
||||
|
||||
Example:
|
||||
|
||||
\begin{verbatim}
|
||||
// get the bitmap from somewhere
|
||||
wxBitmap bmp = ...;
|
||||
|
||||
// rescale it to have size of 32*32
|
||||
if ( bmp.GetWidth() != 32 || bmp.GetHeight() != 32 )
|
||||
{
|
||||
wxImage image(bmp);
|
||||
bmp = image.Scale(32, 32).ConvertToBitmap();
|
||||
|
||||
// another possibility:
|
||||
image.Rescale(32, 32);
|
||||
bmp = image;
|
||||
}
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Rescale}{wximagerescale}
|
||||
|
||||
\membersection{wxImage::SetData}\label{wximagesetdata}
|
||||
|
||||
|
BIN
docs/latex/wx/indent.bmp
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
docs/latex/wx/indent.gif
Normal file
After Width: | Height: | Size: 11 KiB |
@@ -11,10 +11,6 @@
|
||||
|
||||
<wx/stream.h>
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxStreamBuffer}{wxstreambuffer}
|
||||
|
||||
% -----------
|
||||
% ctor & dtor
|
||||
% -----------
|
||||
@@ -24,11 +20,6 @@
|
||||
|
||||
Creates a dummy input stream.
|
||||
|
||||
\func{}{wxInputStream}{\param{wxStreamBuffer *}{sbuf}}
|
||||
|
||||
Creates an input stream using the specified stream buffer \it{sbuf}. This
|
||||
stream buffer can point to another stream.
|
||||
|
||||
\membersection{wxInputStream::\destruct{wxInputStream}}
|
||||
|
||||
\func{}{\destruct{wxInputStream}}{\void}
|
||||
@@ -41,13 +32,7 @@ Destructor.
|
||||
|
||||
Returns the first character in the input queue and removes it.
|
||||
|
||||
\membersection{wxInputStream::InputStreamBuffer}
|
||||
|
||||
\func{wxStreamBuffer*}{InputStreamBuffer}{\void}
|
||||
|
||||
Returns the stream buffer associated with the input stream.
|
||||
|
||||
\membersection{wxInputStream::LastRead}
|
||||
\membersection{wxInputStream::LastRead}\label{wxinputstreamlastread}
|
||||
|
||||
\constfunc{size\_t}{LastRead}{\void}
|
||||
|
||||
@@ -96,3 +81,22 @@ Changes the stream current position.
|
||||
|
||||
Returns the current stream position.
|
||||
|
||||
\membersection{wxInputStream::Ungetch}\label{wxinputstream_ungetch}
|
||||
|
||||
\func{size\_t}{Ungetch}{\param{const char*}{ buffer}, \param{size\_t}{ size}}
|
||||
|
||||
This function is only useful in \it{read} mode. It is the manager of the "Write-Back"
|
||||
buffer. This buffer acts like a temporary buffer where datas which has to be
|
||||
read during the next read IO call are put. This is useful when you get a big
|
||||
block of data which you didn't want to read: you can replace them at the top
|
||||
of the input queue by this way.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns the amount of bytes saved in the Write-Back buffer.
|
||||
|
||||
\func{bool}{Ungetch}{\param{char }{c}}
|
||||
|
||||
This function acts like the previous one except that it takes only one
|
||||
character: it is sometimes shorter to use than the generic function.
|
||||
|
||||
|
@@ -338,7 +338,7 @@ Associates the given client data pointer with the given item.
|
||||
|
||||
\func{void}{SetFirstItem}{\param{const wxString\& }{string}}
|
||||
|
||||
Set the specified item to be the first visible item.
|
||||
Set the specified item to be the first visible item. Windows only.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
@@ -350,7 +350,8 @@ Set the specified item to be the first visible item.
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ n}, \param{const bool }{select = TRUE}}
|
||||
|
||||
Selects or deselects the given item.
|
||||
Selects or deselects the given item. This does not cause a
|
||||
wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
@@ -374,7 +375,8 @@ Sets the string value of an item.
|
||||
|
||||
\func{void}{SetStringSelection}{\param{const wxString\& }{ string}, \param{const bool}{ select = TRUE}}
|
||||
|
||||
Sets the current selection.
|
||||
Sets the current selection. This does not cause a
|
||||
wxEVT\_COMMAND\_LISTBOX\_SELECT event to get emitted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
|
@@ -48,8 +48,8 @@ functions that take a \helpref{wxListEvent}{wxlistevent} argument.
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
|
||||
\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
|
||||
@@ -147,11 +147,17 @@ Deletes all the items in the list control.
|
||||
|
||||
Deletes a column.
|
||||
|
||||
\membersection{wxListCtrl::Edit}\label{wxlistctrledit}
|
||||
\membersection{wxListCtrl::EditLabel}\label{wxlistctrledit}
|
||||
|
||||
\func{wxTextCtrl\&}{Edit}{\param{long }{item}}
|
||||
\func{void}{EditLabel}{\param{long }{item}}
|
||||
|
||||
Starts editing a label.
|
||||
Starts editing the label of the given item. This function generates a
|
||||
EVT\_LIST\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no
|
||||
text control will appear for in-place editing.
|
||||
|
||||
If the user changed the label (i.e. s/he does not press ESC or leave
|
||||
the text control without changes, a EVT\_LIST\_END\_LABEL\_EDIT event
|
||||
will be sent which can be vetoed as well.
|
||||
|
||||
\membersection{wxListCtrl::EnsureVisible}\label{wxlistctrlensurevisible}
|
||||
|
||||
|
@@ -4,6 +4,7 @@ A list event holds information about events associated with wxListCtrl objects.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxNotifyEvent}{wxnotifyevent}\\
|
||||
\helpref{wxCommandEvent}{wxcommandevent}\\
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
@@ -21,8 +22,8 @@ functions that take a wxListEvent argument.
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
|
||||
\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
|
||||
|
@@ -96,8 +96,8 @@ format disables timestamping of the messages completely.
|
||||
|
||||
\helpref{SetVerbose}{wxlogsetverbose}\\
|
||||
\helpref{GetVerbose}{wxloggetverbose}\\
|
||||
\helpref{SetTimeStampFormat}{wxlogsettimestampformat}\\
|
||||
\helpref{GetTimeStampFormat}{wxloggettimestampformat}\\
|
||||
\helpref{SetTimestamp}{wxlogsettimestamp}\\
|
||||
\helpref{GetTimestamp}{wxloggettimestamp}\\
|
||||
\helpref{SetTraceMask}{wxlogsettracemask}\\
|
||||
\helpref{GetTraceMask}{wxloggettracemask}
|
||||
|
||||
@@ -162,18 +162,18 @@ logged as the normal ones instead of being silently dropped.
|
||||
|
||||
Returns whether the verbose mode is currently active.
|
||||
|
||||
\membersection{wxLog::SetTimeStampFormat}\label{wxlogsettimestampformat}
|
||||
\membersection{wxLog::SetTimestamp}\label{wxlogsettimestamp}
|
||||
|
||||
\func{void}{SetTimeStampFormat}{\param{const char * }{ format}}
|
||||
\func{void}{SetTimestamp}{\param{const char * }{ format}}
|
||||
|
||||
Sets the timestamp format prepended by the default log targets to all
|
||||
messages. The string may contain any normal characters as well as \%
|
||||
prefixed format specificators, see {\it strftime()} manual for details.
|
||||
Passing an empty string to this function disables message timestamping.
|
||||
Passing a null value (not empty string) to this function disables message timestamping.
|
||||
|
||||
\membersection{wxLog::GetTimeStampFormat}\label{wxloggettimestampformat}
|
||||
\membersection{wxLog::GetTimestamp}\label{wxloggettimestamp}
|
||||
|
||||
\constfunc{const char *}{GetTimeStampFormat}{\void}
|
||||
\constfunc{const char *}{GetTimestamp}{\void}
|
||||
|
||||
Returns the current timestamp format string.
|
||||
|
||||
|
@@ -14,3 +14,4 @@ also has operators for implicit construction from and conversion to the native
|
||||
|
||||
You would usually use this type in exactly the same manner as any other
|
||||
(built-in) arithmetic type.
|
||||
|
||||
|
@@ -30,7 +30,7 @@
|
||||
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||
}}
|
||||
\winhelpignore{\author{Julian Smart, Robert Roebling, Vadim Zeitlin et al}
|
||||
\date{June 12th 1999}
|
||||
\date{August 6th 1999}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
@@ -97,6 +97,7 @@ licendoc.txt) for conditions of software and documentation use.
|
||||
\helpinput{classes.tex}
|
||||
\helpinput{category.tex}
|
||||
\helpinput{topics.tex}
|
||||
\helpinput{wxhtml.tex}
|
||||
\helpinput{wxPython.tex}
|
||||
|
||||
\begin{comment}
|
||||
|
@@ -41,7 +41,8 @@ this window.
|
||||
|
||||
\membersection{wxMenu::wxMenu}\label{wxmenuconstr}
|
||||
|
||||
\func{}{wxMenu}{\param{const wxString\& }{title = ""}, \param{const wxFunction}{ func = NULL}}
|
||||
\func{}{wxMenu}{\param{const wxString\& }{title = ""},
|
||||
\param{const wxFunction}{ func = NULL}\param{long}{ style = 0}}
|
||||
|
||||
Constructs a wxMenu object.
|
||||
|
||||
@@ -51,6 +52,8 @@ Constructs a wxMenu object.
|
||||
|
||||
\docparam{func}{A callback function if the menu is used as a popup using \helpref{wxWindow::PopupMenu}{wxwindowpopupmenu}.}
|
||||
|
||||
\docparam{style}{If set to \tt{wxMENU_TEAROFF}, the menu will be detachable.}
|
||||
|
||||
\pythonnote{The wxPython version of the \tt{wxMenu} constructor
|
||||
doesn't accept the callback argument because of reference counting
|
||||
issues. There is a specialized wxMenu constructor called
|
||||
@@ -60,6 +63,13 @@ otherwise your callback function will get dereferenced when the menu
|
||||
does.
|
||||
}
|
||||
|
||||
\func{}{wxMenu}{\param{long}{ style }}
|
||||
|
||||
Constructs a wxMenu object.
|
||||
|
||||
\wxheading{Parameters}
|
||||
\docparam{style}{If set to \tt{wxMENU_TEAROFF}, the menu will be detachable.}
|
||||
|
||||
\membersection{wxMenu::\destruct{wxMenu}}
|
||||
|
||||
\func{}{\destruct{wxMenu}}{\void}
|
||||
@@ -681,3 +691,8 @@ Use only after the menubar has been associated with a frame.
|
||||
|
||||
\helpref{wxMenuBar::GetLabelTop}{wxmenubargetlabeltop}
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: t
|
||||
%%% End:
|
||||
|
@@ -142,4 +142,3 @@ One of:
|
||||
\twocolitem{{\bf wxMUTEX\_UNLOCKED}}{The calling thread tries to unlock an unlocked mutex.}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
|
@@ -34,7 +34,7 @@ Retrieves the client data pointer associated with the node.
|
||||
|
||||
Retrieves the next node (NULL if at end of list).
|
||||
|
||||
\membersection{wxNodeBase::Previous}
|
||||
\membersection{wxNodeBase::GetPrevious}
|
||||
|
||||
\func{wxNodeBase *}{GetPrevious}{\void}
|
||||
|
||||
|