Compare commits
1 Commits
wxPy_2_5_2
...
wxPython-0
Author | SHA1 | Date | |
---|---|---|---|
|
2d9bf780b8 |
11
.cvsignore
@@ -1,11 +0,0 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
||||
config.cache
|
||||
config.status
|
||||
system.list
|
||||
linux.system.cache
|
||||
wx-config
|
||||
config.log
|
||||
linux-gnu.system.cache
|
175
Makefile
@@ -1,175 +0,0 @@
|
||||
# Top-level Makefile for wxGTK by Wolfram Gloger
|
||||
# based on the version for wx-Xt by Martin Sperl
|
||||
|
||||
SHELL=/bin/sh
|
||||
|
||||
DIRS=src
|
||||
|
||||
#if DIRS are defind make only executes in these diretories
|
||||
all::
|
||||
@if test "x$(DIRS)" = x; then \
|
||||
for i in src samples utils user; do \
|
||||
echo "entering directory $$i building $@"; \
|
||||
(cd $$i; ${MAKE} -k $@); \
|
||||
done; \
|
||||
else \
|
||||
for i in $(DIRS) xxx; do \
|
||||
if test "$$i" != xxx; then \
|
||||
echo "entering directory $$i building $@"; \
|
||||
(cd $$i; ${MAKE} -k $@); \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
# what to do if a target is not understood:
|
||||
# pass it on to all the children...
|
||||
|
||||
.DEFAULT::
|
||||
@if test "x$(DIRS)" = x; then \
|
||||
for i in src samples utils user; do \
|
||||
echo "entering directory $$i building $@"; \
|
||||
(cd $$i; ${MAKE} -k $@); \
|
||||
done; \
|
||||
else \
|
||||
for i in $(DIRS) xxx; do \
|
||||
if test "$$i" != xxx; then \
|
||||
echo "entering directory $$i building $@"; \
|
||||
(cd $$i; ${MAKE} -k $@); \
|
||||
fi; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
src::
|
||||
@echo "entering directory src building all"
|
||||
@cd src; ${MAKE} all
|
||||
|
||||
samples::
|
||||
@echo "entering directory samples building all"
|
||||
@cd samples; ${MAKE} all
|
||||
|
||||
utils::
|
||||
@echo "entering directory utils building all"
|
||||
@cd utils; ${MAKE} all
|
||||
|
||||
user::
|
||||
@echo "entering directory user building all"
|
||||
@cd user; ${MAKE} all
|
||||
|
||||
install::
|
||||
@echo "entering directory src for installing"
|
||||
@cd src; ${MAKE} install
|
||||
# @echo "entering directory utils for installing"
|
||||
# @cd utils; ${MAKE} install
|
||||
|
||||
# the following ones recreate all Makefiles.
|
||||
|
||||
makefiles:: recreate
|
||||
Makefiles:: recreate
|
||||
recreate::
|
||||
@setup/general/createall
|
||||
|
||||
# the following ones define what needs to be done to distribute the
|
||||
# library and its components
|
||||
|
||||
distribute:: distrib
|
||||
distrib:: distrib_base distrib_user join_utils join_samples
|
||||
|
||||
distrib_samples::
|
||||
@echo "entering directory samples creating distribution files"
|
||||
@(cd samples; ${MAKE} -k distrib)
|
||||
|
||||
distrib_user::
|
||||
@echo "entering directory user creating distribution files"
|
||||
@(cd user; ${MAKE} -k distrib)
|
||||
|
||||
distrib_utils::
|
||||
@echo "entering directory utils creating distribution files"
|
||||
@(cd utils; ${MAKE} -k distrib)
|
||||
|
||||
join_utils:: distrib_utils
|
||||
@$(MAKE) join \
|
||||
BASEDIR=utils \
|
||||
FILES=`echo distrib/utils/*.tgz `
|
||||
|
||||
join_samples:: distrib_samples
|
||||
@$(MAKE) join \
|
||||
BASEDIR=samples \
|
||||
FILES=`echo distrib/samples/*.tgz `
|
||||
|
||||
join_user:: distrib_user
|
||||
@$(MAKE) join \
|
||||
BASEDIR=user \
|
||||
FILES=`echo distrib/user/*.tgz `
|
||||
|
||||
join::
|
||||
@# needed are BASEDIR and FILES
|
||||
@if test "x$$BASEDIR" = x; then\
|
||||
echo "BASEDIR not specified.";\
|
||||
exit -1;\
|
||||
fi
|
||||
@if test "x$$FILES" != x ; then \
|
||||
echo "putting all seperate distribution files:";\
|
||||
echo "$$FILES";\
|
||||
echo "into distrib/$(BASEDIR).tgz";\
|
||||
src/gtk/setup/general/jointar $(BASEDIR) $$FILES distrib/$(BASEDIR).tgz; \
|
||||
else \
|
||||
echo "Nothing to join - deleting..."; \
|
||||
echo "This may be the case, if you have not specified FILES."\
|
||||
rm -f distrib/$(BASEDIR).tgz; \
|
||||
fi
|
||||
|
||||
distrib_base::
|
||||
@if test ! -d distrib ; then mkdir distrib; fi;
|
||||
@if test ! -f system.list ; then \
|
||||
echo "dummy" > system.list;\
|
||||
fi
|
||||
@(curr=`pwd`; direc=`basename $$curr`;\
|
||||
(cd ..; \
|
||||
echo creating distrib/$$direc.tar from the current directory;\
|
||||
tar -cf /tmp/$$direc.tar \
|
||||
$$direc/COPYING\
|
||||
$$direc/INSTALL\
|
||||
$$direc/Makefile\
|
||||
$$direc/template.mak\
|
||||
$$direc/configure\
|
||||
$$direc/configure.in\
|
||||
$$direc/config.guess\
|
||||
$$direc/config.sub\
|
||||
$$direc/install-sh\
|
||||
$$direc/user/Makefile \
|
||||
$$direc/utils/Makefile \
|
||||
$$direc/samples/Makefile \
|
||||
;\
|
||||
sed "s|^\(.*\)$$|/\1/|g" $$direc/system.list \
|
||||
| uniq > /tmp/$$direc.list; \
|
||||
echo "/RCS/" >> /tmp/$$direc.list; \
|
||||
for each in misc docs wx src setup; do \
|
||||
tar -uf /tmp/$$direc.tar \
|
||||
`\
|
||||
find $$direc/$$each \( -type f -o -type l \) -print \
|
||||
| fgrep -vf /tmp/$$direc.list \
|
||||
| grep -v "[~#]$$" \
|
||||
` ;\
|
||||
done; \
|
||||
echo compressing $$direc.tar to $$direc.tgz;\
|
||||
gzip -9 -c /tmp/$$direc.tar > $$direc/distrib/$$direc.tgz;\
|
||||
rm /tmp/$$direc.tar /tmp/$$direc.list;\
|
||||
)\
|
||||
)
|
||||
|
||||
# the following ones are only needed if configure.in has changed
|
||||
# and needs to be updated...
|
||||
|
||||
config:: configure
|
||||
|
||||
configure::
|
||||
@autoconf
|
||||
@cat configure \
|
||||
| sed "s/config.cache/\$$OSTYPE.config.cache/g" \
|
||||
| sed "s/config.status/\$$OSTYPE.config.status/g" \
|
||||
| sed "s/\*\*--/ --/g" \
|
||||
> configure1
|
||||
@chmod a+x configure1
|
||||
@mv configure1 configure
|
||||
|
||||
|
599
config.guess
vendored
@@ -1,599 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Written by Per Bothner <bothner@cygnus.com>.
|
||||
# The master version of this file is at the FSF in /home/gd/gnu/lib.
|
||||
#
|
||||
# This script attempts to guess a canonical system name similar to
|
||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||
# exits with 0. Otherwise, it exits with 1.
|
||||
#
|
||||
# The plan is that this can be called by configure scripts if you
|
||||
# don't specify an explicit system type (host/target name).
|
||||
#
|
||||
# Only a few systems have been added to this list; please add others
|
||||
# (but try to keep the structure clean).
|
||||
#
|
||||
|
||||
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
|
||||
# (ghazi@noc.rutgers.edu 8/24/94.)
|
||||
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
|
||||
PATH=$PATH:/.attbin ; export PATH
|
||||
fi
|
||||
|
||||
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
|
||||
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
|
||||
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
|
||||
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
|
||||
|
||||
trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
|
||||
|
||||
# Note: order is significant - the case branches are not exclusive.
|
||||
|
||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||
alpha:OSF1:[VX]*:*)
|
||||
# After 1.2, OSF1 uses "V1.3" for uname -r.
|
||||
# After 4.x, OSF1 uses "X4.x" for uname -r.
|
||||
echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VX]//'`
|
||||
exit 0 ;;
|
||||
alpha:OSF1:*:*)
|
||||
# 1.2 uses "1.2" for uname -r.
|
||||
echo alpha-dec-osf${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
21064:Windows_NT:50:3)
|
||||
echo alpha-dec-winnt3.5
|
||||
exit 0 ;;
|
||||
Amiga*:UNIX_System_V:4.0:*)
|
||||
echo m68k-cbm-sysv4
|
||||
exit 0;;
|
||||
amiga:NetBSD:*:*)
|
||||
echo m68k-cbm-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||
exit 0;;
|
||||
Pyramid*:OSx*:*:*)
|
||||
if test "`(/bin/universe) 2>/dev/null`" = att ; then
|
||||
echo pyramid-pyramid-sysv3
|
||||
else
|
||||
echo pyramid-pyramid-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:5.*:*)
|
||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
i86pc:SunOS:5.*:*)
|
||||
echo i386-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:6*:*)
|
||||
# According to config.sub, this is the proper way to canonicalize
|
||||
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
|
||||
# it's likely to be more like Solaris than SunOS4.
|
||||
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||
exit 0 ;;
|
||||
sun4*:SunOS:*:*)
|
||||
case "`/usr/bin/arch -k`" in
|
||||
Series*|S4*)
|
||||
UNAME_RELEASE=`uname -v`
|
||||
;;
|
||||
esac
|
||||
# Japanese Language versions have a version number like `4.1.3-JL'.
|
||||
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
|
||||
exit 0 ;;
|
||||
sun3*:SunOS:*:*)
|
||||
echo m68k-sun-sunos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
atari*:NetBSD:*:*)
|
||||
echo m68k-atari-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
sun3*:NetBSD:*:*)
|
||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mac68k:NetBSD:*:*)
|
||||
echo m68k-apple-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RISC*:ULTRIX:*:*)
|
||||
echo mips-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
VAX*:ULTRIX*:*:*)
|
||||
echo vax-dec-ultrix${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mips:*:4*:UMIPS)
|
||||
echo mips-mips-riscos4sysv
|
||||
exit 0 ;;
|
||||
mips:*:5*:RISCos)
|
||||
echo mips-mips-riscos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
Night_Hawk:Power_UNIX:*:*)
|
||||
echo powerpc-harris-powerunix
|
||||
exit 0 ;;
|
||||
m88k:CX/UX:7*:*)
|
||||
echo m88k-harris-cxux7
|
||||
exit 0 ;;
|
||||
m88k:*:4*:R4*)
|
||||
echo m88k-motorola-sysv4
|
||||
exit 0 ;;
|
||||
m88k:*:3*:R3*)
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
AViiON:dgux:*:*)
|
||||
# DG/UX returns AViiON for all architectures
|
||||
UNAME_PROCESSOR=`uname -p`
|
||||
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88100 ] ; then
|
||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||
else
|
||||
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||
fi
|
||||
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||
echo m88k-dolphin-sysv3
|
||||
exit 0 ;;
|
||||
M88*:*:R3*:*)
|
||||
# Delta 88k system running SVR3
|
||||
echo m88k-motorola-sysv3
|
||||
exit 0 ;;
|
||||
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
|
||||
echo m88k-tektronix-sysv3
|
||||
exit 0 ;;
|
||||
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
|
||||
echo m68k-tektronix-bsd
|
||||
exit 0 ;;
|
||||
*:IRIX*:*:*)
|
||||
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
|
||||
exit 0 ;;
|
||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||
i[34]86:AIX:*:*)
|
||||
echo i386-ibm-aix
|
||||
exit 0 ;;
|
||||
*:AIX:2:3)
|
||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <sys/systemcfg.h>
|
||||
|
||||
main()
|
||||
{
|
||||
if (!__power_pc())
|
||||
exit(1);
|
||||
puts("powerpc-ibm-aix3.2.5");
|
||||
exit(0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo rs6000-ibm-aix3.2.5
|
||||
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||
echo rs6000-ibm-aix3.2.4
|
||||
else
|
||||
echo rs6000-ibm-aix3.2
|
||||
fi
|
||||
exit 0 ;;
|
||||
*:AIX:*:4)
|
||||
if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
|
||||
IBM_ARCH=rs6000
|
||||
else
|
||||
IBM_ARCH=powerpc
|
||||
fi
|
||||
if [ -x /usr/bin/oslevel ] ; then
|
||||
IBM_REV=`/usr/bin/oslevel`
|
||||
else
|
||||
IBM_REV=4.${UNAME_RELEASE}
|
||||
fi
|
||||
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
|
||||
exit 0 ;;
|
||||
*:AIX:*:*)
|
||||
echo rs6000-ibm-aix
|
||||
exit 0 ;;
|
||||
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||
echo romp-ibm-bsd4.4
|
||||
exit 0 ;;
|
||||
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||
*:BOSX:*:*)
|
||||
echo rs6000-bull-bosx
|
||||
exit 0 ;;
|
||||
DPX/2?00:B.O.S.:*:*)
|
||||
echo m68k-bull-sysv3
|
||||
exit 0 ;;
|
||||
9000/[34]??:4.3bsd:1.*:*)
|
||||
echo m68k-hp-bsd
|
||||
exit 0 ;;
|
||||
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
|
||||
echo m68k-hp-bsd4.4
|
||||
exit 0 ;;
|
||||
9000/[3478]??:HP-UX:*:*)
|
||||
case "${UNAME_MACHINE}" in
|
||||
9000/31? ) HP_ARCH=m68000 ;;
|
||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||
9000/7?? | 9000/8?[679] ) HP_ARCH=hppa1.1 ;;
|
||||
9000/8?? ) HP_ARCH=hppa1.0 ;;
|
||||
esac
|
||||
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
|
||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||
exit 0 ;;
|
||||
3050*:HI-UX:*:*)
|
||||
sed 's/^ //' << EOF >dummy.c
|
||||
#include <unistd.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
long cpu = sysconf (_SC_CPU_VERSION);
|
||||
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||
results, however. */
|
||||
if (CPU_IS_PA_RISC (cpu))
|
||||
{
|
||||
switch (cpu)
|
||||
{
|
||||
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
|
||||
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
|
||||
default: puts ("hppa-hitachi-hiuxwe2"); break;
|
||||
}
|
||||
}
|
||||
else if (CPU_IS_HP_MC68K (cpu))
|
||||
puts ("m68k-hitachi-hiuxwe2");
|
||||
else puts ("unknown-hitachi-hiuxwe2");
|
||||
exit (0);
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
echo unknown-hitachi-hiuxwe2
|
||||
exit 0 ;;
|
||||
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
|
||||
echo hppa1.1-hp-bsd
|
||||
exit 0 ;;
|
||||
9000/8??:4.3bsd:*:*)
|
||||
echo hppa1.0-hp-bsd
|
||||
exit 0 ;;
|
||||
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
|
||||
echo hppa1.1-hp-osf
|
||||
exit 0 ;;
|
||||
hp8??:OSF1:*:*)
|
||||
echo hppa1.0-hp-osf
|
||||
exit 0 ;;
|
||||
parisc*:Lites*:*:*)
|
||||
echo hppa1.1-hp-lites
|
||||
exit 0 ;;
|
||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
CRAY*X-MP:*:*:*)
|
||||
echo xmp-cray-unicos
|
||||
exit 0 ;;
|
||||
CRAY*Y-MP:*:*:*)
|
||||
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY*C90:*:*:*)
|
||||
echo c90-cray-unicos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
CRAY-2:*:*:*)
|
||||
echo cray2-cray-unicos
|
||||
exit 0 ;;
|
||||
hp3[0-9][05]:NetBSD:*:*)
|
||||
echo m68k-hp-netbsd${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
*:FreeBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||
exit 0 ;;
|
||||
*:NetBSD:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
|
||||
exit 0 ;;
|
||||
i*:CYGWIN*:*)
|
||||
echo i386-unknown-cygwin32
|
||||
exit 0 ;;
|
||||
p*:CYGWIN*:*)
|
||||
echo powerpcle-unknown-cygwin32
|
||||
exit 0 ;;
|
||||
*:GNU:*:*)
|
||||
echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
|
||||
exit 0 ;;
|
||||
*:Linux:*:*)
|
||||
# The BFD linker knows what the default object file format is, so
|
||||
# first see if it will tell us.
|
||||
ld_help_string=`ld --help 2>&1`
|
||||
if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
|
||||
elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
|
||||
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
|
||||
elif test "${UNAME_MACHINE}" = "alpha" ; then
|
||||
echo alpha-unknown-linux ; exit 0
|
||||
else
|
||||
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
|
||||
# useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
|
||||
test ! -d /usr/lib/ldscripts/. \
|
||||
&& echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
|
||||
# Determine whether the default compiler is a.out or elf
|
||||
cat >dummy.c <<EOF
|
||||
main(argc, argv)
|
||||
int argc;
|
||||
char *argv[];
|
||||
{
|
||||
#ifdef __ELF__
|
||||
printf ("%s-unknown-linux\n", argv[1]);
|
||||
#else
|
||||
printf ("%s-unknown-linuxaout\n", argv[1]);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
fi ;;
|
||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
|
||||
# are messed up and put the nodename in both sysname and nodename.
|
||||
i[34]86:DYNIX/ptx:4*:*)
|
||||
echo i386-sequent-sysv4
|
||||
exit 0 ;;
|
||||
i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
|
||||
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
|
||||
echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
i[34]86:*:3.2:*)
|
||||
if test -f /usr/options/cb.name; then
|
||||
UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
|
||||
echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
|
||||
elif /bin/uname -X 2>/dev/null >/dev/null ; then
|
||||
UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
|
||||
(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
|
||||
(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
|
||||
&& UNAME_MACHINE=i586
|
||||
echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
|
||||
else
|
||||
echo ${UNAME_MACHINE}-unknown-sysv32
|
||||
fi
|
||||
exit 0 ;;
|
||||
Intel:Mach:3*:*)
|
||||
echo i386-unknown-mach3
|
||||
exit 0 ;;
|
||||
paragon:*:*:*)
|
||||
echo i860-intel-osf1
|
||||
exit 0 ;;
|
||||
i860:*:4.*:*) # i860-SVR4
|
||||
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
|
||||
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
|
||||
else # Add other i860-SVR4 vendors below as they are discovered.
|
||||
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
|
||||
fi
|
||||
exit 0 ;;
|
||||
mini*:CTIX:SYS*5:*)
|
||||
# "miniframe"
|
||||
echo m68010-convergent-sysv
|
||||
exit 0 ;;
|
||||
M680[234]0:*:R3V[567]*:*)
|
||||
test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
|
||||
3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
|
||||
uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4.3 && exit 0 ;;
|
||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||
uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||
m680[234]0:LynxOS:2.[23]*:*)
|
||||
echo m68k-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
mc68030:UNIX_System_V:4.*:*)
|
||||
echo m68k-atari-sysv4
|
||||
exit 0 ;;
|
||||
i[34]86:LynxOS:2.[23]*:*)
|
||||
echo i386-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
TSUNAMI:LynxOS:2.[23]*:*)
|
||||
echo sparc-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
rs6000:LynxOS:2.[23]*:*)
|
||||
echo rs6000-lynx-lynxos${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
RM*:SINIX-*:*:*)
|
||||
echo mips-sni-sysv4
|
||||
exit 0 ;;
|
||||
*:SINIX-*:*:*)
|
||||
if uname -p 2>/dev/null >/dev/null ; then
|
||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||
echo ${UNAME_MACHINE}-sni-sysv4
|
||||
else
|
||||
echo ns32k-sni-sysv
|
||||
fi
|
||||
exit 0 ;;
|
||||
mc68*:A/UX:*:*)
|
||||
echo m68k-apple-aux${UNAME_RELEASE}
|
||||
exit 0 ;;
|
||||
R3000:*System_V*:*:*)
|
||||
if [ -d /usr/nec ]; then
|
||||
echo mips-nec-sysv${UNAME_RELEASE}
|
||||
else
|
||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||
fi
|
||||
exit 0 ;;
|
||||
esac
|
||||
|
||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
|
||||
|
||||
cat >dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3");
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-unknown-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
#if !defined (ultrix)
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
#else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
|
||||
rm -f dummy.c dummy
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit 0 ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit 0 ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit 0 ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit 0 ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit 0 ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
#echo '(Unable to guess system type)' 1>&2
|
||||
|
||||
exit 1
|
927
config.sub
vendored
@@ -1,927 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script, version 1.1.
|
||||
# Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
|
||||
# This file is (in principle) common to ALL GNU software.
|
||||
# The presence of a machine in this file suggests that SOME GNU software
|
||||
# can handle that machine. It does not imply ALL GNU software can.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
# Boston, MA 02111-1307, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||
# Supply the specified configuration type as an argument.
|
||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
# that are meaningful with *any* GNU software.
|
||||
# Each package is responsible for reporting which valid configurations
|
||||
# it does not support. The user should be able to distinguish
|
||||
# a failure to support a valid configuration from a meaningless
|
||||
# configuration.
|
||||
|
||||
# The goal of this file is to map all the various variations of a given
|
||||
# machine specification into a single specification in the form:
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or in some cases, the newer four-part form:
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
# It is wrong to echo any other type of specification.
|
||||
|
||||
if [ x$1 = x ]
|
||||
then
|
||||
echo Configuration name missing. 1>&2
|
||||
echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
|
||||
echo "or $0 ALIAS" 1>&2
|
||||
echo where ALIAS is a recognized configuration type. 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# First pass through any local machine types.
|
||||
case $1 in
|
||||
*local*)
|
||||
echo $1
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
linux-gnu*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
*)
|
||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||
if [ $basic_machine != $1 ]
|
||||
then os=`echo $1 | sed 's/.*-/-/'`
|
||||
else os=; fi
|
||||
;;
|
||||
esac
|
||||
|
||||
### Let's recognize common machines as not being operating systems so
|
||||
### that things like config.sub decstation-3100 work. We also
|
||||
### recognize some manufacturers as not being operating systems, so we
|
||||
### can provide default operating systems below.
|
||||
case $os in
|
||||
-sun*os*)
|
||||
# Prevent following clause from handling this invalid input.
|
||||
;;
|
||||
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
|
||||
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
|
||||
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
|
||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||
-apple)
|
||||
os=
|
||||
basic_machine=$1
|
||||
;;
|
||||
-hiux*)
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
-sco5)
|
||||
os=sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco4)
|
||||
os=-sco3.2v4
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2v[4-9]*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-isc)
|
||||
os=-isc2.2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-clix*)
|
||||
basic_machine=clipper-intergraph
|
||||
;;
|
||||
-isc*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-lynx*)
|
||||
os=-lynxos
|
||||
;;
|
||||
-ptx*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-windowsnt*)
|
||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||
;;
|
||||
-psos*)
|
||||
os=-psos
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode aliases for certain CPU-COMPANY combinations.
|
||||
case $basic_machine in
|
||||
# Recognize the basic CPU types without company name.
|
||||
# Some are omitted here because they have special meanings below.
|
||||
tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
|
||||
| arme[lb] | pyramid \
|
||||
| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
|
||||
| alpha | we32k | ns16k | clipper | i370 | sh \
|
||||
| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
|
||||
| pdp11 | mips64el | mips64orion | mips64orionel \
|
||||
| sparc | sparclet | sparclite | sparc64)
|
||||
basic_machine=$basic_machine-unknown
|
||||
;;
|
||||
# We use `pc' rather than `unknown'
|
||||
# because (1) that's what they normally are, and
|
||||
# (2) the word "unknown" tends to confuse beginning users.
|
||||
i[3456]86)
|
||||
basic_machine=$basic_machine-pc
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
*-*-*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
|
||||
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
|
||||
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
|
||||
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
|
||||
| hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
|
||||
| pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
|
||||
| pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
|
||||
| mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
|
||||
;;
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
basic_machine=m68000-att
|
||||
;;
|
||||
3b*)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
alliant | fx80)
|
||||
basic_machine=fx80-alliant
|
||||
;;
|
||||
altos | altos3068)
|
||||
basic_machine=m68k-altos
|
||||
;;
|
||||
am29k)
|
||||
basic_machine=a29k-none
|
||||
os=-bsd
|
||||
;;
|
||||
amdahl)
|
||||
basic_machine=580-amdahl
|
||||
os=-sysv
|
||||
;;
|
||||
amiga | amiga-*)
|
||||
basic_machine=m68k-cbm
|
||||
;;
|
||||
amigados)
|
||||
basic_machine=m68k-cbm
|
||||
os=-amigados
|
||||
;;
|
||||
amigaunix | amix)
|
||||
basic_machine=m68k-cbm
|
||||
os=-sysv4
|
||||
;;
|
||||
apollo68)
|
||||
basic_machine=m68k-apollo
|
||||
os=-sysv
|
||||
;;
|
||||
aux)
|
||||
basic_machine=m68k-apple
|
||||
os=-aux
|
||||
;;
|
||||
balance)
|
||||
basic_machine=ns32k-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
convex-c1)
|
||||
basic_machine=c1-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c2)
|
||||
basic_machine=c2-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c32)
|
||||
basic_machine=c32-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c34)
|
||||
basic_machine=c34-convex
|
||||
os=-bsd
|
||||
;;
|
||||
convex-c38)
|
||||
basic_machine=c38-convex
|
||||
os=-bsd
|
||||
;;
|
||||
cray | ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
cray2)
|
||||
basic_machine=cray2-cray
|
||||
os=-unicos
|
||||
;;
|
||||
[ctj]90-cray)
|
||||
basic_machine=c90-cray
|
||||
os=-unicos
|
||||
;;
|
||||
crds | unos)
|
||||
basic_machine=m68k-crds
|
||||
;;
|
||||
da30 | da30-*)
|
||||
basic_machine=m68k-da30
|
||||
;;
|
||||
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
|
||||
basic_machine=mips-dec
|
||||
;;
|
||||
delta | 3300 | motorola-3300 | motorola-delta \
|
||||
| 3300-motorola | delta-motorola)
|
||||
basic_machine=m68k-motorola
|
||||
;;
|
||||
delta88)
|
||||
basic_machine=m88k-motorola
|
||||
os=-sysv3
|
||||
;;
|
||||
dpx20 | dpx20-*)
|
||||
basic_machine=rs6000-bull
|
||||
os=-bosx
|
||||
;;
|
||||
dpx2* | dpx2*-bull)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
ebmon29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-ebmon
|
||||
;;
|
||||
elxsi)
|
||||
basic_machine=elxsi-elxsi
|
||||
os=-bsd
|
||||
;;
|
||||
encore | umax | mmax)
|
||||
basic_machine=ns32k-encore
|
||||
;;
|
||||
fx2800)
|
||||
basic_machine=i860-alliant
|
||||
;;
|
||||
genix)
|
||||
basic_machine=ns32k-ns
|
||||
;;
|
||||
gmicro)
|
||||
basic_machine=tron-gmicro
|
||||
os=-sysv
|
||||
;;
|
||||
h3050r* | hiux*)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
h8300hms)
|
||||
basic_machine=h8300-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
harris)
|
||||
basic_machine=m88k-harris
|
||||
os=-sysv3
|
||||
;;
|
||||
hp300-*)
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp300bsd)
|
||||
basic_machine=m68k-hp
|
||||
os=-bsd
|
||||
;;
|
||||
hp300hpux)
|
||||
basic_machine=m68k-hp
|
||||
os=-hpux
|
||||
;;
|
||||
hp9k2[0-9][0-9] | hp9k31[0-9])
|
||||
basic_machine=m68000-hp
|
||||
;;
|
||||
hp9k3[2-9][0-9])
|
||||
basic_machine=m68k-hp
|
||||
;;
|
||||
hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
|
||||
basic_machine=hppa1.1-hp
|
||||
;;
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
i370-ibm* | ibm*)
|
||||
basic_machine=i370-ibm
|
||||
os=-mvs
|
||||
;;
|
||||
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
|
||||
i[3456]86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i[3456]86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i[3456]86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i[3456]86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
iris | iris4d)
|
||||
basic_machine=mips-sgi
|
||||
case $os in
|
||||
-irix*)
|
||||
;;
|
||||
*)
|
||||
os=-irix4
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
isi68 | isi)
|
||||
basic_machine=m68k-isi
|
||||
os=-sysv
|
||||
;;
|
||||
m88k-omron*)
|
||||
basic_machine=m88k-omron
|
||||
;;
|
||||
magnum | m3230)
|
||||
basic_machine=mips-mips
|
||||
os=-sysv
|
||||
;;
|
||||
merlin)
|
||||
basic_machine=ns32k-utek
|
||||
os=-sysv
|
||||
;;
|
||||
miniframe)
|
||||
basic_machine=m68000-convergent
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
mips3*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||
;;
|
||||
ncr3000)
|
||||
basic_machine=i486-ncr
|
||||
os=-sysv4
|
||||
;;
|
||||
news | news700 | news800 | news900)
|
||||
basic_machine=m68k-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news1000)
|
||||
basic_machine=m68030-sony
|
||||
os=-newsos
|
||||
;;
|
||||
news-3600 | risc-news)
|
||||
basic_machine=mips-sony
|
||||
os=-newsos
|
||||
;;
|
||||
next | m*-next )
|
||||
basic_machine=m68k-next
|
||||
case $os in
|
||||
-nextstep* )
|
||||
;;
|
||||
-ns2*)
|
||||
os=-nextstep2
|
||||
;;
|
||||
*)
|
||||
os=-nextstep3
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
nh3000)
|
||||
basic_machine=m68k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nh[45]000)
|
||||
basic_machine=m88k-harris
|
||||
os=-cxux
|
||||
;;
|
||||
nindy960)
|
||||
basic_machine=i960-intel
|
||||
os=-nindy
|
||||
;;
|
||||
np1)
|
||||
basic_machine=np1-gould
|
||||
;;
|
||||
pa-hitachi)
|
||||
basic_machine=hppa1.1-hitachi
|
||||
os=-hiuxwe2
|
||||
;;
|
||||
paragon)
|
||||
basic_machine=i860-intel
|
||||
os=-osf
|
||||
;;
|
||||
pbd)
|
||||
basic_machine=sparc-tti
|
||||
;;
|
||||
pbb)
|
||||
basic_machine=m68k-tti
|
||||
;;
|
||||
pc532 | pc532-*)
|
||||
basic_machine=ns32k-pc532
|
||||
;;
|
||||
pentium | p5)
|
||||
basic_machine=i586-intel
|
||||
;;
|
||||
pentiumpro | p6)
|
||||
basic_machine=i686-intel
|
||||
;;
|
||||
pentium-* | p5-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
k5)
|
||||
# We don't have specific support for AMD's K5 yet, so just call it a Pentium
|
||||
basic_machine=i586-amd
|
||||
;;
|
||||
nexen)
|
||||
# We don't have specific support for Nexgen yet, so just call it a Pentium
|
||||
basic_machine=i586-nexgen
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
;;
|
||||
power) basic_machine=rs6000-ibm
|
||||
;;
|
||||
ppc) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
;;
|
||||
rm[46]00)
|
||||
basic_machine=mips-siemens
|
||||
;;
|
||||
rtpc | rtpc-*)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sps7)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv2
|
||||
;;
|
||||
spur)
|
||||
basic_machine=spur-unknown
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
;;
|
||||
sun2os3)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun2os4)
|
||||
basic_machine=m68000-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun3os3)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun3os4)
|
||||
basic_machine=m68k-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4os3)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos3
|
||||
;;
|
||||
sun4os4)
|
||||
basic_machine=sparc-sun
|
||||
os=-sunos4
|
||||
;;
|
||||
sun4sol2)
|
||||
basic_machine=sparc-sun
|
||||
os=-solaris2
|
||||
;;
|
||||
sun3 | sun3-*)
|
||||
basic_machine=m68k-sun
|
||||
;;
|
||||
sun4)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
sun386 | sun386i | roadrunner)
|
||||
basic_machine=i386-sun
|
||||
;;
|
||||
symmetry)
|
||||
basic_machine=i386-sequent
|
||||
os=-dynix
|
||||
;;
|
||||
tower | tower-32)
|
||||
basic_machine=m68k-ncr
|
||||
;;
|
||||
udi29k)
|
||||
basic_machine=a29k-amd
|
||||
os=-udi
|
||||
;;
|
||||
ultra3)
|
||||
basic_machine=a29k-nyu
|
||||
os=-sym1
|
||||
;;
|
||||
vaxv)
|
||||
basic_machine=vax-dec
|
||||
os=-sysv
|
||||
;;
|
||||
vms)
|
||||
basic_machine=vax-dec
|
||||
os=-vms
|
||||
;;
|
||||
vpp*|vx|vx-*)
|
||||
basic_machine=f301-fujitsu
|
||||
;;
|
||||
vxworks960)
|
||||
basic_machine=i960-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks68)
|
||||
basic_machine=m68k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
vxworks29k)
|
||||
basic_machine=a29k-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
xmp)
|
||||
basic_machine=xmp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
xps | xps100)
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
;;
|
||||
|
||||
# Here we handle the default manufacturer of certain CPU types. It is in
|
||||
# some cases the only manufacturer, in others, it is the most popular.
|
||||
mips)
|
||||
basic_machine=mips-mips
|
||||
;;
|
||||
romp)
|
||||
basic_machine=romp-ibm
|
||||
;;
|
||||
rs6000)
|
||||
basic_machine=rs6000-ibm
|
||||
;;
|
||||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
we32k)
|
||||
basic_machine=we32k-att
|
||||
;;
|
||||
sparc)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
orion)
|
||||
basic_machine=orion-highlevel
|
||||
;;
|
||||
orion105)
|
||||
basic_machine=clipper-highlevel
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# Here we canonicalize certain aliases for manufacturers.
|
||||
case $basic_machine in
|
||||
*-digital*)
|
||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||
;;
|
||||
*-commodore*)
|
||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Decode manufacturer-specific aliases for certain operating systems.
|
||||
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-solaris1 | -solaris1.*)
|
||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||
;;
|
||||
-solaris)
|
||||
os=-solaris2
|
||||
;;
|
||||
-unixware* | svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-gnu/linux*)
|
||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||
;;
|
||||
# First accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||
| -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
|
||||
| -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -linux-gnu* | -uxpv*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-linux*)
|
||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||
;;
|
||||
-sunos5*)
|
||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||
;;
|
||||
-sunos6*)
|
||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
-dynix*)
|
||||
os=-bsd
|
||||
;;
|
||||
-acis*)
|
||||
os=-aos
|
||||
;;
|
||||
-ctix* | -uts*)
|
||||
os=-sysv
|
||||
;;
|
||||
-ns2 )
|
||||
os=-nextstep2
|
||||
;;
|
||||
# Preserve the version number of sinix5.
|
||||
-sinix5.*)
|
||||
os=`echo $os | sed -e 's|sinix|sysv|'`
|
||||
;;
|
||||
-sinix*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-triton*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-svr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
-svr3)
|
||||
os=-sysv3
|
||||
;;
|
||||
-sysvr4)
|
||||
os=-sysv4
|
||||
;;
|
||||
# This must come after -sysvr4.
|
||||
-sysv*)
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-none)
|
||||
;;
|
||||
*)
|
||||
# Get rid of the `-' at the beginning of $os.
|
||||
os=`echo $os | sed 's/[^-]*-//'`
|
||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
|
||||
# Here we handle the default operating systems that come with various machines.
|
||||
# The value should be what the vendor currently ships out the door with their
|
||||
# machine or put another way, the most popular os provided with the machine.
|
||||
|
||||
# Note that if you're going to try to match "-MANUFACTURER" here (say,
|
||||
# "-sun"), then you have to tell the case statement up towards the top
|
||||
# that MANUFACTURER isn't an operating system. Otherwise, code above
|
||||
# will signal an error saying that MANUFACTURER isn't an operating
|
||||
# system, and we'll never get to this point.
|
||||
|
||||
case $basic_machine in
|
||||
*-acorn)
|
||||
os=-riscix1.2
|
||||
;;
|
||||
arm*-semi)
|
||||
os=-aout
|
||||
;;
|
||||
pdp11-*)
|
||||
os=-none
|
||||
;;
|
||||
*-dec | vax-*)
|
||||
os=-ultrix4.2
|
||||
;;
|
||||
m68*-apollo)
|
||||
os=-domain
|
||||
;;
|
||||
i386-sun)
|
||||
os=-sunos4.0.2
|
||||
;;
|
||||
m68000-sun)
|
||||
os=-sunos3
|
||||
# This also exists in the configure program, but was not the
|
||||
# default.
|
||||
# os=-sunos4
|
||||
;;
|
||||
*-tti) # must be before sparc entry or we get the wrong os.
|
||||
os=-sysv3
|
||||
;;
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
*-hp)
|
||||
os=-hpux
|
||||
;;
|
||||
*-hitachi)
|
||||
os=-hiux
|
||||
;;
|
||||
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
|
||||
os=-sysv
|
||||
;;
|
||||
*-cbm)
|
||||
os=-amigados
|
||||
;;
|
||||
*-dg)
|
||||
os=-dgux
|
||||
;;
|
||||
*-dolphin)
|
||||
os=-sysv3
|
||||
;;
|
||||
m68k-ccur)
|
||||
os=-rtu
|
||||
;;
|
||||
m88k-omron*)
|
||||
os=-luna
|
||||
;;
|
||||
*-next )
|
||||
os=-nextstep
|
||||
;;
|
||||
*-sequent)
|
||||
os=-ptx
|
||||
;;
|
||||
*-crds)
|
||||
os=-unos
|
||||
;;
|
||||
*-ns)
|
||||
os=-genix
|
||||
;;
|
||||
i370-*)
|
||||
os=-mvs
|
||||
;;
|
||||
*-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
*-gould)
|
||||
os=-sysv
|
||||
;;
|
||||
*-highlevel)
|
||||
os=-bsd
|
||||
;;
|
||||
*-encore)
|
||||
os=-bsd
|
||||
;;
|
||||
*-sgi)
|
||||
os=-irix
|
||||
;;
|
||||
*-siemens)
|
||||
os=-sysv4
|
||||
;;
|
||||
*-masscomp)
|
||||
os=-rtu
|
||||
;;
|
||||
f301-fujitsu)
|
||||
os=-uxpv
|
||||
;;
|
||||
*)
|
||||
os=-none
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Here we handle the case where we know the os, and the CPU type, but not the
|
||||
# manufacturer. We pick the logical manufacturer.
|
||||
vendor=unknown
|
||||
case $basic_machine in
|
||||
*-unknown)
|
||||
case $os in
|
||||
-riscix*)
|
||||
vendor=acorn
|
||||
;;
|
||||
-sunos*)
|
||||
vendor=sun
|
||||
;;
|
||||
-aix*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-hpux*)
|
||||
vendor=hp
|
||||
;;
|
||||
-hiux*)
|
||||
vendor=hitachi
|
||||
;;
|
||||
-unos*)
|
||||
vendor=crds
|
||||
;;
|
||||
-dgux*)
|
||||
vendor=dg
|
||||
;;
|
||||
-luna*)
|
||||
vendor=omron
|
||||
;;
|
||||
-genix*)
|
||||
vendor=ns
|
||||
;;
|
||||
-mvs*)
|
||||
vendor=ibm
|
||||
;;
|
||||
-ptx*)
|
||||
vendor=sequent
|
||||
;;
|
||||
-vxsim* | -vxworks*)
|
||||
vendor=wrs
|
||||
;;
|
||||
-aux*)
|
||||
vendor=apple
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
1485
configure.in
@@ -1,662 +0,0 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# This script is creates a dir tree in ~/wxgtk_dist which
|
||||
# can then be packed into an archive
|
||||
|
||||
echo This script will copy the wxGTK release files into ~/wxgtk_dist
|
||||
|
||||
mkdir ~/wxgtk_dist
|
||||
mkdir ~/wxgtk_dist/wxGTK
|
||||
|
||||
echo Base dir..
|
||||
|
||||
cd ../..
|
||||
cp wxGTK.spec ~/wxgtk_dist/wxGTK
|
||||
cp Makefile ~/wxgtk_dist/wxGTK
|
||||
cp configure ~/wxgtk_dist/wxGTK
|
||||
cp configure.in ~/wxgtk_dist/wxGTK
|
||||
cp config.sub ~/wxgtk_dist/wxGTK
|
||||
cp config.guess ~/wxgtk_dist/wxGTK
|
||||
cp install-sh ~/wxgtk_dist/wxGTK
|
||||
cp mkinstalldirs ~/wxgtk_dist/wxGTK
|
||||
cp template.mak ~/wxgtk_dist/wxGTK
|
||||
cp wx-config.in ~/wxgtk_dist/wxGTK
|
||||
|
||||
echo Docs..
|
||||
|
||||
cd docs/gtk
|
||||
cp COPYING.LIB ~/wxgtk_dist/wxGTK
|
||||
cp install.txt ~/wxgtk_dist/wxGTK/INSTALL.txt
|
||||
cp licence.txt ~/wxgtk_dist/wxGTK/LICENCE.txt
|
||||
cp readme.txt ~/wxgtk_dist/wxGTK/README.txt
|
||||
cp todo.txt ~/wxgtk_dist/wxGTK/TODO.txt
|
||||
cd ..
|
||||
cp symbols.txt ~/wxgtk_dist/wxGTK/SYMBOLS.txt
|
||||
cd ..
|
||||
|
||||
echo Include dir..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include
|
||||
cd include
|
||||
cp install-sh ~/wxgtk_dist/wxGTK/include
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx
|
||||
cd wx
|
||||
cp install-sh ~/wxgtk_dist/wxGTK/include/wx
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/include/wx
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cd generic
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/generic
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
cd gtk
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/gtk
|
||||
rm ~/wxgtk_dist/wxGTK/include/wx/gtk/setup.h
|
||||
cd ..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/include/wx/protocol
|
||||
cd protocol
|
||||
cp *.h ~/wxgtk_dist/wxGTK/include/wx/protocol
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
echo Base lib..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/lib
|
||||
cp ./lib/dummy ~/wxgtk_dist/wxGTK/lib
|
||||
|
||||
echo Misc dir..
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc/afm
|
||||
mkdir ~/wxgtk_dist/wxGTK/misc/gs_afm
|
||||
|
||||
cp ./misc/afm/*.afm ~/wxgtk_dist/wxGTK/misc/afm
|
||||
cp ./misc/gs_afm/*.afm ~/wxgtk_dist/wxGTK/misc/gs_afm
|
||||
|
||||
echo Setup dir..
|
||||
|
||||
cd setup
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup
|
||||
cp maketmpl.in ~/wxgtk_dist/wxGTK/setup
|
||||
cp setup.hin ~/wxgtk_dist/wxGTK/setup
|
||||
cp substit.in ~/wxgtk_dist/wxGTK/setup
|
||||
|
||||
cd general
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp createall ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp jointar ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makeapp ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makedirs ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp makedoc ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp mygrep ~/wxgtk_dist/wxGTK/setup/general
|
||||
cp needed ~/wxgtk_dist/wxGTK/setup/general
|
||||
cd ..
|
||||
|
||||
cd rules
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/rules
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/rules
|
||||
|
||||
cd generic
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/rules/generic
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/rules/generic
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
cd shared
|
||||
mkdir ~/wxgtk_dist/wxGTK/setup/shared
|
||||
cp * ~/wxgtk_dist/wxGTK/setup/shared
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
echo User dir..
|
||||
|
||||
cd src
|
||||
mkdir ~/wxgtk_dist/wxGTK/user
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/user
|
||||
cd ..
|
||||
|
||||
echo Src dir..
|
||||
|
||||
cd src
|
||||
mkdir ~/wxgtk_dist/wxGTK/src
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/src
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/src
|
||||
cp gtk.inc ~/wxgtk_dist/wxGTK/src
|
||||
|
||||
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 y_tab.c ~/wxgtk_dist/wxGTK/src/common
|
||||
cp extended.c ~/wxgtk_dist/wxGTK/src/common
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/common
|
||||
cd ..
|
||||
|
||||
cd gtk
|
||||
mkdir ~/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 generic
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/generic
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/src/generic
|
||||
cd ..
|
||||
|
||||
cd iodbc
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/iodbc
|
||||
cp * ~/wxgtk_dist/wxGTK/src/iodbc
|
||||
cd ..
|
||||
|
||||
cd zlib
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/zlib
|
||||
cp * ~/wxgtk_dist/wxGTK/src/zlib
|
||||
cd ..
|
||||
|
||||
cd png
|
||||
mkdir ~/wxgtk_dist/wxGTK/src/png
|
||||
cp * ~/wxgtk_dist/wxGTK/src/png
|
||||
cd ..
|
||||
|
||||
cd ..
|
||||
|
||||
echo Utils dir..
|
||||
|
||||
cd utils
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils
|
||||
|
||||
cd glcanvas
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas
|
||||
cp ./docs/notes.txt ~/wxgtk_dist/wxGTK/utils/glcanvas/NOTES.txt
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
cp ./gtk/glcanvas.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
cp ./gtk/glcanvas.h ~/wxgtk_dist/wxGTK/utils/glcanvas/gtk
|
||||
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
|
||||
cd samples/cube
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cp cube.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cp cube.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/cube
|
||||
cd ..
|
||||
|
||||
cd penguin
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp trackball.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp trackball.c ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp lw.h ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp lw.cpp ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cp penguin.lwo ~/wxgtk_dist/wxGTK/utils/glcanvas/samples/penguin
|
||||
cd ../../..
|
||||
|
||||
cd dialoged/src
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dialoged.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dlghndlr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edlist.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edtree.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reseditr.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reswrite.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp symbtabl.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winprop.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winstyle.cpp ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dialoged.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp dlghndlr.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edlist.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp edtree.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp reseditr.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp symbtabl.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winprop.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
cp winstyle.h ~/wxgtk_dist/wxGTK/utils/dialoged
|
||||
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/utils/dialoged/bitmaps
|
||||
cd ../../../..
|
||||
|
||||
echo Samples dir..
|
||||
|
||||
cd samples
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples
|
||||
|
||||
echo Minimal sample..
|
||||
|
||||
cd minimal
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp minimal.cpp ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cp mondrian.xpm ~/wxgtk_dist/wxGTK/samples/minimal
|
||||
cd ..
|
||||
|
||||
echo Bombs sample..
|
||||
|
||||
cd bombs
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/bombs
|
||||
cd ..
|
||||
|
||||
echo Checklst sample..
|
||||
|
||||
cd checklst
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/checklst
|
||||
cd ..
|
||||
|
||||
echo Config sample..
|
||||
|
||||
cd config
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/config
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/config
|
||||
cd ..
|
||||
|
||||
echo Controls sample..
|
||||
|
||||
cd controls
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls
|
||||
cd icons
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/controls/icons
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/controls/icons
|
||||
cd ../..
|
||||
|
||||
echo Db sample..
|
||||
|
||||
cd db
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/db
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/db
|
||||
cd ..
|
||||
|
||||
echo DDE sample..
|
||||
|
||||
cd dde
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dde
|
||||
cd ..
|
||||
|
||||
echo Dialogs sample..
|
||||
|
||||
cd dialogs
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/dialogs
|
||||
cd ..
|
||||
|
||||
echo DnD sample..
|
||||
|
||||
cd dnd
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dnd
|
||||
cd ..
|
||||
|
||||
echo Docview sample..
|
||||
|
||||
cd docview
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/docview
|
||||
cd ..
|
||||
|
||||
echo DocvwMDI sample..
|
||||
|
||||
cd docvwmdi
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/docvwmdi
|
||||
cd ..
|
||||
|
||||
echo Dynamic sample..
|
||||
|
||||
cd dynamic
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/dynamic
|
||||
cd ..
|
||||
|
||||
echo Forty sample..
|
||||
|
||||
cd forty
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cp *.xbm ~/wxgtk_dist/wxGTK/samples/forty
|
||||
cd ..
|
||||
|
||||
echo Fractal sample..
|
||||
|
||||
cd fractal
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/fractal
|
||||
cd ..
|
||||
|
||||
echo Grid sample..
|
||||
|
||||
cd grid
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/grid
|
||||
cd ..
|
||||
|
||||
echo Help sample..
|
||||
|
||||
cd help
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/help
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/help
|
||||
cd doc
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cp * ~/wxgtk_dist/wxGTK/samples/help/doc
|
||||
cd ../..
|
||||
|
||||
echo Image sample..
|
||||
|
||||
cd image
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/image
|
||||
cp horse.png ~/wxgtk_dist/wxGTK/samples/image
|
||||
cd ..
|
||||
|
||||
echo Internat sample..
|
||||
|
||||
cd internat
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp readme.txt ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cp wxstd.po ~/wxgtk_dist/wxGTK/samples/internat
|
||||
cd fr
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/internat/fr
|
||||
cp *.?o ~/wxgtk_dist/wxGTK/samples/internat/fr
|
||||
cd ../..
|
||||
|
||||
echo Layout sample..
|
||||
|
||||
cd layout
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/layout
|
||||
cd ..
|
||||
|
||||
echo Listctrl sample..
|
||||
|
||||
cd listctrl
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/listctrl/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo MDI sample..
|
||||
|
||||
cd mdi
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/mdi/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo Memcheck sample..
|
||||
|
||||
cd memcheck
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/memcheck
|
||||
cd ..
|
||||
|
||||
echo Minifram sample..
|
||||
|
||||
cd minifram
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/minifram/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo Notebook sample..
|
||||
|
||||
cd notebook
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/notebook
|
||||
cd ..
|
||||
|
||||
echo PNG sample..
|
||||
|
||||
cd png
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/png
|
||||
cp *.png ~/wxgtk_dist/wxGTK/samples/png
|
||||
cd ..
|
||||
|
||||
echo Printing sample..
|
||||
|
||||
cd printing
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/printing
|
||||
cd ..
|
||||
|
||||
echo Proplist sample..
|
||||
|
||||
cd proplist
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/proplist
|
||||
cd ..
|
||||
|
||||
echo Resource sample..
|
||||
|
||||
cd resource
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cp *.wxr ~/wxgtk_dist/wxGTK/samples/resource
|
||||
cd ..
|
||||
|
||||
echo Sashtest sample..
|
||||
|
||||
cd sashtest
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/sashtest
|
||||
cd ..
|
||||
|
||||
echo Splitter sample..
|
||||
|
||||
cd splitter
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/splitter
|
||||
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 ~/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 Thread sample..
|
||||
|
||||
cd thread
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/thread
|
||||
cd ..
|
||||
|
||||
echo Toolbar sample..
|
||||
|
||||
cd toolbar
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar
|
||||
cd bitmaps
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/toolbar/bitmaps
|
||||
cd ../..
|
||||
|
||||
echo TreeCtrl sample..
|
||||
|
||||
cd treectrl
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/treectrl
|
||||
cd ..
|
||||
|
||||
echo typetest sample..
|
||||
|
||||
cd typetest
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/typetest
|
||||
cd ..
|
||||
|
||||
echo Validate sample..
|
||||
|
||||
cd validate
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/validate
|
||||
cd ..
|
||||
|
||||
echo wxPoem sample..
|
||||
|
||||
cd wxpoem
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.h ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.dat ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.txt ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cp wxpoem.idx ~/wxgtk_dist/wxGTK/samples/wxpoem
|
||||
cd ..
|
||||
|
||||
echo wxSocket sample..
|
||||
|
||||
cd wxsocket
|
||||
mkdir ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp Makefile ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp Makefile.in ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp *.cpp ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cp *.xpm ~/wxgtk_dist/wxGTK/samples/wxsocket
|
||||
cd ..
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -1,109 +0,0 @@
|
||||
src/make_cw.mcp
|
||||
src/common/cwy_tab.c
|
||||
src/common/cwlex_yy.c
|
||||
include/wx_cw.pch
|
||||
include/wx_cw.pch++
|
||||
include/wx_cw_d.pch
|
||||
include/wx_cw_d.pch++
|
||||
|
||||
samples/bombs/make_cw.mcp
|
||||
|
||||
samples/checklst/make_cw.mcp
|
||||
|
||||
samples/config/make_cw.mcp
|
||||
|
||||
samples/controls/make_cw.mcp
|
||||
|
||||
samples/db/make_cw.mcp
|
||||
|
||||
samples/dialogs/make_cw.mcp
|
||||
|
||||
samples/dnd/make_cw.mcp
|
||||
|
||||
samples/docview/make_cw.mcp
|
||||
|
||||
samples/docvwmdi/make_cw.mcp
|
||||
|
||||
samples/dynamic/make_cw.mcp
|
||||
|
||||
samples/forty/make_cw.mcp
|
||||
|
||||
samples/fractal/make_cw.mcp
|
||||
|
||||
samples/grid/make_cw.mcp
|
||||
|
||||
samples/help/make_cw.mcp
|
||||
|
||||
samples/image/make_cw.mcp
|
||||
|
||||
samples/internat/make_cw.mcp
|
||||
|
||||
samples/joytest/make_cw.mcp
|
||||
|
||||
samples/layout/make_cw.mcp
|
||||
|
||||
samples/listctrl/make_cw.mcp
|
||||
|
||||
samples/mdi/make_cw.mcp
|
||||
|
||||
samples/memcheck/make_cw.mcp
|
||||
|
||||
samples/mfc/make_cw.mcp
|
||||
|
||||
samples/minimal/make_cw.mcp
|
||||
|
||||
samples/minifram/make_cw.mcp
|
||||
|
||||
samples/nativdlg/make_cw.mcp
|
||||
|
||||
samples/notebook/make_cw.mcp
|
||||
|
||||
samples/ownerdrw/make_cw.mcp
|
||||
|
||||
samples/png/make_cw.mcp
|
||||
|
||||
samples/printing/make_cw.mcp
|
||||
|
||||
samples/proplist/make_cw.mcp
|
||||
|
||||
samples/Regtest/make_cw.mcp
|
||||
|
||||
samples/resource/make_cw.mcp
|
||||
|
||||
samples/sashtest/make_cw.mcp
|
||||
|
||||
samples/splitter/make_cw.mcp
|
||||
|
||||
samples/tab/make_cw.mcp
|
||||
|
||||
samples/taskbar/make_cw.mcp
|
||||
|
||||
samples/thread/make_cw.mcp
|
||||
|
||||
samples/toolbar/make_cw.mcp
|
||||
|
||||
samples/treectrl/make_cw.mcp
|
||||
|
||||
samples/typetest/make_cw.mcp
|
||||
|
||||
samples/validate/make_cw.mcp
|
||||
|
||||
samples/wxsocket/make_cw.mcp
|
||||
|
||||
samples/wxpoem/make_cw.mcp
|
||||
|
||||
utils/wxprop/src/make_cw.mcp
|
||||
utils/wxprop/src/make_sample.mcp
|
||||
|
||||
utils/dialoged/src/make_cw.mcp
|
||||
|
||||
utils/glcanvas/win/make_cw.mcp
|
||||
utils/glcanvas/samples/cube/make_cw.mcp
|
||||
utils/glcanvas/samples/isosurf/make_cw.mcp
|
||||
|
||||
utils/ogl/src/make_cw.mcp
|
||||
utils/ogl/samples/ogledit/make_cw.mcp
|
||||
|
||||
utils/wxtree/src/make_cw.mcp
|
||||
utils/wxtree/src/make_cw.mcp
|
||||
|
@@ -1,97 +0,0 @@
|
||||
docs/latex/wx/*.tex
|
||||
docs/latex/wx/*.sty
|
||||
docs/latex/wx/*.bib
|
||||
docs/latex/wx/*.hpj
|
||||
docs/latex/wx/*.ini
|
||||
docs/latex/wx/*.txt
|
||||
docs/latex/wx/*.cnt
|
||||
docs/latex/wx/*.eps
|
||||
docs/latex/wx/*.bmp
|
||||
docs/latex/wx/*.gif
|
||||
docs/latex/wx/*.wmf
|
||||
|
||||
docs/latex/proplist/*.tex
|
||||
docs/latex/proplist/*.sty
|
||||
docs/latex/proplist/*.bib
|
||||
docs/latex/proplist/*.hpj
|
||||
docs/latex/proplist/*.ini
|
||||
docs/latex/proplist/*.txt
|
||||
docs/latex/proplist/*.cnt
|
||||
docs/latex/proplist/*.eps
|
||||
docs/latex/proplist/*.bmp
|
||||
docs/latex/proplist/*.gif
|
||||
docs/latex/proplist/*.wmf
|
||||
|
||||
docs/latex/porting/*.tex
|
||||
docs/latex/porting/*.sty
|
||||
docs/latex/porting/*.bib
|
||||
docs/latex/porting/*.hpj
|
||||
docs/latex/porting/*.ini
|
||||
docs/latex/porting/*.txt
|
||||
docs/latex/porting/*.cnt
|
||||
docs/latex/porting/*.eps
|
||||
docs/latex/porting/*.gif
|
||||
docs/latex/porting/*.bmp
|
||||
|
||||
utils/wxhelp/docs/*.tex
|
||||
utils/wxhelp/docs/*.txt
|
||||
utils/wxhelp/docs/*.hpj
|
||||
utils/wxhelp/docs/*.ini
|
||||
utils/wxhelp/docs/*.bmp
|
||||
utils/wxhelp/docs/*.wmf
|
||||
utils/wxhelp/docs/*.gif
|
||||
|
||||
utils/tex2rtf/docs/*.tex
|
||||
utils/tex2rtf/docs/*.txt
|
||||
utils/tex2rtf/docs/*.hpj
|
||||
utils/tex2rtf/docs/*.bib
|
||||
utils/tex2rtf/docs/*.ini
|
||||
utils/tex2rtf/docs/*.sty
|
||||
utils/tex2rtf/docs/*.bmp
|
||||
utils/tex2rtf/docs/*.shg
|
||||
utils/tex2rtf/docs/*.wmf
|
||||
utils/tex2rtf/docs/*.gif
|
||||
|
||||
utils/wxtree/docs/*.tex
|
||||
utils/wxtree/docs/*.ini
|
||||
utils/wxtree/docs/*.bib
|
||||
utils/wxtree/docs/*.txt
|
||||
utils/wxtree/docs/*.hpj
|
||||
utils/wxtree/docs/*.bmp
|
||||
utils/wxtree/docs/*.wmf
|
||||
utils/wxtree/docs/*.gif
|
||||
|
||||
utils/wxgraph/docs/*.tex
|
||||
utils/wxgraph/docs/*.ini
|
||||
utils/wxgraph/docs/*.bib
|
||||
utils/wxgraph/docs/*.txt
|
||||
utils/wxgraph/docs/*.hpj
|
||||
utils/wxgraph/docs/*.bmp
|
||||
utils/wxgraph/docs/*.wmf
|
||||
utils/wxgraph/docs/*.gif
|
||||
|
||||
utils/mfutils/docs/*.tex
|
||||
utils/mfutils/docs/*.txt
|
||||
utils/mfutils/docs/*.hpj
|
||||
utils/mfutils/docs/*.wmf
|
||||
utils/mfutils/docs/*.bmp
|
||||
|
||||
utils/wxprop/docs/*.txt
|
||||
utils/wxprop/docs/*.hpj
|
||||
utils/wxprop/docs/*.tex
|
||||
utils/wxprop/docs/*.ini
|
||||
utils/wxprop/docs/*.eps
|
||||
utils/wxprop/docs/*.bmp
|
||||
utils/wxprop/docs/*.wmf
|
||||
utils/wxprop/docs/*.gif
|
||||
|
||||
utils/dialoged/docs/*.txt
|
||||
utils/dialoged/docs/*.hpj
|
||||
utils/dialoged/docs/*.tex
|
||||
utils/dialoged/docs/*.ini
|
||||
utils/dialoged/docs/*.eps
|
||||
utils/dialoged/docs/*.bmp
|
||||
utils/dialoged/docs/*.wmf
|
||||
utils/dialoged/docs/*.gif
|
||||
|
||||
|
@@ -1,658 +0,0 @@
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
docs/readme.txt
|
||||
docs/install.txt
|
||||
docs/release.txt
|
||||
docs/changes.txt
|
||||
docs/upgrade.txt
|
||||
docs/todo.txt
|
||||
docs/licence.txt
|
||||
docs/symbols.txt
|
||||
docs/bugs.txt
|
||||
docs/*.htm
|
||||
docs/html/*.htm
|
||||
docs/html/*.gif
|
||||
|
||||
src/*.inc
|
||||
src/mkdir
|
||||
|
||||
src/common/*.cpp
|
||||
src/common/dosyacc.c
|
||||
src/common/doslex.c
|
||||
src/common/vmsyacc.c
|
||||
src/common/vmslex.c
|
||||
src/common/extended.c
|
||||
src/common/*.l
|
||||
src/common/*.y
|
||||
src/common/*.inc
|
||||
|
||||
src/generic/*.cpp
|
||||
src/generic/*.c
|
||||
src/generic/*.inc
|
||||
|
||||
src/png/*.c
|
||||
src/png/*.h
|
||||
src/png/makefile*
|
||||
src/png/INSTALL
|
||||
src/png/CHANGES
|
||||
src/png/README
|
||||
src/png/TODO
|
||||
src/png/*.1
|
||||
src/png/*.3
|
||||
src/png/*.5
|
||||
src/png/scripts/*
|
||||
|
||||
src/zlib/*.c
|
||||
src/zlib/*.h
|
||||
src/zlib/INDEX
|
||||
src/zlib/README
|
||||
src/zlib/ChangeLog
|
||||
src/zlib/configure
|
||||
src/zlib/*.txt
|
||||
src/zlib/makefile*
|
||||
src/zlib/*.com
|
||||
src/zlib/*.3
|
||||
src/zlib/*.mms
|
||||
|
||||
include/wx/*.h
|
||||
include/wx/*.cpp
|
||||
include/wx/protocol/*.h
|
||||
include/wx/wx_setup.vms
|
||||
include/wx/common/*.h
|
||||
include/wx/generic/*.h
|
||||
lib/dummy
|
||||
|
||||
bin/*.*
|
||||
|
||||
tools/gettext/*.*
|
||||
|
||||
bitmaps/xpm/16x16/*.*
|
||||
bitmaps/xpm/32x32/*.*
|
||||
bitmaps/xpm/64x64/*.*
|
||||
bitmaps/xpm/misc/*.*
|
||||
bitmaps/*.*
|
||||
bitmaps/bmp/16x15/*.*
|
||||
bitmaps/bmp/10x8/*.*
|
||||
bitmaps/ico/32x32/*.*
|
||||
|
||||
afm/*.*
|
||||
|
||||
utils/*.txt
|
||||
utils/make*
|
||||
|
||||
utils/xpmshow/src/makefile*
|
||||
utils/xpmshow/src/*.cpp
|
||||
utils/xpmshow/src/*.h
|
||||
utils/xpmshow/src/*.def
|
||||
utils/xpmshow/src/*.rc
|
||||
utils/xpmshow/src/*.xpm
|
||||
utils/xpmshow/src/*.bmp
|
||||
utils/xpmshow/src/*.ico
|
||||
|
||||
utils/wxhelp/src/*.cpp
|
||||
utils/wxhelp/src/*.h
|
||||
utils/wxhelp/src/makefile*
|
||||
utils/wxhelp/src/*.xbm
|
||||
utils/wxhelp/src/*.xpm
|
||||
utils/wxhelp/src/*.txt
|
||||
utils/wxhelp/src/*.ico
|
||||
utils/wxhelp/src/*.def
|
||||
utils/wxhelp/src/*.rc
|
||||
|
||||
utils/wxgraph/src/*.cpp
|
||||
utils/wxgraph/src/*.c
|
||||
utils/wxgraph/src/*.h
|
||||
utils/wxgraph/src/makefile*
|
||||
utils/wxgraph/src/*.xbm
|
||||
utils/wxgraph/src/*.xpm
|
||||
utils/wxgraph/lib/dummy
|
||||
utils/wxgraph/src/*.ico
|
||||
utils/wxgraph/src/*.def
|
||||
utils/wxgraph/src/*.rc
|
||||
|
||||
utils/rcparser/src/*.cpp
|
||||
utils/rcparser/src/*.c
|
||||
utils/rcparser/src/*.h
|
||||
utils/rcparser/src/makefile*
|
||||
utils/rcparser/src/*.xbm
|
||||
utils/rcparser/src/*.xpm
|
||||
utils/rcparser/lib/dummy
|
||||
utils/rcparser/src/*.ico
|
||||
utils/rcparser/src/*.def
|
||||
utils/rcparser/src/*.rc
|
||||
utils/rcparser/src/*.rh
|
||||
|
||||
utils/colours/*.h
|
||||
utils/colours/*.cpp
|
||||
utils/colours/*.def
|
||||
utils/colours/*.rc
|
||||
utils/colours/makefile*
|
||||
utils/colours/*.xbm
|
||||
utils/colours/*.xpm
|
||||
utils/colours/*.txt
|
||||
|
||||
utils/serialize/*.h
|
||||
utils/serialize/*.cpp
|
||||
utils/serialize/*.def
|
||||
utils/serialize/*.rc
|
||||
utils/serialize/makefile*
|
||||
utils/serialize/*.xbm
|
||||
utils/serialize/*.xpm
|
||||
utils/serialize/*.txt
|
||||
|
||||
utils/dialoged/Makefile
|
||||
utils/dialoged/src/bitmaps/*.xbm
|
||||
utils/dialoged/src/bitmaps/*.xpm
|
||||
utils/dialoged/src/*.h
|
||||
utils/dialoged/src/*.cpp
|
||||
utils/dialoged/src/*.def
|
||||
utils/dialoged/src/*.rc
|
||||
utils/dialoged/src/makefile*
|
||||
utils/dialoged/src/*.xbm
|
||||
utils/dialoged/src/*.xpm
|
||||
utils/dialoged/src/*.txt
|
||||
utils/dialoged/src/*.inf
|
||||
utils/dialoged/test/*.h
|
||||
utils/dialoged/src/*.ico
|
||||
utils/dialoged/src/*.prj
|
||||
utils/dialoged/src/*.bmp
|
||||
utils/dialoged/src/bitmaps/*.bmp
|
||||
utils/dialoged/src/bitmaps/*.ico
|
||||
utils/dialoged/test/*.cpp
|
||||
utils/dialoged/test/*.def
|
||||
utils/dialoged/test/*.rc
|
||||
utils/dialoged/test/makefile*
|
||||
utils/dialoged/lib/dummy
|
||||
utils/dialoged/test/*.ico
|
||||
utils/dialoged/test/*.prj
|
||||
utils/dialoged/test/*.bmp
|
||||
|
||||
samples/*.txt
|
||||
samples/makefile*
|
||||
|
||||
samples/config/*.cpp
|
||||
samples/config/*.h
|
||||
samples/config/*.def
|
||||
samples/config/makefile*
|
||||
samples/config/*.xbm
|
||||
samples/config/*.xpm
|
||||
samples/config/*.txt
|
||||
samples/config/*.ico
|
||||
samples/config/*.bmp
|
||||
samples/config/*.rc
|
||||
samples/config/*.wav
|
||||
|
||||
samples/dynamic/*.cpp
|
||||
samples/dynamic/*.h
|
||||
samples/dynamic/*.def
|
||||
samples/dynamic/makefile*
|
||||
samples/dynamic/*.xbm
|
||||
samples/dynamic/*.xpm
|
||||
samples/dynamic/*.txt
|
||||
samples/dynamic/*.ico
|
||||
samples/dynamic/*.bmp
|
||||
samples/dynamic/*.rc
|
||||
samples/dynamic/*.wav
|
||||
|
||||
samples/wxsocket/*.cpp
|
||||
samples/wxsocket/*.h
|
||||
samples/wxsocket/*.def
|
||||
samples/wxsocket/makefile*
|
||||
samples/wxsocket/client.wat
|
||||
samples/wxsocket/server.wat
|
||||
samples/wxsocket/client.vc
|
||||
samples/wxsocket/server.vc
|
||||
samples/wxsocket/*.xbm
|
||||
samples/wxsocket/*.xpm
|
||||
samples/wxsocket/*.ico
|
||||
samples/wxsocket/*.rc
|
||||
|
||||
samples/help/*.cpp
|
||||
samples/help/*.h
|
||||
samples/help/*.def
|
||||
samples/help/makefile*
|
||||
samples/help/*.xbm
|
||||
samples/help/*.xpm
|
||||
samples/help/*.ico
|
||||
samples/help/*.rc
|
||||
samples/help/doc/*.html
|
||||
samples/help/doc/*.htm
|
||||
samples/help/doc/*.class
|
||||
samples/help/doc/*.db
|
||||
samples/help/doc/*.tex
|
||||
samples/help/doc/*.gif
|
||||
samples/help/doc/*.map
|
||||
|
||||
samples/bombs/*.cpp
|
||||
samples/bombs/*.h
|
||||
samples/bombs/*.def
|
||||
samples/bombs/makefile*
|
||||
samples/bombs/*.xbm
|
||||
samples/bombs/*.xpm
|
||||
samples/bombs/*.txt
|
||||
samples/bombs/*.ico
|
||||
samples/bombs/*.bmp
|
||||
samples/bombs/*.rc
|
||||
|
||||
samples/ipc/*.cpp
|
||||
samples/ipc/*.h
|
||||
samples/ipc/*.def
|
||||
samples/ipc/makefile*
|
||||
samples/ipc/*.xbm
|
||||
samples/ipc/*.xpm
|
||||
samples/ipc/*.ico
|
||||
samples/ipc/*.rc
|
||||
|
||||
samples/typetest/*.cpp
|
||||
samples/typetest/*.h
|
||||
samples/typetest/*.def
|
||||
samples/typetest/*.rc
|
||||
samples/typetest/*.txt
|
||||
samples/typetest/makefile*
|
||||
samples/typetest/*.xbm
|
||||
samples/typetest/*.xpm
|
||||
samples/typetest/*.ico
|
||||
|
||||
samples/sashtest/*.cpp
|
||||
samples/sashtest/*.h
|
||||
samples/sashtest/*.def
|
||||
samples/sashtest/*.rc
|
||||
samples/sashtest/*.txt
|
||||
samples/sashtest/makefile*
|
||||
samples/sashtest/*.xbm
|
||||
samples/sashtest/*.xpm
|
||||
samples/sashtest/*.ico
|
||||
|
||||
samples/resource/*.cpp
|
||||
samples/resource/*.h
|
||||
samples/resource/*.def
|
||||
samples/resource/*.rc
|
||||
samples/resource/*.txt
|
||||
samples/resource/*.wxr
|
||||
samples/resource/makefile*
|
||||
samples/resource/*.xbm
|
||||
samples/resource/*.xpm
|
||||
samples/resource/*.ico
|
||||
|
||||
samples/animate/*.cpp
|
||||
samples/animate/*.h
|
||||
samples/animate/*.def
|
||||
samples/animate/makefile*
|
||||
samples/animate/*.xbm
|
||||
samples/animate/*.xpm
|
||||
samples/animate/*.ico
|
||||
samples/animate/*.rc
|
||||
|
||||
samples/mdi/*.cpp
|
||||
samples/mdi/*.h
|
||||
samples/mdi/*.def
|
||||
samples/mdi/makefile*
|
||||
samples/mdi/*.xbm
|
||||
samples/mdi/*.xpm
|
||||
samples/mdi/*.ico
|
||||
samples/mdi/*.rc
|
||||
samples/mdi/bitmaps/*.bmp
|
||||
samples/mdi/bitmaps/*.ico
|
||||
samples/mdi/bitmaps/*.xpm
|
||||
samples/mdi/bitmaps/*.xbm
|
||||
|
||||
samples/minimal/*.cpp
|
||||
samples/minimal/*.h
|
||||
samples/minimal/*.def
|
||||
samples/minimal/makefile*
|
||||
samples/minimal/*.xbm
|
||||
samples/minimal/*.xpm
|
||||
samples/minimal/*.ico
|
||||
samples/minimal/*.rc
|
||||
|
||||
samples/controls/*.cpp
|
||||
samples/controls/*.h
|
||||
samples/controls/*.def
|
||||
samples/controls/makefile*
|
||||
samples/controls/*.xbm
|
||||
samples/controls/*.xpm
|
||||
samples/controls/*.ico
|
||||
samples/controls/*.bmp
|
||||
samples/controls/*.rc
|
||||
samples/controls/icons/*.bmp
|
||||
samples/controls/icons/*.ico
|
||||
samples/controls/icons/*.xpm
|
||||
|
||||
samples/fractal/*.cpp
|
||||
samples/fractal/*.h
|
||||
samples/fractal/*.def
|
||||
samples/fractal/makefile*
|
||||
samples/fractal/*.xbm
|
||||
samples/fractal/*.xpm
|
||||
samples/fractal/*.ico
|
||||
samples/fractal/*.rc
|
||||
|
||||
samples/proplist/*.cpp
|
||||
samples/proplist/*.h
|
||||
samples/proplist/*.def
|
||||
samples/proplist/makefile*
|
||||
samples/proplist/*.xbm
|
||||
samples/proplist/*.xpm
|
||||
samples/proplist/*.ico
|
||||
samples/proplist/*.rc
|
||||
|
||||
samples/layout/*.cpp
|
||||
samples/layout/*.h
|
||||
samples/layout/*.def
|
||||
samples/layout/makefile*
|
||||
samples/layout/*.xbm
|
||||
samples/layout/*.xpm
|
||||
samples/layout/*.ico
|
||||
samples/layout/*.rc
|
||||
samples/layout/*.bmp
|
||||
|
||||
samples/printing/*.cpp
|
||||
samples/printing/*.h
|
||||
samples/printing/*.def
|
||||
samples/printing/makefile*
|
||||
samples/printing/*.xbm
|
||||
samples/printing/*.xpm
|
||||
samples/printing/*.txt
|
||||
samples/printing/*.ico
|
||||
samples/printing/*.bmp
|
||||
samples/printing/*.rc
|
||||
samples/printing/*.afm
|
||||
|
||||
samples/toolbar/*.cpp
|
||||
samples/toolbar/*.h
|
||||
samples/toolbar/*.def
|
||||
samples/toolbar/makefile*
|
||||
samples/toolbar/*.txt
|
||||
samples/toolbar/*.xbm
|
||||
samples/toolbar/*.xpm
|
||||
samples/toolbar/bitmaps/*.xbm
|
||||
samples/toolbar/bitmaps/*.xpm
|
||||
samples/toolbar/*.ico
|
||||
samples/toolbar/*.bmp
|
||||
samples/toolbar/*.rc
|
||||
samples/toolbar/bitmaps/*.bmp
|
||||
|
||||
samples/docview/*.h
|
||||
samples/docview/*.cpp
|
||||
samples/docview/*.def
|
||||
samples/docview/*.rc
|
||||
samples/docview/makefile*
|
||||
samples/docview/*.xbm
|
||||
samples/docview/*.xpm
|
||||
samples/docview/*.txt
|
||||
samples/docview/*.ico
|
||||
samples/docview/*.bmp
|
||||
|
||||
samples/docvwmdi/*.h
|
||||
samples/docvwmdi/*.cpp
|
||||
samples/docvwmdi/*.def
|
||||
samples/docvwmdi/*.rc
|
||||
samples/docvwmdi/makefile*
|
||||
samples/docvwmdi/*.xbm
|
||||
samples/docvwmdi/*.xpm
|
||||
samples/docvwmdi/*.txt
|
||||
samples/docvwmdi/*.ico
|
||||
samples/docvwmdi/*.bmp
|
||||
|
||||
samples/minifram/*.h
|
||||
samples/minifram/*.cpp
|
||||
samples/minifram/*.def
|
||||
samples/minifram/*.rc
|
||||
samples/minifram/makefile*
|
||||
samples/minifram/*.xbm
|
||||
samples/minifram/*.xpm
|
||||
samples/minifram/*.txt
|
||||
samples/minifram/*.ico
|
||||
samples/minifram/*.bmp
|
||||
samples/minifram/bitmaps/*.bmp
|
||||
samples/minifram/bitmaps/*.xpm
|
||||
|
||||
samples/memcheck/*.h
|
||||
samples/memcheck/*.cpp
|
||||
samples/memcheck/*.def
|
||||
samples/memcheck/*.rc
|
||||
samples/memcheck/makefile*
|
||||
samples/memcheck/*.xbm
|
||||
samples/memcheck/*.xpm
|
||||
samples/memcheck/*.txt
|
||||
samples/memcheck/*.ico
|
||||
samples/memcheck/*.bmp
|
||||
|
||||
samples/odbc/*.h
|
||||
samples/odbc/*.cpp
|
||||
samples/odbc/*.def
|
||||
samples/odbc/*.rc
|
||||
samples/odbc/makefile*
|
||||
samples/odbc/*.inf
|
||||
samples/odbc/*.xbm
|
||||
samples/odbc/*.xpm
|
||||
samples/odbc/*.ico
|
||||
samples/odbc/*.bmp
|
||||
samples/odbc/*.dbf
|
||||
samples/odbc/*.cdx
|
||||
|
||||
samples/dialogs/*.h
|
||||
samples/dialogs/*.cpp
|
||||
samples/dialogs/*.def
|
||||
samples/dialogs/*.rc
|
||||
samples/dialogs/makefile*
|
||||
samples/dialogs/*.xbm
|
||||
samples/dialogs/*.xpm
|
||||
samples/dialogs/*.txt
|
||||
samples/dialogs/*.bmp
|
||||
samples/dialogs/*.ico
|
||||
|
||||
samples/wxpoem/*.cpp
|
||||
samples/wxpoem/*.h
|
||||
samples/wxpoem/*.def
|
||||
samples/wxpoem/*.rc
|
||||
samples/wxpoem/*.inf
|
||||
samples/wxpoem/*.txt
|
||||
samples/wxpoem/makefile*
|
||||
samples/wxpoem/*.xbm
|
||||
samples/wxpoem/*.xpm
|
||||
samples/wxpoem/*.ico
|
||||
samples/wxpoem/*.bmp
|
||||
samples/wxpoem/*.dat
|
||||
|
||||
samples/pressup/*.cpp
|
||||
samples/pressup/*.c
|
||||
samples/pressup/*.h
|
||||
samples/pressup/*.def
|
||||
samples/pressup/*.rc
|
||||
samples/pressup/*.inf
|
||||
samples/pressup/*.txt
|
||||
samples/pressup/makefile*
|
||||
samples/pressup/*.xbm
|
||||
samples/pressup/*.xpm
|
||||
samples/pressup/*.ico
|
||||
samples/pressup/*.bmp
|
||||
|
||||
samples/validate/*.cpp
|
||||
samples/validate/*.h
|
||||
samples/validate/*.def
|
||||
samples/validate/*.rc
|
||||
samples/validate/*.inf
|
||||
samples/validate/*.txt
|
||||
samples/validate/makefile*
|
||||
samples/validate/*.xbm
|
||||
samples/validate/*.xpm
|
||||
samples/validate/*.ico
|
||||
samples/validate/*.bmp
|
||||
|
||||
samples/events/*.cpp
|
||||
samples/events/*.h
|
||||
samples/events/*.def
|
||||
samples/events/*.rc
|
||||
samples/events/*.inf
|
||||
samples/events/*.txt
|
||||
samples/events/makefile*
|
||||
samples/events/*.xbm
|
||||
samples/events/*.xpm
|
||||
samples/events/*.ico
|
||||
samples/events/*.bmp
|
||||
|
||||
samples/treectrl/*.cpp
|
||||
samples/treectrl/*.h
|
||||
samples/treectrl/*.def
|
||||
samples/treectrl/*.rc
|
||||
samples/treectrl/*.txt
|
||||
samples/treectrl/makefile*
|
||||
samples/treectrl/*.xbm
|
||||
samples/treectrl/*.xpm
|
||||
samples/treectrl/bitmaps/*.xbm
|
||||
samples/treectrl/bitmaps/*.xpm
|
||||
samples/treectrl/*.ico
|
||||
samples/treectrl/*.bmp
|
||||
samples/treectrl/bitmaps/*.bmp
|
||||
samples/treectrl/bitmaps/*.ico
|
||||
|
||||
samples/listctrl/*.cpp
|
||||
samples/listctrl/*.h
|
||||
samples/listctrl/*.def
|
||||
samples/listctrl/*.rc
|
||||
samples/listctrl/*.txt
|
||||
samples/listctrl/makefile*
|
||||
samples/listctrl/*.xbm
|
||||
samples/listctrl/*.xpm
|
||||
samples/listctrl/bitmaps/*.xbm
|
||||
samples/listctrl/bitmaps/*.xpm
|
||||
samples/listctrl/*.ico
|
||||
samples/listctrl/*.bmp
|
||||
samples/listctrl/bitmaps/*.bmp
|
||||
samples/listctrl/bitmaps/*.ico
|
||||
|
||||
samples/splitter/*.cpp
|
||||
samples/splitter/*.h
|
||||
samples/splitter/*.def
|
||||
samples/splitter/*.rc
|
||||
samples/splitter/*.txt
|
||||
samples/splitter/makefile*
|
||||
samples/splitter/*.xbm
|
||||
samples/splitter/*.xpm
|
||||
samples/splitter/*.ico
|
||||
samples/splitter/*.bmp
|
||||
|
||||
samples/grid/*.cpp
|
||||
samples/grid/*.h
|
||||
samples/grid/*.def
|
||||
samples/grid/*.rc
|
||||
samples/grid/*.txt
|
||||
samples/grid/makefile*
|
||||
samples/grid/*.xbm
|
||||
samples/grid/*.xpm
|
||||
samples/grid/*.ico
|
||||
samples/grid/*.bmp
|
||||
|
||||
samples/internat/*.cpp
|
||||
samples/internat/*.h
|
||||
samples/internat/*.def
|
||||
samples/internat/*.rc
|
||||
samples/internat/*.txt
|
||||
samples/internat/makefile*
|
||||
samples/internat/*.xbm
|
||||
samples/internat/*.xpm
|
||||
samples/internat/*.po
|
||||
samples/internat/*.ico
|
||||
samples/internat/*.bmp
|
||||
samples/internat/*.mo
|
||||
samples/internat/fr/*.mo
|
||||
samples/internat/fr/*.po
|
||||
|
||||
samples/checklst/*.cpp
|
||||
samples/checklst/*.h
|
||||
samples/checklst/*.def
|
||||
samples/checklst/*.rc
|
||||
samples/checklst/*.txt
|
||||
samples/checklst/makefile*
|
||||
samples/checklst/*.xbm
|
||||
samples/checklst/*.xpm
|
||||
samples/checklst/*.ico
|
||||
samples/checklst/*.bmp
|
||||
|
||||
samples/dnd/*.cpp
|
||||
samples/dnd/*.h
|
||||
samples/dnd/makefile*
|
||||
samples/dnd/*.rc
|
||||
samples/dnd/*.def
|
||||
samples/dnd/*.bmp
|
||||
samples/dnd/*.xbm
|
||||
samples/dnd/*.xpm
|
||||
samples/dnd/*.ico
|
||||
samples/dnd/*.txt
|
||||
|
||||
samples/tab/*.cpp
|
||||
samples/tab/*.h
|
||||
samples/tab/makefile*
|
||||
samples/tab/*.rc
|
||||
samples/tab/*.def
|
||||
samples/tab/*.bmp
|
||||
samples/tab/*.xbm
|
||||
samples/tab/*.xpm
|
||||
samples/tab/*.ico
|
||||
samples/tab/*.txt
|
||||
|
||||
samples/notebook/*.cpp
|
||||
samples/notebook/*.h
|
||||
samples/notebook/makefile*
|
||||
samples/notebook/*.rc
|
||||
samples/notebook/*.def
|
||||
samples/notebook/*.bmp
|
||||
samples/notebook/*.xbm
|
||||
samples/notebook/*.xpm
|
||||
samples/notebook/*.ico
|
||||
samples/notebook/*.txt
|
||||
|
||||
samples/png/*.cpp
|
||||
samples/png/*.h
|
||||
samples/png/makefile*
|
||||
samples/png/*.rc
|
||||
samples/png/*.def
|
||||
samples/png/*.bmp
|
||||
samples/png/*.xpm
|
||||
samples/png/*.xbm
|
||||
samples/png/*.ico
|
||||
samples/png/*.txt
|
||||
samples/png/*.png
|
||||
|
||||
samples/image/*.cpp
|
||||
samples/image/*.h
|
||||
samples/image/makefile*
|
||||
samples/image/*.rc
|
||||
samples/image/*.def
|
||||
samples/image/*.bmp
|
||||
samples/image/*.xpm
|
||||
samples/image/*.xbm
|
||||
samples/image/*.png
|
||||
samples/image/*.ico
|
||||
samples/image/*.txt
|
||||
|
||||
samples/thread/*.cpp
|
||||
samples/thread/*.h
|
||||
samples/thread/makefile*
|
||||
samples/thread/*.rc
|
||||
samples/thread/*.def
|
||||
samples/thread/*.bmp
|
||||
samples/thread/*.xpm
|
||||
samples/thread/*.xbm
|
||||
samples/thread/*.png
|
||||
samples/thread/*.ico
|
||||
samples/thread/*.txt
|
||||
|
||||
samples/dde/*.cpp
|
||||
samples/dde/*.h
|
||||
samples/dde/makefile*
|
||||
samples/dde/client.vc
|
||||
samples/dde/server.vc
|
||||
samples/dde/client.wat
|
||||
samples/dde/server.wat
|
||||
samples/dde/*.rc
|
||||
samples/dde/*.def
|
||||
samples/dde/*.bmp
|
||||
samples/dde/*.xpm
|
||||
samples/dde/*.xbm
|
||||
samples/dde/*.png
|
||||
samples/dde/*.ico
|
||||
samples/dde/*.txt
|
||||
|
@@ -1,38 +0,0 @@
|
||||
utils/glcanvas/docs/*.*
|
||||
utils/glcanvas/win/*.cpp
|
||||
utils/glcanvas/win/*.h
|
||||
utils/glcanvas/win/make*.*
|
||||
utils/glcanvas/src/*.cpp
|
||||
utils/glcanvas/src/*.h
|
||||
utils/glcanvas/src/make*.*
|
||||
utils/glcanvas/motif/*.cpp
|
||||
utils/glcanvas/motif/*.h
|
||||
utils/glcanvas/motif/make*.*
|
||||
utils/glcanvas/motif/*.txt
|
||||
utils/glcanvas/samples/cube/*.cpp
|
||||
utils/glcanvas/samples/cube/*.h
|
||||
utils/glcanvas/samples/cube/*.rc
|
||||
utils/glcanvas/samples/cube/*.ico
|
||||
utils/glcanvas/samples/cube/*.xbm
|
||||
utils/glcanvas/samples/cube/make*.*
|
||||
|
||||
utils/glcanvas/samples/isosurf/*.cpp
|
||||
utils/glcanvas/samples/isosurf/*.h
|
||||
utils/glcanvas/samples/isosurf/*.rc
|
||||
utils/glcanvas/samples/isosurf/*.ico
|
||||
utils/glcanvas/samples/isosurf/*.xbm
|
||||
utils/glcanvas/samples/isosurf/*.dat.gz
|
||||
utils/glcanvas/samples/isosurf/make*.*
|
||||
|
||||
utils/glcanvas/samples/penguin/*.cpp
|
||||
utils/glcanvas/samples/penguin/*.c
|
||||
utils/glcanvas/samples/penguin/*.h
|
||||
utils/glcanvas/samples/penguin/*.rc
|
||||
utils/glcanvas/samples/penguin/*.ico
|
||||
utils/glcanvas/samples/penguin/*.xbm
|
||||
utils/glcanvas/samples/penguin/*.xpm
|
||||
utils/glcanvas/samples/penguin/make*.*
|
||||
utils/glcanvas/samples/penguin/penguin.lwo
|
||||
|
||||
|
||||
|
@@ -1,90 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
|
||||
docs/gtk/*.html
|
||||
docs/gtk/*.txt
|
||||
|
||||
include/wx/gtk/*.h
|
||||
include/install-sh
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
src/make.env
|
||||
src/makelib.env
|
||||
src/makeprog.env
|
||||
|
||||
src/gtk/*.cpp
|
||||
src/gtk/*.c
|
||||
src/gtk/*.inc
|
||||
src/gtk/*.xbm
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
|
@@ -1,103 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
wxinstall
|
||||
|
||||
src/makeenvs/*.env
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
src/makelib.env
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
src/motif/*.cpp
|
||||
src/motif/*.c
|
||||
src/motif/*.h
|
||||
src/motif/makefile*
|
||||
src/motif/*.inc
|
||||
src/motif/*.xbm
|
||||
src/motif/xmcombo/*.c
|
||||
src/motif/xmcombo/*.h
|
||||
src/motif/xmcombo/*.doc
|
||||
src/motif/xmcombo/*.man
|
||||
src/motif/xmcombo/*.txt
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
include/wx/motif/*.h
|
||||
include/install-sh
|
||||
|
||||
docs/motif/*.txt
|
||||
docs/motif/makewx
|
||||
|
||||
lib/dummy
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
|
@@ -1,163 +0,0 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
tools/gettext/xgettext.exe
|
||||
tools/gettext/msgfmt.exe
|
||||
tools/gettext/msgunfmt.exe
|
||||
|
||||
src/makeb32.env
|
||||
src/makebcc.env
|
||||
src/makemsc.env
|
||||
src/makeprog.msc
|
||||
src/makewat.env
|
||||
src/makeprog.wat
|
||||
src/makesc.env
|
||||
src/makevc.env
|
||||
src/makeg95.env
|
||||
src/makesl.env
|
||||
src/makeprog.sl
|
||||
src/salford.lnk
|
||||
src/maketwin.env
|
||||
src/makeprog.twn
|
||||
src/makeprog.vc
|
||||
src/makelib.vc
|
||||
src/makefile.bcc
|
||||
src/makefile.dos
|
||||
src/makefile.vc
|
||||
src/*.bat
|
||||
|
||||
src/common/dosyacc.c
|
||||
src/common/doslex.c
|
||||
|
||||
src/msw/*.cpp
|
||||
src/msw/*.h
|
||||
src/msw/makefile.*
|
||||
src/msw/*.lst
|
||||
src/msw/*.def
|
||||
src/msw/*.inc
|
||||
|
||||
src/msw/ctl3d/*.*
|
||||
src/msw/ctl3d/msvc/*.*
|
||||
src/msw/ctl3d/wat32/*.*
|
||||
src/msw/ctl3d/wat386/*.*
|
||||
src/msw/ctl3d/borland/*.*
|
||||
src/msw/ole/*.cpp
|
||||
src/msw/*.prj
|
||||
|
||||
src/xpm/*.c
|
||||
src/xpm/*.h
|
||||
src/xpm/makefile*
|
||||
src/xpm/changes
|
||||
src/xpm/readme
|
||||
src/xpm/readme.msw
|
||||
src/xpm/copyrigh.t
|
||||
src/xpm/files
|
||||
|
||||
include/wx/msw/*.h
|
||||
include/wx/msw/*.rc
|
||||
include/wx/msw/ctl3d/*.h
|
||||
include/wx/msw/gnuwin32/*.h
|
||||
include/wx/msw/ole/*.h
|
||||
include/wx/msw/*.cur
|
||||
include/wx/msw/*.ico
|
||||
include/wx/msw/*.bmp
|
||||
|
||||
lib/dummy
|
||||
|
||||
samples/ownerdrw/*.cpp
|
||||
samples/ownerdrw/*.h
|
||||
samples/ownerdrw/makefile.*
|
||||
samples/ownerdrw/*.rc
|
||||
samples/ownerdrw/*.def
|
||||
samples/ownerdrw/*.bmp
|
||||
samples/ownerdrw/*.ico
|
||||
samples/ownerdrw/*.txt
|
||||
|
||||
samples/taskbar/*.cpp
|
||||
samples/taskbar/*.h
|
||||
samples/taskbar/makefile.*
|
||||
samples/taskbar/*.rc
|
||||
samples/taskbar/*.def
|
||||
samples/taskbar/*.bmp
|
||||
samples/taskbar/*.ico
|
||||
samples/taskbar/*.txt
|
||||
|
||||
samples/regtest/*.cpp
|
||||
samples/regtest/*.h
|
||||
samples/regtest/makefile.*
|
||||
samples/regtest/*.rc
|
||||
samples/regtest/*.def
|
||||
samples/regtest/*.bmp
|
||||
samples/regtest/*.ico
|
||||
samples/regtest/*.txt
|
||||
|
||||
samples/nativdlg/*.cpp
|
||||
samples/nativdlg/*.h
|
||||
samples/nativdlg/*.def
|
||||
samples/nativdlg/*.rc
|
||||
samples/nativdlg/*.txt
|
||||
samples/nativdlg/makefile.*
|
||||
samples/nativdlg/*.xbm
|
||||
samples/nativdlg/*.ico
|
||||
samples/nativdlg/*.bmp
|
||||
|
||||
samples/mfc/*.h
|
||||
samples/mfc/*.cpp
|
||||
samples/mfc/*.def
|
||||
samples/mfc/*.rc
|
||||
samples/mfc/makefile.*
|
||||
samples/mfc/*.txt
|
||||
samples/mfc/*.bmp
|
||||
samples/mfc/*.ico
|
||||
|
||||
samples/joytest/*.h
|
||||
samples/joytest/*.cpp
|
||||
samples/joytest/*.def
|
||||
samples/joytest/*.rc
|
||||
samples/joytest/makefile.*
|
||||
samples/joytest/*.txt
|
||||
samples/joytest/*.bmp
|
||||
samples/joytest/*.wav
|
||||
samples/joytest/*.ico
|
||||
|
||||
samples/oleauto/*.h
|
||||
samples/oleauto/*.cpp
|
||||
samples/oleauto/*.def
|
||||
samples/oleauto/*.rc
|
||||
samples/oleauto/makefile.*
|
||||
samples/oleauto/*.txt
|
||||
samples/oleauto/*.bmp
|
||||
samples/oleauto/*.ico
|
||||
|
||||
utils/nplugin/make*.*
|
||||
utils/nplugin/src/*.cpp
|
||||
utils/nplugin/src/*.h
|
||||
utils/nplugin/src/*.rc
|
||||
utils/nplugin/src/*.def
|
||||
utils/nplugin/src/makefile.*
|
||||
utils/nplugin/src/*.txt
|
||||
utils/nplugin/samples/simple/*.cpp
|
||||
utils/nplugin/samples/simple/*.h
|
||||
utils/nplugin/samples/simple/*.rc
|
||||
utils/nplugin/samples/simple/*.def
|
||||
utils/nplugin/samples/simple/makefile.*
|
||||
utils/nplugin/samples/simple/*.txt
|
||||
utils/nplugin/samples/gui/*.cpp
|
||||
utils/nplugin/samples/gui/*.h
|
||||
utils/nplugin/samples/gui/*.rc
|
||||
utils/nplugin/samples/gui/*.def
|
||||
utils/nplugin/samples/gui/makefile.*
|
||||
utils/nplugin/samples/gui/*.txt
|
||||
utils/nplugin/docs/*.tex
|
||||
utils/nplugin/docs/*.txt
|
||||
utils/nplugin/docs/*.hpj
|
||||
utils/nplugin/docs/*.eps
|
||||
utils/nplugin/docs/*.ps
|
||||
utils/nplugin/docs/*.ini
|
||||
utils/nplugin/docs/*.cnt
|
||||
utils/nplugin/docs/*.hlp
|
||||
utils/nplugin/lib/dummy
|
||||
|
@@ -1,43 +0,0 @@
|
||||
utils/ogl/src/*.cpp
|
||||
utils/ogl/src/*.h
|
||||
utils/ogl/src/*.rc
|
||||
utils/ogl/src/*.def
|
||||
utils/ogl/src/*.xbm
|
||||
utils/ogl/src/*.xpm
|
||||
utils/ogl/src/makefile*
|
||||
utils/ogl/src/*.txt
|
||||
utils/ogl/src/*.ico
|
||||
utils/ogl/src/*.bmp
|
||||
|
||||
utils/ogl/samples/ogledit/*.cpp
|
||||
utils/ogl/samples/ogledit/*.h
|
||||
utils/ogl/samples/ogledit/*.rc
|
||||
utils/ogl/samples/ogledit/*.def
|
||||
utils/ogl/samples/ogledit/*.xbm
|
||||
utils/ogl/samples/ogledit/makefile*
|
||||
utils/ogl/samples/ogledit/*.txt
|
||||
utils/ogl/samples/ogledit/*.ico
|
||||
utils/ogl/samples/ogledit/*.bmp
|
||||
utils/ogl/samples/ogledit/*.xpm
|
||||
utils/ogl/samples/ogledit/bitmaps/*.bmp
|
||||
utils/ogl/samples/ogledit/bitmaps/*.gif
|
||||
utils/ogl/samples/ogledit/bitmaps/*.xbm
|
||||
utils/ogl/samples/ogledit/bitmaps/*.xpm
|
||||
|
||||
utils/ogl/distrib/*.rsp
|
||||
utils/ogl/distrib/*.bat
|
||||
|
||||
utils/ogl/docs/*.txt
|
||||
utils/ogl/docs/*.tex
|
||||
utils/ogl/docs/*.ini
|
||||
utils/ogl/docs/*.hpj
|
||||
utils/ogl/docs/*.ps
|
||||
utils/ogl/docs/*.eps
|
||||
utils/ogl/docs/*.bmp
|
||||
utils/ogl/docs/*.gif
|
||||
|
||||
docs/html/ogl/*.*
|
||||
docs/winhelp/ogl.hlp
|
||||
docs/winhelp/ogl.cnt
|
||||
docs/pdf/ogl.pdf
|
||||
|
@@ -1,15 +0,0 @@
|
||||
src/stubs/*.cpp
|
||||
src/stubs/*.h
|
||||
src/stubs/makefile*
|
||||
src/stubs/*.inc
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
src/makelib.env
|
||||
|
||||
include/wx/stubs/*.h
|
||||
include/wx/stubs/*.rc
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,117 +0,0 @@
|
||||
@echo off
|
||||
rem Tar up an external distribution of wxWindows 2.0: but
|
||||
rem putting in separate ASCII and binary files
|
||||
rem This seems to be the one that works, using
|
||||
rem separate tar programs for conversion/non-conversion
|
||||
rem of ASCII/binary files.
|
||||
|
||||
if "%1" == "" goto usage
|
||||
if "%2" == "" goto usage
|
||||
echo About to archive an external wxWindows 2.0 distribution:
|
||||
echo From %1
|
||||
echo To %2\wx200_1.tgz, %2\wx200_2.tgz, %2\wx200hlp.tgz, %2\wx200ps.tgz, %2\wx200htm.tgz
|
||||
echo CTRL-C if this is not correct.
|
||||
inkey /W4 `Press any key to continue...` %%input
|
||||
|
||||
erase %2\*.tgz
|
||||
cd %1
|
||||
|
||||
rem First, expand the wildcards in the rsp files
|
||||
|
||||
rem Create empty list file
|
||||
erase %1\distrib\*.lis
|
||||
c:\bin\touch %1\distrib\wx200asc.lis
|
||||
c:\bin\touch %1\distrib\wx200bin.lis
|
||||
c:\bin\touch %1\distrib\wx200hlp.lis
|
||||
c:\bin\touch %1\distrib\wx200ps.lis
|
||||
c:\bin\touch %1\distrib\wx200xlp.lis
|
||||
|
||||
rem Create a .rsp file with backslashes instead
|
||||
rem of forward slashes
|
||||
rem No need if using ls2 (from UNIX95 distribution)
|
||||
rem sed -e "s/\//\\/g" %1\distrib\wx_asc.rsp > %1\distrib\wx_asc.rs2
|
||||
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_asc.rsp %1\distrib\wx200asc.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\util_asc.rsp %1\distrib\wx200asc.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\smpl_asc.rsp %1\distrib\wx200asc.lis
|
||||
rem call %1\distrib\expdwild.bat %1\distrib\wxim1asc.rsp %1\distrib\wx200asc.lis
|
||||
rem call %1\distrib\expdwild.bat %1\distrib\wxim2asc.rsp %1\distrib\wx200asc.lis
|
||||
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_bin.rsp %1\distrib\wx200bin.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\util_bin.rsp %1\distrib\wx200bin.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\smpl_bin.rsp %1\distrib\wx200bin.lis
|
||||
rem call %1\distrib\expdwild.bat %1\distrib\wxim1bin.rsp %1\distrib\wx200bin.lis
|
||||
|
||||
rem Docs
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_hlp.rsp %1\distrib\wx200hlp.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_ps.rsp %1\distrib\wx200ps.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_html.rsp %1\distrib\wx200htm.lis
|
||||
call %1\distrib\expdwild.bat %1\distrib\wx_pdf.rsp %1\distrib\wx200pdf.lis
|
||||
|
||||
rem Do some further massaging of the .lis files
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200asc.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200asc.lis
|
||||
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200bin.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200bin.lis
|
||||
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200hlp.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200hlp.lis
|
||||
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200ps.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200ps.lis
|
||||
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200htm.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200htm.lis
|
||||
|
||||
sed -e "s/\\/\//g" %1\distrib\wx200pdf.lis > c:\temp\temp.tmp
|
||||
sed -e "s/D:\/wx\///g" c:\temp\temp.tmp > %1\distrib\wx200pdf.lis
|
||||
|
||||
rem 'tar' converts linefeeds.
|
||||
tar -c -T %1\distrib\wx200asc.lis -f %2\wx200.tar
|
||||
rem pause Press a key to continue.
|
||||
|
||||
rem This converts to lower case
|
||||
ren %2\wx200.tar %2\wx200_1.tar
|
||||
gzip32 %2\wx200_1.tar
|
||||
ren %2\wx200_1.tar.gz %2\wx200_1.tgz
|
||||
|
||||
rem No linefeed conversion wanted
|
||||
rem Note: GNU tar seems to crash with a full destination path, so
|
||||
rem pander to it.
|
||||
targnu -c -T %1\distrib\wx200bin.lis -f wx200_2.tar
|
||||
move wx200_2.tar %2
|
||||
gzip32 %2\wx200_2.tar
|
||||
ren %2\wx200_2.tar.gz %2\wx200_2.tgz
|
||||
|
||||
targnu -c -T %1\distrib\wx200hlp.lis -f wx200_hlp.tar
|
||||
move wx200_hlp.tar %2
|
||||
gzip32 %2\wx200_hlp.tar
|
||||
ren %2\wx200_hlp.tar.gz %2\wx200hlp.tgz
|
||||
|
||||
tar -c -T %1\distrib\wx200ps.lis -f %2\wx200ps.tar
|
||||
gzip32 %2\wx200ps.tar
|
||||
ren %2\wx200ps.tar.gz %2\wx200ps.tgz
|
||||
|
||||
targnu -c -T %1\distrib\wx200htm.lis -f wx200htm.tar
|
||||
move wx200htm.tar %2
|
||||
gzip32 %2\wx200htm.tar
|
||||
ren %2\wx200htm.tar.gz %2\wx200htm.tgz
|
||||
|
||||
targnu -c -T %1\distrib\wx200pdf.lis -f wx200pdf.tar
|
||||
move wx200pdf.tar %2
|
||||
gzip32 %2\wx200pdf.tar
|
||||
ren %2\wx200pdf.tar.gz %2\wx200pdf.tgz
|
||||
|
||||
cd %2
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
||||
:usage
|
||||
echo Tar/gzip wxWindows distribution under DOS, making an ASCII and binary file
|
||||
echo Usage: tardist source destination
|
||||
echo e.g. tardist d:\wx d:\wx\deliver
|
||||
|
||||
:end
|
||||
|
||||
|
@@ -1,26 +0,0 @@
|
||||
utils/tex2rtf/src/*.cpp
|
||||
utils/tex2rtf/src/*.h
|
||||
utils/tex2rtf/src/make*.*
|
||||
utils/tex2rtf/src/*.xbm
|
||||
utils/tex2rtf/src/*.xpm
|
||||
utils/tex2rtf/src/*.sty
|
||||
utils/tex2rtf/src/*.ini
|
||||
utils/tex2rtf/lib/dummy
|
||||
utils/tex2rtf/src/*.bmp
|
||||
utils/tex2rtf/src/*.ico
|
||||
utils/tex2rtf/src/*.def
|
||||
utils/tex2rtf/src/*.rc
|
||||
|
||||
utils/tex2rtf/docs/*.tex
|
||||
utils/tex2rtf/docs/*.sty
|
||||
utils/tex2rtf/docs/*.bib
|
||||
utils/tex2rtf/docs/*.hpj
|
||||
utils/tex2rtf/docs/*.ini
|
||||
utils/tex2rtf/docs/*.txt
|
||||
utils/tex2rtf/docs/*.cnt
|
||||
utils/tex2rtf/docs/*.eps
|
||||
utils/tex2rtf/docs/*.bmp
|
||||
utils/tex2rtf/docs/*.gif
|
||||
utils/tex2rtf/docs/*.wmf
|
||||
utils/tex2rtf/docs/*.shg
|
||||
|
@@ -1,153 +0,0 @@
|
||||
src/wxVC.dsp
|
||||
src/wxVC.dsw
|
||||
|
||||
samples/checklst/ChecklstVC.dsp
|
||||
samples/checklst/ChecklstVC.dsw
|
||||
|
||||
samples/config/ConfigVC.dsp
|
||||
samples/config/ConfigVC.dsw
|
||||
|
||||
samples/controls/ControlsVC.dsp
|
||||
samples/controls/ControlsVC.dsw
|
||||
|
||||
samples/db/DbVC.dsp
|
||||
samples/db/DbVC.dsw
|
||||
|
||||
samples/dialogs/DialogsVC.dsp
|
||||
samples/dialogs/DialogsVC.dsw
|
||||
|
||||
samples/dnd/DndVC.dsp
|
||||
samples/dnd/DndVC.dsw
|
||||
|
||||
samples/docview/DocviewVC.dsp
|
||||
samples/docview/DocviewVC.dsw
|
||||
|
||||
samples/docvwmdi/DocViewVC.dsp
|
||||
samples/docvwmdi/DocViewVC.dsw
|
||||
|
||||
samples/dynamic/DynamicVC.dsp
|
||||
samples/dynamic/DynamicVC.dsw
|
||||
|
||||
samples/forty/FortyVC.dsp
|
||||
samples/forty/FortyVC.dsw
|
||||
|
||||
samples/grid/GridVC.dsp
|
||||
samples/grid/GridVC.dsw
|
||||
|
||||
samples/help/HelpVC.dsp
|
||||
samples/help/HelpVC.dsw
|
||||
|
||||
samples/image/ImageVC.dsp
|
||||
samples/image/ImageVC.dsw
|
||||
|
||||
samples/internat/InternatVC.dsp
|
||||
samples/internat/InternatVC.dsw
|
||||
|
||||
samples/joytest/JoytestVC.dsp
|
||||
samples/joytest/JoytestVC.dsw
|
||||
|
||||
samples/layout/LayoutVC.dsp
|
||||
samples/layout/LayoutVC.dsw
|
||||
|
||||
samples/listctrl/ListCtrlVC.dsp
|
||||
samples/listctrl/ListCtrlVC.dsw
|
||||
|
||||
samples/mdi/MdiVC.dsp
|
||||
samples/mdi/MdiVC.dsw
|
||||
|
||||
samples/memcheck/MemcheckVC.dsp
|
||||
samples/memcheck/MemcheckVC.dsw
|
||||
|
||||
samples/mfc/MfcVC.dsp
|
||||
samples/mfc/MfcVC.dsw
|
||||
|
||||
samples/minimal/MinimalVC.dsp
|
||||
samples/minimal/MinimalVC.dsw
|
||||
|
||||
samples/minifram/MiniframVC.dsp
|
||||
samples/minifram/MiniframVC.dsw
|
||||
|
||||
samples/nativdlg/NativdlgVC.dsp
|
||||
samples/nativdlg/NativdlgVC.dsw
|
||||
|
||||
samples/notebook/NotebookVC.dsp
|
||||
samples/notebook/NotebookVC.dsw
|
||||
|
||||
samples/ownerdrw/OwnerDrwVC.dsp
|
||||
samples/ownerdrw/OwnerDrwVC.dsw
|
||||
|
||||
samples/png/PngVC.dsp
|
||||
samples/png/PngVC.dsw
|
||||
|
||||
samples/printing/PrintingVC.dsp
|
||||
samples/printing/PrintingVC.dsw
|
||||
|
||||
samples/Regtest/RegtestVC.dsp
|
||||
samples/Regtest/RegtestVC.dsw
|
||||
|
||||
samples/resource/ResourceVC.dsp
|
||||
samples/resource/ResourceVC.dsw
|
||||
|
||||
samples/sashtest/SashtestVC.dsp
|
||||
samples/sashtest/SashtestVC.dsw
|
||||
|
||||
samples/splitter/SplitterVC.dsp
|
||||
samples/splitter/SplitterVC.dsw
|
||||
|
||||
samples/tab/TabVC.dsp
|
||||
samples/tab/TabVC.dsw
|
||||
|
||||
samples/taskbar/TaskbarVC.dsp
|
||||
samples/taskbar/TaskbarVC.dsw
|
||||
|
||||
samples/thread/ThreadVC.dsp
|
||||
samples/thread/ThreadVC.dsw
|
||||
|
||||
samples/toolbar/ToolbarVC.dsp
|
||||
samples/toolbar/ToolbarVC.dsw
|
||||
|
||||
samples/treectrl/TreectrlVC.dsp
|
||||
samples/treectrl/TreeCtrlVC.dsw
|
||||
|
||||
samples/typetest/TypetestVC.dsp
|
||||
samples/typetest/TypetestVC.dsw
|
||||
|
||||
samples/validate/ValidateVC.dsp
|
||||
samples/validate/ValidateVC.dsw
|
||||
|
||||
samples/wxsocket/ClientVC.dsp
|
||||
samples/wxsocket/ServerVC.dsw
|
||||
|
||||
samples/wxpoem/PoemVC.dsp
|
||||
samples/wxpoem/PoemVC.dsw
|
||||
|
||||
utils/wxprop/src/PropVC.dsp
|
||||
utils/wxprop/src/PropVC.dsw
|
||||
utils/wxprop/src/PropSampleVC.dsp
|
||||
utils/wxprop/src/PropSampleVC.dsw
|
||||
|
||||
utils/dialoged/src/DialogEdVC.dsp
|
||||
utils/dialoged/src/DialogEdVC.dsw
|
||||
|
||||
utils/tex2rtf/src/Tex2RTFVC.dsp
|
||||
utils/tex2rtf/src/Tex2RTFVC.dsw
|
||||
|
||||
utils/glcanvas/win/GlcanvasVC.dsp
|
||||
utils/glcanvas/win/GlcanvasVC.dsw
|
||||
utils/glcanvas/samples/cube/CubeVC.dsp
|
||||
utils/glcanvas/samples/cube/CubeVC.dsw
|
||||
utils/glcanvas/samples/isosurf/IsosurfVC.dsp
|
||||
utils/glcanvas/samples/isosurf/IsosurfVC.dsw
|
||||
utils/glcanvas/samples/penguin/PenguinVC.dsp
|
||||
utils/glcanvas/samples/penguin/PenguinVC.dsw
|
||||
|
||||
utils/ogl/src/OglVC.dsp
|
||||
utils/ogl/src/OglVC.dsw
|
||||
utils/ogl/samples/ogledit/OgleditVC.dsp
|
||||
utils/ogl/samples/ogledit/OgleditVC.dsw
|
||||
|
||||
utils/wxtree/src/TreeVC.dsp
|
||||
utils/wxtree/src/TreeVC.dsw
|
||||
utils/wxtree/src/TreeSampleVC.dsp
|
||||
utils/wxtree/src/TreeSampleVC.dsw
|
||||
|
@@ -1,2 +0,0 @@
|
||||
docs/winhelp/*.hlp
|
||||
docs/winhelp/*.cnt
|
@@ -1,37 +0,0 @@
|
||||
docs/html/*.htm
|
||||
docs/html/*.gif
|
||||
|
||||
docs/html/wx/*.htm
|
||||
docs/html/wx/*.gif
|
||||
docs/html/porting/*.htm
|
||||
docs/html/porting/*.gif
|
||||
docs/html/faq/*.htm
|
||||
docs/html/faq/*.gif
|
||||
docs/html/techref/*.htm
|
||||
docs/html/techref/*.gif
|
||||
|
||||
docs/html/dialoged/*.htm
|
||||
docs/html/dialoged/*.gif
|
||||
|
||||
docs/html/wxtree/*.htm
|
||||
docs/html/wxtree/*.gif
|
||||
|
||||
docs/html/wxgraph/*.htm
|
||||
docs/html/wxgraph/*.gif
|
||||
|
||||
docs/html/wxhelp/*.htm
|
||||
docs/html/wxhelp/*.gif
|
||||
|
||||
docs/html/proplist/*.htm
|
||||
docs/html/proplist/*.gif
|
||||
|
||||
docs/html/winstall/*.htm
|
||||
docs/html/winstall/*.gif
|
||||
|
||||
docs/html/tex2rtf/*.htm
|
||||
docs/html/tex2rtf/*.gif
|
||||
|
||||
docs/html/odbc/*.htm
|
||||
|
||||
docs/html/gettext/*.htm
|
||||
|
@@ -1 +0,0 @@
|
||||
docs/pdf/*.pdf
|
@@ -1,2 +0,0 @@
|
||||
docs/word/odbc.doc
|
||||
|
@@ -1,68 +0,0 @@
|
||||
@echo off
|
||||
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
||||
set src=d:\wx2\wxWindows
|
||||
set dest=%src\deliver
|
||||
if "%src" == "" goto usage
|
||||
if "%dest" == "" goto usage
|
||||
echo About to archive an external wxWindows distribution:
|
||||
echo From %src
|
||||
echo To %dest
|
||||
echo CTRL-C if this is not correct.
|
||||
pause
|
||||
|
||||
erase %dest\wx200*.zip
|
||||
erase %dest\glcanvas.zip
|
||||
erase %dest\ogl3.zip
|
||||
erase %dest\tex2rtf2.zip
|
||||
|
||||
cd %src
|
||||
echo Zipping...
|
||||
|
||||
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
||||
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
||||
zip32 -@ %dest\wx200user.zip < %src\distrib\msw\user.rsp
|
||||
|
||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||
zip32 -@ %dest\wx200wrd.zip < %src\distrib\msw\wx_word.rsp
|
||||
|
||||
rem VC++ project files
|
||||
zip32 -@ %dest\wx200vc.zip < %src\distrib\msw\vc.rsp
|
||||
|
||||
rem CodeWarrior project files
|
||||
zip32 -@ %dest\wx200cw.zip < %src\distrib\msw\cw.rsp
|
||||
|
||||
rem OGL 3
|
||||
zip32 -@ %dest\ogl3.zip < %src\distrib\msw\ogl.rsp
|
||||
|
||||
rem GLCanvas
|
||||
zip32 -@ %dest\glcanvas.zip < %src\distrib\msw\glcanvas.rsp
|
||||
|
||||
rem Tex2RTF
|
||||
zip32 -@ %dest\tex2rtf2.zip < %src\distrib\msw\tex2rtf.rsp
|
||||
|
||||
rem wxTreeLayout
|
||||
zip32 -@ %dest\treedraw.zip < %src\distrib\msw\wxtree.rsp
|
||||
|
||||
copy %src\docs\changes.txt %dest
|
||||
copy %src\docs\msw\install.txt %dest\install_msw.txt
|
||||
copy %src\docs\motif\install.txt %dest\install_motif.txt
|
||||
copy %src\docs\gtk\install.txt %dest\install_gtk.txt
|
||||
copy %src\docs\readme.txt %dest
|
||||
|
||||
cd %dest
|
||||
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
||||
:usage
|
||||
echo DOS wxWindows distribution.
|
||||
echo Usage: zipdist source destination
|
||||
echo e.g. zipdist d:\wx2\wxWindows d:\wx2\wxWindows\deliver
|
||||
|
||||
:end
|
@@ -1,32 +0,0 @@
|
||||
wxWindows Buglist
|
||||
-----------------
|
||||
|
||||
wxGTK:
|
||||
------
|
||||
|
||||
wxMSW:
|
||||
------
|
||||
|
||||
wxMotif:
|
||||
--------
|
||||
|
||||
- If a popup wxMenu is destroyed after its parent window has been
|
||||
destroyed, we get the message "Object XXX does not have windowed
|
||||
ancestor".
|
||||
Workaround: delete the menu before deleting the window on which it
|
||||
was popped up.
|
||||
Possible fix: call menu->DestroyMenu() before deleting the window,
|
||||
if the window knows about the menu that was last popped up (hard
|
||||
to know this with confidence).
|
||||
|
||||
- In wxGrid, cell highlight is not drawn/erased properly.
|
||||
|
||||
- Setting the size of a hidden window may show that window.
|
||||
|
||||
- wxRadioBox sometimes doesn't show (e.g. in controls sample).
|
||||
|
||||
- wxStaticText doesn't wrap.
|
||||
|
||||
General:
|
||||
--------
|
||||
|
608
docs/changes.txt
@@ -1,608 +0,0 @@
|
||||
wxWindows 2.0 Change Log
|
||||
------------------------
|
||||
|
||||
Beta 3, January 1999
|
||||
--------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
wxMSW:
|
||||
|
||||
- wxRegConfig DeleteAll bug fixed.
|
||||
- Makefiles for more compilers.
|
||||
- TWIN32 support added.
|
||||
- Renamed VC++ makefiles from .nt to .vc, and
|
||||
factored out program/library settings.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- A few more colour fixes.
|
||||
- wxGLCanvas and OpenGL samples working.
|
||||
- Some compiler warnings fixed.
|
||||
- wxChoice crash fix.
|
||||
- Dialog Editor starting to work on Motif.
|
||||
|
||||
General:
|
||||
|
||||
- wxBusyCursor class added.
|
||||
- Added samples/dde.
|
||||
- More doc improvements, incl. expanding docs/html/index.htm.
|
||||
|
||||
Beta 2, January 1999
|
||||
--------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
wxMSW:
|
||||
|
||||
- 16-bit BC++ compilation/linking works albeit without the resource system.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Cured wxScreenDC origin problem so e.g. sash window sash is drawn at
|
||||
the right place.
|
||||
- Cured some widget table clashes.
|
||||
- Added thread support (Robert).
|
||||
- wxPoem sample now works.
|
||||
|
||||
General:
|
||||
|
||||
- Rearranged documentation a bit.
|
||||
- Sash window uses area of first frame/dialog to paint over when drawing
|
||||
the dragged sash, not just the sash window itself (it clipped to the right
|
||||
or below).
|
||||
- Made resource sample use the correct Cancel button id.
|
||||
- Moved wxProp to main library (generic directory), created proplist
|
||||
sample.
|
||||
- Added bombs and fractal samples.
|
||||
|
||||
Beta 1, December 24th 1998
|
||||
--------------------------
|
||||
|
||||
wxGTK:
|
||||
|
||||
- Various
|
||||
|
||||
wxMSW, wxMotif: not in sync with this release.
|
||||
|
||||
|
||||
Alpha 18, December 29th 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Win16 support working again (VC++ 1.5)
|
||||
- Win16 now uses generic wxNotebook, wxListCtrl,
|
||||
wxTreeCtrl -- more or less working now, although
|
||||
a little work on wxNotebook is still needed.
|
||||
Under 16-bit Windows, get assertion when you click
|
||||
on a tab.
|
||||
- Wrote 16-bit BC++ makefiles: samples don't yet link.
|
||||
- Added CodeWarrior support to distribution courtesy
|
||||
of Stefan Csomor.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Cured scrolling problem: scrollbars now show/hide themselves
|
||||
without (permanently) resizing the window.
|
||||
- Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars
|
||||
that disabled scrollbar paging.
|
||||
- Set background colour of drawing area in wxWindow, so e.g. wxListCtrl
|
||||
colours correctly.
|
||||
- Removed major bug whereby dialogs were unmanaged automatically
|
||||
when any button was pressed.
|
||||
- Fixed colours of wxWindow scrollbars, made list and text controls
|
||||
have a white background.
|
||||
- Fixed dialog colour setting.
|
||||
- Added settable fonts and colours for wxMenu/wxMenuBar. Now
|
||||
they have sensible colours by default.
|
||||
- Fixed a bug in wxStaticBox.
|
||||
- Cured wxTreeCtrl bug: now works pretty well!
|
||||
- Debugged DrawEllipticArc (a ! in the wrong place).
|
||||
- Added SetClippingRegion( const wxRegion& region ).
|
||||
- Added wxPoint, wxSize, wxRect versions of SetSize etc.
|
||||
|
||||
Alpha 17, November 22nd 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- More documentation updates, especially for
|
||||
wxLayoutWindow classes and debugging facilities.
|
||||
- Changed wxDebugContext to use wxDebugLog instead
|
||||
of wxTrace.
|
||||
- Now supports VC++ 6.0, and hopefully BC++ 5.0.
|
||||
However, DLL support may be broken for BC++ since
|
||||
VC++ 6 required changing of WXDLLEXPORT keyword
|
||||
position.
|
||||
- Numerous miscellaneous changes.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- Reimplemented MDI using wxNotebook instead of the MDI widgets, which
|
||||
were too buggy (probably not design for dynamic addition/removal of
|
||||
child frames).
|
||||
- Some improvements to the wxNotebook implementation.
|
||||
- wxToolBar now uses a bulletin board instead of a form, in an attempt
|
||||
to make it possible to add ordinary wxControls to a toolbar.
|
||||
- Cured problem with not being able to use global memory operators,
|
||||
by defining two more global operators, so that the delete will match
|
||||
the debugging implementation.
|
||||
- Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using
|
||||
global memory operators (usually OK) and #defining new to be
|
||||
WXDEBUG_NEW (sometimes it might not be OK).
|
||||
- Added time.cpp to makefile; set wxUSE_DATETIME to 1.
|
||||
- Added a parent-existance check to popup menu code to make it not crash.
|
||||
- Added some optimization in wxWindow::SetSize to produce less flicker.
|
||||
It remains to be seen whether this produces any resize bugs.
|
||||
|
||||
It's a long time since I updated this file. Previously done:
|
||||
|
||||
- wxFrame, wxDialog done.
|
||||
- wxScrolledWindow done (but backing pixmap not used at present).
|
||||
- wxBitmap done though could be tidied it up at some point.
|
||||
- Most basic controls are there, if not rigorously tested.
|
||||
- Some MDI support (menus appear on child frames at present).
|
||||
- wxNotebook almost done.
|
||||
- wxToolBar done (horizontal only, which would be easy to extend
|
||||
to vertical toolbars).
|
||||
|
||||
More recently:
|
||||
|
||||
- Colour and font changing done (question mark over what happens
|
||||
to scrollbars).
|
||||
- Accelerators done (for menu items and buttons). Also event loop
|
||||
tidied up in wxApp so that events are filtered through ProcessXEvent.
|
||||
- wxWindow::GetUpdateRegion should now work.
|
||||
|
||||
Alpha 16, September 8th 1998
|
||||
----------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added wxSashWindow, wxSashLayoutWindow classes, and sashtest
|
||||
sample.
|
||||
- Guilhem's socket classes added, plus wxsocket sample.
|
||||
- A few more makefiles added.
|
||||
- GnuWin32/BC++ compatibility mods.
|
||||
- Further doc updates.
|
||||
- wxProp updates for correct working with wxGTK.
|
||||
|
||||
wxMotif:
|
||||
|
||||
- First start at Motif port.
|
||||
- Made makefiles for wxMotif source directory and minimal sample.
|
||||
- First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
|
||||
wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
|
||||
wxMenu, wxMenuItem, wxMenuBar
|
||||
|
||||
Alpha 15, August 31st 1998
|
||||
--------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- wxBitmap debugged.
|
||||
- wxDC::GetDepth added.
|
||||
- Contribution added whereby wxBitmap will be
|
||||
converted to DC depth if they don't match.
|
||||
- wxConfig API improved, documentation updated.
|
||||
- Printing classes name conventions cleaned up.
|
||||
- wxUpdateUIEvent now derives from wxCommandEvent
|
||||
so event can travel up the window hierachy.
|
||||
|
||||
Alpha 14, July 31st 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Toolbar API has been simplified, and now
|
||||
wxFrame::GetClientArea returns the available client
|
||||
area when toolbar, status bar etc. have been accounted for.
|
||||
wxFrame::CreateToolBar added in line with CreateStatusBar.
|
||||
- Documentation updates, incl. for wxToolBar.
|
||||
- New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
|
||||
- Various additions from other folk, e.g. streams, wxConfig
|
||||
changes, wxNotebook.
|
||||
- Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
|
||||
|
||||
Alpha 13, July 8th 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Implemented wxPoint as identical to POINT on Windows, and
|
||||
altered wxDC wxPoint functions to use wxPoint directly in
|
||||
Windows functions, for efficiency.
|
||||
- Cured wxASSERT bug in wxStatusBar95.
|
||||
- #ifdefed out some bits in oleutils.cpp for compilers that
|
||||
don't support it.
|
||||
- Added some operators to wxPoint, wxSize.
|
||||
- Added inline wxDC functions using wxPoint, wxSize, wxRect.
|
||||
|
||||
Alpha 12, July 7th 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
|
||||
have flat toolbars on Win98 or Win95 with IE >= 3 installed.
|
||||
|
||||
Alpha 11, July 3rd 1998
|
||||
-----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added thread.h, thread.cpp.
|
||||
- Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
|
||||
wxMenuBar.
|
||||
- Changed wxMenuItem::SetBackColor to SetBackgroundColour,
|
||||
SetTextColor to SetTextColour, and added or made public several
|
||||
wxMenuItem accessors.
|
||||
- Added two overloads to wxRegion::Contains. Added
|
||||
wxRegion::IsEmpty for a more consistent naming convention.
|
||||
- Added Vadim's wxDataObject and wxDropSource.
|
||||
- ENTER/LEAVE events now work.
|
||||
- Cured wxMemoryDC bug where the DC wasn't being deleted.
|
||||
- Cured wxGauge SetSize major bugginess.
|
||||
- Cured problem where if a GDI object was created on the stack,
|
||||
then went out of scope, then another object was selected into
|
||||
the DC, GDI objects would leak. This is because the assignment
|
||||
to e.g. wxDC::m_pen would delete the GDI object without it first
|
||||
being selected out of the DC. Cured by selecting the old DC object
|
||||
first, then doing the assignment.
|
||||
- Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95
|
||||
- Various other bug fixes and additions.
|
||||
|
||||
Generic:
|
||||
|
||||
- Major work on Dialog Editor (still plenty to go).
|
||||
- Expanded documentation a bit more.
|
||||
|
||||
Alpha 10, May 7th 1998
|
||||
----------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added desiredWidth, desiredHeight parameters to wxBitmapHandler
|
||||
and wxIcon functions so that you can specify what size of
|
||||
icon should be loaded. Probably will remain a Windows-specific thing.
|
||||
- wxStatusBar95 now works for MDI frames.
|
||||
- Toolbars in MDI frames now behave normally. They still
|
||||
require application-supplied positioning code though.
|
||||
- Changed installation instructions, makefiles and batch files
|
||||
for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
|
||||
change to support Mingw32/EGCS. Bison now used by default.
|
||||
|
||||
Alpha 9, April 27th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Cured bug in wxStatusBar95 that caused a crash if multiple
|
||||
fields were used.
|
||||
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||
compilation and pragmas.
|
||||
- Cured wxMenu bug introduced in alpha 8 - didn't respond to
|
||||
commands because VZ changed the id setting in wxMenu::MSWCommand.
|
||||
|
||||
Generic:
|
||||
|
||||
- Corrected some bugs, such as the wxModule compilation problem.
|
||||
- Added Gnu-Win32 b19/Mingw32 support by changing resource
|
||||
compilation and pragmas.
|
||||
- Changed SIZEOF to WXSIZEOF.
|
||||
|
||||
Alpha 8, April 17th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added IsNull to wxGDIObject to check if the ref data is present or not.
|
||||
- Added PNG handler and sample - doesn't work for 16-bit PNGs for
|
||||
some reason :-(
|
||||
- Added wxJoystick class and event handling, and simple demo.
|
||||
- Added simple wxWave class. Needs Stop() function.
|
||||
- Added wxModule (module.h/module.cpp) to allow definition
|
||||
of modules to be initialized and cleaned up on wxWindows
|
||||
startup/exit.
|
||||
- Start of Mingw32 compatibility (see minimal and dialogs samples
|
||||
makefile.m95 files, and install.txt).
|
||||
- Note: Windows printing has stopped working... will investigate.
|
||||
VADIM'S CHANGES:
|
||||
- Updated wxString: bug fixes, added wxArrayString, some
|
||||
compatibility functions.
|
||||
- Updated log.h/cpp, added wxApp::CreateLogTarget.
|
||||
- file.h: new wxTempFile class.
|
||||
- defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
|
||||
- statbr95: wxStatusBar95 control.
|
||||
- registry.h/cpp: wxRegKey class for Win95 registry.
|
||||
- listbox.cpp: corrected some bugs with owner-drawn listboxes.
|
||||
- wxConfig and wxFileConfig classes.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added src/other/png, src/other/zlib directories.
|
||||
- Added samples/png.
|
||||
- IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
|
||||
Porters, please check particularly your wxTreeCtrl and wxListCtrl
|
||||
header files.
|
||||
- Added modules.h/cpp, config.cpp, fileconf.cpp, textfile.cpp/h.
|
||||
|
||||
Alpha 7, March 30th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Added tab classes, tab sample.
|
||||
- Now can return FALSE from OnInit and windows will be
|
||||
cleaned up properly before exit.
|
||||
- Improved border handling so panels don't get borders
|
||||
automatically.
|
||||
- Debugged MDI activation from Window menu.
|
||||
- Changes to memory debug handling, including checking for
|
||||
memory leaks on application exit - but see issues.txt for
|
||||
unresolved issues.
|
||||
- Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
|
||||
to allow maintenance of an icon in the Windows 95 taskbar
|
||||
tray area.
|
||||
- Got MFC sample working (MFC and wxWindows in the same
|
||||
application), partly by tweaking ntwxwin.mak settings.
|
||||
- Got DLL compilation working again (VC++).
|
||||
- Changed wxProp/Dialog Editor filenames.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added tab classes, tab sample.
|
||||
- Revised memory.cpp, memory.h slightly; memory.h now #defines
|
||||
new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
|
||||
now checks for leaks on exit. Added memcheck sample.
|
||||
See src/msw/issues.txt for more details.
|
||||
- resource.h, resource.cpp changed to make wxDefaultResourceTable
|
||||
a pointer. Now initialize resource system with
|
||||
wxInitializeResourceSystem and wxCleanUpResourceSystem, to
|
||||
allow better control of memory.
|
||||
- wxString now derives from wxObject, to enable memory leak
|
||||
checking.
|
||||
- Added some #include fixes in various files, plus changed
|
||||
float to long in wxToolBar files.
|
||||
|
||||
Alpha 6, March 10th 1998
|
||||
------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- Found stack error bug - stopped unwanted OnIdle recursion.
|
||||
- Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
|
||||
- Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
|
||||
check if the number of top-level windows is zero before
|
||||
exiting. Also, wxApp::GetTopWindow will return either
|
||||
m_topWindow or the first member of wxTopLevelWindows, so you
|
||||
don't have to call wxApp::SetTopWindow.
|
||||
- Added dynarray.h/dynarray.cpp (from Vadim).
|
||||
- Added first cut at OLE drag and drop (from Vadim). dnd sample
|
||||
added. Drop target only at this stage. See src/msw/ole/*.cpp,
|
||||
wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
|
||||
Doesn't work with GnuWin32 - no appropriate headers e.g. for
|
||||
IUnknown.
|
||||
Doesn't work with BC++ either - crashes on program startup.
|
||||
- Added Vadim's owner-draw modifications - will probably remain
|
||||
Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
|
||||
- Added wxLB_OWNERDRAW for owner-draw listboxes.
|
||||
- Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
|
||||
Doesn't entirely work for WIN16.
|
||||
- Vadim has added wxMenuItem as a separate file menuitem.cpp. It
|
||||
can also be used as an argument to wxMenu::Append, not just for
|
||||
internal implementation.
|
||||
- Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
|
||||
in makeg95.env, together with mingw32.bat). However, resource
|
||||
binding is not working yet so most apps with dialogs crash.
|
||||
|
||||
Generic:
|
||||
|
||||
- Added Vadim's dynarray.h, dynarray.cpp.
|
||||
- Added Vadim's menuitem.cpp.
|
||||
- Added Windows-specific wxCheckListBox,
|
||||
owner-draw wxListBox, and drag-and-drop
|
||||
(see docs/msw/changes.txt).
|
||||
|
||||
Alpha 5, 14th February 1998
|
||||
--------------------------
|
||||
|
||||
wxMSW:
|
||||
|
||||
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||
DISTRIBUTIONS. This change log will therefore now refer to
|
||||
the Windows-specific code only. See docs/changes.txt for generic
|
||||
changes.
|
||||
- Removed Windows-specific reference counting system (GDI
|
||||
resources were cleaned up in idle time) - minimal
|
||||
advantages now we have a wxWin reference counting system.
|
||||
- Added missing WXDLLEXPORT keywords so DLL compilation works
|
||||
again.
|
||||
- Removed most warnings for GnuWin32 compilation.
|
||||
- Added wxRegion/wxRegionIterator, but haven't yet used it in
|
||||
e.g. wxDC.
|
||||
|
||||
Generic:
|
||||
|
||||
- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
|
||||
DISTRIBUTIONS. This change log will therefore now refer to
|
||||
the generic code only. See docs/msw/changes.txt for Windows-specific
|
||||
changes.
|
||||
- Readmes, change logs and installation files now go in
|
||||
platform-specific directories under docs, e.g. docs/msw,
|
||||
docs/gtk.
|
||||
- Added DECLARE_APP and IMPLEMENT_APP macros so wxApp object gets
|
||||
created dynamically, not as a global object.
|
||||
- Put wxColour into wx/msw/colour.h, src/msw/colour.cpp.
|
||||
- Changed names of some include/wx/generic headers to be
|
||||
consistent and to conform to gcc pragma conventions. Also
|
||||
changed choicesg.cpp to choicdgg.cpp.
|
||||
- Added gcc pragmas.
|
||||
- Added gtk inclusion in include/wx headers.
|
||||
- Added consistent file headings to source and headers.
|
||||
- Removed lang.cpp, lang.h and references to wxSTR_... variables;
|
||||
added a few references to wxTransString.
|
||||
- Added operator to wxTransString that converts automatically
|
||||
to wxString, so we can say e.g. wxMessageBox(wxTransString("Hello"), ...).
|
||||
- samples/internat now works (minimally).
|
||||
- Added wxMouseEvent::GetPosition and
|
||||
wxMouseEvent::GetLogicalPosition, both returning wxPoints.
|
||||
- Made wxSize and wxRect contain longs not ints.
|
||||
- Cured some lemory leaks (thanks Vadim).
|
||||
- Tidied up OnIdle and introduced RequestMore/MoreRequested so
|
||||
will only keep processing OnIdle if it returns TRUE from
|
||||
MoreRequested.
|
||||
|
||||
Alpha 4, 31st January 1998
|
||||
--------------------------
|
||||
|
||||
All:
|
||||
|
||||
- Changed wxDC functions to take longs instead of floats. GetSize now takes
|
||||
integer pointers, plus a version that returns a wxSize.
|
||||
- const keyword added to various wxDC functions.
|
||||
- Under Windows, wxDC no longer has any knowledge of whether
|
||||
an associated window is scrolled or not. Instead, the device
|
||||
origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
|
||||
- wxScrolledWindow applications can optionally override the virtual OnDraw
|
||||
function instead of using the OnPaint event handler. The wxDC passed to
|
||||
OnDraw will be translated by PrepareDC to reflect scrolling.
|
||||
When drawing outside of OnDraw, must call PrepareDC explicitly.
|
||||
- wxToolBarBase/wxToolBarSimple similarly changed to allow for
|
||||
scrolling toolbars.
|
||||
- Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
|
||||
to help printing with multiple pages.
|
||||
- IPC classes given base classes (wxConnectionBase etc.) which
|
||||
define the API used by different implementations. DDE
|
||||
implementation updated to use these base classes.
|
||||
- wxHelpInstance now separated into wxHelpControllerBase (base
|
||||
for all implementations), wxWinHelpController (uses standard
|
||||
WinHelp), wxXLPHelPController (talks to wxHelp by DDE or
|
||||
TCP/IP). There will be others eventually, such as
|
||||
wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
|
||||
- Added Vadim Zeitlin's wxString class plus
|
||||
internationalization code (gettext simulation, wxLocale, etc.).
|
||||
New files from Vadim:
|
||||
include\wx\string.h
|
||||
include\wx\debug.h
|
||||
include\wx\file.h
|
||||
include\wx\log.h
|
||||
include\wx\intl.h
|
||||
src\common\string.cpp
|
||||
src\common\log.cpp
|
||||
src\common\intl.cpp
|
||||
src\common\file.cpp
|
||||
No longer use GNU wxString files.
|
||||
- Split off file-related functions into include\wx\filefn.h and
|
||||
src\common\filefn.cpp.
|
||||
- Borland C++ support (WIN32) for main library and
|
||||
samples, using makefile.b32 files.
|
||||
- Preparation done for allowing BC++ to compile wxWin as a DLL,
|
||||
including changes to defs.h.
|
||||
- wxIntPoint removed, wxPoint is now int, and wxRealPoint
|
||||
introduced.
|
||||
- Added wxShowEvent (generated when window is being shown or
|
||||
hidden).
|
||||
- Got minimal, docview, mdi samples working for 16-bit VC++ and
|
||||
cured 16-bit problem with wxTextCtrl (removed global memory
|
||||
trick).
|
||||
- Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
|
||||
|
||||
Alpha 3, September 1997
|
||||
-----------------------
|
||||
|
||||
All:
|
||||
|
||||
- wxListCtrl, wxTreeCtrl, wxImageList classes done.
|
||||
- Instigated new file hierarchy, split files and classes up more logically.
|
||||
- PrologIO and some other utils now put into core library.
|
||||
- Revamped print/preview classes, added wxPageSetupDialog.
|
||||
- Started documentation.
|
||||
|
||||
Alpha 2, 30th April 1997
|
||||
------------------------
|
||||
|
||||
All:
|
||||
|
||||
- EVT_... macros now have at least one argument, for conformance
|
||||
with MetroWerks compiler.
|
||||
- Added ids to .wxr file format.
|
||||
- Got Dialog Editor compiled and running again but need
|
||||
to extend functionality to be in line with new controls.
|
||||
Added dialoged\test app to allow dynamic loading of .wxr files
|
||||
for testing purposes.
|
||||
- Rewrote wxBitmap to allow installable file type
|
||||
handlers.
|
||||
- Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
|
||||
- Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
|
||||
fully).
|
||||
- Added back wxRadioBox.
|
||||
- Tidied up wx_main.cpp, wxApp class, putting PenWin code in
|
||||
a separate file.
|
||||
|
||||
Alpha 1, 5th April 1997
|
||||
-----------------------
|
||||
|
||||
Generic:
|
||||
|
||||
At this point, the following has been achieved:
|
||||
|
||||
- A lot, but not all, of the code has been revamped for better
|
||||
naming conventions, protection of data members, and use of
|
||||
wxString instead of char *.
|
||||
- Obsolete functionality deleted (e.g. default wxPanel layout,
|
||||
old system event system) and code size reduced.
|
||||
- Class hierarchy changed (see design doc) - base classes such
|
||||
as wxbWindow now removed.
|
||||
- No longer includes windows.h in wxWin headers, by using stand-in
|
||||
Windows types where needed e.g. WXHWND.
|
||||
- PrologIO revised.
|
||||
- wxScrolledWindow, wxStatusBar and new MDI classes added.
|
||||
MDI is now achived using separate classes, not window styles.
|
||||
- wxSystemSettings added, and made use of to reflect standard
|
||||
Windows settings.
|
||||
- SetButtonFont/SetLabelFont replaced by SetFont; font and colour
|
||||
settings mucho rationalised.
|
||||
- All windows are now subclassed with the same window proc to make
|
||||
event handling far more consistent. Old internal wxWnd and derived
|
||||
classes removed.
|
||||
- API for controls revised, in particular addition of
|
||||
wxValidator parameters and removal of labels for some controls.
|
||||
- 1 validator written: see examples/validate.
|
||||
- Event table system introduced (see most samples and
|
||||
wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
|
||||
made more flexible, with Push/PopEventHandler allowing a chain
|
||||
of event handlers.
|
||||
- wxRadioBox removed - will be added back soon.
|
||||
- Toolbar class hierarchy revised:
|
||||
wxToolBarBase
|
||||
wxToolBarSimple (= old wxToolBar)
|
||||
wxToolBar95 (= old wxButtonBar under Win95
|
||||
wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
|
||||
- Constraint system debugged somewhat (sizers now work properly).
|
||||
- wxFileDialog, wxDirDialog added; other common dialogs now
|
||||
have class equivalents. Generic colour and font dialogs
|
||||
rewritten to not need obsolete panel layout.
|
||||
- .wxr resource system partially reinstated, though needs
|
||||
an integer ID for controls. Hopefully the resource system
|
||||
will be replaced by something better and more efficient
|
||||
in the future.
|
||||
- Device contexts no longer stored with window and accessed
|
||||
with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
|
||||
variables instead.
|
||||
- wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
|
||||
determines whether labels are shown. Other Win95-specific flags
|
||||
introduced, e.g. for showing ticks.
|
||||
- Styles introduced for dealing with 3D effects per window, for
|
||||
any window: all Win95 3D effects supported, plus transparent windows.
|
||||
- Major change to allow 3D effect support without CTL3D, under
|
||||
Win95.
|
||||
- Bitmap versions of button and checkbox separated out into new
|
||||
classes, but unimplemented as yet because I intend to remove
|
||||
the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
|
||||
- utils/wxprop classes working (except maybe wxPropertyFormView)
|
||||
in preparation for use in Dialog Editor.
|
||||
- GNU-WIN32 compilation verified (a month or so ago).
|
||||
|
||||
|
339
docs/gpl.txt
@@ -1,339 +0,0 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
@@ -1,481 +0,0 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
@@ -1,441 +0,0 @@
|
||||
* The most simple case
|
||||
-----------------------
|
||||
|
||||
If you compile wxWindows on Unix for the first time and don't
|
||||
like to read install instructions just do (in the base dir):
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
* The most simple errors
|
||||
------------------------
|
||||
|
||||
configure reports, that you don't have GTK 1.0.X installed
|
||||
although you are certainly sure you have. Well, you have
|
||||
installed it, but you also have another version of the
|
||||
GTK installed, which you may need to removed including
|
||||
other versions of glib (and its headers).
|
||||
|
||||
* The most simple program
|
||||
-------------------------
|
||||
|
||||
Now create your super-application myfoo.app and compile anywhere
|
||||
with
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
* General
|
||||
-----------------------
|
||||
|
||||
The Unix variants of wxWindows use GNU configure. If you have
|
||||
problems with your make use GNU make instead.
|
||||
|
||||
If you have general problems with installation, read my
|
||||
homepage at
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
for newest information. If you still don't have any success,
|
||||
please send a bug report to one of our mailing lists (see
|
||||
my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND
|
||||
YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
|
||||
DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know
|
||||
this has no effect, but I tried...
|
||||
|
||||
* GUI libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/GTK requires the GTK+ library to be installed on your system.
|
||||
It has to be a stable version, preferebly version 1.0.6. When using
|
||||
a version previous to 1.0.6 you'll get crashes here and there.
|
||||
|
||||
wxWindows/GTK does NOT work with the 1.1.X versions of the GTK+ library
|
||||
and we will wait until the 1.2 version comes out and has stabilized
|
||||
until we'll work with that library.
|
||||
|
||||
You can get the newest version of the GTK+ from the GTK homepage
|
||||
at
|
||||
http://www.gtk.org
|
||||
|
||||
We also mirror GTK+ 1.0.6 at my ftp site. You'll find information
|
||||
about downloading at my homepage.
|
||||
|
||||
* Additional libraries
|
||||
-----------------------
|
||||
|
||||
wxWindows/Gtk requires a thread library and X libraries
|
||||
known to work with threads. This is the case on all
|
||||
commercial Unix-Variants and all Linux-Versions that
|
||||
are based on glibc 2 except RedHat 5.0 which is broken
|
||||
in many aspects. As of writing this, these Linux
|
||||
distributions have correct glibc 2 support:
|
||||
|
||||
- RedHat 5.1
|
||||
- Debian 2.0
|
||||
- Stampede
|
||||
- DLD 6.0
|
||||
- SuSE 6.0
|
||||
|
||||
On IRIX you can also use SGI threads if Posix-Threads
|
||||
are not present. The SGI threads will be detected by
|
||||
configure automatically.
|
||||
|
||||
You can enable thread support by running
|
||||
|
||||
./configure "--with-threads"
|
||||
make clean
|
||||
make
|
||||
make install
|
||||
|
||||
NB: I included thread support in wxWindows/Gtk, as this
|
||||
problem will disappear in the near future when all major
|
||||
Linux Variants have moved to glibc 2. Also, the Linux
|
||||
Base Standard will include glibc 2 and Posix threads.
|
||||
|
||||
* Create your configuration
|
||||
-----------------------------
|
||||
|
||||
Usage:
|
||||
./configure options
|
||||
|
||||
If you want to use system's C and C++ compiler,
|
||||
set environment variables CC and CCC as
|
||||
|
||||
% setenv CC cc
|
||||
% setenv CCC CC
|
||||
% ./configure options
|
||||
|
||||
Using the SGI native compilers, it is recommended that you
|
||||
also set CFLAGS and CXXFLAGS before running configure. These
|
||||
should be set to :
|
||||
|
||||
CFLAGS="-mips3 -n32"
|
||||
CXXFLAGS="-mips3 -n32"
|
||||
|
||||
This is essential if you want to use the resultant binaries
|
||||
on any other machine than the one it was compiled on. If you
|
||||
have a 64bit machine (Octane) you should also do this to ensure
|
||||
you don't accidently build the libraries as 64bit (which is
|
||||
untested).
|
||||
|
||||
The SGI native compiler support has only been tested on Irix 6.5.
|
||||
|
||||
to see all the options please use:
|
||||
|
||||
./configure --help
|
||||
|
||||
The basic philosophy is that if you want to use different
|
||||
configurations, like a debug and a release version,
|
||||
or use the same source tree on different systems,
|
||||
you have only to change the environment variable OSTYPE.
|
||||
(Sadly this variable is not set by default on some systems
|
||||
in some shells - on SGI's for example). So you will have to
|
||||
set it there. This variable HAS to be set before starting
|
||||
configure, so that it knows which system it tries to
|
||||
configure for.
|
||||
|
||||
Configure will complain if the system variable OSTYPE has
|
||||
not been defined. And Make in some circumstances as well...
|
||||
|
||||
|
||||
* General options
|
||||
-------------------
|
||||
|
||||
Normally, you won't have to choose a toolkit, because when
|
||||
you download wxGTK, it will default to --with-gtk etc. But
|
||||
if you use all of our CVS repository you have to choose a
|
||||
toolkit. You must do this by running configure with either of:
|
||||
|
||||
--with-gtk Use the GIMP ToolKit (GTK)
|
||||
|
||||
--with-motif Use either Motif or Lesstif
|
||||
Configure will look for both.
|
||||
|
||||
The following options handle the kind of library you want to build.
|
||||
|
||||
--with-threads Compile without thread support.
|
||||
|
||||
--without-shared Do not create shared libraries.
|
||||
|
||||
--without-optimise Do not optimise the code.
|
||||
|
||||
--with-profile Add profiling info to the object
|
||||
files. Currently broken, I think.
|
||||
|
||||
--with-mem_tracing Add built-in memory tracing.
|
||||
|
||||
--with-dmalloc Use the dmalloc memory debugger.
|
||||
Read more at www.letters.com/dmalloc/
|
||||
|
||||
--with-debug_info Add debug info to object files and
|
||||
executables.
|
||||
|
||||
--with-debug_flag Define __DEBUG__ and __WXDEBUG__ when
|
||||
compiling.
|
||||
|
||||
* Feature Options
|
||||
-------------------
|
||||
|
||||
As I don't yet care for binary size and target mainly at
|
||||
producing a shared library, wxWindows's configure system auto-
|
||||
matically enables all features, as long as they are already
|
||||
implemented. It is currently NOT possible to disable these
|
||||
options (in contrast to what configure tells you).
|
||||
|
||||
* Compiling
|
||||
-------------
|
||||
|
||||
The following must be done in the base directory (e.g. ~/wxGTK
|
||||
or ~/wxWin or whatever)
|
||||
|
||||
Now the makefiles are created (by configure) and you can compile
|
||||
the library by typing:
|
||||
|
||||
make
|
||||
|
||||
make yourself some coffee, as it will take some time. On an old
|
||||
386SX possibly week. During compilation, you'll get a few
|
||||
warning messages.
|
||||
|
||||
if you want to be more selective:
|
||||
|
||||
make src will build only the base libraries
|
||||
make samples will build the samples
|
||||
make other will build everything in other
|
||||
make user will build everything in user
|
||||
|
||||
Then you may install the library and it's header files under
|
||||
/usr/local/include/wx and /usr/local/lib respectively. You
|
||||
have to log in as root (i.e. run "su" and enter the root
|
||||
password) and type
|
||||
|
||||
make install
|
||||
|
||||
Depending on the configuration of some files, the libraries
|
||||
and binaries will be placed in different directories.
|
||||
The "global" binaries and libraries will be placed in:
|
||||
|
||||
bin/$(OSTYPE) and
|
||||
lib/$(OSTYPE) respectively
|
||||
|
||||
"local" binaries and libraries will be placed in:
|
||||
|
||||
(basedir of that application)/$(OSTYPE).
|
||||
|
||||
This is also the place where all the object-files will go.
|
||||
(Currently there arent any global binaries).
|
||||
|
||||
If you want to conserve disk space by removing unnecessary
|
||||
object-files:
|
||||
|
||||
make clean_obj
|
||||
|
||||
will do the work for you.
|
||||
|
||||
* Creating a new Project
|
||||
--------------------------
|
||||
|
||||
There are two ways to create your own project:
|
||||
|
||||
1) The first way uses the installed libraries and header files
|
||||
automatically using wx-config
|
||||
|
||||
g++ myfoo.cpp `wx-config --libs` `wx-config --cflags` -o myfoo
|
||||
|
||||
Using this way, a make file for the minimal sample would look
|
||||
like this
|
||||
|
||||
CC = g++
|
||||
|
||||
minimal: minimal.o
|
||||
$(CC) -o minimal minimal.o `wx-config --libs`
|
||||
|
||||
minimal.o: minimal.cpp mondrian.xpm
|
||||
$(CC) `wx-config --cflags` -c minimal.cpp -o minimal.o
|
||||
|
||||
clean:
|
||||
rm -f *.o minimal
|
||||
|
||||
This is certain to become the standard way unless we decide
|
||||
to sitch to tmake.
|
||||
|
||||
2) The other way creates a project within the source code
|
||||
directories of wxWindows: In this case I propose to put
|
||||
all contributed programs in the directory "/user", with a
|
||||
directory of its own.
|
||||
|
||||
This directory then should include the following files:
|
||||
|
||||
Makefile (You can copy this one from any application in samples
|
||||
probably you will not need to edit this one. There is
|
||||
only one case where you might be interested in changing
|
||||
this file, but about that see later.)
|
||||
Makefile.in (This is the base application-Makefile template, from
|
||||
which the actual Makefile for each system is created.
|
||||
More about this later)
|
||||
|
||||
put ALL your source code along with all the other stuff you need for
|
||||
your application in this directory (subdirectories are welcome).
|
||||
|
||||
|
||||
** Something about Makefiles
|
||||
------------------------------
|
||||
|
||||
On general principle it should only contain ONE line, which is as follows:
|
||||
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
this will include all the necessary definitions for creating the applications
|
||||
|
||||
the only case where you might want to add another line is the following:
|
||||
this version of configure also supports creation of source archives of the
|
||||
application for easy distribution and updates to newer version of wxWindows.
|
||||
For this purpose all files in the application-directory will be put into
|
||||
a gziped tar-file in the full notation user/<your application>/*
|
||||
if you want to include some other files that you want "more visible", like
|
||||
a README.<yourApp> or a shell script for easy
|
||||
compilation/installation/distribution, then you have to add a variable
|
||||
|
||||
DISTRIBUTE_ADDITIONAL=<your files>
|
||||
|
||||
to the Makefile.
|
||||
So it would look like this:
|
||||
|
||||
DISTRIBUTE_ADDITIONAL=README.TheApp
|
||||
include ../../setup/general/makeapp
|
||||
|
||||
As we have already talked about distribution the command to create a
|
||||
distribution is:
|
||||
|
||||
make distrib
|
||||
|
||||
NOTE: If you are in the base directory of wxWindows it will create
|
||||
distribution packages for wxWindows as well as for all packages in the
|
||||
user directory.
|
||||
So if you want to create only packages for the files in user,
|
||||
then go to the directory other and type:
|
||||
|
||||
make distrib
|
||||
|
||||
or if you only want one application to be created then
|
||||
enter the specific directory and type there:
|
||||
make distrib
|
||||
|
||||
All the distribution files will be put in the directory
|
||||
distrib at the base of the wxWindows-tree (where also configure
|
||||
and template.mak can be found).
|
||||
|
||||
** Something about Makefile.in
|
||||
--------------------------------
|
||||
|
||||
As you have already seen with Makefile, configure makes a lot of use
|
||||
if the include statement in make to keep the Makefiles as simple as
|
||||
possible.
|
||||
|
||||
So basically there are only variables to define and then a include command.
|
||||
Exception to this rule is if you have special rules for some stuff...
|
||||
These rules should go AFTER the include statement!!!
|
||||
|
||||
so the general header looks like this:
|
||||
|
||||
# wxWindows base directory
|
||||
WXBASEDIR=@WXBASEDIR@
|
||||
# set the OS type for compilation
|
||||
OS=@OS@
|
||||
# compile a library only
|
||||
RULE=bin
|
||||
|
||||
and the general footer will look like this:
|
||||
|
||||
# include the definitions now
|
||||
include ../../../template.mak
|
||||
|
||||
the key variable is RULE, which defines what make should create
|
||||
in this directory.
|
||||
|
||||
here are some examples:
|
||||
|
||||
RULE description
|
||||
===========================================================================
|
||||
bin creates a local binary (for a global binary prefix bin with g)
|
||||
additional variables needed:
|
||||
BIN_TARGET this gives the name of your application
|
||||
BIN_OBJ this gives the object files needed to
|
||||
link the application
|
||||
optional variables are:
|
||||
BIN_SRC this gives the list of c/c++ files for
|
||||
which dependencies will be checked.
|
||||
(This can be achieved with: make depend)
|
||||
BIN_LINK this gives commands for additional
|
||||
libraries needed to link the application
|
||||
---------------------------------------------------------------------------
|
||||
bin2 creates two local binaries (for global binaries prefix bin2 with g)
|
||||
in addition to the variables specified above you MUST also
|
||||
provide the same variables with BIN2_ instead of BIN_
|
||||
---------------------------------------------------------------------------
|
||||
lib creates a local library (for a global binary prefix bin with g)
|
||||
additional variables needed:
|
||||
LIB_TARGET this gives the name of your library
|
||||
LIB_OBJ this gives the object files needed for
|
||||
the library to be build.
|
||||
optional variables are:
|
||||
LIB_SRC this gives the list of c/c++ files for
|
||||
which dependencies will be checked.
|
||||
libbin and libgbin are also possible and will need in addition
|
||||
the variables from bin
|
||||
---------------------------------------------------------------------------
|
||||
gslib is similar to lib, but it creates a shared library if the system
|
||||
supports it.
|
||||
additional variables needed:
|
||||
LIB_MAJOR major number of the shared library
|
||||
LIB_MINOR minor number of the shared library
|
||||
---------------------------------------------------------------------------
|
||||
other additional variables:
|
||||
|
||||
ADD_COMPILE define additional includes/defines that
|
||||
are needed to compile the object files
|
||||
(if you need to reference some directory
|
||||
utils - like wxGrid -, then please
|
||||
reference them with the variables defined
|
||||
in template.mak - e.g.: $(SRCDIR),$(UTILS),
|
||||
$(SAMPLES),$(OTHERS))
|
||||
|
||||
NEEDED_DEFINES lists all the defines that HAVE to be set in
|
||||
/include/wx/setup.h to compile correctly.
|
||||
|
||||
SRC_DIR lists all directories that are needed to
|
||||
compile. (i.e: lists all the directories,
|
||||
where there are source-files.) But it is
|
||||
also needed to clean an object and for
|
||||
machines, for which make does not support
|
||||
VPATH
|
||||
|
||||
currently there are the following compiling rules provided:
|
||||
object files are created for the following file extensions:
|
||||
.c .cc .cpp
|
||||
|
||||
Please have a closer look at the Makefiles in this distribution.
|
||||
|
||||
* Platforms configure is working with
|
||||
---------------------------------------
|
||||
|
||||
Please report build succes on any machine. Especially non-
|
||||
Linux operating systems (which I don't have).
|
||||
|
||||
Original author of the autoconf system for wxxt-1.66 and for this INSTALL
|
||||
file:
|
||||
|
||||
Martin Sperl sperl@dsn.ast.univie.ac.at
|
||||
|
||||
Ported to wxGTK 0.1:
|
||||
|
||||
Wolfram Gloger wmglo@dent.med.uni-muenchen.de
|
||||
|
||||
Thanks alot to both of them.
|
||||
|
||||
In the hope that it will be useful,
|
||||
|
||||
Robert Roebling roebling@sun2.ruf.uni-freiburg.de
|
||||
|
||||
|
@@ -1,56 +0,0 @@
|
||||
|
||||
|
||||
wxWindows Library License, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
WXWINDOWS LIBRARY LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
|
||||
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licensed under the wxWindows Library License, applying
|
||||
either version 3 of the License, or (at your option) any later version of
|
||||
the License as published by the copyright holders of version 3 of the
|
||||
License document.
|
||||
|
||||
2. The exception is that you may create binary object code versions of any
|
||||
works using this library or based on this library, and use, copy, modify,
|
||||
link and distribute such binary object code files unrestricted under terms
|
||||
of your choice.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public License or the GNU Library General Public License into a
|
||||
copy of this library, as this license permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
@@ -1,62 +0,0 @@
|
||||
|
||||
Welcome to wxWindows/Gtk 2.01 (beta 3),
|
||||
|
||||
you have downloaded version 2.01 of the GTK+ 1.0 port of
|
||||
the wxWindows GUI library.
|
||||
|
||||
More information is available from my homepage at:
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
and about the wxWindows project as a whole (and the
|
||||
Windows and Motif ports in particular) can be found
|
||||
at Julian Smart's homepage at:
|
||||
|
||||
http://web.ukonline.co.uk/julian.smart/wxwin
|
||||
|
||||
Information on how to install can be found in the file
|
||||
INSTALL.txt, but if you cannot wait, this should work on
|
||||
all systems
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
Type the following to make the samples
|
||||
|
||||
make samples
|
||||
|
||||
To start the samples, change into the directory that
|
||||
corresponds to the sample and your system, e.g on a
|
||||
linux-gnu machine the minimal sample would get started
|
||||
from the wxWindows base dir with
|
||||
|
||||
./samples/minimal/linux-gnu/minimal
|
||||
|
||||
When you run into problems, please read the INSTALL.txt and
|
||||
follow those instructions. If you still don't have any success,
|
||||
please send a bug report to one of our mailing lists (see
|
||||
my homepage) INCLUDING A DESCRIPTION OF YOUR SYSTEM AND
|
||||
YOUR PROBLEM, SUCH AS YOUR VERSION OF GTK, WXGTK, WHAT
|
||||
DISTRIBUTION YOU USE AND WHAT ERROR WAS REPORTED. I know
|
||||
this has no effect, but I tried...
|
||||
|
||||
The library produced by the install process will be called
|
||||
libwx_gtk2.a (static) and libwx_gtk2.so.0.1 (shared) so that
|
||||
once a binary incompatible version of wxWindows/Gtk comes out
|
||||
we'll augment library version number to avoid linking problems.
|
||||
|
||||
Please send problems concerning installation, feature requests,
|
||||
bug reports or comments to the wxWindows users Information on
|
||||
how to subscribe is available from my homepage.
|
||||
|
||||
wxWindows/Gtk doesn't come with any guarantee whatsoever. It might
|
||||
crash your harddisk or destroy your monitor. It doesn't claim to be
|
||||
suitable for any special purpose.
|
||||
|
||||
Regards,
|
||||
|
||||
Robert Roebling
|
||||
|
||||
|
||||
|
@@ -1,23 +0,0 @@
|
||||
|
||||
-------------------- High priority ---------------------
|
||||
|
||||
-------------------- Low priority ---------------------
|
||||
|
||||
OwnerDraw for wxListCtrl and others
|
||||
-> Postponed.
|
||||
|
||||
DnD
|
||||
-> Must be rewritten for GTK+ 1.1.3
|
||||
|
||||
wxDebugContext <-> wxLogXXX functions
|
||||
-> Remove either
|
||||
|
||||
Implement wxPalette
|
||||
-> I never understood that. Postponed.
|
||||
|
||||
Show accelerator in menus
|
||||
-> Changed in GTK 1.1.X. Postponed.
|
||||
|
||||
Cooperation with Qt
|
||||
-> Would be nice.
|
||||
|
@@ -1,43 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to the wxWindows FAQ. Please select a category:<P>
|
||||
|
||||
<ul>
|
||||
<li><a href="faqgen.htm">General questions</a>
|
||||
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
|
||||
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
|
||||
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
|
||||
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
|
||||
</ul>
|
||||
|
||||
<P>
|
||||
|
||||
For further information, please see the <a href="http://www.wxwindows.org" target=_top>wxWindows Web site</a>,
|
||||
plus install.txt (per port), todo.txt (per port), and bugs.txt (all ports).
|
||||
<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,232 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 FAQ: General</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 FAQ: General
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<H3><a name="whatis">What is wxWindows?</a></H3>
|
||||
|
||||
wxWindows is a class library that allows you to compile graphical C++ programs on a range of
|
||||
different platforms. wxWindows defines a common API across platforms, but uses the native graphical user interface (GUI) on each platform,
|
||||
so your program will take on the native 'look and feel' that users are familiar with.<P>
|
||||
|
||||
Although GUI applications are mostly built programmatically, there is a dialog editor to help
|
||||
build attractive dialogs and panels.<P>
|
||||
|
||||
You don't have to use C++ to use wxWindows: wxWindows 1 has been interfaced to several interpreted languages,
|
||||
such as CLIPS, Python, Scheme, XLisp and Perl, and there is a Python interface for wxWindows 2.
|
||||
<P>
|
||||
|
||||
<h3>Can I use wxWindows 2 for both proprietary (commercial) projects, and GPL'ed projects?</h3>
|
||||
|
||||
Yes. Please see the <a href="newlicen.htm">licence</a> for details, but basically
|
||||
you can distribute proprietary binaries without distributing any source code, and neither will wxWindows
|
||||
conflict with GPL code you may be using or developing with it.
|
||||
<P>
|
||||
The conditions for using wxWindows 2 are the same whether you are a personal, academic
|
||||
or commercial developer.
|
||||
<P>
|
||||
|
||||
<h3>Is there support?</h3>
|
||||
|
||||
No official support, but the mailing list is very helpful and some people say that
|
||||
wxWindows support is better than for much commercial software. The developers are
|
||||
keen to fix bugs as soon as possible, though obviously there are no guarantees.
|
||||
<P>
|
||||
|
||||
<H3><a name="users">Who uses wxWindows?</a></H3>
|
||||
|
||||
Many organisations - commercial, government, and academic - across the
|
||||
world. It's impossible to estimate the true number of users, since
|
||||
wxWindows is obtained by many different means, and we cannot monitor
|
||||
distribution. The mailing list contains around 300-400 entries which is
|
||||
quite large for a list of this type.<P>
|
||||
|
||||
<H3>I am about to start a wxWindows 1.xx project. Should I use 2 instead?</H3>
|
||||
|
||||
wxWindows 2 is still in beta but it's actually pretty useable (Windows, GTK, Motif).<P>
|
||||
|
||||
Porting to wxWindows 2 from 1.xx will not be too painful; see the next question
|
||||
for ways in which you can make it easier.<P>
|
||||
|
||||
<H3>Why would I want to use wxWindows 2 in preference to wxWindows 1.xx?</H3>
|
||||
|
||||
Some reasons:
|
||||
|
||||
<ul>
|
||||
<li>In 2 there is far more flexibility, for example in the way windows can be
|
||||
nested, and the way events are intercepted.
|
||||
<li>There is more functionality for producing sophisticated applications,
|
||||
for example using the wxTreeCtrl and wxListCtrl classes.
|
||||
<li>There is better C++-conformance (such as usage of wxString and const) which
|
||||
will make your applications more reliable and easier to maintain.
|
||||
<li>wxWindows 2 will be better supported than 1.xx.
|
||||
<li>The GTK version is attractive for people interested in writing Linux and GNOME
|
||||
applications.
|
||||
<li>The Mac version will be one of the best frameworks available on that platform.
|
||||
</ul>
|
||||
|
||||
<H3>How can I prepare for wxWindows 2?</H3>
|
||||
|
||||
To make porting to wxWindows 2 easier in the future, take a look at some
|
||||
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/prepare.htm">tips</a> for writing existing code in a 2-compatible way.<P>
|
||||
|
||||
<H3>How much has the API changed since 1.xx?</H3>
|
||||
|
||||
It's difficult to summarize, but some aspects haven't changed very much. For example, if you have some
|
||||
complex drawing code, you will mostly need to make sure it's parameterised with a device
|
||||
context (instead of obtaining one from a window or storing it). You won't have
|
||||
to completely rewrite the drawing code.<P>
|
||||
|
||||
The way that events are handled has changed, so for example, where you overrode
|
||||
OnSize before, you now have a non-virtual OnSize with a single event class argument.
|
||||
To make this function known to wxWindows, you add an entry in an 'event table' using macros. Addition of these macros
|
||||
will eventually be made easier by a tool which will allow selection from a list
|
||||
and copy-and-paste into your editor. This is extended to button presses, listbox selection
|
||||
etc. so callbacks have gone (they may be added back for limited backward compatibility).<P>
|
||||
|
||||
The class hierarchy has changed to allow greater flexibility but it probably won't affect your
|
||||
existing application. One exception to this is MDI applications which now use separate MDI classes instead of style
|
||||
flags. As a result, it won't be possible to switch between MDI and SDI operation at run-time
|
||||
without further coding, but a benefit is less interdependence between areas of code,
|
||||
and therefore smaller executable size.<P>
|
||||
|
||||
Panel items (now called controls) no longer have labels associated with most of them,
|
||||
and default panel layout has been removed. The idea is that you make greater use
|
||||
of dialog resources, for better-looking dialogs.<P>
|
||||
|
||||
<H3>What classes have disappeared?</H3>
|
||||
|
||||
wxForm, wxTextWindow (subsumed into wxTextCtrl).
|
||||
|
||||
<H3>Does wxWindows 2 mean that wxWindows 1.xx is dead?</H3>
|
||||
|
||||
While wxWindows 2 is being developed, there will be further patches to wxWindows 1.xx.
|
||||
Obviously we are investing most of our energy into the new code, but we're also trying
|
||||
to fix bugs in the current version.<P>
|
||||
|
||||
<H3>What platforms will be supported by wxWindows 2?</H3>
|
||||
|
||||
<ul>
|
||||
<li>Windows 3.1, Windows 95/98, Windows NT;
|
||||
<li>Linux and other Unix platforms with GTK+;
|
||||
<li>Unix with Motif or the free Motif clone Lesstif;
|
||||
<li>Mac (coming later in 1999);
|
||||
<li>A BeOS port is being investigated.
|
||||
<li>A Windows CE port is being investigated.
|
||||
<li>There are no plans to support OS/2 or XView. However,
|
||||
you may be able to compile the GTK and Motif versions under OS/2 with X and GTK
|
||||
installed, or the Windows version with IBM's Open32 extensions.
|
||||
</ul>
|
||||
<P>
|
||||
|
||||
<H3>How does wxWindows 2 support platform-specific features?</H3>
|
||||
|
||||
This is a hotly-debated topic amongst the developers. My own philosophy
|
||||
is to make wxWindows as platform-independent as possible, but allow in a
|
||||
few classes (functions, window styles) that are platform-specific.
|
||||
For example, Windows metafiles and Windows 95 taskbar icons have
|
||||
their own classes on Windows, but nowhere else. Because these classes
|
||||
are provided and are wxWindows-compatible, it doesn't take much
|
||||
coding effort for an application programmer to add support for
|
||||
some functionality that the user on a particular platform might otherwise
|
||||
miss. Also, some classes that started off as platform-specific, such
|
||||
as the MDI classes, have been emulated on other platforms. I can imagine
|
||||
that even wxTaskBarIcon may be implemented for Unix desktops one day.
|
||||
<P>
|
||||
|
||||
In other words, wxWindows is not a 'lowest common denominator' approach,
|
||||
but it will still be possible to write portable programs using the
|
||||
core API. Forbidding some platform-specific classes would be a stupid
|
||||
approach that would alienate many potential users, and encourage
|
||||
the perception that toolkits such as wxWindows are not up to the demands
|
||||
of today's sophisticated applications.<P>
|
||||
|
||||
Currently resources such as bitmaps and icons are handled in a platform-specific
|
||||
way, but it is hoped to reduce this dependence in due course.<P>
|
||||
|
||||
Another reason why wxWindows 2 is not a 'lowest common denominator' toolkit is that
|
||||
some functionality missing on some platform has been provided using generic,
|
||||
platform-independent code, such as the wxTreeCtrl and wxListCtrl classes.<P>
|
||||
|
||||
<H3>Does wxWindows use STL? or the standard string class?</H3>
|
||||
|
||||
No. This is a much-discussed topic that has (many times) ended with the conclusion that it is in
|
||||
wxWindows' best interests to avoid use of templates. Not all compilers can handle
|
||||
templates adequately so it would dramatically reduce the number of compilers
|
||||
and platforms that could be supported. It would also be undersirable to make
|
||||
wxWindows dependent on another large library that may have to be downloaded and installed.
|
||||
In addition, use of templates can lead to executable bloat, which is something
|
||||
wxWindows 2 is strenously trying to avoid.<P>
|
||||
|
||||
The standard C++ string class is not used, again because it is not available to all compilers,
|
||||
and it is not necessarily a very efficient implementation. Also, we retain more flexibility
|
||||
by being able to modify our own string class. Some compatibility with the string class
|
||||
has been built into wxString.<P>
|
||||
|
||||
There is nothing to stop an application using templates or the string class for its own
|
||||
purposes.<P>
|
||||
|
||||
<H3>How is wxWindows 2 being developed?</H3>
|
||||
|
||||
We are using the <a href="cvs.htm">CVS</a> system to develop and maintain wxWindows. This allows
|
||||
us to make alterations and upload them instantly to the server in Edinburgh, from
|
||||
which others can update their source.<P>
|
||||
|
||||
<H3>How is wxWindows 2 distributed?</H3>
|
||||
|
||||
By ftp, and via the <a href="cdrom2.htm">wxWindows CD-ROM</a>.<P>
|
||||
|
||||
<H3>What are the plans for the future?</H3>
|
||||
|
||||
Currently we're working too hard on getting wxWindows 2 finished (are GUI toolkits ever
|
||||
finished?) to think very far ahead. However, we know we want to make wxWindows as robust
|
||||
and well-publicised as possible. We also want to aim for better platform-independence of
|
||||
resources such as icons and bitmaps, standardising on the PNG for all platforms.<P>
|
||||
|
||||
Other possibilities include: DCOM/CORBA compatibility; a wxWindows book; an
|
||||
<a href="http://web.ukonline.co.uk/julian.smart/wxwin/wxide.htm">IDE</a>;
|
||||
other platforms; other interface abilities such as speech output.<P>
|
||||
|
||||
We will investigate the possibility of compiler or operating system vendors bundling wxWindows with
|
||||
their product.<P>
|
||||
|
||||
The high-level goal of wxWindows is to be thought of as the number one C++ framework,
|
||||
for virtually any platform. Move over, MFC!<P>
|
||||
|
||||
<H3>What about Java?</H3>
|
||||
|
||||
The Java honeymoon period is over :-) and people are realising that it cannot
|
||||
meet all their cross-platform development needs. We don't anticipate a major threat
|
||||
from Java, and the level of interest in wxWindows is as high as ever.<P>
|
||||
|
||||
<H3>How can I help the project?</H3>
|
||||
|
||||
Please check out the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/develop.htm" target=main>Backroom</a> pages,
|
||||
in particular the <a href="http://web.ukonline.co.uk/julian.smart/wxwin/projects.htm">suggested projects</a>, and
|
||||
mail <a href="mailto:julian.smart@ukonline.co.uk">Julian Smart</a> or the developers' mailing list with your own suggestions.<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,47 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for GTK FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for GTK FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>What is wxWindows 2 for GTK?</h3>
|
||||
|
||||
wxWindows 2 for GTK is a port of wxWindows to the <a href="http://www.gimp.org/gtk" target=_top>GTK+ toolkit</a>,
|
||||
which is freely available for most flavours of Unix with X. wxWindows 2 for GTK is
|
||||
often abbreviated to wxGTK. wxGTK has a separate home page <a href="http://www.freiburg.linux.de/~wxxt" target=_top>here</a>.
|
||||
<P>
|
||||
|
||||
<h3>Does wxGTK have GNOME support?</h3>
|
||||
|
||||
Currently wxGTK does not have any features that would involve dependence on any desktop
|
||||
environment's libraries, so it can work on GNOME, KDE and with other window managers
|
||||
without installation hassles. Some GNOME and KDE integration features are file based, and
|
||||
so may be added without dependence on libraries. Other features may be supported in the
|
||||
future, probably as a separate library.
|
||||
<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,37 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Mac FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Mac FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>When is wxMac 2 due to be released?</h3>
|
||||
|
||||
There is a <a href="http://web.ukonline.co.uk/julian.smart/wxwin/dl_mac2.htm">preview</a> available.
|
||||
A beta release can be expected by early Q2 1999. The author of this port
|
||||
is Stefan Csomor (csomor@advancedconcepts.ch).
|
||||
<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,96 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Motif FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Motif FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>What version of Motif do I need?</h3>
|
||||
|
||||
You will need version 1.2 or above. Version 2 should also be fine. Some people
|
||||
have had a positive experience with <a href="www.lesstif.org" target=_top>Lesstif</a>,
|
||||
a free Motif clone. (Note from Julian Smart - I use the Linux version of MetroLink Motif).
|
||||
|
||||
<P>
|
||||
|
||||
<h3>What features are missing or partially implemented?</h3>
|
||||
|
||||
The following classes are not yet implemented: wxSpinButton, wxCheckListBox, wxJoyStick,
|
||||
wxGLCanvas.<P>
|
||||
|
||||
The following classes are not likely to be implemented because there is no sensible
|
||||
equivalent on Motif: wxMiniFrame, wxTaskBar.<P>
|
||||
|
||||
wxNotebook works for smaller dialogs (see notebook sample) but has some problems
|
||||
with a more complex situation (see the controls sample: initial resizing is very apparent).
|
||||
<P>
|
||||
|
||||
These features are not yet implemented:<P>
|
||||
|
||||
<ul>
|
||||
<li>Clipboard and drag and drop support are currently under development. Motif clipboard support
|
||||
should work, but currently for text only.
|
||||
<li>Support for selection of specific visuals.
|
||||
<li>Wide character support (but when Unicode is supported under Windows, this support will
|
||||
be relatively easy to add).
|
||||
<li>Configurable colour/font settings (they are currently hard-wired in wxSystemSettings).
|
||||
<li>OnEraseBackground.
|
||||
<li>OnPaint optimization and backing pixmap.
|
||||
<li>A help system (please use wxHelpController and Netscape instead).
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
|
||||
<h3>Does Dialog Editor work with wxWindows for Motif?</h3>
|
||||
|
||||
Suport for Dialog Editor is almost there, but there are some wrinkles to iron
|
||||
out. You may find it's useful though: compile it and see.
|
||||
<P>
|
||||
|
||||
<h3>How do I switch between debugging and release compilation modes?</h3>
|
||||
|
||||
Unfortunately the makefile system doesn't currently allow you to compile
|
||||
for both simultaneously: you need
|
||||
to recompile wxWindows and your application having adjusted make.env. However,
|
||||
you could rename the binary and release library archives, and adjust your makefiles
|
||||
to use the appropriate one (or change a symbolic link).
|
||||
<P>
|
||||
|
||||
<h3>Why are windows are not refreshed properly until I resize them?</h3>
|
||||
|
||||
Very occasionally you can experience this glitch, probably because sometimes the
|
||||
window tries to resize and repaint itself before the final size is known. The workaround
|
||||
is to add code like this after window creation and initialization:<P>
|
||||
|
||||
<PRE>
|
||||
#ifdef __WXMOTIF__
|
||||
wxNoOptimize noOptimize;
|
||||
window->SetSize(-1, -1, w, h);
|
||||
#endif
|
||||
</PRE>
|
||||
<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,154 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows 2 for Windows FAQ</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR=#FFFFFF TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
wxWindows 2 for Windows FAQ
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
See also <a href="faq.htm">top-level FAQ page</a>.
|
||||
<hr>
|
||||
|
||||
<h3>Which Windows platforms are supported?</h3>
|
||||
|
||||
wxWindows can be used to develop and deliver applications on Windows 3.1, Win32s,
|
||||
Windows 95, Windows 98, and Windows NT. A Windows CE version is being looked into (see below).<P>
|
||||
|
||||
wxWindows 2 is designed to make use of WIN32 features and controls. However, unlike Microsoft,
|
||||
we have not forgotten users of 16-bit Windows. Most features
|
||||
work under Windows 3.1, including wxTreeCtrl and wxListCtrl using the generic implementation.
|
||||
However, don't expect very Windows-specific classes to work, such as wxTaskBarIcon. The wxRegConfig
|
||||
class doesn't work either because the Windows 3.1 registry is very simplistic. Check out the 16-bit
|
||||
makefiles to see what other files have been left out.
|
||||
<P>
|
||||
16-bit compilation is supported under Visual C++ 1.5, and Borland BC++ 4 to 5.
|
||||
<P>
|
||||
|
||||
wxWindows 2 for Windows will also compile on Unix with gcc using TWIN32 from <a href="http://www.willows.com" target=_top>Willows</a>,
|
||||
although TWIN32 is still in a preliminary state. The resulting executables are
|
||||
Unix binaries that work with the TWIN32 Windows API emulator.<P>
|
||||
|
||||
You can also compile wxWindows 2 for Windows on Unix with Cygwin or Mingw32, resulting
|
||||
in executables that will run on Windows. So in theory you could write your applications
|
||||
using wxGTK or wxMotif, then check/debug your wxWindows for Windows
|
||||
programs with TWIN32, and finally produce an ix86 Windows executable using Cygwin/Mingw32,
|
||||
without ever needing a copy of Microsoft Windows. See the Technical Note on the Web site detailing cross-compilation.<P>
|
||||
|
||||
<h3>What about Windows CE?</h3>
|
||||
|
||||
This is under consideration, though we need to get wxWindows Unicode-aware first.
|
||||
There are other interesting issues, such as how to combine the menubar and toolbar APIs
|
||||
as Windows CE requires. But there's no doubt that it will be possible, albeit
|
||||
by mostly cutting down wxWindows 2 API functionality, and adding a few classes here
|
||||
and there. Since wxWindows for 2 produces small binaries (less than 300K for
|
||||
the statically-linked 'minimal' sample), shoehorning wxWindows 2 into a Windows CE device's limited
|
||||
storage should not be a problem.<P>
|
||||
|
||||
<h3>What compilers are supported?</h3>
|
||||
|
||||
Please see the wxWindows 2 for Windows install.txt file for up-to-date information, but
|
||||
currently the following are known to work:<P>
|
||||
|
||||
<ul>
|
||||
<li>Visual C++ 1.5, 4.0, 5.0, 6.0
|
||||
<li>Borland C++ 4.5, 5.0
|
||||
<li>Borland C++Builder 1.0, 3.0
|
||||
<li>Watcom C++ 10.6 (WIN32)
|
||||
<li>Cygwin b20
|
||||
<li>Mingw32
|
||||
<li>MetroWerks CodeWarrior 4
|
||||
</ul>
|
||||
<P>
|
||||
|
||||
There is a linking problem with Symantec C++ which I hope someone can help solve.
|
||||
<P>
|
||||
|
||||
<h3>Which is the best compiler to use with wxWindows 2?</h3>
|
||||
|
||||
It's partly a matter of taste, but I (JACS) prefer Visual C++ since the debugger is very
|
||||
good, it's very stable, the documentation is extensive, and it generates small executables.
|
||||
Since project files are plain text, it's easy for me to generate appropriate project files
|
||||
for wxWindows samples.<P>
|
||||
|
||||
Borland C++ is fine - and very fast - but it's hard (impossible?) to use the debugger without using project files, and
|
||||
the debugger is nowhere near up to VC++'s quality. The IDE isn't great.<P>
|
||||
|
||||
C++Builder's power isn't really used with wxWindows since it needs integration with its
|
||||
own class library (VCL). For wxWindows, I've only used it with makefiles, in which case
|
||||
it's almost identical to BC++ 5.0 (the same makefiles can be used).<P>
|
||||
|
||||
You can't beat Cygwin's price (free), and you can debug adequately using gdb. However, it's
|
||||
quite slow to compile since it does not use precompiled headers.<P>
|
||||
|
||||
CodeWarrior is cross-platform - you can debug and generate Windows executables from a Mac, but not
|
||||
the other way around I think - but the IDE is, to my mind, a bit primitive.<P>
|
||||
|
||||
Watcom C++ is a little slow and the debugger is not really up to today's standards.<P>
|
||||
|
||||
<h3>Is Unicode supported?</h3>
|
||||
|
||||
No, although there are other internationalisation features.<P>
|
||||
|
||||
However, the issues surrounding Unicode support have been looked into so we know
|
||||
what we need to do, and have some header files ready to use containing appropriate
|
||||
type definitions. Just about every file in wxWindows will need changes, due to the
|
||||
pervasive nature of characters and character arrays. Unicode support is needed
|
||||
for the port to Windows CE (see above).<P>
|
||||
|
||||
<h3>Can you compile wxWindows 2 as a DLL?</h3>
|
||||
|
||||
Yes (using the Visual C++ or Borland C++ makefile), but be aware that distributing DLLs is a thorny issue
|
||||
and you may be better off compiling statically-linked applications, unless you're
|
||||
delivering a suite of separate programs, or you're compiling a lot of wxWindows applications
|
||||
and have limited hard disk space.<P>
|
||||
|
||||
With a DLL approach, and with different versions and configurations of wxWindows
|
||||
needing to be catered for, the end user may end up with a host of large DLLs in his or her Windows system directory,
|
||||
negating the point of using DLLs. Of course, this is not a problem just associated with
|
||||
wxWindows!
|
||||
<P>
|
||||
|
||||
<H3>How can I reduce executable size?</H3>
|
||||
|
||||
You can compile wxWindows as a DLL (see above, VC++/BC++ only at present). You should also
|
||||
compile your programs for release using non-debugging and space-optimisation options.<P>
|
||||
|
||||
Statically-linked wxWindows 2 programs are smaller than wxWindows 1.xx programs, because of the way
|
||||
wxWindows 2 has been designed to reduce dependencies between classes, and other
|
||||
techniques. The linker will not include code from the library that is not (directly or
|
||||
indirectly) referenced
|
||||
by your application. So for example, the 'minimal' sample is less than 300KB using VC++ 6.<P>
|
||||
|
||||
If you want to distribute really small executables, you can
|
||||
use <a href="http://www.icl.ndirect.co.uk/petite/" target=_top>Petite</a>
|
||||
by Ian Luck. This nifty utility compresses Windows executables by around 50%, so your 500KB executable
|
||||
will shrink to a mere 250KB. With this sort of size, there is reduced incentive to
|
||||
use DLLs.<P>
|
||||
|
||||
|
||||
<H3>Will wxWindows be compatible with MFC?</H3>
|
||||
|
||||
There is a sample which demonstrates MFC and wxWindows code co-existing in the same
|
||||
application. However, don't expect to be able to enable wxWindows windows with OLE-2
|
||||
functionality using MFC.<P>
|
||||
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
@@ -1,222 +0,0 @@
|
||||
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
|
||||
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>msgfmt(1) manual page</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<A HREF="#toc">Table of Contents</A><P>
|
||||
|
||||
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
|
||||
msgfmt - create a message object from a message file
|
||||
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
|
||||
</A></H2>
|
||||
<B>msgfmt</B> [ <B>-v</B> ] [ <B>-o</B><I> output-file</I> ] ...
|
||||
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
|
||||
<P>
|
||||
<B>msgfmt</B> creates message
|
||||
object files from portable object files (<I>filename<B>.po </B></I>), without changing
|
||||
the portable object files. <P>
|
||||
The <B>.po </B> file contains messages displayed to
|
||||
users by system commands or by application programs. <B>.po</B> files can be edited,
|
||||
and the messages in them can be rewritten in any language supported by
|
||||
the system. <P>
|
||||
The <B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
|
||||
command can be used to create <B>.po</B> files from
|
||||
script or programs. <P>
|
||||
<B>msgfmt</B> interprets data as characters according to the
|
||||
current setting of the <FONT SIZE=-1><B>LC_CTYPE </B></FONT>
|
||||
locale category.
|
||||
<H3><A NAME="sect3" HREF="#toc3">Portable Object Files
|
||||
</A></H3>
|
||||
<P>
|
||||
Formats for all <B>.po</B> files are the same. Each <B>.po</B> file contains one or
|
||||
more lines, with each line containing either a comment or a statement.
|
||||
Comments start the line with a hash mark (#) and end with the newline
|
||||
character. All comments are ignored. The format of a statement is:
|
||||
<DL>
|
||||
|
||||
<DT><I>directive</I>
|
||||
value </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
Each directive starts at the beginning of the line and is separated
|
||||
from <I>value</I> by white space (such as one or more space or tab characters).
|
||||
<I>value</I> consists of one or more quoted strings separated by white space.
|
||||
Use any of the following types of directives: <P>
|
||||
<blockquote><B>domain</B> <I>domainname</I> <BR>
|
||||
<B>msgid</B>
|
||||
<I>message_identifier</I> <BR>
|
||||
<B>msgstr</B> <I>message_string</I> </blockquote>
|
||||
<P>
|
||||
The behavior of the <B>domain</B>
|
||||
directive is affected by the options used. See <FONT SIZE=-1>OPTIONS</FONT>
|
||||
for the behavior
|
||||
when the <B>-o</B> option is specified. If the <B>-o</B> option is not specified, the
|
||||
behavior of the <B>domain</B> directive is as follows: <blockquote>
|
||||
<UL>
|
||||
·<LI>All <I>msgids</I> from the beginning
|
||||
of each <B>.po</B> file to the first domain directive are put into a default
|
||||
message object file, <B>messages.mo</B>. </LI>·<LI>When <B>msgfmt</B> encounters a <B>domain</B><I> domainname</I>
|
||||
directive in the <B>.po</B> file, all following <I>msgids</I> until the next <B>domain</B> directive
|
||||
are put into the message object file </LI>·<LI>Duplicate <I>msgids</I> are defined in
|
||||
the scope of each domain. That is, a <I>msgid</I> is considered a duplicate only
|
||||
if the identical <I>msgid</I> exists in the same domain. </LI>·<LI>All duplicate <I>msgids</I>
|
||||
are ignored. </LI>
|
||||
</UL>
|
||||
</blockquote>
|
||||
<P>
|
||||
The <B>msgid</B> directive specifies the value of a message identifier
|
||||
associated with the directive that follows it. The <I>message_identifier</I> string
|
||||
identifies a target string to be used at retrieval time. Each statement
|
||||
containing a <B>msgid</B> directive must be followed by a statement containing
|
||||
a <B>msgstr</B> directive. <P>
|
||||
The <B>msgstr</B> directive specifies the target string associated
|
||||
with the <I>message_identifier</I> string declared in the immediately preceding
|
||||
<B>msgid</B> directive. <P>
|
||||
Message strings can contain the escape sequences <B>\n</B> for
|
||||
newline, <B>\t</B> for tab, <B>\v</B> for vertical tab, <B>\b</B> for backspace, <B>\r</B> for carriage
|
||||
return, <B>\f</B> for formfeed, <B>\\</B> for backslash, \" for double quote, <B>\ddd</B> for octal
|
||||
bit pattern, and <B>\xDD</B> for hexadecimal bit pattern.
|
||||
<H2><A NAME="sect4" HREF="#toc4">OPTIONS </A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-v</B> </DT>
|
||||
<DD>Verbose.
|
||||
List duplicate message identifiers. Message strings are not redefined.
|
||||
</DD>
|
||||
|
||||
<DT><B>-o</B><I> output-file</I> </DT>
|
||||
<DD>Specify output file name as <I>output-file</I>. All <B>domain</B> directives
|
||||
and duplicate <I>msgids</I> in the <B>.po</B> file are ignored. </DD>
|
||||
</DL>
|
||||
|
||||
<H2><A NAME="sect5" HREF="#toc5">EXAMPLES </A></H2>
|
||||
In this example
|
||||
<B>module1.po</B> and <B>module2.po</B> are portable message objects files. <P>
|
||||
<blockquote> example%
|
||||
cat module1.po <BR>
|
||||
# default domain "messages.mo" <BR>
|
||||
msgid "msg 1" <BR>
|
||||
msgstr "msg
|
||||
1 translation" <BR>
|
||||
# <BR>
|
||||
domain "help_domain" <BR>
|
||||
msgid "help 2" <BR>
|
||||
msgstr "help
|
||||
2 translation" <BR>
|
||||
# <BR>
|
||||
domain "error_domain" <BR>
|
||||
msgid "error 3" <BR>
|
||||
msgstr "error
|
||||
3 translation" <BR>
|
||||
<P>
|
||||
example% cat module2.po <BR>
|
||||
# default domain "messages.mo"
|
||||
<BR>
|
||||
msgid "mesg 4" <BR>
|
||||
msgstr "mesg 4 translation" <BR>
|
||||
# <BR>
|
||||
domain "error_domain"
|
||||
<BR>
|
||||
msgid "error 5" <BR>
|
||||
msgstr "error 5 translation" <BR>
|
||||
# <BR>
|
||||
domain "window_domain"
|
||||
<BR>
|
||||
msgid "window 6" <BR>
|
||||
msgstr "window 6 translation" <BR>
|
||||
</blockquote>
|
||||
<P>
|
||||
The following command
|
||||
will produce the output files, <B>messages.mo</B>, <B>help_domain.mo</B>, and <B>error_domain.mo</B>.
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt module1.po</B> </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
The following command will produce the output
|
||||
files, <B>messages.mo</B>, <B>help_domain.mo</B>, <B>error_domain.mo</B>, and <B>window_domain.mo</B>.
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt module1.po module2.po</B> </DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
The following example will produce
|
||||
the output file <B>hello.mo</B>.
|
||||
<DL>
|
||||
|
||||
<DT><B>example% msgfmt -o hello.mo module1.po module2.po</B>
|
||||
</DT>
|
||||
<DD></DD>
|
||||
</DL>
|
||||
<P>
|
||||
Install message object files in <B>/usr/lib/locale/</B><I>locale</I><B><FONT SIZE=-1>/LC_MESSAGES/</FONT>
|
||||
</B><I>domain</I><B>.mo</B>
|
||||
where <I>locale</I> is the message locale as set by <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
|
||||
, and <I>domain</I>
|
||||
is text domain as set by <B>textdomain()</B>. The <B>/usr/lib/locale</B> portion can
|
||||
optionally be changed by calling <B>bindtextdomain()</B>. See <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
.
|
||||
<H2><A NAME="sect6" HREF="#toc6">ENVIRONMENT
|
||||
</A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
|
||||
for descriptions of the following environmental variables
|
||||
that affect the execution of <B>msgfmt</B>: <FONT SIZE=-1><B>LC_CTYPE</FONT>
|
||||
</B>, <FONT SIZE=-1><B>LC_MESSAGES</FONT>
|
||||
</B>, <FONT SIZE=-1><B>NLSPATH</FONT>
|
||||
|
||||
</B>.
|
||||
<H2><A NAME="sect7" HREF="#toc7">ATTRIBUTES </A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
for descriptions of the following attributes:
|
||||
<P>
|
||||
<TABLE BORDER=0>
|
||||
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE VALUE</B> </TD> </TR>
|
||||
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
|
||||
<TR> <TD ALIGN=LEFT>CSI
|
||||
</TD> <TD ALIGN=LEFT>Enabled </TD> </TR>
|
||||
</TABLE>
|
||||
|
||||
<H2><A NAME="sect8" HREF="#toc8">SEE ALSO </A></H2>
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man1/xgettext.html">xgettext</B>(1)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/setlocale.html">setlocale</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
,
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man5/environ.html">environ</B>(5)</A>
|
||||
|
||||
<H2><A NAME="sect9" HREF="#toc9">NOTES </A></H2>
|
||||
<P>
|
||||
Neither <B>msgfmt</B> nor any <B>gettext()</B> routine imposes a limit
|
||||
on the total length of a message. However, each line in the <B>*.po</B> file is
|
||||
limited to <FONT SIZE=-1><B>MAX_INPUT </B></FONT>
|
||||
(512) bytes. <P>
|
||||
Installing message catalogs under the
|
||||
C locale is pointless, since they are ignored for the sake of efficiency.
|
||||
<P>
|
||||
|
||||
<HR><P>
|
||||
<A NAME="toc"><B>Table of Contents</B></A><P>
|
||||
<UL>
|
||||
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
|
||||
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
|
||||
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
|
||||
<UL>
|
||||
<LI><A NAME="toc3" HREF="#sect3">Portable Object Files</A></LI>
|
||||
</UL>
|
||||
<LI><A NAME="toc4" HREF="#sect4">OPTIONS</A></LI>
|
||||
<LI><A NAME="toc5" HREF="#sect5">EXAMPLES</A></LI>
|
||||
<LI><A NAME="toc6" HREF="#sect6">ENVIRONMENT</A></LI>
|
||||
<LI><A NAME="toc7" HREF="#sect7">ATTRIBUTES</A></LI>
|
||||
<LI><A NAME="toc8" HREF="#sect8">SEE ALSO</A></LI>
|
||||
<LI><A NAME="toc9" HREF="#sect9">NOTES</A></LI>
|
||||
</UL>
|
||||
</BODY></HTML>
|
@@ -1,144 +0,0 @@
|
||||
<!-- manual page source format generated by PolyglotMan v3.0.3a12, -->
|
||||
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
|
||||
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>xgettext(1) manual page</TITLE>
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<A HREF="#toc">Table of Contents</A><P>
|
||||
|
||||
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
|
||||
xgettext - extract gettext call strings from C programs
|
||||
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS
|
||||
</A></H2>
|
||||
<B>xgettext</B> [ <B>-ns</B> ] [ <B>-a</B> [ <B>-x</B><I> exclude-file</I> ] ] [ <B>-c</B><I> comment-tag</I> ] [ <B>-d</B><I> default-domain</I>
|
||||
] [ <B>-j</B> ] [ <B>-m</B><I> prefix</I> ] [ <B>-M</B><I> suffix</I> ] [ <B>-p</B><I> pathname</I> ] <B>-</B>| <I>filename</I> ... <BR>
|
||||
<B>xgettext</B>
|
||||
<B>-h</B>
|
||||
<H2><A NAME="sect2" HREF="#toc2">DESCRIPTION </A></H2>
|
||||
<P>
|
||||
<B>xgettext</B> is used to automate the creation of portable
|
||||
message files (<B>.po</B>). A <B>.po</B> file contains copies of `C' strings that are found
|
||||
in ANSI C source code in <I>filename</I> or the standard input if `<B>-</B>' is specified
|
||||
on the command line. The <B>.po</B> file can be used as input to the <B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
|
||||
|
||||
utility, which produces a binary form of the message file that can be
|
||||
used by application during run-time. <P>
|
||||
<B>xgettext</B> writes <I>msgid</I> strings from
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
calls in <I>filename</I> to the default output file <B>messages.po</B>. The
|
||||
default output file name can be changed by <B>-d</B> option. <I>msgid</I> strings in
|
||||
<B>dgettext()</B> calls are written to the output file where <I>domainname</I> is the
|
||||
first parameter to the <B>dgettext()</B> call. <P>
|
||||
By default, <B>xgettext</B> creates a
|
||||
<B>.po</B> file in the current working directory, and each entry is in the same
|
||||
order the strings are extracted from <I>filenames</I>. When the <B>-p</B> option is specified,
|
||||
the <B>.po</B> file is created in the <I>pathname</I> directory. An existing <B>.po</B> file
|
||||
is overwritten. <P>
|
||||
Duplicate <I>msgid</I>s are written to the <B>.po</B> file as comment
|
||||
lines. When the <B>-s </B> option is specified, the <B>.po</B> is sorted by the <I>msgid</I>
|
||||
string, and all duplicated <I>msgid</I>s are removed. All <I>msgstr</I> directives in
|
||||
the <B>.po</B> file are empty unless the <B>-m </B> option is used.
|
||||
<H2><A NAME="sect3" HREF="#toc3">OPTIONS </A></H2>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-n</B> </DT>
|
||||
<DD>Add comment
|
||||
lines to the output file indicating file name and line number in the source
|
||||
file where each extracted string is encountered. These lines appear before
|
||||
each <I>msgid</I> in the following format: <blockquote><B>#</B> <B># File: </B><I>filename</I><B>, line: </DD>
|
||||
</DL>
|
||||
</B><I>line-number</I>
|
||||
</blockquote>
|
||||
|
||||
<DL>
|
||||
|
||||
<DT><B>-s</B> </DT>
|
||||
<DD>Generate output sorted by <I>msgid</I>s with all duplicate <I>msgid</I>s removed.
|
||||
</DD>
|
||||
|
||||
<DT><B>-a</B> </DT>
|
||||
<DD>Extract all strings, not just those found in <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, and <B>dgettext
|
||||
()</B> calls. Only one <B>.po</B> file is created. </DD>
|
||||
|
||||
<DT><B>-c</B><I> comment-tag</I> </DT>
|
||||
<DD>The comment block
|
||||
beginning with <I>comment-tag</I> as the first token of the comment block is
|
||||
added to the output <B>.po</B> file as <I>#</I> delimited comments. For multiple domains,
|
||||
<B>xgettext</B> directs comments and messages to the prevailing text domain. </DD>
|
||||
|
||||
<DT><B>-d</B><I>
|
||||
default-domain</I> </DT>
|
||||
<DD>Rename default output file from <B>messages.po</B> to <I>default-domain</I>
|
||||
<B>.po</B>. </DD>
|
||||
|
||||
<DT><B>-j</B> </DT>
|
||||
<DD>Join messages with existing message files. If a <B>.po</B> file does not
|
||||
exist, it is created. If a <B>.po</B> file does exist, new messages are appended.
|
||||
Any duplicate <B>msgid</B>s are commented out in the resulting <B>.po</B> file. Domain
|
||||
directives in the existing <B>.po</B> file are ignored. Results not guaranteed
|
||||
if the existing message file has been edited. </DD>
|
||||
|
||||
<DT><B>-m</B><I> prefix</I> </DT>
|
||||
<DD>Fill in the <I>msgstr</I>
|
||||
with <I>prefix</I>. This is useful for debugging purposes. To make <I>msgstr</I> identical
|
||||
to <I>msgid</I>, use an empty string (<B>"" </B>) for <I>prefix</I>. </DD>
|
||||
|
||||
<DT><B>-M</B><I> suffix</I> </DT>
|
||||
<DD>Fill in the
|
||||
<I>msgstr</I> with <I>suffix</I>. This is useful for debugging purposes. </DD>
|
||||
|
||||
<DT><B>-p</B><I> pathname</I>
|
||||
</DT>
|
||||
<DD>Specify the directory where the output files will be placed. This option
|
||||
overrides the current working directory. <BR>
|
||||
</DD>
|
||||
|
||||
<DT><B>-x</B><I> exclude-file</I> </DT>
|
||||
<DD>Specify a <B>.po</B>
|
||||
file that contains a list of <I>msgid</I>s that are not to be extracted from
|
||||
the input files. The format of <I>exclude-file</I> is identical to the <B>.po</B> file.
|
||||
However, only the <I>msgid</I> directive line in <I>exclude-file</I> is used. All other
|
||||
lines are simply ignored. The <B>-x</B> option can only be used with the <B>-a</B> option.
|
||||
</DD>
|
||||
|
||||
<DT><B>-h</B> </DT>
|
||||
<DD>Print a help message on the standard output. </DD>
|
||||
</DL>
|
||||
|
||||
<H2><A NAME="sect4" HREF="#toc4">ATTRIBUTES </A></H2>
|
||||
See <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
|
||||
for descriptions of the following attributes: <P>
|
||||
<TABLE BORDER=0>
|
||||
<TR> <TD ALIGN=CENTER><B>ATTRIBUTE TYPE</B> </TD> <TD ALIGN=CENTER><B>ATTRIBUTE
|
||||
VALUE</B> </TD> </TR>
|
||||
<TR> <TR> <TD ALIGN=LEFT>Availability </TD> <TD ALIGN=LEFT>SUNWloc </TD> </TR>
|
||||
</TABLE>
|
||||
|
||||
<H2><A NAME="sect5" HREF="#toc5">SEE ALSO </A></H2>
|
||||
<B><A HREF="http://hoth.stsci.edu/man/man1/msgfmt.html">msgfmt</B>(1)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man3C/gettext.html">gettext</B>(3C)</A>
|
||||
, <B><A HREF="http://hoth.stsci.edu/man/man5/attributes.html">attributes</B>(5)</A>
|
||||
|
||||
|
||||
<H2><A NAME="sect6" HREF="#toc6">NOTES </A></H2>
|
||||
<B>xgettext</B> is not able to extract cast strings, for example ANSI
|
||||
C casts of literal strings to <B>(const char *)</B>. This is unnecessary anyway,
|
||||
since the prototypes in <B><libintl.h></B> already specify this type. <P>
|
||||
|
||||
<HR><P>
|
||||
<A NAME="toc"><B>Table of Contents</B></A><P>
|
||||
<UL>
|
||||
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
|
||||
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
|
||||
<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
|
||||
<LI><A NAME="toc3" HREF="#sect3">OPTIONS</A></LI>
|
||||
<LI><A NAME="toc4" HREF="#sect4">ATTRIBUTES</A></LI>
|
||||
<LI><A NAME="toc5" HREF="#sect5">SEE ALSO</A></LI>
|
||||
<LI><A NAME="toc6" HREF="#sect6">NOTES</A></LI>
|
||||
</UL>
|
||||
</BODY></HTML>
|
@@ -1,182 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>wxWindows Documentation</TITLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<a name="top"></a>
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
<IMG src="logo.gif" align=right>
|
||||
<!-- wxWindows Documentation -->
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to wxWindows 2, the premiere cross-platform GUI C++ framework. This is an index of
|
||||
the plain text and HTML documentation. Documentation is also available in Acrobat (PDF) and Windows Help,
|
||||
from the <a href="http://www.wxwindows.org">wxWindows Web site</a>.<P>
|
||||
|
||||
<CENTER>
|
||||
<FONT size=-1>
|
||||
[<a href="#install">Install</a>]
|
||||
[<a href="#manuals">Manuals</a>]
|
||||
[<a href="#thirdparty">3rd party tools</a>]
|
||||
[<a href="#samples">Samples</a>]
|
||||
</FONT>
|
||||
</CENTER>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="install">Installation and release notes</a></h3>
|
||||
|
||||
<ul>
|
||||
<li>ReadMe: <a href="../readme.txt"><b>General ReadMe</b></a>,
|
||||
<a href="../gtk/readme.txt">wxGTK</a>,
|
||||
<a href="../motif/readme.txt">wxMotif</a>,
|
||||
<a href="../msw/readme.txt">wxMSW</a>
|
||||
<li>Installation: <a href="../gtk/install.txt">wxGTK</a>,
|
||||
<a href="../motif/install.txt">wxMotif</a>,
|
||||
<a href="../msw/install.txt">wxMSW</a>
|
||||
<li><a href="../changes.txt"><b>Change log</b></a>
|
||||
<li><a href="../bugs.txt"><b>Buglist</b></a>
|
||||
<li>Licence: <a href="../preamble.txt">Preamble</a>,
|
||||
<a href="../licence.txt">Licence</a>,
|
||||
<a href="../licendoc.txt">Documentation Licence</a>,
|
||||
<a href="../lgpl.txt">L-GPL</a>,
|
||||
<a href="../gpl.txt">GPL</a>
|
||||
<li><a href="faq.htm"><B>FAQ</B></a>:
|
||||
<ul>
|
||||
<li><a href="faqgen.htm">General questions</a>
|
||||
<li><a href="faqgtk.htm">wxWindows 2 for GTK</a>
|
||||
<li><a href="faqmsw.htm">wxWindows 2 for Windows</a>
|
||||
<li><a href="faqmot.htm">wxWindows 2 for Motif</a>
|
||||
<li><a href="faqmac.htm">wxWindows 2 for Mac</a>
|
||||
</ul>
|
||||
<li>ToDo: <a href="../todo.txt"><b>General ToDo</b></a>,
|
||||
<a href="../gtk/todo.txt">wxGTK</a>,
|
||||
<a href="../motif/todo.txt">wxMotif</a>,
|
||||
<a href="../msw/todo.txt">wxMSW</a>
|
||||
<li>List of <a href="../symbols.txt">preprocessor symbols</a> used in wxWindows
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<h3><a name="manuals">wxWindows manuals</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="wx/wx.htm">Reference Manual</a>
|
||||
<li><a href="porting/port.htm">Porting Guide</a> (wxWindows 1.xx to 2)
|
||||
<li><a href="dialoged/dlged.htm">Dialog Editor</a>
|
||||
<li><a href="proplist/prop.htm">Property List Classes</a>
|
||||
<li><a href="wxtree/tree.htm">wxTreeLayout</a>
|
||||
<li><a href="odbc/odbc.htm">Remstar ODBC Classes</a>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="thirdparty">Third-party tools</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="gettext/gettext.htm">gettext manual</a>
|
||||
<li><a href="gettext/xgettext.htm">xgettext manual</a>
|
||||
<li><a href="gettext/msgfmt.htm">msgfmt manual</a>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><a name="samples">Samples</a></h3>
|
||||
|
||||
<ul>
|
||||
<li><a href="../../samples/bombs">bombs</a>: minesweeper-like game.
|
||||
<li><a href="../../samples/checklst">checklst</a>: demonstrates wxCheckListBox on
|
||||
supported platforms (currently Windows and GTK only).
|
||||
<li><a href="../../samples/config">config</a>: demonstrates use of wxConfig, which
|
||||
defaults to wxRegConfig on WIN32, wxIniConfig on WIN16, and wxFileConfig on other platforms.
|
||||
<li><a href="../../samples/controls">controls</a>: sample showing a variety of controls, including
|
||||
wxNotebook.
|
||||
<li><a href="../../samples/db">db</a>: wxDB ODBC sample.
|
||||
<li><a href="../../samples/dde">dde</a>: shows the DDE protocol in action, both using real
|
||||
DDE on Windows, and TCP/IP on all platforms. Edit <a href="../../samples/dde/ddesetup.h">ddesetup.h</a>
|
||||
to switch between compilation modes. Currently the TCP/IP mode needs a bit of work.
|
||||
<li><a href="../../samples/dialogs">dialogs</a>: shows some of the common dialogs available -- wxFontDialog,
|
||||
wxColourDialog, wxFileDialog, wxDirDialog, wxMessageBox, wxTextEntryDialog, wxSingleChoiceDialog.
|
||||
For printing-related dialogs, see the printing sample.
|
||||
<li><a href="../../samples/dnd">dnd</a>: demonstrates drag and drop on supported platforms.
|
||||
<li><a href="../../samples/docview">docview</a>: demonstrates use of the document view classes,
|
||||
using wxFrame.
|
||||
<li><a href="../../samples/docvwmdi">docvwmdi</a>: : demonstrates use of the document view classes,
|
||||
using wxMDIParentFrame, wxMDIChildFrame.
|
||||
<li><a href="../../samples/dynamic">dynamic</a>: shows how to connect events to member functions
|
||||
dynamically.
|
||||
<li><a href="../../samples/forty">forty</a>: a great little card game by Chris Breeze. A
|
||||
fully-fledged application!
|
||||
<li><a href="../../samples/fractal">fractal</a>: fractal mountains by Andrew Davison.
|
||||
<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
|
||||
<li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
|
||||
<li><a href="../../samples/image">image</a>: shows off the cross-platform wxImage class.
|
||||
<li><a href="../../samples/internat">internat</a>: use of wxWindows' internationalization support.
|
||||
<li><a href="../../samples/joytest">joytest</a>: tests the wxJoystick class (currently Windows and GTK only).
|
||||
<li><a href="../../samples/layout">layout</a>: shows the constraint layout system in action.
|
||||
<li><a href="../../samples/listctrl">listctrl</a>: demonstrates the wxListCtrl (implemented natively on
|
||||
WIN32, and using a generic version on other platforms).
|
||||
<li><a href="../../samples/mdi">mdi</a>: shows off the MDI (Multiple Document Interface) classes. On Windows, the regular MDI
|
||||
scheme is used whereby child windows have full sizing and moving rights within the main
|
||||
window. On other platforms, tabbed windows are used, where the children are always maximized.
|
||||
<li><a href="../../samples/memcheck">memcheck</a>: demonstrates the memory checking/debugging facilities.
|
||||
<li><a href="../../samples/mfc">mfc</a>: shows how to use MFC and wxWindows code in the same application (Windows only).
|
||||
<li><a href="../../samples/minifram">minifram</a>: demonstrates a frame with a small title bar. On
|
||||
platforms that don't support it, a normal-sized title bar is displayed.
|
||||
<li><a href="../../samples/minimal">minimal</a>: just shows a frame, a menubar, and a statusbar. About as
|
||||
small a wxWindows application as you can get.
|
||||
<li><a href="../../samples/nativdlg">nativdlg</a>: shows how wxWindows can load a standard Windows
|
||||
dialog resource, translating the controls into wxWindows controls (Windows only).
|
||||
<li><a href="../../samples/notebook">notebook</a>: shows the wxNotebook (tabbed window) control.
|
||||
<li><a href="../../samples/oleauto">oleauto</a>: a little OLE automation controller (Windows only; requires
|
||||
Excel to be present).
|
||||
<li><a href="../../samples/ownerdrw">ownerdrw</a>: demonstrates owner-draw menus and controls (Windows only).
|
||||
<li><a href="../../samples/png">png</a>: demonstrates PNG loading.
|
||||
<li><a href="../../samples/printing">printing</a>: shows printing and previewing.
|
||||
<li><a href="../../samples/proplist">proplist</a>: demonstrates the property list classes (a VB-style property editor).
|
||||
<li><a href="../../samples/regtest">regtest</a>: tests the low-level Windows registry functions (Windows only).
|
||||
<li><a href="../../samples/resource">resource</a>: shows how to use wxWindows resources (.wxr files).
|
||||
<li><a href="../../samples/sashtest">sashtest</a>: demonstrates use of the wxSashWindow class to allow
|
||||
the user to resize subwindows.
|
||||
<li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
|
||||
<li><a href="../../samples/tab">tab</a>: demonstrates the generic tab window class. You should
|
||||
normally use wxNotebook instead, but the generic code is sometimes useful, for example for
|
||||
implementing wxNotebook on platforms with no native support.
|
||||
<li><a href="../../samples/taskbar">taskbar</a>: demonstrates the wxTaskBarIcon class, for
|
||||
adding icons to the system tray. Windows only, but may eventually be implemented for other desktop
|
||||
environments that use this metaphor.
|
||||
<li><a href="../../samples/thread">thread</a>: tests the family of classes for doing thread
|
||||
programming.
|
||||
<li><a href="../../samples/toolbar">toolbar</a>: demonstrates wxToolBar.
|
||||
<li><a href="../../samples/treectrl">treectrl</a>: demonstrates wxTreeCtrl.
|
||||
<li><a href="../../samples/typetest">typetest</a>: tests various data type classes, including
|
||||
wxTime, wxDate and wxVariant.
|
||||
<li><a href="../../samples/validate">validate</a>: shows simple use of validation.
|
||||
<li><a href="../../samples/wxpoem">wxpoem</a>: a little poetry display program.
|
||||
<li><a href="../../samples/wxsocket">wxsocket</a>: demonstrates the TCP/IP family of classes.
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB |
@@ -1,37 +0,0 @@
|
||||
<HTML>
|
||||
|
||||
<HEAD>
|
||||
<TITLE>Welcome to wxWindows 2</TITLE>
|
||||
|
||||
</HEAD>
|
||||
|
||||
<BODY BGCOLOR="#FFFFFF" TEXT=#000000 LINK=#FF0000 VLINK=#000000>
|
||||
|
||||
<font face="Arial, Lucida Sans, Helvetica">
|
||||
|
||||
<a name="top"></a>
|
||||
|
||||
<table width=100% border=4 cellpadding=5 cellspacing=0>
|
||||
<tr>
|
||||
<td bgcolor="#660000">
|
||||
<font size=+1 face="Arial, Lucida Sans, Helvetica" color="#FFFFFF">
|
||||
Welcome to wxWindows 2
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<P>
|
||||
|
||||
Welcome to wxWindows 2, the premiere cross-platform GUI C++ framework.<P>
|
||||
|
||||
Please click on <a href="html/index.htm">docs/html/index.htm</a> to view the main document index.<P>
|
||||
|
||||
Have fun!<P>
|
||||
|
||||
</font>
|
||||
|
||||
</BODY>
|
||||
|
||||
</HTML>
|
||||
|
Before Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 198 B |
Before Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 109 B |
@@ -1,16 +0,0 @@
|
||||
[OPTIONS]
|
||||
TITLE=wxWindows Porting Guide
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
||||
[FILES]
|
||||
porting.rtf
|
||||
|
||||
[CONFIG]
|
||||
CreateButton("Up", "&Up", "JumpId(`porting.hlp', `Contents')")
|
||||
BrowseButtons()
|
||||
|
||||
[MAP]
|
||||
|
||||
[BITMAPS]
|
||||
|
@@ -1,385 +0,0 @@
|
||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||
\newcommand{\indexit}[1]{#1\index{#1}}%
|
||||
\newcommand{\pipe}[0]{$\|$\ }%
|
||||
\definecolour{black}{0}{0}{0}%
|
||||
\definecolour{cyan}{0}{255}{255}%
|
||||
\definecolour{green}{0}{255}{0}%
|
||||
\definecolour{magenta}{255}{0}{255}%
|
||||
\definecolour{red}{255}{0}{0}%
|
||||
\definecolour{blue}{0}{0}{200}%
|
||||
\definecolour{yellow}{255}{255}{0}%
|
||||
\definecolour{white}{255}{255}{255}%
|
||||
\input psbox.tex
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{Guide to porting applications from wxWindows 1.xx to 2.0}
|
||||
\author{Julian Smart}
|
||||
\date{October 1997}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\pagestyle{fancyplain}
|
||||
\bibliographystyle{plain}
|
||||
\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
%
|
||||
\chapter{About this document}\label{about}
|
||||
\pagenumbering{arabic}%
|
||||
\setheader{{\it Porting guide}}{}{}{}{}{{\it Porting guide}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
This document gives guidelines and tips for porting applications from
|
||||
version 1.xx of wxWindows to version 2.0.
|
||||
|
||||
The first section offers tips for writing 1.xx applications in a way to
|
||||
minimize porting time. The following sections detail the changes and
|
||||
how you can modify your application to be 2.0-compliant.
|
||||
|
||||
You may be worrying that porting to 2.0 will be a lot of work,
|
||||
particularly if you have only recently started using 1.xx. In fact,
|
||||
the wxWindows 2.0 API has far more in common with 1.xx than it has differences.
|
||||
With backward compatibility mode on, much of the conversion can be
|
||||
done gradually. The main challenges are doing without the default
|
||||
panel item layout, and the lack of automatic labels in some controls.
|
||||
However, if you already use resource files (.wxr), or application-specific positioning,
|
||||
or constraints, then even this will be quite painless.
|
||||
|
||||
So please don't be freaked out by the jump to 2.0! For one thing, 1.xx is still available
|
||||
and will be supported by the user community for some time. And when you have
|
||||
changed to 2.0, we hope that you will appreciate the benefits in terms
|
||||
of greater flexibility, better user interface aesthetics, improved C++ conformance,
|
||||
improved compilation speed, and many other enhancements. The revised architecture
|
||||
of 2.0 will ensure that wxWindows can continue to evolve for the forseeable
|
||||
future.
|
||||
|
||||
{\it Please note that this document is a work in progress.}
|
||||
|
||||
\chapter{Preparing for version 2.0}\label{preparing}
|
||||
|
||||
Even before compiling with version 2.0, there's also a lot you can do right now to make porting
|
||||
relatively simple. Here are a few tips.
|
||||
|
||||
\begin{itemize}
|
||||
\item {\bf Use constraints or .wxr resources} for layout, rather than the default layout scheme.
|
||||
Constraints should be the same in 2.0, and resources will be translated.
|
||||
\item {\bf Use separate wxMessage items} instead of labels for wxText, wxMultiText,
|
||||
wxChoice, wxComboBox. These labels will disappear in 2.0. Use separate
|
||||
wxMessages whether you're creating controls programmatically or using
|
||||
the dialog editor. The future dialog editor will be able to translate
|
||||
from old to new more accurately if labels are separated out.
|
||||
\item {\bf Parameterise functions that use wxDC} or derivatives, i.e. make the wxDC
|
||||
an argument to all functions that do drawing. Minimise the use of
|
||||
wxWindow::GetDC and definitely don't store wxDCs long-term
|
||||
because in 2.0, you can't use GetDC() and wxDCs are not persistent.
|
||||
You will use wxClientDC, wxPaintDC stack objects instead. Minimising
|
||||
the use of GetDC() will ensure that there are very few places you
|
||||
have to change drawing code for 2.0.
|
||||
\item {\bf Don't set GDI objects} (wxPen, wxBrush etc.) in windows or wxCanvasDCs before they're
|
||||
needed (e.g. in constructors) - do so within your drawing routine instead. In
|
||||
2.0, these settings will only take effect between the construction and destruction
|
||||
of temporary wxClient/PaintDC objects.
|
||||
\item {\bf Don't rely} on arguments to wxDC functions being floating point - they will
|
||||
be 32-bit integers in 2.0.
|
||||
\item {\bf Don't use the wxCanvas member functions} that duplicate wxDC functions, such as SetPen and DrawLine, since
|
||||
they are going.
|
||||
\item {\bf Using member callbacks} called from global callback functions will make the transition
|
||||
easier - see the FAQ
|
||||
for some notes on using member functions for callbacks. wxWindows 2.0 will banish global
|
||||
callback functions (and OnMenuCommand), and nearly all event handling will be done by functions taking a single event argument.
|
||||
So in future you will have code like:
|
||||
|
||||
{\small\begin{verbatim}
|
||||
void MyFrame::OnOK(wxCommandEvent& event)
|
||||
{
|
||||
...
|
||||
}
|
||||
\end{verbatim}
|
||||
}%
|
||||
|
||||
You may find that writing the extra code to call a member function isn't worth it at this stage,
|
||||
but the option is there.
|
||||
\item {\bf Use wxString wherever possible.} 2.0 will replace char * with wxString
|
||||
in most cases, and if you use wxString to receive strings returned from
|
||||
wxWindows functions (except when you need to save the pointer if deallocation is required), there should
|
||||
be no conversion problems later on.
|
||||
\item Be aware that under Windows, {\bf font sizes will change} to match standard Windows
|
||||
font sizes (for example, a 12-point font will appear bigger than before). Write your application
|
||||
to be flexible where fonts are concerned.
|
||||
Don't rely on fonts being similarly-sized across platforms, as they were (by chance) between
|
||||
Windows and X under wxWindows 1.66. Yes, this is not easy... but I think it's better to conform to the
|
||||
standards of each platform, and currently the size difference makes it difficult to
|
||||
conform to Windows UI standards. You may eventually wish to build in a global 'fudge-factor' to compensate
|
||||
for size differences. The old font sizing will still be available via wx\_setup.h, so do not panic...
|
||||
\item {\bf Consider dropping wxForm usage}: an alternative is to be found in utils/wxprop.
|
||||
wxPropertyFormView can be used in a wxForm-like way, except that you specify a pre-constructed panel
|
||||
or dialog; or you can use a wxPropertyListView to show attributes in a scrolling list - you don't even need
|
||||
to lay panel items out.
|
||||
|
||||
Because wxForm uses a number of features to be dropped in wxWindows 2.0, it cannot be
|
||||
supported in the future, at least in its present state.
|
||||
\item {\bf When creating a wxListBox}, put the wxLB\_SINGLE, wxLB\_MULTIPLE, wxLB\_EXTENDED styles in the window style parameter, and put
|
||||
zero in the {\it multiple} parameter. The {\it multiple} parameter will be removed in 2.0.
|
||||
\item {\bf For MDI applications}, don't reply on MDI being run-time-switchable in the way that the
|
||||
MDI sample is. In wxWindows 2.0, MDI functionality is separated into distinct classes.
|
||||
\end{itemize}
|
||||
|
||||
\chapter{The new event system}\label{eventsystem}
|
||||
|
||||
The way that events are handled has been radically changed in wxWindows 2.0. Please
|
||||
read the topic `Event handling overview' in the wxWindows 2.0 manual for background
|
||||
on this.
|
||||
|
||||
\section{Callbacks}
|
||||
|
||||
Instead of callbacks for panel items, menu command events, control commands and other events are directed to
|
||||
the originating window, or an ancestor, or an event handler that has been plugged into the window
|
||||
or its ancestor. Event handlers always have one argument, a derivative of wxEvent.
|
||||
|
||||
For menubar commands, the {\bf OnMenuCommand} member function will be replaced by a series of separate member functions,
|
||||
each of which responds to a particular command. You need to add these (non-virtual) functions to your
|
||||
frame class, add a DECLARE\_EVENT\_TABLE entry to the class, and then add an event table to
|
||||
your implementation file, as a BEGIN\_EVENT\_TABLE and END\_EVENT\_TABLE block. The
|
||||
individual event mapping macros will be of the form:
|
||||
|
||||
\begin{verbatim}
|
||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(MYAPP_NEW, MyFrame::OnNew)
|
||||
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
|
||||
END_EVENT_TABLE()
|
||||
\end{verbatim}
|
||||
|
||||
Control commands, such as button commands, can be routed to a derived button class,
|
||||
the parent window, or even the frame. Here, you use a function of the form EVT\_BUTTON(id, func).
|
||||
Similar macros exist for other control commands.
|
||||
|
||||
\section{Other events}
|
||||
|
||||
To intercept other events, you used to override virtual functions, such as OnSize. Now, while you can use
|
||||
the OnSize name for such event handlers (or any other name of your choice), it has only a single argument
|
||||
(wxSizeEvent) and must again be `mapped' using the EVT\_SIZE macro. The same goes for all other events,
|
||||
including OnClose (although in fact you can still use the old, virtual form of OnClose for the time being).
|
||||
|
||||
\chapter{Class hierarchy}\label{classhierarchy}
|
||||
|
||||
The class hierarchy has changed somewhat. wxToolBar and wxButtonBar
|
||||
classes have been split into several classes, and are derived from wxControl (which was
|
||||
called wxItem). wxPanel derives from wxWindow instead of from wxCanvas, which has
|
||||
disappeared in favour of wxScrolledWindow (since all windows are now effectively canvases
|
||||
which can be drawn into). The status bar has become a class in its own right, wxStatusBar.
|
||||
|
||||
There are new MDI classes so that wxFrame does not have to be overloaded with this
|
||||
functionality.
|
||||
|
||||
There are new device context classes, with wxPanelDC and wxCanvasDC disappearing.
|
||||
See \helpref{Device contexts and painting}{dc}.
|
||||
|
||||
\chapter{GDI objects}\label{gdiobjects}
|
||||
|
||||
These objects - instances of classes such as wxPen, wxBrush, wxBitmap (but not wxColour) -
|
||||
are now implemented with reference-counting. This makes assignment a very cheap operation,
|
||||
and also means that management of the resource is largely automatic. You now pass {\it references} to
|
||||
objects to functions such as wxDC::SetPen. The device context does not store a copy of the pen
|
||||
itself, but takes a copy of it (via reference counting), and the object's data gets freed up
|
||||
when the reference count goes to zero. The application does not have to worry so much about
|
||||
who the object belongs to: it can pass the reference, then destroy the object without
|
||||
leaving a dangling pointer inside the device context.
|
||||
|
||||
For the purposes of code migration, you can use the old style of object management - maintaining
|
||||
pointers to GDI objects, and using the FindOrCreate... functions. However, it is preferable to
|
||||
keep this explicit management to a minimum, instead creating objects on the fly as needed, on the stack,
|
||||
unless this causes too much of an overhead in your application.
|
||||
|
||||
At a minimum, you will have to make sure that calls to SetPen, SetBrush etc. work. Some compilers
|
||||
will do the conversion from pointer to reference automatically (via a constructor in the GDI
|
||||
class) but you cannot rely on this being true for all compilers. Also, where you pass NULL to these
|
||||
functions, you will need to either cast to the appropriate reference type, or instead
|
||||
use an identifier such as wxNullPen or wxNullBrush.
|
||||
|
||||
\chapter{Dialogs and controls}\label{dialogscontrols}
|
||||
|
||||
\wxheading{Labels}
|
||||
|
||||
Most controls no longer have labels and values as they used to in 1.xx. Instead, labels
|
||||
should be created separately using wxStaticText (the new name for wxMessage). This will
|
||||
need some reworking of dialogs, unfortunately; programmatic dialog creation that doesn't
|
||||
use constraints will be especially hard-hit. Perhaps take this opportunity to make more
|
||||
use of dialog resources or constraints. Or consider using the wxPropertyListView class
|
||||
which can do away with dialog layout issues altogether by presenting a list of editable
|
||||
properties.
|
||||
|
||||
\wxheading{Constructors}
|
||||
|
||||
All window constructors have two main changes, apart from the label issue mentioned above.
|
||||
Windows now have integer identifiers; and position and size are now passed as wxPoint and
|
||||
wxSize objects. In addition, some windows have a wxValidator argument. wxWindows 2.0 may provide
|
||||
old-style constructors in WXWIN\_COMPATIBILITY mode for limited backward compatibility.
|
||||
|
||||
\wxheading{Show versus ShowModal}
|
||||
|
||||
If you have used or overridden the {\bf wxDialog::Show} function in the past, you may find
|
||||
that modal dialogs no longer work as expected. This is because the function for modal showing
|
||||
is now {\bf wxDialog:ShowModal}. This is part of a more fundamental change in which a
|
||||
control may tell the dialog that it caused the dismissal of a dialog, by
|
||||
calling {\bf wxDialog::EndModal} or {\bf wxWindow::SetReturnCode}. Using this
|
||||
information, {\bf ShowModal} now returns the id of the control that caused dismissal,
|
||||
giving greater feedback to the application than just TRUE or FALSE.
|
||||
|
||||
If you overrode or called {\bf wxDialog::Show}, use {\bf ShowModal} and test for a returned identifier,
|
||||
commonly wxID\_OK or wxID\_CANCEL.
|
||||
|
||||
\wxheading{wxItem}
|
||||
|
||||
This is renamed wxControl.
|
||||
|
||||
\wxheading{wxText, wxMultiText and wxTextWindow}
|
||||
|
||||
These classes no longer exist and are replaced by the single class wxTextCtrl.
|
||||
Multi-line text items are created using the wxTE\_MULTILINE style.
|
||||
|
||||
\wxheading{wxButton}
|
||||
|
||||
Bitmap buttons are now a separate class, instead of being part of wxBitmap.
|
||||
|
||||
\wxheading{wxMessage}
|
||||
|
||||
Bitmap messages are now a separate class, wxStaticBitmap, and wxMessage
|
||||
is renamed wxStaticText.
|
||||
|
||||
\wxheading{wxGroupBox}
|
||||
|
||||
wxGroupBox is renamed wxStaticBox.
|
||||
|
||||
\wxheading{wxForm}
|
||||
|
||||
Note that wxForm is no longer supported in wxWindows 2.0. Consider using the wxPropertyForm class
|
||||
instead, which takes standard dialogs and panels and associates controls with property objects.
|
||||
You may also find that the new validation method, combined with dialog resources, is easier
|
||||
and more flexible than using wxForm.
|
||||
|
||||
\chapter{Device contexts and painting}\label{dc}
|
||||
|
||||
In wxWindows 2.0, device contexts are used for drawing into, as per 1.xx, but the way
|
||||
they are accessed and constructed is a bit different.
|
||||
|
||||
You no longer use {\bf GetDC} to access device contexts for panels, dialogs and canvases.
|
||||
Instead, you create a temporary device context, which means that any window or control can be drawn
|
||||
into. The sort of device context you create depends on where your code is called from. If
|
||||
painting within an {\bf OnPaint} handler, you create a wxPaintDC. If not within an {\bf OnPaint} handler,
|
||||
you use a wxClientDC or wxWindowDC. You can still parameterise your drawing code so that it
|
||||
doesn't have to worry about what sort of device context to create - it uses the DC it is passed
|
||||
from other parts of the program.
|
||||
|
||||
You {\bf must } create a wxPaintDC if you define an OnPaint handler, even if you do not
|
||||
actually use this device context, or painting will not work correctly under Windows.
|
||||
|
||||
If you used device context functions with wxPoint or wxIntPoint before, please note
|
||||
that wxPoint now contains integer members, and there is a new class wxRealPoint. wxIntPoint
|
||||
no longer exists.
|
||||
|
||||
wxMetaFile and wxMetaFileDC have been renamed to wxMetafile and wxMetafileDC.
|
||||
|
||||
\chapter{Miscellaneous}
|
||||
|
||||
\section{Strings}
|
||||
|
||||
wxString has replaced char* in the majority of cases. For passing strings into functions,
|
||||
this should not normally require you to change your code if the syntax is otherwise the
|
||||
same. This is because C++ will automatically convert a char* or const char* to a wxString by virtue
|
||||
of appropriate wxString constructors.
|
||||
|
||||
However, when a wxString is returned from a function in wxWindows 2.0 where a char* was
|
||||
returned in wxWindows 1.xx, your application will need to be changed. Usually you can
|
||||
simplify your application's allocation and deallocation of memory for the returned string,
|
||||
and simply assign the result to a wxString object. For example, replace this:
|
||||
|
||||
{\small\begin{verbatim}
|
||||
char* s = wxFunctionThatReturnsString();
|
||||
s = copystring(s); // Take a copy in case it's temporary
|
||||
.... // Do something with it
|
||||
delete[] s;
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
with this:
|
||||
|
||||
{\small\begin{verbatim}
|
||||
wxString s = wxFunctionThatReturnsString();
|
||||
.... // Do something with it
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
To indicate an empty return value or a problem, a function may return either the
|
||||
empty string (``") or a null string. You can check for a null string with wxString::IsNull().
|
||||
|
||||
\section{Use of const}
|
||||
|
||||
The {\bf const} keyword is now used to denote constant functions that do not affect the
|
||||
object, and for function arguments to denote that the object passed cannot be changed.
|
||||
|
||||
This should not affect your application except for where you are overriding virtual functions
|
||||
which now have a different signature. If functions are not being called which were previously,
|
||||
check whether there is a parameter mismatch (or function type mismatch) involving consts.
|
||||
|
||||
Try to use the {\bf const} keyword in your own code where possible.
|
||||
|
||||
\chapter{Backward compatibility}\label{compat}
|
||||
|
||||
Some wxWindows 1.xx functionality has been left to ease the transition to 2.0. This functionality
|
||||
(usually) only works if you compile with WXWIN\_COMPATIBILITY set to 1.
|
||||
|
||||
Mostly this defines old names to be the new names (e.g. wxRectangle is defined to be wxRect).
|
||||
|
||||
\chapter{Quick reference}\label{quickreference}
|
||||
|
||||
This section allows you to quickly find features that
|
||||
need to be converted.
|
||||
|
||||
TODO
|
||||
|
||||
\section{OnActivate}
|
||||
|
||||
Rename to OldOnActivate, or replace arguments with one wxActivateEvent\& argument.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnClose}
|
||||
|
||||
This can either remain the same as before, or you can add an OnCloseWindow event
|
||||
handler using an EVT\_CLOSE event table entry.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnMenuCommand}
|
||||
|
||||
Rename to OldOnMenuCommand, or replace with a series of functions, one for
|
||||
each case of your old switch statement. Create an event table for your frame
|
||||
containing EVT\_MENU macros, and insert DECLARE\_EVENT\_TABLE() in your frame class.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{OnSize}
|
||||
|
||||
Rename to OldOnSize, or replace arguments with one wxSizeEvent\& argument.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Backward compatibility}{compat}
|
||||
|
||||
\section{wxDialog::Show}
|
||||
|
||||
If you used {\bf Show} to show a modal dialog, or to override the standard
|
||||
modal dialog {\bf Show}, use {\bf ShowModal} instead.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Dialogs and controls}{dialogscontrols}
|
||||
|
||||
\end{document}
|
@@ -1,28 +0,0 @@
|
||||
;;; Tex2RTF initialisation file for 16-bit Winhelp
|
||||
runTwice = yes
|
||||
titleFontSize = 12
|
||||
authorFontSize = 10
|
||||
authorFontSize = 10
|
||||
chapterFontSize = 12
|
||||
sectionFontSize = 12
|
||||
subsectionFontSize = 12
|
||||
contentsDepth = 2
|
||||
headerRule = yes
|
||||
footerRule = yes
|
||||
useHeadingStyles = yes
|
||||
listItemIndent=40
|
||||
generateHPJ = no
|
||||
htmlBrowseButtons = bitmap
|
||||
winHelpContents = yes
|
||||
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
||||
winHelpTitle = "wxWindows Porting Guide"
|
||||
truncateFilenames = yes
|
||||
combineSubSections = yes
|
||||
\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
|
||||
\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
|
||||
\sethotspotcolour{on}\sethotspotunderline{on}}
|
||||
\docparam [2]{\parskip{0}{\it #1}\par\parskip{10}\indented{1cm}{#2}}
|
||||
\wxheading [1]{{\bf \fcol{blue}{#1}}}
|
||||
\const [0] {{\bf const}}
|
||||
\constfunc [3] {{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
||||
|
@@ -1,289 +0,0 @@
|
||||
% LaTeX style file
|
||||
% Name: texhelp.sty
|
||||
% Author: Julian Smart
|
||||
%
|
||||
% Purpose
|
||||
% -------
|
||||
% Style file to enable the simultaneous preparation of printed LaTeX and on-line
|
||||
% hypertext manuals.
|
||||
% Use in conjunction with Tex2RTF (see Tex2RTF documentation).
|
||||
%
|
||||
% Note that if a non-ASCII character starts a newline and there should be a space
|
||||
% between the last word on the previous line and the first word on this line,
|
||||
% you need to use \rtfsp to generate a space in Windows Help. \rtfsp is ignored
|
||||
% in all other formats.
|
||||
%
|
||||
% Julian Smart
|
||||
% Artificial Intelligence Applications Institute
|
||||
%
|
||||
%
|
||||
% ============== C++/CLIPS Documentation Facilities ==============
|
||||
%
|
||||
% Each class definition should be typeset with e.g.
|
||||
%
|
||||
% \section{\class{Name}: Parent}
|
||||
%
|
||||
% followed by a description of the class.
|
||||
% Each member should follow:
|
||||
%
|
||||
% \membersection{wxName::Member}
|
||||
%
|
||||
% with a description of what this member does.
|
||||
% Then, one (or more if overloaded) member (function) in detail:
|
||||
%
|
||||
% \func{return type}{name}{args}
|
||||
% or
|
||||
% \member{type}{name}
|
||||
%
|
||||
% where args is a list of \param{type}{name}, ...
|
||||
|
||||
% Function, e.g.
|
||||
% e.g. to typeset
|
||||
%
|
||||
% void DoIt(char *string);
|
||||
%
|
||||
% write:
|
||||
%
|
||||
% \func{void}{DoIt}{\param{char *}{string}}
|
||||
%
|
||||
|
||||
\newcommand{\func}[3]{\hangafter=1\noindent\hangindent=10mm
|
||||
{{\it #1} {\bf #2}\index{#2}}(#3)}
|
||||
|
||||
% For function/type definition where the name is a pointer,
|
||||
% e.g. to typeset
|
||||
%
|
||||
% typedef void (*wxFunction)(wxObject&)
|
||||
%
|
||||
% write:
|
||||
%
|
||||
% \pfunc{typedef void}{wxFunction}{param{wxObject&}}
|
||||
|
||||
\newcommand{\pfunc}[3]{\hangafter=1\noindent\hangindent=10mm
|
||||
{{\it #1} ({\bf *#2})\index{#2}}(#3)}
|
||||
|
||||
% Use an ordinary \section command for class name definitions.
|
||||
|
||||
% This is used for a member, such as wxBitmap: GetDepth
|
||||
\newcommand{\membersection}[1]{\subsection*{#1}\index{#1}}
|
||||
|
||||
% CLIPS function
|
||||
\newcommand{\clipsfunc}[3]{\hangafter=1\noindent\hangindent=10mm
|
||||
{{\bf #1} ({\bf #2}\index{#2}}#3)}
|
||||
|
||||
\newcommand{\clipssection}[1]{\chapter{#1}}
|
||||
|
||||
% This is used for a CLIPS function name
|
||||
\newcommand{\functionsection}[1]{\subsection*{#1}}
|
||||
|
||||
% Member: a type and a name
|
||||
\newcommand{\member}[2]{{\bf #1 \it #2}}
|
||||
|
||||
% C++ Parameter: a type and a name (no intervening space)
|
||||
\newcommand{\param}[2]{{\it #1}{\bf #2}}
|
||||
|
||||
% CLIPS Parameter: a type and a name (one intervening space)
|
||||
\newcommand{\cparam}[2]{{\bf #1} {\it #2}}
|
||||
|
||||
% Class: puts in index
|
||||
\newcommand{\class}[1]{#1\index{#1}}
|
||||
|
||||
% Void type
|
||||
\newcommand{\void}{{\it void}}
|
||||
|
||||
% Typeset destructor
|
||||
\newcommand{\destruct}[1]{{$\sim$}#1}
|
||||
|
||||
% Typeset insert/extract operators
|
||||
\newcommand{\cinsert}{$<<$}
|
||||
\newcommand{\cextract}{$>>$}
|
||||
|
||||
|
||||
% =================== Hypertext facilities ===================
|
||||
%
|
||||
% To insert hyperlinks (or references, in Latex), \label the sections
|
||||
% or membersections \label{ref-label} immediately after the section, on the same line,
|
||||
% and use \helpref{text-to-show}{ref-label} to make a reference.
|
||||
%
|
||||
|
||||
% Type text with section reference
|
||||
\newcommand{\helpref}[2]{{\it #1} (p.\ \pageref{#2}) }
|
||||
|
||||
% Type text with URL in verbatim mode
|
||||
\newcommand{\urlref}[2]{#1 (\verb$#2$)}
|
||||
|
||||
% Don't typeset section number in LaTeX
|
||||
\newcommand{\helprefn}[2]{{\it #1}}
|
||||
|
||||
% Like helpref, but popup text in WinHelp instead of hyperlinked
|
||||
\newcommand{\popref}[2]{{\it #1}}
|
||||
|
||||
% Like footnote, but popup text.
|
||||
\newcommand{\footnotepopup}[2]{{\it #1}\footnote{#2}}
|
||||
|
||||
% =================== On-line help specific macros ===================
|
||||
%
|
||||
|
||||
% Global document font size/family, help only.
|
||||
\newcommand{\helpfontsize}[1]{}
|
||||
\newcommand{\helpfontfamily}[1]{}
|
||||
|
||||
% Ignore in all on-line help
|
||||
\newcommand{\helpignore}[1]{#1}
|
||||
% Only print in all on-line help
|
||||
\newcommand{\helponly}[1]{}
|
||||
|
||||
% Ignore in LaTeX
|
||||
\newcommand{\latexignore}[1]{}
|
||||
% Only print in LaTeX
|
||||
\newcommand{\latexonly}[1]{#1}
|
||||
|
||||
% Ignore in linear RTF
|
||||
\newcommand{\rtfignore}[1]{#1}
|
||||
% Only print in linear RTF
|
||||
\newcommand{\rtfonly}[1]{}
|
||||
|
||||
% Ignore in WinHelp RTF
|
||||
\newcommand{\winhelpignore}[1]{#1}
|
||||
% Only print in WinHelp RTF
|
||||
\newcommand{\winhelponly}[1]{}
|
||||
|
||||
% Ignore in wxHelp
|
||||
\newcommand{\xlpignore}[1]{#1}
|
||||
% Only print in wxHelp
|
||||
\newcommand{\xlponly}[1]{}
|
||||
|
||||
% Ignore in HTML
|
||||
\newcommand{\htmlignore}[1]{#1}
|
||||
% Only print in HTML
|
||||
\newcommand{\htmlonly}[1]{}
|
||||
|
||||
% Input a file only for help system (binder thickness is not a limitation
|
||||
% in help systems!)
|
||||
\newcommand{\helpinput}[1]{}
|
||||
|
||||
\newcommand{\rtfsp}{ } % Force a space in RTF, ignore in Latex
|
||||
|
||||
% =================== Miscellaneous macros ===================
|
||||
%
|
||||
% Headings consistent with generated ones
|
||||
\newcommand{\myheading}[1]{\vspace*{25pt}
|
||||
\begin{flushleft}
|
||||
{\LARGE \bf #1}
|
||||
\end{flushleft}
|
||||
\vskip 20pt
|
||||
}
|
||||
|
||||
% Heading with entry in contents page.
|
||||
\newcommand{\chapterheading}[1]{\myheading{#1}
|
||||
\addcontentsline{toc}{chapter}{#1}}
|
||||
|
||||
\newcommand{\sectionheading}[1]{\myheading{#1}
|
||||
\addcontentsline{toc}{section}{#1}}
|
||||
|
||||
% Glossary environment
|
||||
\newenvironment{helpglossary}{\newpage\chapterheading{Glossary}\begin{description}}{\end{description}}
|
||||
|
||||
% Glossary entry
|
||||
\newcommand{\gloss}[1]{\item[#1]\index{#1}}
|
||||
|
||||
% Image: EPS in Latex, BMP or MF (whatever's available) in RTF. Requires psbox.
|
||||
\newcommand{\image}[2]{\psboxto(#1){#2}}
|
||||
|
||||
% Image, left aligned (HTML)
|
||||
\newcommand{\imager}[2]{\psboxto(#1){#2}}
|
||||
|
||||
% Image, right aligned (HTML)
|
||||
\newcommand{\imagel}[2]{\psboxto(#1){#2}}
|
||||
|
||||
% Imagemap: principally for HTML only. In Latex,
|
||||
% acts like \image.
|
||||
\newcommand{\imagemap}[3]{\psboxto(#1){#2}}
|
||||
|
||||
% Headers and footers
|
||||
% \setheader{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
|
||||
% {OddPageLeft}{OddPageCentre}{OddPageRight}
|
||||
\newcommand{\setheader}[6]{
|
||||
\lhead[\fancyplain{}{#1}]{\fancyplain{}{#4}}
|
||||
\chead[\fancyplain{}{#2}]{\fancyplain{}{#5}}
|
||||
\rhead[\fancyplain{}{#3}]{\fancyplain{}{#6}}
|
||||
}
|
||||
|
||||
% \setfooter{EvenPageLeft}{EvenPageCentre}{EvenPageRight}
|
||||
% {OddPageLeft}{OddPageCentre}{OddPageRight}
|
||||
\newcommand{\setfooter}[6]{
|
||||
\lfoot[\fancyplain{#1}{#1}]{\fancyplain{#4}{#4}}
|
||||
\cfoot[\fancyplain{#2}{#2}]{\fancyplain{#5}{#5}}
|
||||
\rfoot[\fancyplain{#3}{#3}]{\fancyplain{#6}{#6}}
|
||||
}
|
||||
|
||||
% Needed for telling RTF where margin paragraph should go
|
||||
% in mirrored margins mode.
|
||||
\newcommand{\marginpareven}[1]{\hspace*{0pt}\marginpar{#1}}
|
||||
\newcommand{\marginparodd}[1]{\hspace*{0pt}\marginpar{#1}}
|
||||
|
||||
% Environment for two-column table popular in WinHelp and manuals.
|
||||
\newcommand{\twocolwidtha}[1]{\def\twocolwidthaval{#1}}
|
||||
\newcommand{\twocolwidthb}[1]{\def\twocolwidthbval{#1}}
|
||||
\newcommand{\twocolspacing}[1]{\def\twocolspacingval{#1}}
|
||||
|
||||
\twocolwidtha{3cm}
|
||||
\twocolwidthb{8.5cm}
|
||||
\twocolspacing{2}
|
||||
|
||||
\newcommand{\twocolitem}[2]{#1 & #2\\}
|
||||
\newcommand{\twocolitemruled}[2]{#1 & #2\\\hline}
|
||||
|
||||
\newenvironment{twocollist}{\renewcommand{\arraystretch}{\twocolspacingval}\begin{tabular}{lp{\twocolwidthbval}}}%
|
||||
{\end{tabular}\renewcommand{\arraystretch}{1}}
|
||||
|
||||
% Specifying table rows for RTF compatibility
|
||||
\newcommand{\row}[1]{#1\\}
|
||||
|
||||
% Use for the last ruled row for correct RTF generation.
|
||||
\newcommand{\ruledrow}[1]{#1\\\hline}
|
||||
|
||||
% Indentation environment. Arg1 is left margin size
|
||||
\newenvironment{indented}[1]{\begin{list}{}{\leftmargin=#1}\item[]}%
|
||||
{\end{list}}
|
||||
|
||||
% Framed box of text, normal formatting.
|
||||
\newcommand{\normalbox}[1]{\fbox{\vbox{#1}}}
|
||||
% Double-framed box of text.
|
||||
\newcommand{\normalboxd}[1]{\fbox{\fbox{\vbox{#1}}}}
|
||||
|
||||
% WITHDRAWN -- can't do in RTF, easily.
|
||||
% Framed box of text, horizontally centred. Ragged right within box.
|
||||
% \newcommand{\centeredbox}[2]{\begin{center}\fbox{\parbox{#1}{\raggedright#2}}\end{center}}
|
||||
% Double-framed box of text, horizontally centred. Ragged right within box.
|
||||
% \newcommand{\centeredboxd}[2]{\begin{center}\fbox{\fbox{\parbox{#1}{\raggedright#2}}}\end{center}}
|
||||
|
||||
% toocomplex environment: simply prints the argument in LaTeX,
|
||||
% comes out verbatim in all generated formats.
|
||||
\newenvironment{toocomplex}{}{}
|
||||
|
||||
% Colour: dummy commands since LaTeX doesn't support colour.
|
||||
% \definecolour{name}{red}{blue}{green}
|
||||
% \fcol{name}{text} ; Foreground
|
||||
% \bcol{name}{text} ; Background
|
||||
\newcommand{\definecolour}[4]{}
|
||||
\newcommand{\definecolor}[4]{}
|
||||
\newcommand{\fcol}[2]{#2}
|
||||
\newcommand{\bcol}[2]{#2}
|
||||
\newcommand{\sethotspotcolour}[1]{}
|
||||
\newcommand{\sethotspotunderline}[1]{}
|
||||
\newcommand{\settransparency}[1]{}
|
||||
\newcommand{\backslashraw}[0]{}
|
||||
\newcommand{\lbraceraw}[0]{}
|
||||
\newcommand{\rbraceraw}[0]{}
|
||||
\newcommand{\registered}[0]{(r)}
|
||||
\newcommand{\background}[1]{}
|
||||
\newcommand{\textcolour}[1]{}
|
||||
\newcommand{\overview}[2]{See \helpref{#1}{#2}.}
|
||||
\newcommand{\docparam}[2]{{\it #1}\begin{list}{}{\leftmargin=1cm}\item[]
|
||||
#2%
|
||||
\end{list}}
|
||||
\newcommand{\wxheading}[1]{{\bf #1}}
|
||||
\newcommand{\const}[0]{{\bf const}}
|
||||
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
||||
|
@@ -1 +0,0 @@
|
||||
GIF87a
|
Before Width: | Height: | Size: 6 B |
Before Width: | Height: | Size: 226 B |
@@ -1,106 +0,0 @@
|
||||
\chapter{Introduction}\label{introduction}
|
||||
\pagenumbering{arabic}%
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
The Property Sheet Classes help the programmer to specify complex dialogs and
|
||||
their relationship with their associated data. By specifying data as a
|
||||
wxPropertySheet containing wxProperty objects, the programmer can use
|
||||
a range of available or custom wxPropertyView classes to allow the user to
|
||||
edit this data. Classes derived from wxPropertyView act as mediators between the
|
||||
wxPropertySheet and the actual window (and associated panel items).
|
||||
|
||||
For example, the wxPropertyListView is a kind of wxPropertyView which displays
|
||||
data in a Visual Basic-style property list (see \helpref{the next section}{appearance} for
|
||||
screen shots). This is a listbox containing names and values, with
|
||||
an edit control and other optional controls via which the user edits the selected
|
||||
data item.
|
||||
|
||||
wxPropertyFormView is another kind of wxPropertyView which mediates between
|
||||
the data and a panel or dialog box which has already been created. This makes it a contender for
|
||||
the replacement of wxForm, since programmer-controlled layout is going to be much more
|
||||
satisfactory. If automatic layout is desired, then wxPropertyListView could be used instead.
|
||||
|
||||
The main intention of this class library was to provide property {\it list} behaviour, but
|
||||
it has been generalised as much as possible so that the concept of a property sheet and its viewers
|
||||
can reduce programming effort in a range of user interface tasks.
|
||||
|
||||
For further details on the classes and how they are used, please see \helpref{Property classes overview}{propertyoverview}.
|
||||
|
||||
\section{The appearance and behaviour of a property list view}\label{appearance}
|
||||
|
||||
The property list, as seen in an increasing number of development tools
|
||||
such as Visual Basic and Delphi, is a convenient and compact method for
|
||||
displaying and editing a number of items without the need for one
|
||||
control per item, and without the need for designing a special form. The
|
||||
controls are as follows:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item A listbox showing the properties and their current values, which has double-click
|
||||
properties dependent on the nature of the current property;
|
||||
\item a text editing area at the top of the display, allowing the user to edit
|
||||
the currently selected property if appropriate;
|
||||
\item `confirm' and `cancel' buttons to confirm or cancel an edit (for the property, not the
|
||||
whole sheet);
|
||||
\item an optional list that appears when the user can make a choice from several known possible values;
|
||||
\item a small Edit button to invoke `detailed editing' (perhaps showing or hiding the above value list, or
|
||||
maybe invoking a common dialog);
|
||||
\item optional OK/Close, Cancel and Help buttons for the whole dialog.
|
||||
\end{itemize}
|
||||
|
||||
The concept of `detailed editing' versus quick editing gives the user a choice
|
||||
of editing mode, so novice and expert behaviour can be catered for, or the user can just
|
||||
use what he feels comfortable with.
|
||||
|
||||
Behaviour alters depending on the kind of property being edited. For example, a boolean value has
|
||||
the following behaviour:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Double-clicking on the item toggles between TRUE and FALSE.
|
||||
\item Showing the value list enables the user to select TRUE or FALSE.
|
||||
\item The user may be able to type in the word TRUE or FALSE, or the edit control
|
||||
may be read-only to disallow this since it is error-prone.
|
||||
\end{itemize}
|
||||
|
||||
A list of strings may pop up a dialog for editing them, a simple string just allows text editing,
|
||||
double-clicking a colour property may show a colour selector, double-clicking on a filename property may
|
||||
show a file selector (in addition to being able to type in the name in the edit control), etc.
|
||||
|
||||
Note that the `type' of property, such as string or integer, does not
|
||||
necessarily determine the behaviour of the property. The programmer has
|
||||
to be able to specify different behaviours for the same type, depending
|
||||
on the meaning of the property. For example, a colour and a filename may
|
||||
both be strings, but their editing behaviour should be different. This
|
||||
is why objects of type wxPropertyValidator need to be used, to define
|
||||
behaviour for a given class of properties or even specific property
|
||||
name. Objects of class wxPropertyView contain a list of property
|
||||
registries, which enable reuse of bunches of these validators in
|
||||
different circumstances. Or a wxProperty can be explicitly set to use a
|
||||
particular validator object.
|
||||
|
||||
The following screen shot of the property classes test program shows the
|
||||
user editing a string, which is constrained to be one of three possible
|
||||
values.
|
||||
|
||||
$$\image{8cm;0cm}{prop1.eps}$$\\
|
||||
|
||||
The second picture shows the user having entered a integer that
|
||||
was outside the range specified to the validator. Note that in this picture,
|
||||
the value list is hidden because it is not used when editing an integer.
|
||||
|
||||
$$\image{8cm;0cm}{prop2.eps}$$
|
||||
|
||||
\chapter{Files}\label{files}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
The property class library comprises the following files:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item prop.h: base property class header
|
||||
\item proplist.h: wxPropertyListView and associated classes
|
||||
\item propform.h: wxPropertyListView and associated classes
|
||||
\item prop.cpp: base property class implementation
|
||||
\item proplist.cpp: wxPropertyListView and associated class implementions
|
||||
\item propform.cpp: wxPropertyFormView and associated class implementions
|
||||
\end{itemize}
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 138 B |
@@ -1,27 +0,0 @@
|
||||
\chapter{Change log}\label{changes}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
January - December 1998, Version 2.0
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Conversion to wxWindows 2.0.
|
||||
\end{itemize}
|
||||
|
||||
November 26th 1995, Version 1.1
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Added wxListOfStringsListValidator - allows adding, deleting, editing
|
||||
strings.
|
||||
\item Added wxPropertyValue::ClearList, wxPropertyValue::Delete,
|
||||
wxPropertyValue::wxPropertyValue(wxStringList *).
|
||||
\item Added wxPropertyValue::Set/GetModified, wxPropertySheet::SetAllModified.
|
||||
\item Added wxPropertyView::OnPropertyChanged support, for immediate feedback.
|
||||
\end{itemize}
|
||||
|
||||
October 1995, Version 1.0
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item First release.
|
||||
\end{itemize}
|
||||
|
Before Width: | Height: | Size: 231 B |
Before Width: | Height: | Size: 164 B |
@@ -1,47 +0,0 @@
|
||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||
\input psbox.tex
|
||||
% Remove this for processing with dvi2ps instead of dvips
|
||||
%\special{!/@scaleunit 1 def}
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{User Manual for wxWindows Property Sheet Classes Version 2.0}
|
||||
\winhelponly{\author{by Julian Smart, Anthemion Software\\$$\image{}{prop1}$$}}
|
||||
\winhelpignore{\author{Julian Smart, Anthemion Software}
|
||||
\date{December 1998}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\pagestyle{fancyplain}
|
||||
\bibliographystyle{plain}
|
||||
\setheader{{\it CONTENTS}}{}{}{}{}{{\it CONTENTS}}
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
|
||||
\chapter*{Copyright notice}
|
||||
\setheader{{\it COPYRIGHT}}{}{}{}{}{{\it COPYRIGHT}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
\begin{center}
|
||||
Copyright (c) 1998 Julian Smart, Anthemion Software
|
||||
\end{center}
|
||||
|
||||
Please see the wxWindows licence for conditions of use.
|
||||
|
||||
\input{body.tex}
|
||||
\input{classes.tex}
|
||||
\input{changes.tex}
|
||||
|
||||
%\newpage
|
||||
%
|
||||
% Note: In RTF, the \printindex must come before the
|
||||
% change of header/footer, since the \printindex inserts
|
||||
% the RTF \sect command which divides one chapter from
|
||||
% the next.
|
||||
\rtfonly{\printindex
|
||||
\addcontentsline{toc}{chapter}{Index}
|
||||
\setheader{{\it INDEX}}{}{}{}{}{{\it INDEX}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
}
|
||||
\end{document}
|
Before Width: | Height: | Size: 29 KiB |
@@ -1,539 +0,0 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: prop1.eps
|
||||
%%Creator: XV Version 2.20 Rev: 4/24/92 - by John Bradley
|
||||
%%BoundingBox: 167 292 445 500
|
||||
%%Pages: 1
|
||||
%%DocumentFonts:
|
||||
%%EndComments
|
||||
%%EndProlog
|
||||
|
||||
%%Page: 1 1
|
||||
|
||||
% remember original state
|
||||
/origstate save def
|
||||
|
||||
% build a temporary dictionary
|
||||
20 dict begin
|
||||
|
||||
% lower left corner
|
||||
167 292 translate
|
||||
|
||||
% size of image (on paper, in 1/72inch coords)
|
||||
278 208 scale
|
||||
|
||||
% define 'colorimage' if it isn't defined
|
||||
% ('colortogray' and 'mergeprocs' come from xwd2ps
|
||||
% via xgrab)
|
||||
/colorimage where % do we know about 'colorimage'?
|
||||
{ pop } % yes: pop off the 'dict' returned
|
||||
{ % no: define one
|
||||
/colortogray { % define an RGB->I function
|
||||
/rgbdata exch store % call input 'rgbdata'
|
||||
rgbdata length 3 idiv
|
||||
/npixls exch store
|
||||
/rgbindx 0 store
|
||||
/grays npixls string store % str to hold the result
|
||||
0 1 npixls 1 sub {
|
||||
grays exch
|
||||
rgbdata rgbindx get 20 mul % Red
|
||||
rgbdata rgbindx 1 add get 32 mul % Green
|
||||
rgbdata rgbindx 2 add get 12 mul % Blue
|
||||
add add 64 idiv % I = .5G + .31R + .18B
|
||||
put
|
||||
/rgbindx rgbindx 3 add store
|
||||
} for
|
||||
grays
|
||||
} bind def
|
||||
|
||||
% Utility procedure for colorimage operator.
|
||||
% This procedure takes two procedures off the
|
||||
% stack and merges them into a single procedure.
|
||||
|
||||
/mergeprocs { % def
|
||||
dup length
|
||||
3 -1 roll
|
||||
dup
|
||||
length
|
||||
dup
|
||||
5 1 roll
|
||||
3 -1 roll
|
||||
add
|
||||
array cvx
|
||||
dup
|
||||
3 -1 roll
|
||||
0 exch
|
||||
putinterval
|
||||
dup
|
||||
4 2 roll
|
||||
putinterval
|
||||
} bind def
|
||||
|
||||
/colorimage { % def
|
||||
pop pop % remove 'false 3' operands
|
||||
{colortogray} mergeprocs
|
||||
image
|
||||
} bind def
|
||||
} ifelse % end of 'false' case
|
||||
|
||||
|
||||
|
||||
% define the colormap
|
||||
/cmap 42 string def
|
||||
|
||||
|
||||
% load up the colormap
|
||||
currentfile cmap readhexstring
|
||||
000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00
|
||||
ffff00 0000ff 00ffff ffffff
|
||||
pop pop % lose return values from readhexstring
|
||||
|
||||
|
||||
% rlecmapimage expects to have 'w h bits matrix' on stack
|
||||
/rlecmapimage {
|
||||
/buffer 1 string def
|
||||
/rgbval 3 string def
|
||||
/block 384 string def
|
||||
|
||||
% proc to read a block from file, and return RGB data
|
||||
{ currentfile buffer readhexstring pop
|
||||
/bcount exch 0 get store
|
||||
bcount 128 ge
|
||||
{ % it's a non-run block
|
||||
0 1 bcount 128 sub
|
||||
{ currentfile buffer readhexstring pop pop
|
||||
|
||||
% look up value in color map
|
||||
/rgbval cmap buffer 0 get 3 mul 3 getinterval store
|
||||
|
||||
% and put it in position i*3 in block
|
||||
block exch 3 mul rgbval putinterval
|
||||
} for
|
||||
block 0 bcount 127 sub 3 mul getinterval
|
||||
}
|
||||
|
||||
{ % else it's a run block
|
||||
currentfile buffer readhexstring pop pop
|
||||
|
||||
% look up value in colormap
|
||||
/rgbval cmap buffer 0 get 3 mul 3 getinterval store
|
||||
|
||||
0 1 bcount { block exch 3 mul rgbval putinterval } for
|
||||
|
||||
block 0 bcount 1 add 3 mul getinterval
|
||||
} ifelse
|
||||
} % end of proc
|
||||
false 3 colorimage
|
||||
} bind def
|
||||
|
||||
|
||||
278 208 8 % dimensions of data
|
||||
[278 0 0 -208 0 208] % mapping matrix
|
||||
rlecmapimage
|
||||
|
||||
7f067f0614060000
|
||||
81060d7f0d7f0d110d810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d068106047f047f040c040106810700
|
||||
82060d068106048204060d820d060783070d0702010203098102047f047a040106810700
|
||||
|
||||
82060d068106048704060b060001020781070283020702098109028102047f0446040e0d
|
||||
81000d0d0d81000481040d0d0d81000481040682060700
|
||||
82060d0681060482040806810600820002078507020902070201028109047f044604810d
|
||||
060b068307000d060b068207000482040d060b068207000481040682060700
|
||||
82060d0681060481040685060800040307820702098409020702098109040104050d2d04
|
||||
030d0204010d1a04050d6604810d060b068307000d06810600070001068207000482040d
|
||||
060b068207000481040682060700
|
||||
82060d068106048704060b0604000a0789070209020702070209040104010d0204010d1d
|
||||
04010d0b04010d0104010d0104010d1204010d0704010d1004010d5504810d060b068307
|
||||
000d06810600070001068207000482040d06010601000306010001068207000481040682
|
||||
060700
|
||||
82060d068106048204070681060001000107010286070209020702040104010d0204010d
|
||||
1d04010d0b04010d0504010d1204010d0704010d1004010d5504810d060b068307000d06
|
||||
820600060506810006830607000482040d06020601000106010002068207000481040682
|
||||
060700
|
||||
82060d0681060485040d0607060d010d8407020002090109820200040104010d0204010d
|
||||
81040d010d0104030d0104040d0204030d0104020d81040d010d81040d820d040d810d04
|
||||
0304010d0504040d0204030d0204030d0104020d0604010d0404030d0204020d0104020d
|
||||
5404810d060b068307000d06820600060506810006830607000482040d06030603000306
|
||||
8207000481040682060700
|
||||
82060d068106048104070507010006020204050d0104010d0104010d0104010d81040d81
|
||||
0d0481040d820d040d810d0481040d820d040d810d0481040d810d0481040d820d040d81
|
||||
0d040404030d0204020d81040d820d040d810d0481040d820d040d810d0481040d820d04
|
||||
0d810d040604010d0304010d0104010d81040d820d040d820d040d810d045404810d060b
|
||||
068307000d06820600060506810006830607000482040d06040601000406820700048104
|
||||
0682060700
|
||||
82060d068106048104050505010006030204010d0504010d0104010d0104010d81040d81
|
||||
0d0481040d820d040d040d81040d810d0481040d810d0481040d820d040d810d04070401
|
||||
0d0104010d0104010d81040d040d81040d040d81040d810d040604010d0304050d010401
|
||||
0d0204010d5504810d060b068307000d06820600060506810006830607000482040d0603
|
||||
06030003068207000481040682060700
|
||||
82060d0681060481040c010c8205080c830c05030a020a81030a810a040104010d050401
|
||||
0d0104010d0104010d81040d810d0481040d820d040d810d040304010d0104010d010401
|
||||
0d81040d810d040704010d0104010d0104010d81040d810d040304010d0404010d070401
|
||||
0d0304010d0604010d0104010d5504810d060b068307000d068206000605068100068306
|
||||
07000482040d06020601000106010002068207000481040682060700
|
||||
82060d068106048c040c05070507050c05030a030a840a03000a040104010d0504010d01
|
||||
04010d0104010d81040d810d0481040d820d040d810d0481040d820d040d810d0481040d
|
||||
810d040104020d0504010d0104010d0104010d0104010d81040d810d0481040d820d040d
|
||||
810d0481040d820d040d810d040604010d0304010d0104010d81040d820d040d820d040d
|
||||
810d045404810d060106050003068307000d06820600060506810006830607000482040d
|
||||
06010601000306010001068207000481040682060700
|
||||
82060d0681060482040c08020886070c05030a030a010a82030a040104010d0504010d02
|
||||
04030d0104040d0204030d0104010d0204010d0104010d0704030d0204010d0104010d01
|
||||
04030d0204030d0204010d0604010d0404030d0204020d0204010d5404810d0601060500
|
||||
03068307000d06810600070001068207000482040d060b068207000481040682060700
|
||||
82060d0681060482040c080208010c8205030a810a0384030a030a041404010d1404010d
|
||||
7f041804810d060b068307000d060b068207000482040d060b0682070004810406820607
|
||||
00
|
||||
82060d0681060482040c080308850c05030a030a010a82000a041404010d1204020d7f04
|
||||
1904810d070c0782000d070c0781000482040d070c0781000481040682060700
|
||||
82060d0681060483040c05080208850c05030a030a810a0382030a047f0446041f000104
|
||||
0f0001040106810700
|
||||
82060d0681060481040c050c8205030a050a7f047b040106810700
|
||||
82060d068106047f047f040c040106810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d0637067f073907810d061c06810700
|
||||
82060d06030616000306160001068107007f00360082060d0681060015000406810700
|
||||
82060d06020681000d140d820700068206000d140d8507000607000d7f0d350d84060d06
|
||||
000d140d820700060206810700
|
||||
82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
|
||||
84060d06000d130d01078100060206810700
|
||||
82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
|
||||
84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
|
||||
84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d0603068100060606810006030601078100068306000d0612060107
|
||||
84000607000d820d000d7f0d320d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06030683000600060306810006040601078100068306000d061206
|
||||
010785000607000d0081000d7f0d320d84060d06000d810d061106010781000602068107
|
||||
00
|
||||
82060d06020682000d06040683000600060106810006050601078100068306000d060b06
|
||||
8100060406010785000607000d000100810d0081000d820d000d810d0081000d810d0002
|
||||
007f0d220d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06050685000600060006060601078100068306000d060a06830006
|
||||
00060306010785000607000d0081000d810d0082000d000100810d0082000d0081000d81
|
||||
0d0081000d7f0d200d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d0606068300060006070601078100068306000d0609068300060006
|
||||
0406010785000607000d0081000d810d0082000d000100810d0082000d0081000d810d00
|
||||
81000d7f0d200d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d0607068300060006060601078100068306000d0604068100060106
|
||||
83000600060506010785000607000d0081000d010d0200810d000100010d0100010d0100
|
||||
7f0d210d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06060685000600060006050601078100068306000d060306870006
|
||||
0006000600060606010785000607000d0081000d010d0200810d000100010d0100010d01
|
||||
007f0d210d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06050681000601068300060006040601078100068306000d060406
|
||||
850006000600060706010784000607000d810d0081000d810d0081000d010d0100020d03
|
||||
007f0d220d84060d06000d810d0603060100810600820006008100060406010781000602
|
||||
06810700
|
||||
82060d06020682000d06040681000603068300060006030601078100068306000d060506
|
||||
83000600060806010784000607000d7f0d350d84060d06000d810d060306010081060082
|
||||
000600810006040601078100060206810700
|
||||
82060d06020682000d060306010005060100040601078100068306000d06060681000609
|
||||
06010784000607000d7f0d350d84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
|
||||
84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d06120601078100068306000d061206010784000607000d7f0d350d
|
||||
84060d06000d810d06110601078100060206810700
|
||||
82060d06020682000d0714078100068306000d07140784000607000d7f0d350d85060d06
|
||||
000d0714078100060206810700
|
||||
82060d06020682000d0714078100068306000d07140784000607000d7f0d350d84060d06
|
||||
000715078100060206810700
|
||||
82060d06030616000306160001068207000d7f0d350d82060d0681060015000406810700
|
||||
|
||||
82060d0637068107067f063706810d061c06810700
|
||||
82060d0637067f0d3a0d1d06810700
|
||||
82060d0601067f077f070a07810d060106810700
|
||||
82060d0601068107007f007f00070082060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d010d0300010d0400020d03007f0d720d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
|
||||
810d0081000d7f0d700d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0004007f
|
||||
0d710d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
|
||||
7f0d740d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0082000d0081000d810d0082000d0081000d
|
||||
810d0081000d7f0d700d82060d060106810700
|
||||
82060d0601068207000d010d0300010d0100010d0100010d03007f0d720d82060d060106
|
||||
810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d060106ff0700040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040aff040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a8c040a040a040a040a040a060d060106810700
|
||||
82060d0601068307000a047f047f04050482060d060106810700
|
||||
82060d060106820700047f047f040504830a060d060106810700
|
||||
82060d0601068307000a0482040d047f047f04020482060d060106810700
|
||||
82060d0601068207000481040d810d047f047f040104830a060d060106810700
|
||||
82060d0601068307000a0d020d81040d810d0482040d0481040d810d0481040d020d7f04
|
||||
720482060d060106810700
|
||||
82060d0601068207000481040d810d0481040d820d040d010d81040d820d040d810d0481
|
||||
040d810d047f046f04830a060d060106810700
|
||||
82060d0601068407000a040d810d0481040d820d040d010d81040d820d040d810d048104
|
||||
0d810d047f04700482060d060106810700
|
||||
82060d0601068207000481040d810d040104020d81040d010d0104010d0104010d7f0470
|
||||
04830a060d060106810700
|
||||
82060d0601068407000a040d810d040104020d81040d010d0104010d0104010d7f047104
|
||||
82060d060106810700
|
||||
82060d060106820700040104010d0104010d0204010d0204030d7f047104830a060d0601
|
||||
06810700
|
||||
82060d0601068307000a047f047f04050482060d060106810700
|
||||
82060d060106820700047f047f040504830a060d060106810700
|
||||
82060d060106ff07000a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a
|
||||
040a040a040a040a040a040a040a040a040a040a040a040a040a04ff0a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a040a04
|
||||
0a040a040a040a040a040a048c0a040a040a040a040a04060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d010d81000d810d0081000d7f0d7e0d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0081000d7f0d7e0d82060d060106810700
|
||||
82060d0601068307000d000200810d000300010d0300010d0300020d03007f0d690d8206
|
||||
0d060106810700
|
||||
82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
|
||||
010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0500
|
||||
810d0004007f0d680d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
|
||||
040d01007f0d6c0d82060d060106810700
|
||||
82060d0601068207000d810d0081000d810d0081000d810d0082000d0081000d010d0100
|
||||
010d0100810d0081000d810d0081000d7f0d670d82060d060106810700
|
||||
82060d0601068207000d010d0100810d0081000d810d0082000d0081000d020d0300020d
|
||||
03007f0d690d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068207000d7f0d7f0d060d82060d060106810700
|
||||
82060d0601068107067f067f060806810d060106810700
|
||||
82060d0601067f0d7f0d0b0d0206810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d0601067f077f070b070206810700
|
||||
82060d0601068107007f007f000800810d060106810700
|
||||
82060d0601068207000d7f0d760d0e060100810d060106810700
|
||||
82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400400d82060d060a0681
|
||||
070082000d060106810700
|
||||
82060d0601068207000d010d81000d190d81000d120d81000d7b0d85000d000d000d3f0d
|
||||
82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d008400
|
||||
0d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d0200
|
||||
5f0d81000d020d0100810d0082000d0081000d810d0081000d010d02002c0d82060d0603
|
||||
06810006040681070082000d060106810700
|
||||
82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
|
||||
000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d820d
|
||||
000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d81000d5d
|
||||
0d81000d030d0100030d81000d010d81000d820d000d010d81000d2a0d82060d06020602
|
||||
00040681070082000d060106810700
|
||||
82060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d820d
|
||||
000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d000d01
|
||||
0d81000d020d81000d020d81000d040d04005e0d81000d030d81000d030d81000d010d81
|
||||
000d810d0003002b0d82060d0601060400030681070082000d060106810700
|
||||
82060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d810d00
|
||||
81000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d
|
||||
820d000d010d81000d020d81000d020d81000d040d81000d610d81000d030d81000d030d
|
||||
81000d810d0081000d820d000d2e0d82060d068106000500020681070082000d06010681
|
||||
0700
|
||||
82060d0601068207000d020d0200030d0200030d0100810d0081000d810d000200810d00
|
||||
0100810d000100080d0300810d000100810d000100010d0200020d0400020d0300020d03
|
||||
005d0d0200020d0300030d0100810d0081000d810d0002002b0d82060d060a0681070082
|
||||
000d060106810700
|
||||
82060d0601068207000d1a0d81000d7f0d590d82060d060a0681070082000d0601068107
|
||||
00
|
||||
82060d0601068207000d170d02007f0d5b0d82060d060a0681070082000d060106810700
|
||||
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d8106070c070100810d060106810700
|
||||
82060d0601068207000d7f0d760d1000810d060106810700
|
||||
82060d0601068207000d7f0d760d92060d060d060d060d060d060d060d060d000d060106
|
||||
810700
|
||||
82060d0601068207000d7f0d770d91060d060d060d060d060d060d060d06000d06010681
|
||||
0700
|
||||
82060d0601068207000d030d81000d7f0d2d0d81000d020d0300390d92060d060d060d06
|
||||
0d060d060d060d060d000d060106810700
|
||||
82060d0601068207000d7f0d320d0100030d81000d3c0d91060d060d060d060d060d060d
|
||||
060d06000d060106810700
|
||||
82060d0601068207000d010d0200040d0200010d0100810d0081000d7f0d1c0d83000d00
|
||||
0d020d81000d3b0d92060d060d060d060d060d060d060d060d000d060106810700
|
||||
82060d0601068207000d030d81000d020d81000d010d81000d810d0081000d820d000d7f
|
||||
0d1a0d81000d820d000d020d02003b0d91060d060d060d060d060d060d060d06000d0601
|
||||
06810700
|
||||
82060d0601068207000d030d81000d030d0300010d81000d010d81000d7f0d1a0d040005
|
||||
0d81000d380d92060d060d060d060d060d060d060d060d000d060106810700
|
||||
82060d0601068207000d030d81000d020d81000d010d81000d820d000d010d81000d7f0d
|
||||
1d0d81000d010d81000d010d81000d380d0e060100810d060106810700
|
||||
82060d0601068207000d010d0400010d0800810d0001007f0d1c0d0200020d02003a0d81
|
||||
060d0b0d81070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d020003
|
||||
0d0300390d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d8100
|
||||
0d010d81000d3b0d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f0d18
|
||||
0d81000d020d81000d3b0d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d7f0d
|
||||
170d81000d030d02003a0d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
|
||||
0d160d81000d070d81000d380d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d81000d7f
|
||||
0d150d81000d040d81000d010d81000d380d82060d060a0681070082000d060106810700
|
||||
|
||||
82060d0601068207000d810d000300020d0400010d0400010d04007f0d140d0400020d02
|
||||
003a0d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d030d81000d0a0d0100050d81000d7f0d5b0d82060d060a068107
|
||||
0082000d060106810700
|
||||
82060d0601068207000d110d81000d7f0d620d82060d060a0681070082000d0601068107
|
||||
00
|
||||
82060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d020001
|
||||
0d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200330d82060d060a
|
||||
0681070082000d060106810700
|
||||
82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d02
|
||||
0d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d008100
|
||||
0d820d000d820d000d010d81000d310d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d81000d03
|
||||
0d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d810d
|
||||
000300320d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81000d
|
||||
020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d000d01
|
||||
0d81000d820d000d350d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d0800
|
||||
810d0001007f0d060d0200010d0200810d000100010d0300320d82060d060a0681070082
|
||||
000d060106810700
|
||||
82060d0601068207000d040d81000d7f0d6f0d82060d060a0681070082000d0601068107
|
||||
00
|
||||
82060d0601068207000d010d02007f0d710d82060d060a0681070082000d060106810700
|
||||
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d7f0d760d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d810d0081000d060d81000d7f0d690d82060d060a068107008200
|
||||
0d060106810700
|
||||
82060d0601068207000d010d81000d0b0d81000d7f0d640d82060d060a0681070082000d
|
||||
060106810700
|
||||
82060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d000d02
|
||||
0d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d0100810d00
|
||||
81000d020d02002c0d82060d060a0681070082000d060106810700
|
||||
82060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d000d
|
||||
000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d000d
|
||||
010d81000d810d0081000d820d000d820d000d010d81000d2a0d82060d060a0681070082
|
||||
000d060106810700
|
||||
82060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d85000d00
|
||||
0d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81
|
||||
000d820d000d010d81000d810d0003002b0d82060d060a0681070082000d060106810700
|
||||
|
||||
82060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d81000d86
|
||||
0d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d8100
|
||||
0d820d000d010d81000d820d000d010d81000d820d000d2e0d82060d060a068107008200
|
||||
0d060106810700
|
||||
82060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d0002
|
||||
007f0d060d0200810d000100010d0200010d0200810d000100010d03002b0d8106070c07
|
||||
0100810d060106810700
|
||||
82060d0601068207000d240d81000d7f0d4f0d1000810d060106810700
|
||||
82060d0601068207000d230d02007f0d4f0d0e060100810d060106810700
|
||||
82060d0601068207000d7f0d760d81060d0b0d81070082000d060106810700
|
||||
82060d060106820700047f04760482060d060a0681070082000d060106810700
|
||||
82060d060106820700047f04760482060d060a0681070082000d060106810700
|
||||
82060d060106820700047f04760482060d060a0681070082000d060106810700
|
||||
82060d060106820700047f04760482060d060a0681070082000d060106810700
|
||||
82060d060106820700043404810d041304010d7f04290482060d06810600050002068107
|
||||
0082000d060106810700
|
||||
82060d060106820700041d04810d042b04810d046204810d04430482060d060106040003
|
||||
0681070082000d060106810700
|
||||
82060d060106820700040204030d0204020d0104010d81040d810d040204030d81040d03
|
||||
0d0204010d81040d810d040104020d0204020d0204010d81040d810d040204020d030401
|
||||
0d82040d046104040d0104020d81040d010d0104020d330482060d060206020004068107
|
||||
0082000d060106810700
|
||||
82060d060106820700040104810d040104810d0482040d040104810d0481040d810d0482
|
||||
040d0482040d040404810d040504010d0304810d040104810d040204810d040204010d01
|
||||
04810d0482040d040104810d0482040d0481040d810d046204810d040404810d04010481
|
||||
0d0482040d040104810d04310482060d060306810006040681070082000d060106810700
|
||||
|
||||
82060d060106820700040104810d040404810d040104810d0482040d040104810d040104
|
||||
020d0204810d040504810d040404030d0304810d040204810d040104810d0481040d030d
|
||||
0104810d040104810d046204810d040404850d040d040d0482040d040104810d04310482
|
||||
060d060a0681070082000d060106810700
|
||||
82060d060106820700040104810d040404810d040104810d0482040d040104810d040404
|
||||
810d0482040d040104810d040104810d040304810d040104810d040204810d040204810d
|
||||
040104810d0482040d040404810d040104810d046204810d040104810d0486040d040d04
|
||||
0d0482040d040104810d04310482060d060a0681070082000d060106810700
|
||||
82060d060106820700040204030d0204020d0104020d81040d010d81040d020d0304020d
|
||||
0204030d0204050d81040d030d81040d010d81040d010d0104030d0204040d6304020d03
|
||||
04830d040d040204020d330482060d060a0681070082000d060106810700
|
||||
82060d060106820700047f04760482060d060a0681070082000d060106810700
|
||||
82060d060106820700047f0476048106070c070100810d060106810700
|
||||
82060d060106820700047f0476041000810d060106810700
|
||||
82060d0601068107067f0677061000810d060106810700
|
||||
82060d0601067f0d7f0d0b0d0206810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
82060d067f067f061006810700
|
||||
8106077f077f0712070000
|
||||
7f007f001500
|
||||
|
||||
%
|
||||
% Compression made this file 6.27% of the uncompressed size.
|
||||
%
|
||||
|
||||
|
||||
showpage
|
||||
|
||||
% stop using temporary dictionary
|
||||
end
|
||||
|
||||
% restore original state
|
||||
origstate restore
|
||||
|
||||
%%Trailer
|
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 42 KiB |
@@ -1,664 +0,0 @@
|
||||
%!PS-Adobe-2.0 EPSF-2.0
|
||||
%%Title: prop2.eps
|
||||
%%Creator: XV Version 2.20 Rev: 4/24/92 - by John Bradley
|
||||
%%BoundingBox: 167 221 466 500
|
||||
%%Pages: 1
|
||||
%%DocumentFonts:
|
||||
%%EndComments
|
||||
%%EndProlog
|
||||
|
||||
%%Page: 1 1
|
||||
|
||||
% remember original state
|
||||
/origstate save def
|
||||
|
||||
% build a temporary dictionary
|
||||
20 dict begin
|
||||
|
||||
% lower left corner
|
||||
167 221 translate
|
||||
|
||||
% size of image (on paper, in 1/72inch coords)
|
||||
299 279 scale
|
||||
|
||||
% define 'colorimage' if it isn't defined
|
||||
% ('colortogray' and 'mergeprocs' come from xwd2ps
|
||||
% via xgrab)
|
||||
/colorimage where % do we know about 'colorimage'?
|
||||
{ pop } % yes: pop off the 'dict' returned
|
||||
{ % no: define one
|
||||
/colortogray { % define an RGB->I function
|
||||
/rgbdata exch store % call input 'rgbdata'
|
||||
rgbdata length 3 idiv
|
||||
/npixls exch store
|
||||
/rgbindx 0 store
|
||||
/grays npixls string store % str to hold the result
|
||||
0 1 npixls 1 sub {
|
||||
grays exch
|
||||
rgbdata rgbindx get 20 mul % Red
|
||||
rgbdata rgbindx 1 add get 32 mul % Green
|
||||
rgbdata rgbindx 2 add get 12 mul % Blue
|
||||
add add 64 idiv % I = .5G + .31R + .18B
|
||||
put
|
||||
/rgbindx rgbindx 3 add store
|
||||
} for
|
||||
grays
|
||||
} bind def
|
||||
|
||||
% Utility procedure for colorimage operator.
|
||||
% This procedure takes two procedures off the
|
||||
% stack and merges them into a single procedure.
|
||||
|
||||
/mergeprocs { % def
|
||||
dup length
|
||||
3 -1 roll
|
||||
dup
|
||||
length
|
||||
dup
|
||||
5 1 roll
|
||||
3 -1 roll
|
||||
add
|
||||
array cvx
|
||||
dup
|
||||
3 -1 roll
|
||||
0 exch
|
||||
putinterval
|
||||
dup
|
||||
4 2 roll
|
||||
putinterval
|
||||
} bind def
|
||||
|
||||
/colorimage { % def
|
||||
pop pop % remove 'false 3' operands
|
||||
{colortogray} mergeprocs
|
||||
image
|
||||
} bind def
|
||||
} ifelse % end of 'false' case
|
||||
|
||||
|
||||
|
||||
% define the colormap
|
||||
/cmap 42 string def
|
||||
|
||||
|
||||
% load up the colormap
|
||||
currentfile cmap readhexstring
|
||||
000000 bf0000 00bf00 bfbf00 0000bf 00bfbf c0c0c0 808080 ff0000 00ff00
|
||||
ffff00 0000ff 00ffff ffffff
|
||||
pop pop % lose return values from readhexstring
|
||||
|
||||
|
||||
% rlecmapimage expects to have 'w h bits matrix' on stack
|
||||
/rlecmapimage {
|
||||
/buffer 1 string def
|
||||
/rgbval 3 string def
|
||||
/block 384 string def
|
||||
|
||||
% proc to read a block from file, and return RGB data
|
||||
{ currentfile buffer readhexstring pop
|
||||
/bcount exch 0 get store
|
||||
bcount 128 ge
|
||||
{ % it's a non-run block
|
||||
0 1 bcount 128 sub
|
||||
{ currentfile buffer readhexstring pop pop
|
||||
|
||||
% look up value in color map
|
||||
/rgbval cmap buffer 0 get 3 mul 3 getinterval store
|
||||
|
||||
% and put it in position i*3 in block
|
||||
block exch 3 mul rgbval putinterval
|
||||
} for
|
||||
block 0 bcount 127 sub 3 mul getinterval
|
||||
}
|
||||
|
||||
{ % else it's a run block
|
||||
currentfile buffer readhexstring pop pop
|
||||
|
||||
% look up value in colormap
|
||||
/rgbval cmap buffer 0 get 3 mul 3 getinterval store
|
||||
|
||||
0 1 bcount { block exch 3 mul rgbval putinterval } for
|
||||
|
||||
block 0 bcount 1 add 3 mul getinterval
|
||||
} ifelse
|
||||
} % end of proc
|
||||
false 3 colorimage
|
||||
} bind def
|
||||
|
||||
|
||||
299 279 8 % dimensions of data
|
||||
[299 0 0 -279 0 279] % mapping matrix
|
||||
rlecmapimage
|
||||
|
||||
7f0003007f072607
|
||||
07077f067f0618068100070707
|
||||
070781060d7f0d7f0d150d820700070707
|
||||
070782060d067f067f061406820700070707
|
||||
070782060d067f067f061406820700070707
|
||||
070782060d068106077f077f0710070106820700070707
|
||||
070782060d068106078207060d820d060783070d0702010203098102077f077e07010682
|
||||
0700070707
|
||||
070782060d068106078707060b060001020781070283020702098109028102077f074a07
|
||||
0e0d81000d0d0d81000781070d0d0d81000781070683060700070707
|
||||
070782060d0681060782070806810600820002078507020902070201028109077f074a07
|
||||
810d060b068307000d060b068207000782070d060b068207000781070683060700070707
|
||||
|
||||
070782060d06810607810706850608000403078207020984090207020981090701070506
|
||||
2d070306020701061a0705066a07810d060b068307000d06810600070001068207000782
|
||||
070d060b068207000781070683060700070707
|
||||
070782060d068106078707060b0604000a07890702090207020702090701070106020701
|
||||
061d0701060b07010601070106010701061207010607070106100701065907810d060b06
|
||||
8307000d06810600070001068207000782070d0601060100030601000106820700078107
|
||||
0683060700070707
|
||||
070782060d0681060701070106020001070102860702090207020701070106020701061d
|
||||
0701060b070106050701061207010607070106100701065907810d060b068307000d0682
|
||||
0600060506810006830607000782070d0602060100010601000206820700078107068306
|
||||
0700070707
|
||||
070782060d0681060785070d0607060d010d840702000209010982020007010701060207
|
||||
010681070601060107030601070406020703060107020681070601068107068206070681
|
||||
060703070106050704060207030602070306010702060607010604070306020702060107
|
||||
02065807810d060b068307000d06820600060506810006830607000782070d0603060300
|
||||
03068207000781070683060700070707
|
||||
070782060d06810607070701000602020705060107010601070106010701068107068106
|
||||
078107068206070681060781070682060706810607810706810607810706820607068106
|
||||
070407030602070206810706820607068106078107068206070681060781070682060706
|
||||
81060706070106030701060107010681070682060706820607068106075807810d060b06
|
||||
8307000d06820600060506810006830607000782070d0604060100040682070007810706
|
||||
83060700070707
|
||||
070782060d06810607810705050501000603020701060507010601070106010701068107
|
||||
068106078107068206070604068107068106078107068106078107068206070681060707
|
||||
070106010701060107010681070604068107060406810706810607060701060307050601
|
||||
070106020701065907810d060b068307000d06820600060506810006830607000782070d
|
||||
060306030003068207000781070683060700070707
|
||||
070782060d0681060781070c010c8205080c830c05030a020a81030a810a070107010605
|
||||
070106010701060107010681070681060781070682060706810607030701060107010601
|
||||
070106810706810607070701060107010601070106810706810607030701060407010607
|
||||
0701060307010606070106010701065907810d060b068307000d06820600060506810006
|
||||
830607000782070d06020601000106010002068207000781070683060700070707
|
||||
070782060d068106078c070c05070507050c05030a030a840a03000a0701070106050701
|
||||
060107010601070106810706810607810706820607068106078107068206070681060781
|
||||
070681060701070206050701060107010601070106010701068107068106078107068206
|
||||
070681060781070682060706810607060701060307010601070106810706820607068206
|
||||
07068106075807810d060106050003068307000d06820600060506810006830607000782
|
||||
070d06010601000306010001068207000781070683060700070707
|
||||
070782060d0681060782070c08020886070c05030a030a010a82030a0701070106050701
|
||||
060207030601070406020703060107010602070106010701060707030602070106010701
|
||||
06010703060207030602070106060701060407030602070206020701065807810d060106
|
||||
050003068307000d06810600070001068207000782070d060b0682070007810706830607
|
||||
00070707
|
||||
070782060d0681060782070c080208010c8205030a810a0384030a030a07140701061407
|
||||
01067f071c07810d060b068307000d060b068207000782070d060b068207000781070683
|
||||
060700070707
|
||||
070782060d0681060782070c080308850c05030a030a010a82000a071407010612070206
|
||||
7f071d07810d070c0782000d070c0781000782070d070c07810007810706830607000707
|
||||
07
|
||||
070782060d0681060783070c05080208850c05030a030a810a0382030a077f074a071f00
|
||||
01070f0001070106820700070707
|
||||
070782060d0681060781070c050c8205030a050a7f077f070106820700070707
|
||||
070782060d068106077f077f0710070106820700070707
|
||||
070782060d067f067f061406820700070707
|
||||
070782060d067f067f061406820700070707
|
||||
070782060d0637067f073d07810d061c06820700070707
|
||||
070782060d06030616000306160001068107007f003a0082060d06810600150004068207
|
||||
00070707
|
||||
070782060d06020681000d140d820700068206000d140d8507000607000d7f0d390d8406
|
||||
0d06000d140d820700060206820700070707
|
||||
070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
|
||||
390d84060d06000d130d01078100060206820700070707
|
||||
070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
|
||||
390d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
|
||||
390d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0603068100060606810006030601078100068306000d061206
|
||||
010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d810d
|
||||
06110601078100060206820700070707
|
||||
070782060d06020682000d060306020003060200040601078100068306000d060b068100
|
||||
060406010784000607000d810d000100010d0100810d0082000d0082000d0082000d0082
|
||||
000d0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d060406020001060200050601078100068306000d060a060200
|
||||
0406010785000607000d000200010d0100810d0082000d0082000d0082000d0082000d00
|
||||
81000d7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0605060500060601078100068306000d060906030004060107
|
||||
87000607000d000d0081000d810d0082000d0082000d0082000d0082000d0082000d0081
|
||||
000d7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0606060300070601078100068306000d060806030005060107
|
||||
84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
|
||||
7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0606060300070601078100068306000d060306010001060300
|
||||
0606010784000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d
|
||||
0081000d7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0605060500060601078100068306000d060306060007060107
|
||||
84000607000d010d0100010d0100810d0082000d0082000d0082000d0082000d0081000d
|
||||
7f0d210d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d060406020001060200050601078100068306000d0604060400
|
||||
0806010784000607000d010d0100020d0200020d0200020d02007f0d230d84060d06000d
|
||||
810d060306010781060782070607810706040601078100060206820700070707
|
||||
070782060d06020682000d060306020003060200040601078100068306000d0605060200
|
||||
0906010784000607000d7f0d390d84060d06000d810d0603060107810607820706078107
|
||||
06040601078100060206820700070707
|
||||
070782060d06020682000d060306010005060100040601078100068306000d0606068100
|
||||
060906010784000607000d7f0d390d84060d06000d810d06110601078100060206820700
|
||||
070707
|
||||
070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
|
||||
390d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d06120601078100068306000d061206010784000607000d7f0d
|
||||
390d84060d06000d810d06110601078100060206820700070707
|
||||
070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8506
|
||||
0d06000d0714078100060206820700070707
|
||||
070782060d06020682000d0714078100068306000d07140784000607000d7f0d390d8406
|
||||
0d06000715078100060206820700070707
|
||||
070782060d06030616000306160001068207000d7f0d390d82060d068106001500040682
|
||||
0700070707
|
||||
070782060d0637068107067f063b06810d061c06820700070707
|
||||
070782060d0637067f0d3e0d1d06820700070707
|
||||
070782060d0601067f077f070e07810d060106820700070707
|
||||
070782060d0601068107007f007f000b0082060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d040d0100120d01007f0d150d0200550d82060d0601068207
|
||||
00070707
|
||||
070782060d0601068207000d030d81000d140d81000d7f0d130d81000d010d81000d530d
|
||||
82060d060106820700070707
|
||||
070782060d0601068207000d020d0300010d0100810d0081000d010d0200030d0100820d
|
||||
000d7f0d130d81000d010d81000d530d82060d060106820700070707
|
||||
070782060d0601068207000d030d81000d030d0100030d81000d010d81000d820d000d81
|
||||
0d0081000d7f0d130d81000d010d81000d530d82060d060106820700070707
|
||||
070782060d0601068207000d030d81000d030d81000d030d0400010d81000d010d81000d
|
||||
7f0d130d81000d010d81000d530d82060d060106820700070707
|
||||
070782060d0601068207000d030d81000d030d81000d030d81000d040d81000d010d8100
|
||||
0d7f0d130d81000d010d81000d530d82060d060106820700070707
|
||||
070782060d0601068207000d020d0300010d0300030d0300020d04007f0d140d0200550d
|
||||
82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d1c0d0100120d01000e0d81000d6b0d0400090d0100480d82
|
||||
060d060106820700070707
|
||||
070782060d0601068207000d010d81000d190d81000d120d81000d7c0d81000d820d000d
|
||||
090d81000d470d82060d060106820700070707
|
||||
070782060d0601068207000d810d000300030d0200010d0100010d0100020d0100810d00
|
||||
84000d000d0081000d090d0300010d82000d0081000d020d0200020d0200040d0300020d
|
||||
02005e0d83000d000d020d0200040d81000d030d0300020d0200390d82060d0601068207
|
||||
00070707
|
||||
070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
|
||||
820d000d810d0081000d810d0081000d820d000d070d81000d010d81000d810d0081000d
|
||||
820d000d820d000d010d81000d020d81000d020d81000d010d81000d820d000d010d8100
|
||||
0d5c0d0200020d81000d010d81000d020d81000d020d81000d040d81000d010d81000d37
|
||||
0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
|
||||
820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81000d820d00
|
||||
0d010d81000d020d81000d020d81000d040d04005d0d83000d000d020d0300030d81000d
|
||||
030d0200020d0400380d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d010d81000d820d000d010d81000d820d000d81
|
||||
0d0081000d820d000d010d81000d820d000d010d81000d070d81000d040d81000d010d81
|
||||
000d820d000d010d81000d020d81000d020d81000d040d81000d600d81000d030d81000d
|
||||
010d81000d020d81000d060d81000d820d000d3b0d82060d060106820700070707
|
||||
070782060d0601068207000d020d0200030d0200030d0100810d0081000d810d00020081
|
||||
0d000100810d000100080d0300810d000100810d000100010d0200020d0400020d030002
|
||||
0d03005c0d0200030d0500810d000300010d0300030d0300380d82060d06010682070007
|
||||
0707
|
||||
070782060d0601068207000d1a0d81000d7f0d6d0d82060d060106820700070707
|
||||
070782060d0601068207000d170d02007f0d6f0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700040304810d047f043204010d4f0482060d0601068207000707
|
||||
07
|
||||
070782060d060106820700047f043904810d044e0482060d060106820700070707
|
||||
070782060d060106820700040104020d0404020d0104010d81040d810d047f042404810d
|
||||
044e0482060d060106820700070707
|
||||
070782060d060106820700040304810d040204810d040104810d0481040d810d0482040d
|
||||
047f041a04040d0304810d044e0482060d060106820700070707
|
||||
070782060d060106820700040304810d040304030d0104810d040104810d047f04230481
|
||||
0d044e0482060d060106820700070707
|
||||
070782060d060106820700040304810d040204810d040104810d0482040d040104810d04
|
||||
7f042304810d044e0482060d060106820700070707
|
||||
070782060d060106820700040104040d0104080d81040d010d7f042104040d4d0482060d
|
||||
060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d060106820700047f047f040a0482060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d810d0081000d060d81000d030d0100040d01007f0d170d02
|
||||
00030d03004d0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d0d0d81000d040d81000d7f0d150d81000d010d
|
||||
81000d010d81000d4f0d82060d060106820700070707
|
||||
070782060d0601068207000d010d82000d0081000d010d0200050d81000d040d81000d7f
|
||||
0d180d81000d020d81000d4f0d82060d060106820700070707
|
||||
070782060d0601068207000d010d0100010d81000d020d81000d040d81000d040d81000d
|
||||
7f0d170d81000d030d02004e0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
|
||||
0d7f0d160d81000d070d81000d4c0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d010d81000d020d81000d040d81000d040d8100
|
||||
0d7f0d150d81000d040d81000d010d81000d4c0d82060d060106820700070707
|
||||
070782060d0601068207000d810d000300020d0400010d0400010d04007f0d140d040002
|
||||
0d02004e0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d030d81000d0a0d0100050d81000d7f0d6f0d82060d060106
|
||||
820700070707
|
||||
070782060d0601068207000d110d81000d7f0d760d82060d060106820700070707
|
||||
070782060d0601068207000d010d0300010d0100010d0100030d81000d020d0200040d02
|
||||
00010d0100810d0081000d7f0d070d0200010d0100810d0081000d020d0200470d82060d
|
||||
060106820700070707
|
||||
070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
|
||||
0d020d81000d010d81000d810d0081000d820d000d7f0d050d81000d010d81000d810d00
|
||||
81000d820d000d820d000d010d81000d450d82060d060106820700070707
|
||||
070782060d0601068207000d040d81000d010d81000d010d81000d020d81000d040d8100
|
||||
0d030d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d010d81000d
|
||||
810d000300460d82060d060106820700070707
|
||||
070782060d0601068207000d040d81000d010d81000d810d0081000d020d81000d040d81
|
||||
000d020d81000d010d81000d820d000d010d81000d7f0d050d81000d010d81000d820d00
|
||||
0d010d81000d820d000d490d82060d060106820700070707
|
||||
070782060d0601068207000d040d81000d020d0100810d0082000d000300010d0400010d
|
||||
0800810d0001007f0d060d0200010d0200810d000100010d0300460d82060d0601068207
|
||||
00070707
|
||||
070782060d0601068207000d040d81000d7f0d7f0d030d82060d060106820700070707
|
||||
070782060d0601068207000d010d02007f0d7f0d050d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d810d0081000d060d81000d7f0d7d0d82060d060106820700
|
||||
070707
|
||||
070782060d0601068207000d010d81000d0b0d81000d7f0d780d82060d06010682070007
|
||||
0707
|
||||
070782060d0601068207000d010d82000d0081000d010d0200020d0400010d0200820d00
|
||||
0d020d0200010d0100810d0081000d7f0d050d0100810d0081000d020d0200010d010081
|
||||
0d0081000d020d0200400d82060d060106820700070707
|
||||
070782060d0601068207000d010d0100010d81000d020d81000d020d81000d040d85000d
|
||||
000d000d820d000d010d81000d810d0081000d820d000d7f0d050d0100010d81000d820d
|
||||
000d010d81000d810d0081000d820d000d820d000d010d81000d3e0d82060d0601068207
|
||||
00070707
|
||||
070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d040d8500
|
||||
0d000d000d010d0300010d81000d010d81000d7f0d050d81000d010d81000d820d000d01
|
||||
0d81000d820d000d010d81000d810d0003003f0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d010d81000d020d81000d020d81000d010d8100
|
||||
0d860d000d000d000d820d000d010d81000d820d000d010d81000d7f0d050d81000d010d
|
||||
81000d820d000d010d81000d820d000d010d81000d820d000d420d82060d060106820700
|
||||
070707
|
||||
070782060d0601068207000d810d000300020d0400020d0200010d0600810d000400810d
|
||||
0002007f0d060d0200810d000100010d0200010d0200810d000100010d03003f0d82060d
|
||||
060106820700070707
|
||||
070782060d0601068207000d240d81000d7f0d630d82060d060106820700070707
|
||||
070782060d0601068207000d230d02007f0d630d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d340d81000d130d01007f0d3d0d82060d0601068207000707
|
||||
07
|
||||
070782060d0601068207000d1d0d81000d2b0d81000d620d81000d570d82060d06010682
|
||||
0700070707
|
||||
070782060d0601068207000d020d0300020d0200010d0100810d0081000d020d0300810d
|
||||
000300020d0100810d0081000d010d0200020d0200020d0100810d0081000d020d020003
|
||||
0d0100820d000d610d0400010d0200810d000100010d0200470d82060d06010682070007
|
||||
0707
|
||||
070782060d0601068207000d010d81000d010d81000d820d000d010d81000d810d008100
|
||||
0d820d000d820d000d040d81000d050d0100030d81000d010d81000d020d81000d020d01
|
||||
00010d81000d820d000d010d81000d820d000d810d0081000d620d81000d040d81000d01
|
||||
0d81000d820d000d010d81000d450d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
|
||||
010d0200020d81000d050d81000d040d0300030d81000d020d81000d010d81000d810d00
|
||||
0300010d81000d010d81000d620d81000d040d85000d000d000d820d000d010d81000d45
|
||||
0d82060d060106820700070707
|
||||
070782060d0601068207000d010d81000d040d81000d010d81000d820d000d010d81000d
|
||||
040d81000d820d000d010d81000d010d81000d030d81000d010d81000d020d81000d020d
|
||||
81000d010d81000d820d000d040d81000d010d81000d620d81000d010d81000d860d000d
|
||||
000d000d820d000d010d81000d450d82060d060106820700070707
|
||||
070782060d0601068207000d020d0300020d0200010d0200810d000100810d000200030d
|
||||
0200020d0300020d0500810d000300810d000100810d000100010d0300020d0400630d02
|
||||
00030d83000d000d020d0200470d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
070782060d0601068207000d7f0d7f0d0a0d82060d060106820700070707
|
||||
7f077f0726078100070107
|
||||
03077f0d7f0d210d820700070107
|
||||
0307820d06077f077f071c07840d060700070107
|
||||
0307830d0607047f047f041c0483060700070107
|
||||
0307830d0607047f047f041c0483060700070107
|
||||
0307830d0607047f047f040a040e0d8100048404060700070107
|
||||
0307830d0607047f047f040a04810d060b06820700048404060700070107
|
||||
0307830d06070481040d040d3a04010d7f044604810d060b068207000484040607000701
|
||||
07
|
||||
0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0601060107
|
||||
030601070106820700048404060700070107
|
||||
0307830d06070481040d810d040104010d1d04010d1904010d7f044604810d0602060107
|
||||
01060107010d83060700048404060700070107
|
||||
0307830d06070481040d810d040104010d81040d010d0104030d0104040d0204030d0104
|
||||
020d81040d010d81040d820d040d810d040304010d0104010d0104030d0104010d81040d
|
||||
810d0481040d810d0481040d020d0604030d0104020d81040d010d0104030d0104020d7f
|
||||
041a04810d0603060307010d0106820700048404060700070107
|
||||
0307830d06070481040d040d0104010d0104010d0104010d81040d810d0481040d820d04
|
||||
0d810d0481040d820d040d810d0481040d810d0481040d820d040d810d040304010d0104
|
||||
010d0404010d81040d820d040d810d0481040d820d040d810d0481040d810d040304010d
|
||||
0104010d81040d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04
|
||||
810d0604060107010d0206820700048404060700070107
|
||||
0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
|
||||
040d040d81040d810d0481040d810d0481040d820d040d810d040404030d0204040d8104
|
||||
0d820d040d810d0481040d820d040d040d0404050d81040d810d0481040d810d0481040d
|
||||
810d0481040d820d040d810d047f041a04810d0603060307030682070004840406070007
|
||||
0107
|
||||
0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
|
||||
040d810d040304010d0104010d0104010d81040d810d040404030d0104010d0104010d81
|
||||
040d820d040d810d0481040d820d040d810d040704010d0404010d0104010d0104010d01
|
||||
04010d81040d810d047f041a04810d0602060107010d0107020682070004840406070007
|
||||
0107
|
||||
0307830d06070481040d810d040404010d0104010d0104010d81040d810d0481040d820d
|
||||
040d810d0481040d820d040d810d0481040d810d040104020d0704010d0204010d010401
|
||||
0d81040d820d040d820d040d010d81040d810d0481040d810d040304010d0104010d8104
|
||||
0d810d0481040d810d0481040d810d0481040d820d040d810d047f041a04810d06010601
|
||||
07010d010601070106820700048404060700070107
|
||||
0307830d06070481040d810d040404010d0204030d0104040d0204030d0104010d020401
|
||||
0d0104010d0804010d0304040d81040d810d0481040d030d0104030d0604030d0104010d
|
||||
0104010d0204030d0104010d7f041b04810d060206010d0306010d830607000484040607
|
||||
00070107
|
||||
0307830d0607041304010d1404010d7f045d04810d060b06820700048404060700070107
|
||||
|
||||
0307830d0607041304010d1204020d7f045e04810d070c078100048404060700070107
|
||||
0307830d0607047f047f040a040f00010483060700070107
|
||||
0307830d0607047f047f041c0483060700070107
|
||||
0307830d0607047f047f041c0483060700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d06170602037f067f060406820700070107
|
||||
0307810d06160681030a830a0600067f067f060206820700070107
|
||||
0307810d06150681030a020a83060007067f067f0683060700070107
|
||||
0307810d06150681030a030a8100078107067f067f06820700070107
|
||||
0307810d06140681030a040a820600078107067f067e06820700070107
|
||||
0307810d06140681030a050a8100078107067f067e06820700070107
|
||||
0307810d06130681030a060a820600078107067f067d06820700070107
|
||||
0307810d06130681030a070a8100078107067f067d06820700070107
|
||||
0307810d06120681030a080a820600078107067f067c06820700070107
|
||||
0307810d06120681030a010a810600010081060a010a8100078107067f067c0682070007
|
||||
0107
|
||||
0307810d06110681030a020a0400020a820600078107067f067b06820700070107
|
||||
0307810d06110681030a020a0400030a8100078107061606810006030681000605068100
|
||||
0627068100061b0681000620068100062c06040001060200140681000602060400010602
|
||||
0001068100060a06820700070107
|
||||
0307810d06100681030a030a0400030a8206000781070615068100060306810006050681
|
||||
000621068100060306810006230681000618068100060906810006200681000603068100
|
||||
060106810006120681000602068100060306810006010683000600060a06820700070107
|
||||
|
||||
0307810d06100681030a030a0400040a8100078107061606810006010681000606068100
|
||||
062106810006030681000623068100061806810006090681000620068100060306810006
|
||||
0106810006120681000602068100060306810006010683000600060a06820700070107
|
||||
0307810d060f0681030a040a0400040a8206000781070615068100060106810006010602
|
||||
000106830006000601068100068106000100040602008106008100068206000601068100
|
||||
068106008100068106008100060206030002060200050602000106820006008100060306
|
||||
840006000600810006810600810006810600010002060300010602000106010003060300
|
||||
020602000106010082060006820600068206000681060001000206020001068200060081
|
||||
000606060300010681000601068100060306020001068200060081000601060300030603
|
||||
000106810006010683000600060a06820700070107
|
||||
0307810d060f0681030a040a810300010081030a040a8100078107061506810006010681
|
||||
000604068500060006000601068300060006010681000602068100068206000684060006
|
||||
000601068300060006840600060006030681000601068300060006010681000606068200
|
||||
060081000682060006020682000600810006840600060006820600060106830006000601
|
||||
068300060006010683000600060306810006010683000600060106830006000682060006
|
||||
820600068406000600060106830006000601068200060081000682060006050681000601
|
||||
068300060006010681000606068200060081000684060006000601068100060206810006
|
||||
01068300060006010683000600060a06820700070107
|
||||
0307810d060e0681030a050a810600010081060a040a8206000781070615068300060006
|
||||
020603008406000600060106820006000300030681000682060006840600060006010681
|
||||
000682060006010681000603068100060106820006000300040603008206000601068100
|
||||
060206830006000601068300060006810600030082060006010682000600030082060006
|
||||
030681000601068200060003008206000689060006000600060006000300810600030082
|
||||
060006010681000602060100040683000600060106810006030603008206000601068300
|
||||
060006010681000606068300060006010683000600060a06820700070107
|
||||
0307810d060e0681030a060a0200070a8100078107061506830006000601068100060106
|
||||
850006000600060106830006000606068100068206000684060006000601068100060106
|
||||
810006820600060306810006010683000600060606810006010683000600060106810006
|
||||
020683000600060106830006000682060006030681000601068300060006030681000603
|
||||
068100060106830006000603068100068a06000600060006000600060306810006030681
|
||||
000601068100060906830006000601068100060206810006010683000600060106830006
|
||||
0006010681000606068300060006010683000600060a06820700070107
|
||||
0307810d060d0681030a070a830300030a060a8206000781070615068100060206810006
|
||||
010685000600060006810600830006000601068100060206810006820600068406000600
|
||||
068106008300060006840600060006030681000601068300060006010681000602068100
|
||||
060106830006000601068100060206830006000601068300060006820600060106830006
|
||||
000601068300060006010683000600060306810006010683000600060106830006000601
|
||||
068100060106810006820600060106830006000601068300060006010681000605068100
|
||||
060106830006000601068100060206810006010683000600060106830006000601068100
|
||||
0602068100060106830006000601068100060c06820700070107
|
||||
0307810d060d0681030a070a830600060a070a8100078107061506810006030603008206
|
||||
000681060083000600068106000100040681000682060006820600068106008300060006
|
||||
810600810006010681000602060300020602000506030082060006010681000602068300
|
||||
060006010681000682060006810600010002060300010602000106810006030603000206
|
||||
020002068100068206000601068100060106020002060200010681000601068100060606
|
||||
020002060200050603008206000601068100068106000200040602000206020001068100
|
||||
060a06820700070107
|
||||
0307810d060c0681030a090a81000a080a820600078107067c0681000677068207000701
|
||||
07
|
||||
0307810d060c0681030a150a810007810706780603007906820700070107
|
||||
0307810d060b0681030a090a8106008200060a070a820600078107067f06750682070007
|
||||
0107
|
||||
0307810d060b0681030a090a0300090a8100078107067f067506820700070107
|
||||
0307810d060a0681030a0a0a0300090a820600078107067f067406820700070107
|
||||
0307810d060a0681030a0a0a8106008200060a090a8100078107067f0674068207000701
|
||||
07
|
||||
0307810d060a0681030a190a81000701077f067406820700070107
|
||||
0307810d060a0681030a180a8206000701077f067406820700070107
|
||||
0307810d060b0681030a160a8206000702077f067406820700070107
|
||||
0307810d060c06810300160004077f067406820700070107
|
||||
0307810d060e061a077f067506820700070107
|
||||
0307810d060f0618077f067606820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d066b0648006a06820700070107
|
||||
0307810d066a064a006906820700070107
|
||||
0307810d066a060100450d8107008100066806820700070107
|
||||
0307810d066a060100440d010701006906820700070107
|
||||
0307810d066a060100010d18069100060006000600060006000600060006000617060107
|
||||
01006906820700070107
|
||||
0307810d066a060100010d4206010701006906820700070107
|
||||
0307810d066a060100010d18068100060d068100061706010701006906820700070107
|
||||
0307810d066a060100010d1b060300020681000601068100061906010701006906820700
|
||||
070107
|
||||
0307810d066a060100010d18068300060006020681000682060006820600068206000617
|
||||
06010701006906820700070107
|
||||
0307810d066a060100010d1a0681000602068100068406000600061b0601070100690682
|
||||
0700070107
|
||||
0307810d066a060100010d18068300060006020681000681060081000602068100061706
|
||||
010701006906820700070107
|
||||
0307810d066a060100010d1a0681000602068100068106008100061c0601070100690682
|
||||
0700070107
|
||||
0307810d066a060100010d18068300060006020681000684060006000601068100061706
|
||||
010701006906820700070107
|
||||
0307810d066a060100010d1a06810006020681000682060006820600061a060107010069
|
||||
06820700070107
|
||||
0307810d066a060100010d18068300060006020681000682060006010683000600061706
|
||||
010701006906820700070107
|
||||
0307810d066a060100010d1b060300020681000602068100061806010701006906820700
|
||||
070107
|
||||
0307810d066a060100010d18068100060d068100061706010701006906820700070107
|
||||
0307810d066a060100010d4206010701006906820700070107
|
||||
0307810d066a060100010d18069100060006000600060006000600060006000617060107
|
||||
01006906820700070107
|
||||
0307810d066a060100810d07440701006906820700070107
|
||||
0307810d066a060100460701006906820700070107
|
||||
0307810d066a064a006906820700070107
|
||||
0307810d066b0648006a06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
0307810d067f067f061f06820700070107
|
||||
7f077f0726078100070107
|
||||
02077f007f0024000207
|
||||
7f077f072a07
|
||||
7f077f072a07
|
||||
7f077f072a07
|
||||
7f077f072a07
|
||||
7f077f072a07
|
||||
7f077f072a07
|
||||
|
||||
%
|
||||
% Compression made this file 5.68% of the uncompressed size.
|
||||
%
|
||||
|
||||
|
||||
showpage
|
||||
|
||||
% stop using temporary dictionary
|
||||
end
|
||||
|
||||
% restore original state
|
||||
origstate restore
|
||||
|
||||
%%Trailer
|
Before Width: | Height: | Size: 4.2 KiB |
@@ -1,39 +0,0 @@
|
||||
|
||||
Prototype dialog editor and property sheet classes
|
||||
--------------------------------------------------
|
||||
|
||||
Julian Smart, October 4th 1995
|
||||
------------------------------
|
||||
|
||||
Here's what I've done so far on a lightweight dialog editor. The 16-bit
|
||||
Windows binaries in the bin directory are dialoged.exe (the dialog
|
||||
editor) and test.exe (a small property sheet demo).
|
||||
|
||||
Main points:
|
||||
|
||||
- You can create a new dialog box and add items to it.
|
||||
- You can move items around, and right-click
|
||||
to edit a few properties (very incomplete).
|
||||
- Can't write out .wxr files yet. Loading code is in
|
||||
wxWindows, but writing code is absent: should be put
|
||||
into wxWindows.
|
||||
- No attempt at resources other than dialogs yet.
|
||||
Should have menu editor too.
|
||||
- Should *somehow* have a protocol to allow
|
||||
existing resources e.g. in wxCLIPS/wxPython
|
||||
to be edited in situ.
|
||||
This should be made simpler by the existance of
|
||||
the plug-in event handler mechanism, which means you
|
||||
can temporarily handle all the events yourself.
|
||||
- See dialoged.cc: the main program is tiny because
|
||||
it's meant to be embeddable.
|
||||
- The wxPropertySheet (set of) classes are very
|
||||
general and should be put into wxWin and documented.
|
||||
|
||||
Comments, chivvying and help all appreciated. Maybe if
|
||||
I documented what I had, it would be easier for others
|
||||
to do some work on it.
|
||||
|
||||
Regards,
|
||||
|
||||
Julian
|
@@ -1,21 +0,0 @@
|
||||
runTwice = yes
|
||||
titleFontSize = 12
|
||||
authorFontSize = 10
|
||||
chapterFontSize = 12
|
||||
sectionFontSize = 12
|
||||
subsectionFontSize = 12
|
||||
headerRule = yes
|
||||
footerRule = yes
|
||||
useHeadingStyles = yes
|
||||
contentsDepth = 2
|
||||
listItemIndent=40
|
||||
generateHPJ = no
|
||||
htmlBrowseButtons = bitmap
|
||||
winHelpVersion = 3
|
||||
winHelpContents = yes
|
||||
winHelpTitle = "Property Classes Manual"
|
||||
truncateFilenames = yes
|
||||
\overview [2] {\rtfonly{See also }\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}}
|
||||
\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
|
||||
\sethotspotcolour{on}\sethotspotunderline{on}}
|
||||
|
Before Width: | Height: | Size: 137 B |
@@ -1,17 +0,0 @@
|
||||
[OPTIONS]
|
||||
BMROOT=d:\wx2\wxWind~1\utils\wxprop\docs ; Assume that bitmaps are where the source is
|
||||
TITLE=Property Classes Manual
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
||||
[FILES]
|
||||
wxprop.rtf
|
||||
|
||||
[CONFIG]
|
||||
CreateButton("Up", "&Up", "JumpId(`wxprop.hlp', `Contents')")
|
||||
BrowseButtons()
|
||||
|
||||
[MAP]
|
||||
|
||||
[BITMAPS]
|
||||
|
@@ -1,190 +0,0 @@
|
||||
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
|
||||
|
||||
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
|
||||
|
||||
\constfunc{int}{GetCommand}{\void}
|
||||
|
||||
Returns the command identifier for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
|
||||
|
||||
\constfunc{int}{GetKeyCode}{\void}
|
||||
|
||||
Returns the keycode for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
|
||||
|
||||
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Sets the accelerator entry parameters.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
|
||||
|
||||
An accelerator table allows the application to specify a table of keyboard shortcuts for
|
||||
menus or other commands. On Windows, menu or button commands are supported; on GTK,
|
||||
only menu commands are supported.
|
||||
|
||||
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
|
||||
initial accelerator table for a window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
{\small%
|
||||
\begin{verbatim}
|
||||
wxAcceleratorEntry entries[4];
|
||||
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
|
||||
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
|
||||
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
|
||||
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
|
||||
wxAcceleratorTable accel(4, entries);
|
||||
frame->SetAcceleratorTable(accel);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
|
||||
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
|
||||
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
|
||||
|
||||
\func{}{wxAcceleratorTable}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
|
||||
|
||||
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
|
||||
|
||||
Loads the accelerator table from a Windows resource (Windows only).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{Number of accelerator entries.}
|
||||
|
||||
\docparam{entries}{The array of entries.}
|
||||
|
||||
\docparam{resource}{Name of a Windows accelerator.}
|
||||
|
||||
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
|
||||
|
||||
\func{}{\destruct{wxAcceleratorTable}}{\void}
|
||||
|
||||
Destroys the wxAcceleratorTable object.
|
||||
|
||||
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the accelerator table is valid.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $=$}
|
||||
|
||||
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Assignment operator. This operator does not copy any data, but instead
|
||||
passes a pointer to the data in {\it accel} and increments a reference
|
||||
counter. It is a fast operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to assign.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 'this' object.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $==$}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Equality operator. This operator tests whether the internal data pointers are
|
||||
equal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $!=$}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Inequality operator. This operator tests whether the internal data pointers are
|
||||
unequal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.
|
||||
|
||||
|
@@ -1,56 +0,0 @@
|
||||
\section{\class{wxActivateEvent}}\label{wxactivateevent}
|
||||
|
||||
An activate event is sent when a window or application is being activated
|
||||
or deactivated.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process an activate event, use these event handler macros to direct input to a member
|
||||
function that takes a wxActivateEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_ACTIVATE(func)}}{Process a wxEVT\_ACTIVATE event.}
|
||||
\twocolitem{{\bf EVT\_ACTIVATE\_APP(func)}}{Process a wxEVT\_ACTIVATE\_APP event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A top-level window (a dialog or frame) receives an activate event when is
|
||||
being activated or deactivated. This is indicated visually by the title
|
||||
bar changing colour, and a subwindow gaining the keyboard focus.
|
||||
|
||||
An application is activated or deactivated when one of its frames becomes activated,
|
||||
or a frame becomes inactivate resulting in all application frames being inactive. (Windows only)
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnActivate}{wxwindowonactivate},\rtfsp
|
||||
\helpref{wxApp::OnActivate}{wxapponactivate},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxActivateEvent::wxActivateEvent}
|
||||
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxActivateEvent::m\_active}
|
||||
|
||||
\member{bool}{m\_active}
|
||||
|
||||
TRUE if the window or application was activated.
|
||||
|
||||
\membersection{wxActivateEvent::GetActive}\label{wxactivateeventgetactive}
|
||||
|
||||
\constfunc{bool}{GetActive}{\void}
|
||||
|
||||
Returns TRUE if the application or window is being activated, FALSE otherwise.
|
||||
|
@@ -1,455 +0,0 @@
|
||||
\section{\class{wxApp}}\label{wxapp}
|
||||
|
||||
The {\bf wxApp} class represents the application itself. It is used
|
||||
to:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item set and get application-wide properties;
|
||||
\item implement the windowing system message or event loop;
|
||||
\item initiate application processing via \helpref{wxApp::OnInit}{wxapponinit};
|
||||
\item allow default processing of events not handled by other
|
||||
objects in the application.
|
||||
\end{itemize}
|
||||
|
||||
You should use the macro IMPLEMENT\_APP(appClass) in your application implementation
|
||||
file to tell wxWindows how to create an instance of your application class.
|
||||
|
||||
Use DECLARE\_APP(appClass) in a header file if you want the wxGetApp function (which returns
|
||||
a reference to your application object) to be visible to other files.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp overview}{wxappoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxApp::wxApp}
|
||||
|
||||
\func{void}{wxApp}{\void}
|
||||
|
||||
Constructor. Called implicitly with a definition of a wxApp object.
|
||||
|
||||
The argument is a language identifier; this is an experimental
|
||||
feature and will be expanded and documented in future versions.
|
||||
|
||||
\membersection{wxApp::\destruct{wxApp}}
|
||||
|
||||
\func{void}{\destruct{wxApp}}{\void}
|
||||
|
||||
Destructor. Will be called implicitly on program exit if the wxApp
|
||||
object is created on the stack.
|
||||
|
||||
\membersection{wxApp::argc}\label{wxappargc}
|
||||
|
||||
\member{int}{argc}
|
||||
|
||||
Number of command line arguments (after environment-specific processing).
|
||||
|
||||
\membersection{wxApp::argv}\label{wxappargv}
|
||||
|
||||
\member{char **}{argv}
|
||||
|
||||
Command line arguments (after environment-specific processing).
|
||||
|
||||
\membersection{wxApp::CreateLogTarget}\label{wxappcreatelogtarget}
|
||||
|
||||
\func{virtual wxLog*}{CreateLogTarget}{\void}
|
||||
|
||||
Creates a wxLog class for the application to use for logging errors. The default
|
||||
implementation returns a new wxLogGui class.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxLog}{wxlog}
|
||||
|
||||
\membersection{wxApp::Dispatch}\label{wxappdispatch}
|
||||
|
||||
\func{void}{Dispatch}{\void}
|
||||
|
||||
Dispatches the next event in the windowing system event queue.
|
||||
|
||||
This can be used for programming event loops, e.g.
|
||||
|
||||
\begin{verbatim}
|
||||
while (app.Pending())
|
||||
Dispatch();
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Pending}{wxapppending}
|
||||
|
||||
\membersection{wxApp::GetAppName}\label{wxappgetappname}
|
||||
|
||||
\constfunc{wxString}{GetAppName}{\void}
|
||||
|
||||
Returns the application name.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
wxWindows sets this to a reasonable default before
|
||||
calling \helpref{wxApp::OnInit}{wxapponinit}, but the application can reset it at will.
|
||||
|
||||
\membersection{wxApp::GetAuto3D}\label{wxappgetauto3d}
|
||||
|
||||
\constfunc{bool}{GetAuto3D}{\void}
|
||||
|
||||
Returns TRUE if 3D control mode is on, FALSE otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::SetAuto3D}{wxappsetauto3d}
|
||||
|
||||
\membersection{wxApp::GetClassName}\label{wxappgetclassname}
|
||||
|
||||
\constfunc{wxString}{GetClassName}{\void}
|
||||
|
||||
Gets the class name of the application. The class name may be used in a platform specific
|
||||
manner to refer to the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::SetClassName}{wxappsetclassname}
|
||||
|
||||
\membersection{wxApp::GetExitOnDelete}\label{wxappgetexitondelete}
|
||||
|
||||
\constfunc{bool}{GetExitOnDelete}{\void}
|
||||
|
||||
Returns TRUE if the application will exit when the top-level window is deleted, FALSE
|
||||
otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::SetExitOnDelete}{wxappsetexitondelete}
|
||||
|
||||
\membersection{wxApp::GetPrintMode}\label{wxappgetprintmode}
|
||||
|
||||
\constfunc{bool}{GetPrintMode}{\void}
|
||||
|
||||
Returns the print mode: see \helpref{wxApp::SetPrintMode}{wxappsetprintmode}.
|
||||
|
||||
\membersection{wxApp::GetTopWindow}\label{wxappgettopwindow}
|
||||
|
||||
\constfunc{wxWindow *}{GetTopWindow}{\void}
|
||||
|
||||
Returns a pointer to the top window.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::SetTopWindow}{wxappsettopwindow}
|
||||
|
||||
\membersection{wxApp::ExitMainLoop}\label{wxappexitmainloop}
|
||||
|
||||
\func{void}{ExitMainLoop}{\void}
|
||||
|
||||
Call this to explicitly exit the main message (event) loop.
|
||||
You should normally exit the main loop (and the application) by deleting
|
||||
the top window.
|
||||
|
||||
\membersection{wxApp::Initialized}\label{wxappinitialized}
|
||||
|
||||
\func{bool}{Initialized}{\void}
|
||||
|
||||
Returns TRUE if the application has been initialized (i.e. if\rtfsp
|
||||
\helpref{wxApp::OnInit}{wxapponinit} has returned successfully). This can be useful for error
|
||||
message routines to determine which method of output is best for the
|
||||
current state of the program (some windowing systems may not like
|
||||
dialogs to pop up before the main loop has been entered).
|
||||
|
||||
\membersection{wxApp::MainLoop}\label{wxappmainloop}
|
||||
|
||||
\func{int}{MainLoop}{\void}
|
||||
|
||||
Called by wxWindows on creation of the application. Override this if you wish
|
||||
to provide your own (environment-dependent) main loop.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 0 under X, and the wParam of the WM\_QUIT message under Windows.
|
||||
|
||||
\membersection{wxApp::OnActivate}\label{wxapponactivate}
|
||||
|
||||
\func{void}{OnActivate}{\param{wxActivateEvent\& }{event}}
|
||||
|
||||
Provide this member function to know whether the application is being
|
||||
activated or deactivated (Windows only).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnActivate}{wxwindowonactivate}, \helpref{wxActivateEvent}{wxactivateevent}
|
||||
|
||||
\membersection{wxApp::OnExit}\label{wxapponexit}
|
||||
|
||||
\func{int}{OnExit}{\void}
|
||||
|
||||
Provide this member function for any processing which needs to be done as
|
||||
the application is about to exit.
|
||||
|
||||
\membersection{wxApp::OnCharHook}\label{wxapponcharhook}
|
||||
|
||||
\func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}}
|
||||
|
||||
This event handler function is called (under Windows only) to allow the window to intercept keyboard events
|
||||
before they are processed by child windows.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{event}{The keypress event.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Use the wxEVT\_CHAR\_HOOK macro in your event table.
|
||||
|
||||
If you use this member, you can selectively consume keypress events by calling\rtfsp
|
||||
\helpref{wxEvent::Skip}{wxeventskip} for characters the application is not interested in.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnChar}{wxwindowonchar},\rtfsp
|
||||
\helpref{wxWindow::OnCharHook}{wxwindowoncharhook}, \helpref{wxDialog::OnCharHook}{wxdialogoncharhook}
|
||||
|
||||
\membersection{wxApp::OnIdle}\label{wxapponidle}
|
||||
|
||||
\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
|
||||
|
||||
Override this member function for any processing which needs to be done
|
||||
when the application is idle. You should call wxApp::OnIdle from your own function,
|
||||
since this forwards OnIdle events to windows and also performs garbage collection for
|
||||
windows whose destruction has been delayed.
|
||||
|
||||
wxWindows' strategy for OnIdle processing is as follows. After pending user interface events for an
|
||||
application have all been processed, wxWindows sends an OnIdle event to the application object. wxApp::OnIdle itself
|
||||
sends an OnIdle event to each application window, allowing windows to do idle processing such as updating
|
||||
their appearance. If either wxApp::OnIdle or a window OnIdle function requested more time, by
|
||||
caling \helpref{wxIdleEvent::ReqestMore}{wxidleeventrequestmore}, wxWindows will send another OnIdle
|
||||
event to the application object. This will occur in a loop until either a user event is found to be
|
||||
pending, or OnIdle requests no more time. Then all pending user events are processed until the system
|
||||
goes idle again, when OnIdle is called, and so on.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
|
||||
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
|
||||
|
||||
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
|
||||
|
||||
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. The application has a chance to silently save information,
|
||||
and can optionally close itself.
|
||||
|
||||
Use the EVT\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
|
||||
(forcing the application to close itself silently).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnEndSession is called in response to the 'die' event.
|
||||
|
||||
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
|
||||
|
||||
\membersection{wxApp::OnInit}\label{wxapponinit}
|
||||
|
||||
\func{bool}{OnInit}{\void}
|
||||
|
||||
This must be provided by the application, and will usually create the
|
||||
application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
|
||||
|
||||
Return TRUE to continue processing, FALSE to exit the application.
|
||||
|
||||
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
|
||||
|
||||
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. Typically, an application will try to save unsaved documents
|
||||
at this point.
|
||||
|
||||
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
|
||||
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
|
||||
The application might veto the shutdown after prompting for documents to be saved, and the
|
||||
user has cancelled the save.
|
||||
|
||||
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
You should check whether the application is forcing the deletion of the window
|
||||
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
||||
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
||||
If not, it is up to you whether you respond by destroying the window.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
|
||||
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnQueryEndSession is called in response to the 'save session' event.
|
||||
|
||||
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession}
|
||||
|
||||
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
|
||||
|
||||
\func{bool}{ProcessMessage}{\param{MSG *}{msg}}
|
||||
|
||||
Windows-only function for processing a message. This function
|
||||
is called from the main message loop, checking for windows that
|
||||
may wish to process it. The function returns TRUE if the message
|
||||
was processed, FALSE otherwise. If you use wxWindows with another class
|
||||
library with its own message loop, you should make sure that this
|
||||
function is called to allow wxWindows to receive messages. For example,
|
||||
to allow co-existance with the Microsoft Foundation Classes, override
|
||||
the PreTranslateMessage function:
|
||||
|
||||
\begin{verbatim}
|
||||
// Provide wxWindows message loop compatibility
|
||||
BOOL CTheApp::PreTranslateMessage(MSG *msg)
|
||||
{
|
||||
if (wxTheApp && wxTheApp->ProcessMessage(msg))
|
||||
return TRUE;
|
||||
else
|
||||
return CWinApp::PreTranslateMessage(msg);
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
|
||||
|
||||
\func{bool}{SendIdleEvents}{\void}
|
||||
|
||||
Sends idle events to all top-level windows.
|
||||
|
||||
\func{bool}{SendIdleEvents}{\param{wxWindow*}{ win}}
|
||||
|
||||
Sends idle events to a window and its children.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
These functions poll the top-level windows, and their children, for idle event processing.
|
||||
If TRUE is returned, more OnIdle processing is requested by one or more window.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::OnIdle}{wxapponidle}, \helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent}
|
||||
|
||||
\membersection{wxApp::SetAppName}\label{wxappsetappname}
|
||||
|
||||
\func{void}{SetAppName}{\param{const wxString\& }{name}}
|
||||
|
||||
Sets the name of the application. The name may be used in dialogs
|
||||
(for example by the document/view framework). A default name is set by
|
||||
wxWindows.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::GetAppName}{wxappgetappname}
|
||||
|
||||
\membersection{wxApp::SetAuto3D}\label{wxappsetauto3d}
|
||||
|
||||
\func{void}{SetAuto3D}{\param{const bool}{ auto3D}}
|
||||
|
||||
Switches automatic 3D controls on or off.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{auto3D}{If TRUE, all controls will be created with 3D appearances unless
|
||||
overridden for a control or dialog. The default is TRUE}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This has an effect on Windows only.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::GetAuto3D}{wxappgetauto3d}
|
||||
|
||||
\membersection{wxApp::SetClassName}\label{wxappsetclassname}
|
||||
|
||||
\func{void}{SetClassName}{\param{const wxString\& }{name}}
|
||||
|
||||
Sets the class name of the application. This may be used in a platform specific
|
||||
manner to refer to the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::GetClassName}{wxappgetclassname}
|
||||
|
||||
\membersection{wxApp::SetExitOnDelete}\label{wxappsetexitondelete}
|
||||
|
||||
\func{void}{SetExitOnDelete}{\param{bool}{ flag}}
|
||||
|
||||
Allows the programmer to specify whether the application will exit when the
|
||||
top-level frame is deleted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flag}{If TRUE (the default), the application will exit when the top-level frame is
|
||||
deleted. If FALSE, the application will continue to run.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Currently, setting this to FALSE only has an effect under Windows.
|
||||
|
||||
\membersection{wxApp::SetPrintMode}\label{wxappsetprintmode}
|
||||
|
||||
\func{void}{SetPrintMode}{\param{int}{ mode}}
|
||||
|
||||
Sets the print mode determining what printing facilities will be
|
||||
used by the printing framework.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{mode}{This can be one of:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxPRINT\_WINDOWS}}{Under Windows, use Windows printing (wxPrinterDC). This is the
|
||||
default under Windows.}
|
||||
\twocolitem{{\bf wxPRINT\_POSTSCRIPT}}{Use PostScript printing (wxPostScriptDC). This is the
|
||||
default for non-Windows platforms.}
|
||||
\end{twocollist}
|
||||
}%
|
||||
|
||||
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
|
||||
|
||||
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
||||
|
||||
Sets the `top' window. You should normally call this from within \helpref{wxApp::OnInit}{wxapponinit} to
|
||||
let wxWindows know which is the main window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{window}{The new top window.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::GetTopWindow}{wxappgettopwindow}, \helpref{wxApp::OnInit}{wxapponinit}
|
||||
|
@@ -1,534 +0,0 @@
|
||||
\section{\class{wxArray}}\label{wxarray}
|
||||
|
||||
This section describes the so called {\it dynamic arrays}. This is a C
|
||||
array-like data structure i.e. the member access time is constant (and not
|
||||
linear according to the number of container elements as for linked lists). However, these
|
||||
arrays are dynamic in the sense that they will automatically allocate more
|
||||
memory if there is not enough of it for adding a new element. They also perform
|
||||
range checking on the index values but in debug mode only, so please be sure to
|
||||
compile your application in debug mode to use it (see \helpref{debugging overview}{debuggingoverview} for
|
||||
details). So, unlike the arrays in some other
|
||||
languages, attempt to access an element beyond the arrays bound doesn't
|
||||
automatically expand the array but provokes an assertion failure instead in
|
||||
debug build and does nothing (except possibly crashing your program) in the
|
||||
release build.
|
||||
|
||||
The array classes were designed to be reasonably efficient, both in terms of
|
||||
run-time speed and memory consumption and the executable size. The speed of
|
||||
array item access is, of course, constant (independent of the number of elements)
|
||||
making them much more efficient than linked lists (\helpref{wxList}{wxlist}).
|
||||
Adding items to the arrays is also implemented in more or less constant time -
|
||||
but the price is preallocating the memory in advance. In the \helpref{memory management}{wxarraymemorymanagement} section
|
||||
you may find some useful hints about optimizing wxArray memory usage. As for executable size, all
|
||||
wxArray functions are inline, so they do not take {\it any space at all}.
|
||||
|
||||
wxWindows has three different kinds of array. All of them derive from
|
||||
wxBaseArray class which works with untyped data and can not be used directly.
|
||||
The standard macros WX\_DEFINE\_ARRAY(), WX\_DEFINE\_SORTED\_ARRAY() and
|
||||
WX\_DEFINE\_OBJARRAY() are used to define a new class deriving from it. The
|
||||
classes declared will be called in this documentation wxArray, wxSortedArray and
|
||||
wxObjArray but you should keep in mind that no classes with such names actually
|
||||
exist, each time you use one of WX\_DEFINE\_XXXARRAY macro you define a class
|
||||
with a new name. In fact, these names are "template" names and each usage of one
|
||||
of the macros mentioned above creates a template specialization for the given
|
||||
element type.
|
||||
|
||||
wxArray is suitable for storing integer types and pointers which it does not
|
||||
treat as objects in any way, i.e. the element pointed to by the pointer is not
|
||||
deleted when the element is removed from the array. It should be noted that
|
||||
all of wxArray's functions are inline, so it costs strictly nothing to define as
|
||||
many array types as you want (either in terms of the executable size or the
|
||||
speed) as long as at least one of them is defined and this is always the case
|
||||
because wxArrays are used by wxWindows internally.
|
||||
|
||||
wxSortedArray is a wxArray variant which should be used when searching in the
|
||||
array is a frequently used operation. It requires you to define an additional
|
||||
function for comparing two elements of the array element type and always stores
|
||||
its items in the sorted order (according to this function). Thus, it's
|
||||
\helpref{Index()}{wxarrayindex} function execution time is $O(log(N))$ instead of
|
||||
$O(N)$ for the usual arrays but the \helpref{Add()}{wxarrayadd} method is
|
||||
slower: it is $O(log(N))$ instead of constant time (neglecting time spent in
|
||||
memory allocation routine). However, in a usual situation elements are added to
|
||||
an array much less often than searched inside it, so wxSortedArray may lead to
|
||||
huge performance improvements compared to wxArray. Finally, it should be
|
||||
noticed that, as wxArray, wxSortedArray can not be used to store anything of
|
||||
sizeof() larger than max(sizeof(long), sizeof(void *)) - an assertion failure
|
||||
will be raised from the constructor otherwise.
|
||||
|
||||
wxObjArray class treats its elements like "objects". It may delete them when
|
||||
they are removed from the array (invoking the correct destructor) and copies
|
||||
them using the objects copy constructor. In order to implement this behaviour
|
||||
the definition of the wxObjArray arrays is split in two parts: first, you should
|
||||
declare the new wxObjArray class using WX\_DECLARE\_OBJARRAY() macro and then
|
||||
you must include the file defining the implementation of template type:
|
||||
<wx/arrimpl.cpp> and define the array class with WX\_DEFINE\_OBJARRAY() macro
|
||||
from a point where the full (as opposed to `forward') declaration of the array
|
||||
elements class is in scope. As it probably sounds very complicated here is an
|
||||
example:
|
||||
|
||||
\begin{verbatim}
|
||||
#include <wx/dynarray.h>
|
||||
|
||||
// we must forward declare the array because it's used inside the class
|
||||
// declaration
|
||||
class MyDirectory;
|
||||
class MyFile;
|
||||
|
||||
// this defines two new types: ArrayOfDirectories and ArrayOfFiles which can be
|
||||
// now used as shown below
|
||||
WX_DECLARE_OBJARRAY(MyDirectory, ArrayOfDirectories);
|
||||
WX_DECLARE_OBJARRAY(MyFile, ArrayOfFiles);
|
||||
|
||||
class MyDirectory
|
||||
{
|
||||
...
|
||||
ArrayOfDirectories m_subdirectories; // all subdirectories
|
||||
ArrayOfFiles m_files; // all files in this directory
|
||||
};
|
||||
|
||||
...
|
||||
|
||||
// now that we have MyDirectory declaration in scope we may finish the
|
||||
// definition of ArrayOfDirectories
|
||||
#include <wx/arrimpl.cpp> // this is a magic incantation which must be done!
|
||||
WX_DEFINE_OBJARRAY(ArrayOfDirectories);
|
||||
|
||||
// that's all!
|
||||
\end{verbatim}
|
||||
|
||||
It is not as elegant as writing
|
||||
|
||||
\begin{verbatim}
|
||||
typedef std::vector<MyDirectory> ArrayOfDirectories;
|
||||
\end{verbatim}
|
||||
|
||||
but is not that complicated and allows the code to be compiled with any, however
|
||||
dumb, C++ compiler in the world.
|
||||
|
||||
Things are much simpler for wxArray and wxSortedArray however: it is enough
|
||||
just to write
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_ARRAY(MyDirectory *, ArrayOfDirectories);
|
||||
WX_DEFINE_SORTED_ARRAY(MyFile *, ArrayOfFiles);
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{See also:}
|
||||
|
||||
\helpref{Container classes overview}{wxcontaineroverview}, \helpref{wxList}{wxlist}
|
||||
|
||||
\wxheading{Required headers:}
|
||||
|
||||
<wx/dynarray.h> for wxArray and wxSortedArray and additionally <wx/arrimpl.cpp>
|
||||
for wxObjArray.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Macros for template array definition}
|
||||
|
||||
To use an array you must first define the array class. This is done with the
|
||||
help of the macros in this section. The class of array elements must be (at
|
||||
least) forward declared for WX\_DEFINE\_ARRAY, WX\_DEFINE\_SORTED\_ARRAY and
|
||||
WX\_DECLARE\_OBJARRAY macros and must be fully declared before you use
|
||||
WX\_DEFINE\_OBJARRAY macro.
|
||||
|
||||
\helpref{WX\_DEFINE\_ARRAY}{wxdefinearray}\\
|
||||
\helpref{WX\_DEFINE\_SORTED\_ARRAY}{wxdefinesortedarray}\\
|
||||
\helpref{WX\_DECLARE\_OBJARRAY}{wxdeclareobjarray}\\
|
||||
\helpref{WX\_DEFINE\_OBJARRAY}{wxdefineobjarray}
|
||||
|
||||
\membersection{Constructors and destructors}
|
||||
|
||||
Array classes are 100\% C++ objects and as such they have the appropriate copy
|
||||
constructors and assignment operators. Copying wxArray just copies the elements
|
||||
but copying wxObjArray copies the arrays items. However, for memory-efficiency
|
||||
sake, neither of these classes has virtual destructor. It is not very important
|
||||
for wxArray which has trivial destructor anyhow, but it does mean that you
|
||||
should avoid deleting wxObjArray through a wxBaseArray pointer (as you would
|
||||
never use wxBaseArray anyhow it shouldn't be a problem) and that you should not
|
||||
derive your own classes from the array classes.
|
||||
|
||||
\helpref{wxArray default constructor}{wxarrayctordef}\\
|
||||
\helpref{wxArray copy constructors and assignment operators}{wxarrayctorcopy}\\
|
||||
\helpref{\destruct{wxArray}}{wxarraydtor}
|
||||
|
||||
\membersection{Memory management}\label{wxarraymemorymanagement}
|
||||
|
||||
Automatic array memory management is quite trivial: the array starts by
|
||||
preallocating some minimal amount of memory (defined by
|
||||
WX\_ARRAY\_DEFAULT\_INITIAL\_SIZE) and when further new items exhaust already
|
||||
allocated memory it reallocates it adding 50\% of the currently allocated
|
||||
amount, but no more than some maximal number which is defined by
|
||||
ARRAY\_MAXSIZE\_INCREMENT constant. Of course, this may lead to some memory
|
||||
being wasted (ARRAY\_MAXSIZE\_INCREMENT in the worst case, i.e. 4Kb in the
|
||||
current implementation), so the \helpref{Shrink()}{wxarrayshrink} function is
|
||||
provided to unallocate the extra memory. The \helpref{Alloc()}{wxarrayalloc}
|
||||
function can also be quite useful if you know in advance how many items you are
|
||||
going to put in the array and will prevent the array code from reallocating the
|
||||
memory more times than needed.
|
||||
|
||||
\helpref{Alloc}{wxarrayalloc}\\
|
||||
\helpref{Shrink}{wxarrayshrink}
|
||||
|
||||
\membersection{Number of elements and simple item access}
|
||||
|
||||
Functions in this section return the total number of array elements and allow to
|
||||
retrieve them - possibly using just the C array indexing $[]$ operator which
|
||||
does exactly the same as \helpref{Item()}{wxarrayitem} method.
|
||||
|
||||
\helpref{Count}{wxarraycount}\\
|
||||
\helpref{GetCount}{wxarraygetcount}\\
|
||||
\helpref{IsEmpty}{wxarrayisempty}\\
|
||||
\helpref{Item}{wxarrayitem}\\
|
||||
\helpref{Last}{wxarraylast}
|
||||
|
||||
\membersection{Adding items}
|
||||
|
||||
\helpref{Add}{wxarrayadd}\\
|
||||
\helpref{Insert}{wxarrayinsert}
|
||||
|
||||
\membersection{Removing items}
|
||||
|
||||
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray}\\
|
||||
\helpref{Empty}{wxarrayempty}\\
|
||||
\helpref{Clear}{wxarrayclear}\\
|
||||
\helpref{Remove}{wxarrayremove}
|
||||
|
||||
\membersection{Searching and sorting}
|
||||
|
||||
\helpref{Index}{wxarrayindex}\\
|
||||
\helpref{Sort}{wxarraysort}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{WX\_DEFINE\_ARRAY}\label{wxdefinearray}
|
||||
|
||||
\func{}{WX\_DEFINE\_ARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro defines a new array class named {\it name} and containing the
|
||||
elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_ARRAY(int, wxArrayInt);
|
||||
|
||||
class MyClass;
|
||||
WX_DEFINE_ARRAY(MyClass *, wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
Note that wxWindows predefines the following standard array classes: wxArrayInt,
|
||||
wxArrayLong and wxArrayPtrVoid.
|
||||
|
||||
\membersection{WX\_DEFINE\_SORTED\_ARRAY}\label{wxdefinesortedarray}
|
||||
|
||||
\func{}{WX\_DEFINE\_SORTED\_ARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro defines a new sorted array class named {\it name} and containing
|
||||
the elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
WX_DEFINE_SORTED_ARRAY(int, wxArrayInt);
|
||||
|
||||
class MyClass;
|
||||
WX_DEFINE_SORTED_ARRAY(MyClass *, wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
You will have to initialize the objects of this class by passing a comparaison
|
||||
function to the array object constructor like this:
|
||||
\begin{verbatim}
|
||||
int CompareInts(int n1, int n2)
|
||||
{
|
||||
return n1 - n2;
|
||||
}
|
||||
|
||||
wxArrayInt sorted(CompareInts);
|
||||
|
||||
int CompareMyClassObjects(MyClass *item1, MyClass *item2)
|
||||
{
|
||||
// sort the items by their address...
|
||||
return Stricmp(item1->GetAddress(), item2->GetAddress());
|
||||
}
|
||||
|
||||
wxArrayOfMyClass another(CompareMyClassObjects);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{WX\_DECLARE\_OBJARRAY}\label{wxdeclareobjarray}
|
||||
|
||||
\func{}{WX\_DECLARE\_OBJARRAY}{\param{}{T}, \param{}{name}}
|
||||
|
||||
This macro declares a new object array class named {\it name} and containing
|
||||
the elements of type {\it T}. Example:
|
||||
|
||||
\begin{verbatim}
|
||||
class MyClass;
|
||||
WX_DEFINE_OBJARRAY(MyClass, wxArrayOfMyClass); // note: not "MyClass *"!
|
||||
\end{verbatim}
|
||||
|
||||
You must use \helpref{WX\_DEFINE\_OBJARRAY()}{wxdefineobjarray} macro to define
|
||||
the array class - otherwise you would get link errors.
|
||||
|
||||
\membersection{WX\_DEFINE\_OBJARRAY}\label{wxdefineobjarray}
|
||||
|
||||
\func{}{WX\_DEFINE\_OBJARRAY}{\param{}{name}}
|
||||
|
||||
This macro defines the methods of the array class {\it name} not defined by the
|
||||
\helpref{WX\_DECLARE\_OBJARRAY()}{wxdeclareobjarray} macro. You must include the
|
||||
file <wx/arrimpl.cpp> before using this macro and you must have the full
|
||||
declaration of the class of array elements in scope! If you forget to do the
|
||||
first, the error will be caught by the compiler, but, unfortunately, many
|
||||
compilers will not give any warnings if you forget to do the second - but the
|
||||
objects of the class will not be copied correctly and their real destructor will
|
||||
not be called.
|
||||
|
||||
Example of usage:
|
||||
|
||||
\begin{verbatim}
|
||||
// first declare the class!
|
||||
class MyClass
|
||||
{
|
||||
public:
|
||||
MyClass(const MyClass&);
|
||||
|
||||
...
|
||||
|
||||
virtual ~MyClass();
|
||||
};
|
||||
|
||||
#include <wx/arrimpl.cpp>
|
||||
WX_DEFINE_OBJARRAY(wxArrayOfMyClass);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{WX\_CLEAR\_ARRAY}\label{wxcleararray}
|
||||
|
||||
\func{void}{WX\_CLEAR\_ARRAY}{\param{wxArray\& }{array}}
|
||||
|
||||
This macro may be used to delete all elements of the array before emptying it.
|
||||
It can not be used with wxObjArrays - but they will delete their elements anyhow
|
||||
when you call Empty().
|
||||
|
||||
\membersection{Default constructors}\label{wxarrayctordef}
|
||||
|
||||
\func{}{wxArray}{\void}
|
||||
|
||||
\func{}{wxObjArray}{\void}
|
||||
|
||||
Default constructor initializes an empty array object.
|
||||
|
||||
\func{}{wxSortedArray}{\param{int (*)(T first, T second)}{compareFunction}}
|
||||
|
||||
There is no default constructor for wxSortedArray classes - you must initialize it
|
||||
with a function to use for item comparaison. It is a function which is passed
|
||||
two arguments of type {\it T} where {\it T} is the array element type and which
|
||||
should return a negative, zero or positive value according to whether the first
|
||||
element passed to it is less than, equal to or greater than the second one.
|
||||
|
||||
\membersection{wxArray copy constructor and assignment operator}\label{wxarrayctorcopy}
|
||||
|
||||
\func{}{wxArray}{\param{const wxArray\& }{array}}
|
||||
|
||||
\func{}{wxSortedArray}{\param{const wxSortedArray\& }{array}}
|
||||
|
||||
\func{}{wxObjArray}{\param{const wxObjArray\& }{array}}
|
||||
|
||||
\func{wxArray\&}{operator$=$}{\param{const wxArray\& }{array}}
|
||||
|
||||
\func{wxSortedArray\&}{operator$=$}{\param{const wxSortedArray\& }{array}}
|
||||
|
||||
\func{wxObjArray\&}{operator$=$}{\param{const wxObjArray\& }{array}}
|
||||
|
||||
The copy constructors and assignment operators perform a shallow array copy
|
||||
(i.e. they don't copy the objects pointed to even if the source array contains
|
||||
the items of pointer type) for wxArray and wxSortedArray and a deep copy (i.e.
|
||||
the array element are copied too) for wxObjArray.
|
||||
|
||||
\membersection{wxArray::\destruct{wxArray}}\label{wxarraydtor}
|
||||
|
||||
\func{}{\destruct{wxArray}}{\void}
|
||||
|
||||
\func{}{\destruct{wxSortedArray}}{\void}
|
||||
|
||||
\func{}{\destruct{wxObjArray}}{\void}
|
||||
|
||||
The wxObjArray destructor deletes all the items owned by the array. This is not
|
||||
done by wxArray and wxSortedArray versions - you may use
|
||||
\helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro for this.
|
||||
|
||||
\membersection{wxArray::Add}\label{wxarrayadd}
|
||||
|
||||
\func{void}{Add}{\param{T }{item}}
|
||||
|
||||
\func{void}{Add}{\param{T *}{item}}
|
||||
|
||||
\func{void}{Add}{\param{T \&}{item}}
|
||||
|
||||
Appends a new element to the array (where {\it T} is the type of the array
|
||||
elements.)
|
||||
|
||||
The first version is used with wxArray and wxSortedArray. The second and the
|
||||
third are used with wxObjArray. There is an important difference between
|
||||
them: if you give a pointer to the array, it will take ownership of it, i.e.
|
||||
will delete it when the item is deleted from the array. If you give a reference
|
||||
to the array, however, the array will make a copy of the item and will not take
|
||||
ownership of the original item. Once again, it only makes sense for wxObjArrays
|
||||
because the other array types never take ownership of their elements.
|
||||
|
||||
\membersection{wxArray::Alloc}\label{wxarrayalloc}
|
||||
|
||||
\func{void}{Alloc}{\param{size\_t }{count}}
|
||||
|
||||
Preallocates memory for a given number of array elements. It is worth calling
|
||||
when the number of items which are going to be added to the array is known in
|
||||
advance because it will save unneeded memory reallocation. If the array already
|
||||
has enough memory for the given number of items, nothing happens.
|
||||
|
||||
\membersection{wxArray::Clear}\label{wxarrayclear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
This function does the same as \helpref{Empty()}{wxarrayempty} and additionally
|
||||
frees the memory allocated to the array.
|
||||
|
||||
\membersection{wxArray::Count}\label{wxarraycount}
|
||||
|
||||
\constfunc{size\_t}{Count}{\void}
|
||||
|
||||
Same as \helpref{GetCount()}{wxarraygetcount}. This function is deprecated -
|
||||
it exists only for compatibility.
|
||||
|
||||
\membersection{wxObjArray::Detach}\label{wxobjarraydetach}
|
||||
|
||||
\func{T *}{Detach}{\param{size\_t }{index}}
|
||||
|
||||
Removes the element from the array, but, unlike,
|
||||
|
||||
\helpref{Remove()}{wxarrayremove} doesn't delete it. The function returns the
|
||||
pointer to the removed element.
|
||||
|
||||
\membersection{wxArray::Empty}\label{wxarrayempty}
|
||||
|
||||
\func{void}{Empty}{\void}
|
||||
|
||||
Empties the array. For wxObjArray classes, this destroys all of the array
|
||||
elements. For wxArray and wxSortedArray this does nothing except marking the
|
||||
array of being empty - this function does not free the allocated memory, use
|
||||
\helpref{Clear()}{wxarrayclear} for this.
|
||||
|
||||
\membersection{wxArray::GetCount}\label{wxarraygetcount}
|
||||
|
||||
\constfunc{size\_t}{GetCount}{\void}
|
||||
|
||||
Return the number of items in the array.
|
||||
|
||||
\membersection{wxArray::Index}\label{wxarrayindex}
|
||||
|
||||
\func{int}{Index}{\param{T\& }{item}, \param{bool }{searchFromEnd = FALSE}}
|
||||
|
||||
\func{int}{Index}{\param{T\& }{item}}
|
||||
|
||||
The first version of the function is for wxArray and wxObjArray, the second is
|
||||
for wxSortedArray only.
|
||||
|
||||
Searches the element in the array, starting from either beginning or the end
|
||||
depending on the value of {\it searchFromEnd} parameter. wxNOT\_FOUND is
|
||||
returned if the element is not found, otherwise the index of the element is
|
||||
returned.
|
||||
|
||||
Linear search is used for the wxArray and wxObjArray classes but binary search
|
||||
in the sorted array is used for wxSortedArray (this is why searchFromEnd
|
||||
parameter doesn't make sense for it).
|
||||
|
||||
\membersection{wxArray::Insert}\label{wxarrayinsert}
|
||||
|
||||
\func{void}{Insert}{\param{T }{item}, \param{size\_t }{n}}
|
||||
|
||||
\func{void}{Insert}{\param{T *}{item}, \param{size\_t }{n}}
|
||||
|
||||
\func{void}{Insert}{\param{T \&}{item}, \param{size\_t }{n}}
|
||||
|
||||
Insert a new item into the array before the item {\it n} - thus, {\it Insert(something, 0u)} will
|
||||
insert an item in such way that it will become the
|
||||
first array element.
|
||||
|
||||
Please see \helpref{Add()}{wxarrayadd} for explanation of the differences
|
||||
between the overloaded versions of this function.
|
||||
|
||||
\membersection{wxArray::IsEmpty}\label{wxarrayisempty}
|
||||
|
||||
\constfunc{bool}{IsEmpty}{\void}
|
||||
|
||||
Returns TRUE if the array is empty, FALSE otherwise.
|
||||
|
||||
\membersection{wxArray::Item}\label{wxarrayitem}
|
||||
|
||||
\constfunc{T\&}{Item}{\param{size\_t }{index}}
|
||||
|
||||
Returns the item at the given position in the array. If {\it index} is out of
|
||||
bounds, an assert failure is raised in the debug builds but nothing special is
|
||||
done in the release build.
|
||||
|
||||
The returned value is of type "reference to the array element type" for all of
|
||||
the array classes.
|
||||
|
||||
\membersection{wxArray::Last}\label{wxarraylast}
|
||||
|
||||
\constfunc{T\&}{Last}{\void}
|
||||
|
||||
Returns the last element in the array, i.e. is the same as Item(GetCount() - 1).
|
||||
An assert failure is raised in the debug mode if the array is empty.
|
||||
|
||||
The returned value is of type "reference to the array element type" for all of
|
||||
the array classes.
|
||||
|
||||
\membersection{wxArray::Remove}\label{wxarrayremove}
|
||||
|
||||
\func{\void}{Remove}{\param{size\_t }{index}}
|
||||
|
||||
\func{\void}{Remove}{\param{T }{item}}
|
||||
|
||||
Removes the element from the array either by index or by value. When an element
|
||||
is removed from wxObjArray it is deleted by the array - use
|
||||
\helpref{Detach()}{wxobjarraydetach} if you don't want this to happen. On the
|
||||
other hand, when an object is removed from a wxArray nothing happens - you
|
||||
should delete the it manually if required:
|
||||
|
||||
\begin{verbatim}
|
||||
T *item = array[n];
|
||||
delete item;
|
||||
array.Remove(n)
|
||||
\end{verbatim}
|
||||
|
||||
See also \helpref{WX\_CLEAR\_ARRAY}{wxcleararray} macro which deletes all
|
||||
elements of a wxArray (supposed to contain pointers).
|
||||
|
||||
\membersection{wxArray::Shrink}\label{wxarrayshrink}
|
||||
|
||||
\func{void}{Shrink}{\void}
|
||||
|
||||
Frees all memory unused by the array. If the program knows that no new items
|
||||
will be added to the array it may call Shrink() to reduce its memory usage.
|
||||
However, if a new item is added to the array, some extra memory will be
|
||||
allocated again.
|
||||
|
||||
\membersection{wxArray::Sort}\label{wxarraysort}
|
||||
|
||||
\func{void}{Sort}{\param{CMPFUNC<T> }{compareFunction}}
|
||||
|
||||
The notation CMPFUNC<T> should be read as if we had the following declaration:
|
||||
|
||||
\begin{verbatim}
|
||||
template int CMPFUNC(T *first, T *second);
|
||||
\end{verbatim}
|
||||
|
||||
where {\it T} is the type of the array elements. I.e. it is a function returning
|
||||
{\it int} which is passed two arguments of type {\it T *}.
|
||||
|
||||
Sorts the array using the specified compare function: this function should
|
||||
return a negative, zero or positive value according to whether the first element
|
||||
passed to it is less than, equal to or greater than the second one.
|
||||
|
||||
wxSortedArray doesn't have this function because it is always sorted.
|
||||
|
@@ -1,210 +0,0 @@
|
||||
\section{\class{wxAutomationObject}}\label{wxautomationobject}
|
||||
|
||||
The {\bf wxAutomationObject} class represents an OLE automation object containing a single data member,
|
||||
an IDispatch pointer. It contains a number of functions that make it easy to perform
|
||||
automation operations, and set and get properties. The class makes heavy use of the \helpref{wxVariant}{wxvariant} class.
|
||||
|
||||
The usage of these classes is quite close to OLE automation usage in Visual Basic. The API is
|
||||
high-level, and the application can specify multiple properties in a single string. The following example
|
||||
gets the current Excel instance, and if it exists, makes the active cell bold.
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxAutomationObject excelObject;
|
||||
if (excelObject.GetInstance("Excel.Application"))
|
||||
excelObject.PutProperty("ActiveCell.Font.Bold", TRUE);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that this class works under Windows only, and currently only for Visual C++.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxVariant}{wxvariant}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAutomationObject::wxAutomationObject}\label{wxautomationobjectctor}
|
||||
|
||||
\func{}{wxAutomationObject}{\param{WXIDISPATCH*}{ dispatchPtr = NULL}}
|
||||
|
||||
Constructor, taking an optional IDispatch pointer which will be released when the
|
||||
object is deleted.
|
||||
|
||||
\membersection{wxAutomationObject::\destruct{wxAutomationObject}}\label{wxautomationobjectdtor}
|
||||
|
||||
\func{}{\destruct{wxAutomationObject}}{\void}
|
||||
|
||||
Destructor. If the internal IDispatch pointer is non-null, it will be released.
|
||||
|
||||
\membersection{wxAutomationObject::CallMethod}\label{wxautomationobjectcallmethod}
|
||||
|
||||
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\constfunc{wxVariant}{CallMethod}{\param{const wxString\&}{ method}, \param{...}{}}
|
||||
|
||||
Calls an automation method for this object. The first form takes a method name, number of
|
||||
arguments, and an array of variants. The second form takes a method name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxVariant res = obj.CallMethod("Sum", wxVariant(1.2), wxVariant(3.4));
|
||||
wxVariant res = obj.CallMethod("Sum", 1.2, 3.4);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it method} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects. For example:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
object.CallMethod("ActiveCell.Font.ShowDialog", "My caption");
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\membersection{wxAutomationObject::ConvertOleToVariant}\label{wxautomationobjectconvertoletovariant}
|
||||
|
||||
\constfunc{bool}{ConvertOleToVariant}{\param{const VARIANTARG\&}{ oleVariant}, \param{const wxVariant\&}{ variant}}
|
||||
|
||||
Converts the given VARIANTARG object to a wxVariant. IDispatch pointers are converted to the ``void*" type.
|
||||
|
||||
\membersection{wxAutomationObject::ConvertVariantToOle}\label{wxautomationobjectconvertvarianttoole}
|
||||
|
||||
\constfunc{bool}{ConvertVariantToOle}{\param{const wxVariant\&}{ variant}, \param{VARIANTARG\&}{ oleVariant}}
|
||||
|
||||
Converts the given wxVariant object to a VARIANTARG. The ``void*" type is assumed to be an
|
||||
IDispatch pointer.
|
||||
|
||||
\membersection{wxAutomationObject::CreateInstance}\label{wxautomationobjectcreateinstance}
|
||||
|
||||
\constfunc{bool}{CreateInstance}{\param{const wxString\&}{ classId}}
|
||||
|
||||
Creates a new object based on the class id, returning TRUE if the object was successfully created,
|
||||
or FALSE if not.
|
||||
|
||||
\membersection{wxAutomationObject::GetDispatchPtr}\label{wxautomationobjectgetdispatchptr}
|
||||
|
||||
\constfunc{IDispatch*}{GetDispatchPtr}{\void}
|
||||
|
||||
Gets the IDispatch pointer.
|
||||
|
||||
\membersection{wxAutomationObject::GetInstance}\label{wxautomationobjectgetinstance}
|
||||
|
||||
\constfunc{bool}{GetInstance}{\param{const wxString\&}{ classId}}
|
||||
|
||||
Retrieves the current object associated with a class id, and attaches the IDispatch pointer
|
||||
to this object. Returns TRUE if a pointer was succesfully retrieved, FALSE otherwise.
|
||||
|
||||
Note that this cannot cope with two instances of a given OLE object being active simultaneously,
|
||||
such as two copies of Excel running. Which object is referenced cannot currently be specified.
|
||||
|
||||
\membersection{wxAutomationObject::GetObject}\label{wxautomationobjectgetobject}
|
||||
|
||||
\constfunc{bool}{GetObject}{\param{wxAutomationObject\&}{obj} \param{const wxString\&}{ property},
|
||||
\param{int}{ noArgs = 0}, \param{wxVariant }{args[] = NULL}}
|
||||
|
||||
Retrieves a property from this object, assumed to be a dispatch pointer, and initialises {\it obj} with it.
|
||||
To avoid having to deal with IDispatch pointers directly, use this function in preference
|
||||
to \helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty} when retrieving objects
|
||||
from other objects.
|
||||
|
||||
Note that an IDispatch pointer is stored as a void* pointer in wxVariant objects.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAutomationObject::GetProperty}{wxautomationobjectgetproperty}
|
||||
|
||||
\membersection{wxAutomationObject::GetProperty}\label{wxautomationobjectgetproperty}
|
||||
|
||||
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\constfunc{wxVariant}{GetProperty}{\param{const wxString\&}{ property}, \param{...}{}}
|
||||
|
||||
Gets a property value from this object. The first form takes a property name, number of
|
||||
arguments, and an array of variants. The second form takes a property name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxVariant res = obj.GetProperty("Range", wxVariant("A1"));
|
||||
wxVariant res = obj.GetProperty("Range", "A1");
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it property} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects.
|
||||
|
||||
\membersection{wxAutomationObject::Invoke}\label{wxautomationobjectinvoke}
|
||||
|
||||
\constfunc{bool}{Invoke}{\param{const wxString\&}{ member}, \param{int}{ action},
|
||||
\param{wxVariant\& }{retValue}, \param{int}{ noArgs}, \param{wxVariant}{ args[]},
|
||||
\param{const wxVariant*}{ ptrArgs[] = 0}}
|
||||
|
||||
This function is a low-level implementation that allows access to the IDispatch Invoke function.
|
||||
It is not meant to be called directly by the application, but is used by other convenience functions.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{member}{The member function or property name.}
|
||||
|
||||
\docparam{action}{Bitlist: may contain DISPATCH\_PROPERTYPUT, DISPATCH\_PROPERTYPUTREF,
|
||||
DISPATCH\_METHOD.}
|
||||
|
||||
\docparam{retValue}{Return value (ignored if there is no return value)}.
|
||||
|
||||
\docparam{noArgs}{Number of arguments in {\it args} or {\it ptrArgs}.}
|
||||
|
||||
\docparam{args}{If non-null, contains an array of variants.}
|
||||
|
||||
\docparam{ptrArgs}{If non-null, contains an array of constant pointers to variants.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation was successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Two types of argument array are provided, so that when possible pointers are used for efficiency.
|
||||
|
||||
\membersection{wxAutomationObject::PutProperty}\label{wxautomationobjectputproperty}
|
||||
|
||||
\constfunc{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{int}{ noArgs},
|
||||
\param{wxVariant }{args[]}}
|
||||
|
||||
\func{bool}{PutProperty}{\param{const wxString\&}{ property}, \param{...}{}}
|
||||
|
||||
Puts a property value into this object. The first form takes a property name, number of
|
||||
arguments, and an array of variants. The second form takes a property name and zero to six
|
||||
constant references to variants. Since the variant class has constructors for the basic
|
||||
data types, and C++ provides temporary objects automatically, both of the following lines
|
||||
are syntactically valid:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
obj.PutProperty("Value", wxVariant(23));
|
||||
obj.PutProperty("Value", 23);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
Note that {\it property} can contain dot-separated property names, to save the application
|
||||
needing to call GetProperty several times using several temporary objects.
|
||||
|
||||
\membersection{wxAutomationObject::SetDispatchPtr}\label{wxautomationobjectsetdispatchptr}
|
||||
|
||||
\func{void}{SetDispatchPtr}{\param{WXIDISPATCH*}{ dispatchPtr}}
|
||||
|
||||
Sets the IDispatch pointer. This function does not check if there is already an IDispatch pointer.
|
||||
|
||||
You may need to cast from IDispatch* to WXIDISPATCH* when calling this function.
|
||||
|
Before Width: | Height: | Size: 225 B |
@@ -1,231 +0,0 @@
|
||||
\section{\class{wxBitmapButton}}\label{wxbitmapbutton}
|
||||
|
||||
A bitmap button is a control that contains a bitmap.
|
||||
It may be placed on a \helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed
|
||||
almost any other window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxButton}{wxbutton}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A bitmap button can be supplied with a single bitmap, and wxWindows will draw
|
||||
all button states using this bitmap. If the application needs more control, additional bitmaps for
|
||||
the selected state, unpressed focussed state, and greyed-out state may be supplied.
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxBU\_AUTODRAW}}{If
|
||||
this is specified, the button will be drawn automatically using the label bitmap only, providing
|
||||
a 3D-look border. If this style is not specified, the button will be drawn without borders and using all
|
||||
provided bitmaps.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton}{wxbutton}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBitmapButton::wxBitmapButton}\label{wxbitmapbuttonconstr}
|
||||
|
||||
\func{}{wxBitmapButton}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxBitmapButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxBitmap\& }{bitmap},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = wxBU\_AUTODRAW}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
|
||||
|
||||
Constructor, creating and showing a button.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Button identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{bitmap}{Bitmap to be displayed.}
|
||||
|
||||
\docparam{pos}{Button position.}
|
||||
|
||||
\docparam{size}{Button size. If the default size (-1, -1) is specified then the button is sized
|
||||
appropriately for the bitmap.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxBitmapButton}{wxbitmapbutton}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The {\it bitmap} parameter is normally the only bitmap you need to provide, and wxWindows will
|
||||
draw the button correctly in its different states. If you want more control, call
|
||||
any of the functions \helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}.
|
||||
|
||||
Note that the bitmap passed is smaller than the actual button created.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::Create}{wxbitmapbuttoncreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\membersection{wxBitmapButton::\destruct{wxBitmapButton}}
|
||||
|
||||
\func{}{\destruct{wxBitmapButton}}{\void}
|
||||
|
||||
Destructor, destroying the button.
|
||||
|
||||
\membersection{wxBitmapButton::Create}\label{wxbitmapbuttoncreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxBitmap\& }{bitmap},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
|
||||
|
||||
Button creation function for two-step creation. For more details, see \helpref{wxBitmapButton::wxBitmapButton}{wxbitmapbuttonconstr}.
|
||||
|
||||
\membersection{wxBitmapButton::GetBitmapDisabled}\label{wxbitmapbuttongetbitmapdisabled}
|
||||
|
||||
\constfunc{wxBitmap\&}{GetBitmapLabel}{\void}
|
||||
|
||||
Returns the bitmap for the disabled state.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A reference to the disabled state bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
|
||||
|
||||
\membersection{wxBitmapButton::GetBitmapFocus}\label{wxbitmapbuttongetbitmapfocus}
|
||||
|
||||
\constfunc{wxBitmap\&}{GetBitmapFocus}{\void}
|
||||
|
||||
Returns the bitmap for the focussed state.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A reference to the focussed state bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
|
||||
|
||||
\membersection{wxBitmapButton::GetBitmapLabel}\label{wxbitmapbuttongetbitmaplabel}
|
||||
|
||||
\constfunc{wxBitmap\&}{GetBitmapLabel}{\void}
|
||||
|
||||
Returns the label bitmap (the one passed to the constructor).
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A reference to the button's label bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel}
|
||||
|
||||
\membersection{wxBitmapButton::GetBitmapSelected}\label{wxbitmapbuttongetbitmapselected}
|
||||
|
||||
\constfunc{wxBitmap\&}{GetBitmapSelected}{\void}
|
||||
|
||||
Returns the bitmap for the selected state.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A reference to the selected state bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected}
|
||||
|
||||
\membersection{wxBitmapButton::SetBitmapDisabled}\label{wxbitmapbuttonsetbitmapdisabled}
|
||||
|
||||
\func{void}{SetBitmapDisabled}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap for the disabled button appearance.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap to set.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::GetBitmapDisabled}{wxbitmapbuttongetbitmapdisabled},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus}
|
||||
|
||||
\membersection{wxBitmapButton::SetBitmapFocus}\label{wxbitmapbuttonsetbitmapfocus}
|
||||
|
||||
\func{void}{SetBitmapFocus}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap for the button appearance when it has the keyboard focus.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap to set.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::GetBitmapFocus}{wxbitmapbuttongetbitmapfocus},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapSelected}{wxbitmapbuttonsetbitmapselected},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
|
||||
|
||||
\membersection{wxBitmapButton::SetBitmapLabel}\label{wxbitmapbuttonsetbitmaplabel}
|
||||
|
||||
\func{void}{SetBitmapLabel}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap label for the button.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap label to set.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This is the bitmap used for the unselected state, and for all other states
|
||||
if no other bitmaps are provided.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::GetBitmapLabel}{wxbitmapbuttongetbitmaplabel}
|
||||
|
||||
\membersection{wxBitmapButton::SetBitmapSelected}\label{wxbitmapbuttonsetbitmapselected}
|
||||
|
||||
\func{void}{SetBitmapSelected}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap for the selected (depressed) button appearance.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap to set.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton::GetBitmapSelected}{wxbitmapbuttongetbitmapselected},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapLabel}{wxbitmapbuttonsetbitmaplabel},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapFocus}{wxbitmapbuttonsetbitmapfocus},\rtfsp
|
||||
\helpref{wxBitmapButton::SetBitmapDisabled}{wxbitmapbuttonsetbitmapdisabled}
|
||||
|
@@ -1,686 +0,0 @@
|
||||
\section{\class{wxBitmap}}\label{wxbitmap}
|
||||
|
||||
%\overview{Overview}{wxbitmapoverview}
|
||||
%
|
||||
This class encapsulates the concept of a platform-dependent bitmap,
|
||||
either monochrome or colour.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap overview}{wxbitmapoverview},
|
||||
\helpref{supported bitmap file formats}{supportedbitmapformats},
|
||||
\helpref{wxDC::Blit}{wxdcblit},
|
||||
\helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}, \helpref{wxBitmap}{wxbitmap},
|
||||
\helpref{wxMemoryDC}{wxmemorydc}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBitmap::wxBitmap}\label{wxbitmapconstr}
|
||||
|
||||
\func{}{wxBitmap}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxBitmap}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
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.
|
||||
|
||||
\func{}{wxBitmap}{\param{const char}{ bits[]}, \param{int}{ width}, \param{int}{ height}\\
|
||||
\param{int}{ depth = 1}}
|
||||
|
||||
Creates a bitmap from an array of bits.
|
||||
|
||||
\func{}{wxBitmap}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||
|
||||
Creates a new bitmap.
|
||||
|
||||
\func{}{wxBitmap}{\param{const char**}{ bits}}
|
||||
|
||||
Creates a bitmap from XPM data.
|
||||
|
||||
\func{}{wxBitmap}{\param{const wxString\& }{name}, \param{long}{ type}}
|
||||
|
||||
Loads a bitmap from a file or resource.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bits}{Specifies an array of pixel values.}
|
||||
|
||||
\docparam{width}{Specifies the width of the bitmap.}
|
||||
|
||||
\docparam{height}{Specifies the height of the bitmap.}
|
||||
|
||||
\docparam{depth}{Specifies the depth of the bitmap. If this is omitted, the display depth of the
|
||||
screen is used.}
|
||||
|
||||
\docparam{name}{This can refer to a resource name under MS Windows, or a filename under MS Windows and X.
|
||||
Its meaning is determined by the {\it type} parameter.}
|
||||
|
||||
\docparam{type}{May be one of the following:
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP}}}{Load a Windows bitmap file.}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_BMP\_RESOURCE}}}{Load a Windows bitmap from the resource database.}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_GIF}}}{Load a GIF bitmap file.}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_XBM}}}{Load an X bitmap file.}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_XPM}}}{Load an XPM bitmap file.}
|
||||
\twocolitem{{\bf \indexit{wxBITMAP\_TYPE\_RESOURCE}}}{Load a Windows resource name.}
|
||||
\end{twocollist}
|
||||
|
||||
The validity of these flags depends on the platform and wxWindows configuration.
|
||||
If all possible wxWindows settings are used, the Windows platform supports BMP file, BMP resource,
|
||||
XPM data, and XPM. Under wxGTK, the available formats are BMP file, XPM data, XPM file, and PNG file.
|
||||
Under wxMotif, the available formats are XBM data, XBM file, XPM data, XPM file.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The first form constructs a bitmap object with no data; an assignment or another member function such as Create
|
||||
or LoadFile must be called subsequently.
|
||||
|
||||
The second and third forms provide copy constructors. Note that these do not copy the
|
||||
bitmap data, but instead a pointer to the data, keeping a reference count. They are therefore
|
||||
very efficient operations.
|
||||
|
||||
The fourth form constructs a bitmap from data whose type and value depends on
|
||||
the value of the {\it type} argument.
|
||||
|
||||
The fifth form constructs a (usually monochrome) bitmap from an array of pixel values, under both
|
||||
X and Windows.
|
||||
|
||||
The sixth form constructs a new bitmap.
|
||||
|
||||
The seventh form constructs a bitmap from pixmap (XPM) data, if wxWindows has been configured
|
||||
to incorporate this feature.
|
||||
|
||||
To use this constructor, you must first include an XPM file. For
|
||||
example, assuming that the file {\tt mybitmap.xpm} contains an XPM array
|
||||
of character pointers called mybitmap:
|
||||
|
||||
\begin{verbatim}
|
||||
#include "mybitmap.xpm"
|
||||
|
||||
...
|
||||
|
||||
wxBitmap *bitmap = new wxBitmap(mybitmap);
|
||||
\end{verbatim}
|
||||
|
||||
The eighth form constructs a bitmap from a file or resource. {\it name} can refer
|
||||
to a resource name under MS Windows, or a filename under MS Windows and X.
|
||||
|
||||
Under Windows, {\it type} defaults to wxBITMAP\_TYPE\_BMP\_RESOURCE.
|
||||
Under X, {\it type} defaults to wxBITMAP\_TYPE\_XPM.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}
|
||||
|
||||
\membersection{wxBitmap::\destruct{wxBitmap}}
|
||||
|
||||
\func{}{\destruct{wxBitmap}}{\void}
|
||||
|
||||
Destroys the wxBitmap object and possibly the underlying bitmap data.
|
||||
Because reference counting is used, the bitmap may not actually be
|
||||
destroyed at this point - only when the reference count is zero will the
|
||||
data be deleted.
|
||||
|
||||
If the application omits to delete the bitmap explicitly, the bitmap will be
|
||||
destroyed automatically by wxWindows when the application exits.
|
||||
|
||||
Do not delete a bitmap that is selected into a memory device context.
|
||||
|
||||
\membersection{wxBitmap::AddHandler}\label{wxbitmapaddhandler}
|
||||
|
||||
\func{static void}{AddHandler}{\param{wxBitmapHandler*}{ handler}}
|
||||
|
||||
Adds a handler to the end of the static list of format handlers.
|
||||
|
||||
\docparam{handler}{A new bitmap format handler object. There is usually only one instance
|
||||
of a given handler class in an application session.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::CleanUpHandlers}
|
||||
|
||||
\func{static void}{CleanUpHandlers}{\void}
|
||||
|
||||
Deletes all bitmap handlers.
|
||||
|
||||
This function is called by wxWindows on exit.
|
||||
|
||||
\membersection{wxBitmap::Create}
|
||||
|
||||
\func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
|
||||
|
||||
Creates a fresh bitmap. If the final argument is omitted, the display depth of
|
||||
the screen is used.
|
||||
|
||||
\func{virtual bool}{Create}{\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.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{width}{The width of the bitmap in pixels.}
|
||||
|
||||
\docparam{height}{The height of the bitmap in pixels.}
|
||||
|
||||
\docparam{depth}{The depth of the bitmap in pixels. If this is -1, the screen depth is used.}
|
||||
|
||||
\docparam{data}{Data whose type depends on the value of {\it type}.}
|
||||
|
||||
\docparam{type}{A bitmap type identifier - see \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for a list
|
||||
of possible values.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the call succeeded, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The first form works on all platforms. The portability of the second form depends on the
|
||||
type of data.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::wxBitmap}{wxbitmapconstr}
|
||||
|
||||
\membersection{wxBitmap::FindHandler}
|
||||
|
||||
\func{static wxBitmapHandler*}{FindHandler}{\param{const wxString\& }{name}}
|
||||
|
||||
Finds the handler with the given name.
|
||||
|
||||
\func{static wxBitmapHandler*}{FindHandler}{\param{const wxString\& }{extension}, \param{long}{ bitmapType}}
|
||||
|
||||
Finds the handler associated with the given extension and type.
|
||||
|
||||
\func{static wxBitmapHandler*}{FindHandler}{\param{long }{bitmapType}}
|
||||
|
||||
Finds the handler associated with the given bitmap type.
|
||||
|
||||
\docparam{name}{The handler name.}
|
||||
|
||||
\docparam{extension}{The file extension, such as ``bmp".}
|
||||
|
||||
\docparam{bitmapType}{The bitmap type, such as wxBITMAP\_TYPE\_BMP.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A pointer to the handler if found, NULL otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::GetDepth}
|
||||
|
||||
\constfunc{int}{GetDepth}{\void}
|
||||
|
||||
Gets the colour depth of the bitmap. A value of 1 indicates a
|
||||
monochrome bitmap.
|
||||
|
||||
\membersection{wxBitmap::GetHandlers}
|
||||
|
||||
\func{static wxList\&}{GetHandlers}{\void}
|
||||
|
||||
Returns the static list of bitmap format handlers.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::GetHeight}\label{wxbitmapgetheight}
|
||||
|
||||
\constfunc{int}{GetHeight}{\void}
|
||||
|
||||
Gets the height of the bitmap in pixels.
|
||||
|
||||
\membersection{wxBitmap::GetPalette}\label{wxbitmapgetpalette}
|
||||
|
||||
\constfunc{wxPalette*}{GetPalette}{\void}
|
||||
|
||||
Gets the associated palette (if any) which may have been loaded from a file
|
||||
or set for the bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxPalette}{wxpalette}
|
||||
|
||||
\membersection{wxBitmap::GetMask}\label{wxbitmapgetmask}
|
||||
|
||||
\constfunc{wxMask*}{GetMask}{\void}
|
||||
|
||||
Gets the associated mask (if any) which may have been loaded from a file
|
||||
or set for the bitmap.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::SetMask}{wxbitmapsetmask}, \helpref{wxMask}{wxmask}
|
||||
|
||||
\membersection{wxBitmap::GetWidth}\label{wxbitmapgetwidth}
|
||||
|
||||
\constfunc{int}{GetWidth}{\void}
|
||||
|
||||
Gets the width of the bitmap in pixels.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::GetHeight}{wxbitmapgetheight}
|
||||
|
||||
\membersection{wxBitmap::InitStandardHandlers}
|
||||
|
||||
\func{static void}{InitStandardHandlers}{\void}
|
||||
|
||||
Adds the standard bitmap format handlers, which, depending on wxWindows
|
||||
configuration, can be handlers for Windows bitmap, Windows bitmap resource, and XPM.
|
||||
|
||||
This function is called by wxWindows on startup.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::InsertHandler}
|
||||
|
||||
\func{static void}{InsertHandler}{\param{wxBitmapHandler*}{ handler}}
|
||||
|
||||
Adds a handler at the start of the static list of format handlers.
|
||||
|
||||
\docparam{handler}{A new bitmap format handler object. There is usually only one instance
|
||||
of a given handler class in an application session.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::LoadFile}\label{wxbitmaploadfile}
|
||||
|
||||
\func{bool}{LoadFile}{\param{const wxString\&}{ name}, \param{long}{ type}}
|
||||
|
||||
Loads a bitmap from a file or resource.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{Either a filename or a Windows resource name.
|
||||
The meaning of {\it name} is determined by the {\it type} parameter.}
|
||||
|
||||
\docparam{type}{One of the following values:
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Load a Windows bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_BMP\_RESOURCE}}{Load a Windows bitmap from the resource database.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_GIF}}{Load a GIF bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_XBM}}{Load an X bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Load an XPM bitmap file.}
|
||||
\end{twocollist}
|
||||
|
||||
The validity of these flags depends on the platform and wxWindows configuration.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation succeeded, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A palette may be associated with the bitmap if one exists (especially for
|
||||
colour Windows bitmaps), and if the code supports it. You can check
|
||||
if one has been created by using the \helpref{GetPalette}{wxbitmapgetpalette} member.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::SaveFile}{wxbitmapsavefile}
|
||||
|
||||
\membersection{wxBitmap::Ok}\label{wxbitmapok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if bitmap data is present.
|
||||
|
||||
\membersection{wxBitmap::RemoveHandler}
|
||||
|
||||
\func{static bool}{RemoveHandler}{\param{const wxString\& }{name}}
|
||||
|
||||
Finds the handler with the given name, and removes it. The handler
|
||||
is not deleted.
|
||||
|
||||
\docparam{name}{The handler name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the handler was found and removed, FALSE otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapHandler}{wxbitmaphandler}
|
||||
|
||||
\membersection{wxBitmap::SaveFile}\label{wxbitmapsavefile}
|
||||
|
||||
\func{bool}{SaveFile}{\param{const wxString\& }{name}, \param{int}{ type}, \param{wxPalette* }{palette = NULL}}
|
||||
|
||||
Saves a bitmap in the named file.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{A filename. The meaning of {\it name} is determined by the {\it type} parameter.}
|
||||
|
||||
\docparam{type}{One of the following values:
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_BMP}}{Save a Windows bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_GIF}}{Save a GIF bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_XBM}}{Save an X bitmap file.}
|
||||
\twocolitem{{\bf wxBITMAP\_TYPE\_XPM}}{Save an XPM bitmap file.}
|
||||
\end{twocollist}
|
||||
|
||||
The validity of these flags depends on the platform and wxWindows configuration.}
|
||||
|
||||
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
|
||||
probably be eliminated; instead the app should set the palette before saving.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation succeeded, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Depending on how wxWindows has been configured, not all formats may be available.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}
|
||||
|
||||
\membersection{wxBitmap::SetDepth}\label{wxbitmapsetdepth}
|
||||
|
||||
\func{void}{SetDepth}{\param{int }{depth}}
|
||||
|
||||
Sets the depth member (does not affect the bitmap data).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{depth}{Bitmap depth.}
|
||||
|
||||
\membersection{wxBitmap::SetHeight}\label{wxbitmapsetheight}
|
||||
|
||||
\func{void}{SetHeight}{\param{int }{height}}
|
||||
|
||||
Sets the height member (does not affect the bitmap data).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{height}{Bitmap height in pixels.}
|
||||
|
||||
\membersection{wxBitmap::SetMask}\label{wxbitmapsetmask}
|
||||
|
||||
\func{void}{SetMask}{\param{wxMask* }{mask}}
|
||||
|
||||
Sets the mask for this bitmap.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The bitmap object owns the mask once this has been called.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::GetMask}{wxbitmapgetmask}, \helpref{wxMask}{wxmask}
|
||||
|
||||
\membersection{wxBitmap::SetOk}
|
||||
|
||||
\func{void}{SetOk}{\param{int }{isOk}}
|
||||
|
||||
Sets the validity member (does not affect the bitmap data).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{isOk}{Validity flag.}
|
||||
|
||||
\membersection{wxBitmap::SetPalette}\label{wxbitmapsetpalette}
|
||||
|
||||
\func{void}{SetPalette}{\param{wxPalette* }{palette}}
|
||||
|
||||
Sets the associated palette: it will be deleted in the wxBitmap
|
||||
destructor, so if you do not wish it to be deleted automatically,
|
||||
reset the palette to NULL before the bitmap is deleted.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{palette}{The palette to set.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The bitmap object owns the palette once this has been called.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxPalette}{wxpalette}
|
||||
|
||||
\membersection{wxBitmap::SetWidth}
|
||||
|
||||
\func{void}{SetWidth}{\param{int }{width}}
|
||||
|
||||
Sets the width member (does not affect the bitmap data).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{width}{Bitmap width in pixels.}
|
||||
|
||||
\membersection{wxBitmap::operator $=$}
|
||||
|
||||
\func{wxBitmap\& }{operator $=$}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Assignment operator. This operator does not copy any data, but instead
|
||||
passes a pointer to the data in {\it bitmap} and increments a reference
|
||||
counter. It is a fast operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{Bitmap to assign.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 'this' object.
|
||||
|
||||
\membersection{wxBitmap::operator $==$}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Equality operator. This operator tests whether the internal data pointers are
|
||||
equal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{Bitmap to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the bitmaps were effectively equal, FALSE otherwise.
|
||||
|
||||
\membersection{wxBitmap::operator $!=$}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Inequality operator. This operator tests whether the internal data pointers are
|
||||
unequal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{Bitmap to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the bitmaps were unequal, FALSE otherwise.
|
||||
|
||||
\section{\class{wxBitmapHandler}}\label{wxbitmaphandler}
|
||||
|
||||
\overview{Overview}{wxbitmapoverview}
|
||||
|
||||
This is the base class for implementing bitmap file loading/saving, and bitmap creation from data.
|
||||
It is used within wxBitmap and is not normally seen by the application.
|
||||
|
||||
If you wish to extend the capabilities of wxBitmap, derive a class from wxBitmapHandler
|
||||
and add the handler using \helpref{wxBitmap::AddHandler}{wxbitmapaddhandler} in your
|
||||
application initialisation.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap}{wxbitmap}, \helpref{wxIcon}{wxicon}, \helpref{wxCursor}{wxcursor}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBitmapHandler::wxBitmapHandler}\label{wxbitmaphandlerconstr}
|
||||
|
||||
\func{}{wxBitmapHandler}{\void}
|
||||
|
||||
Default constructor. In your own default constructor, initialise the members
|
||||
m\_name, m\_extension and m\_type.
|
||||
|
||||
\membersection{wxBitmapHandler::\destruct{wxBitmapHandler}}
|
||||
|
||||
\func{}{\destruct{wxBitmapHandler}}{\void}
|
||||
|
||||
Destroys the wxBitmapHandler object.
|
||||
|
||||
\membersection{wxBitmapHandler::Create}
|
||||
|
||||
\func{virtual bool}{Create}{\param{wxBitmap* }{bitmap}, \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. The wxBitmap object {\it bitmap} is
|
||||
manipulated by this function.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The wxBitmap object.}
|
||||
|
||||
\docparam{width}{The width of the bitmap in pixels.}
|
||||
|
||||
\docparam{height}{The height of the bitmap in pixels.}
|
||||
|
||||
\docparam{depth}{The depth of the bitmap in pixels. If this is -1, the screen depth is used.}
|
||||
|
||||
\docparam{data}{Data whose type depends on the value of {\it type}.}
|
||||
|
||||
\docparam{type}{A bitmap type identifier - see \helpref{wxBitmapHandler::wxBitmapHandler}{wxbitmapconstr} for a list
|
||||
of possible values.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the call succeeded, FALSE otherwise (the default).
|
||||
|
||||
\membersection{wxBitmapHandler::GetName}
|
||||
|
||||
\constfunc{wxString}{GetName}{\void}
|
||||
|
||||
Gets the name of this handler.
|
||||
|
||||
\membersection{wxBitmapHandler::GetExtension}
|
||||
|
||||
\constfunc{wxString}{GetExtension}{\void}
|
||||
|
||||
Gets the file extension associated with this handler.
|
||||
|
||||
\membersection{wxBitmapHandler::GetType}
|
||||
|
||||
\constfunc{long}{GetType}{\void}
|
||||
|
||||
Gets the bitmap type associated with this handler.
|
||||
|
||||
\membersection{wxBitmapHandler::LoadFile}\label{wxbitmaphandlerloadfile}
|
||||
|
||||
\func{bool}{LoadFile}{\param{wxBitmap* }{bitmap}, \param{const wxString\&}{ name}, \param{long}{ type}}
|
||||
|
||||
Loads a bitmap from a file or resource, putting the resulting data into {\it bitmap}.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap object which is to be affected by this operation.}
|
||||
|
||||
\docparam{name}{Either a filename or a Windows resource name.
|
||||
The meaning of {\it name} is determined by the {\it type} parameter.}
|
||||
|
||||
\docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation succeeded, FALSE otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}\\
|
||||
\helpref{wxBitmap::SaveFile}{wxbitmapsavefile}\\
|
||||
\helpref{wxBitmapHandler::SaveFile}{wxbitmaphandlersavefile}
|
||||
|
||||
\membersection{wxBitmapHandler::SaveFile}\label{wxbitmaphandlersavefile}
|
||||
|
||||
\func{bool}{SaveFile}{\param{wxBitmap* }{bitmap}, \param{const wxString\& }{name}, \param{int}{ type}, \param{wxPalette* }{palette = NULL}}
|
||||
|
||||
Saves a bitmap in the named file.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap object which is to be affected by this operation.}
|
||||
|
||||
\docparam{name}{A filename. The meaning of {\it name} is determined by the {\it type} parameter.}
|
||||
|
||||
\docparam{type}{See \helpref{wxBitmap::wxBitmap}{wxbitmapconstr} for values this can take.}
|
||||
|
||||
\docparam{palette}{An optional palette used for saving the bitmap. TODO: this parameter should
|
||||
probably be eliminated; instead the app should set the palette before saving.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if the operation succeeded, FALSE otherwise.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap::LoadFile}{wxbitmaploadfile}\\
|
||||
\helpref{wxBitmap::SaveFile}{wxbitmapsavefile}\\
|
||||
\helpref{wxBitmapHandler::LoadFile}{wxbitmaphandlerloadfile}
|
||||
|
||||
\membersection{wxBitmapHandler::SetName}
|
||||
|
||||
\func{void}{SetName}{\param{const wxString\& }{name}}
|
||||
|
||||
Sets the handler name.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{Handler name.}
|
||||
|
||||
\membersection{wxBitmapHandler::SetExtension}
|
||||
|
||||
\func{void}{SetExtension}{\param{const wxString\& }{extension}}
|
||||
|
||||
Sets the handler extension.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{extension}{Handler extension.}
|
||||
|
||||
\membersection{wxBitmapHandler::SetType}
|
||||
|
||||
\func{void}{SetType}{\param{long }{type}}
|
||||
|
||||
Sets the handler type.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{name}{Handler type.}
|
||||
|
||||
|
@@ -1,38 +0,0 @@
|
||||
\section{\class{wxBitmapDataObject}}\label{wxbitmapdataobject}
|
||||
|
||||
wxBitmapDataObject is a specialization of wxDataObject for bitmaps.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxDataObject}{wxdataobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDataObject}{wxdataobject}, \helpref{wxBitmap}{wxbitmap}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBitmapDataObject::wxBitmapDataObject}\label{wxbitmapdataobjectwxbitmapdataobject}
|
||||
|
||||
\func{}{wxBitmapDataObject}{\void}
|
||||
|
||||
Constructor. TODO: shouldn't there be a constructor taking a wxBitmap?
|
||||
|
||||
\membersection{wxBitmapDataObject::GetFormat}\label{wxbitmapdataobjectgetformat}
|
||||
|
||||
\func{virtual wxDataFormat}{GetFormat}{\void}
|
||||
|
||||
Returns wxDF\_BITMAP.
|
||||
|
||||
\membersection{wxBitmapDataObject::SetBitmap}\label{wxbitmapdataobjectsetbitmap}
|
||||
|
||||
\func{virtual void}{SetBitmap}{\param{const wxBitmap\& }{bitmap}}
|
||||
|
||||
Sets the bitmap for the data object.
|
||||
|
||||
\membersection{wxBitmapDataObject::GetBitmap}\label{wxbitmapdataobjectgetbitmap}
|
||||
|
||||
\constfunc{virtual wxBitmap}{GetBitmap}{\void}
|
||||
|
||||
Returns the bitmap associated with the data object.
|
||||
|
@@ -1,719 +0,0 @@
|
||||
\chapter{Introduction}\label{introduction}
|
||||
\pagenumbering{arabic}%
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
\section{What is wxWindows?}
|
||||
|
||||
wxWindows is a C++ framework providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.0 currently
|
||||
supports MS Windows (16-bit, Windows 95 and Windows NT) and GTK+, with Motif
|
||||
and Mac ports in an advanced state.
|
||||
|
||||
wxWindows was originally developed at the Artificial Intelligence
|
||||
Applications Institute, University of Edinburgh, for internal use.
|
||||
wxWindows has been released into the public domain in the hope
|
||||
that others will also find it useful. Version 2.0 is written and
|
||||
maintained by Julian Smart, Robert Roebling and others.
|
||||
|
||||
This manual discusses wxWindows in the context of multi-platform
|
||||
development.\helpignore{For more detail on the wxWindows version 2.0 API
|
||||
(Application Programming Interface) please refer to the separate
|
||||
wxWindows reference manual.}
|
||||
|
||||
Please note that in the following, ``MS Windows" often refers to all
|
||||
platforms related to Microsoft Windows, including 16-bit and 32-bit
|
||||
variants, unless otherwise stated. All trademarks are acknowledged.
|
||||
|
||||
\section{Why another cross-platform development tool?}
|
||||
|
||||
wxWindows was developed to provide a cheap and flexible way to maximize
|
||||
investment in GUI application development. While a number of commercial
|
||||
class libraries already existed for cross-platform development,
|
||||
none met all of the following criteria:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item low price;
|
||||
\item source availability;
|
||||
\item simplicity of programming;
|
||||
\item support for a wide range of compilers.
|
||||
\end{enumerate}
|
||||
|
||||
Since wxWindows was started, several other free or almost-free GUI frameworks have
|
||||
emerged. However, none has the range of features, flexibility, documentation and the
|
||||
well-established development team that wxWindows has.
|
||||
|
||||
As public domain software and a project open to everyone, wxWindows has
|
||||
benefited from comments, ideas, bug fixes, enhancements and the sheer
|
||||
enthusiasm of users, especially via the Internet. This gives wxWindows a
|
||||
certain advantage over its commercial competitors (and over free libraries
|
||||
without an independent development team), plus a robustness against
|
||||
the transience of one individual or company. This openness and
|
||||
availability of source code is especially important when the future of
|
||||
thousands of lines of application code may depend upon the longevity of
|
||||
the underlying class library.
|
||||
|
||||
Version 2.0 goes much further than previous versions in terms of generality and features,
|
||||
allowing applications to be produced
|
||||
that are often indistinguishable from those produced using single-platform
|
||||
toolkits such as Motif and MFC.
|
||||
|
||||
The importance of using a platform-independent class library cannot be
|
||||
overstated, since GUI application development is very time-consuming,
|
||||
and sustained popularity of particular GUIs cannot be guaranteed.
|
||||
Code can very quickly become obsolete if it addresses the wrong
|
||||
platform or audience. wxWindows helps to insulate the programmer from
|
||||
these winds of change. Although wxWindows may not be suitable for
|
||||
every application (such as an OLE-intensive program), it provides access to most of the functionality a
|
||||
GUI program normally requires, plus some extras such as network programming
|
||||
and PostScript output, and can of course be extended as needs dictate. As a bonus, it provides
|
||||
a cleaner programming interface than the native
|
||||
APIs. Programmers may find it worthwhile to use wxWindows even if they
|
||||
are developing on only one platform.
|
||||
|
||||
It is impossible to sum up the functionality of wxWindows in a few paragraphs, but
|
||||
here are some of the benefits:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Low cost (free, in fact!)
|
||||
\item You get the source.
|
||||
\item Available on a variety of popular platforms.
|
||||
\item Works with almost all popular C++ compilers.
|
||||
\item Several example programs.
|
||||
\item Over 700 pages of printable and on-line documentation.
|
||||
\item Includes Tex2RTF, to allow you to produce your own documentation
|
||||
in Windows Help, HTML and Word RTF formats.
|
||||
\item Simple-to-use, object-oriented API.
|
||||
\item Flexible event system.
|
||||
\item Graphics calls include lines, rounded rectangles, splines, polylines, etc.
|
||||
\item Constraint-based layout option.
|
||||
\item Print/preview and document/view architectures.
|
||||
\item Toolbar, notebook, tree control, advanced list control classes.
|
||||
\item PostScript generation under Unix, normal MS Windows printing on the
|
||||
PC.
|
||||
\item MDI (Multiple Document Interface) support.
|
||||
\item Can be used to create DLLs under Windows, dynamic libraries on Unix.
|
||||
\item Common dialogs for file browsing, printing, colour selection, etc.
|
||||
\item Under MS Windows, support for creating metafiles and copying
|
||||
them to the clipboard.
|
||||
\item An API for invoking help from applications.
|
||||
\item Dialog Editor for building dialogs.
|
||||
\item Network support via a family of socket and protocol classes.
|
||||
\end{itemize}
|
||||
|
||||
\section{Changes from version 1.xx}\label{versionchanges}
|
||||
|
||||
These are a few of the major differences between versions 1.xx and 2.0.
|
||||
|
||||
Removals:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item XView is no longer supported;
|
||||
\item all controls (panel items) no longer have labels attached to them;
|
||||
\item wxForm has been removed;
|
||||
\item wxCanvasDC, wxPanelDC removed (replaced by wxClientDC, wxWindowDC, wxPaintDC which
|
||||
can be used for any window);
|
||||
\item wxMultiText, wxTextWindow, wxText removed and replaced by wxTextCtrl;
|
||||
\item classes no longer divided into generic and platform-specific parts, for efficiency.
|
||||
\end{itemize}
|
||||
|
||||
Additions and changes:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item class hierarchy changed, and restrictions about subwindow nesting lifted;
|
||||
\item header files reorganised to conform to normal C++ standards;
|
||||
\item classes less dependent on each another, to reduce executable size;
|
||||
\item wxString used instead of char* wherever possible;
|
||||
\item the number of separate but mandatory utilities reduced;
|
||||
\item the event system has been overhauled, with
|
||||
virtual functions and callbacks being replaced with MFC-like event tables;
|
||||
\item new controls, such as wxTreeCtrl, wxListCtrl, wxSpinButton;
|
||||
\item less inconsistency about what events can be handled, so for example
|
||||
mouse clicks or key presses on controls can now be intercepted;
|
||||
\item the status bar is now a separate class, wxStatusBar, and is
|
||||
implemented in generic wxWindows code;
|
||||
\item some renaming of controls for greater consistency;
|
||||
\item wxBitmap has the notion of bitmap handlers to allow for extension to new formats
|
||||
without ifdefing;
|
||||
\item new dialogs: wxPageSetupDialog, wxFileDialog, wxDirDialog,
|
||||
wxMessageDialog, wxSingleChoiceDialog, wxTextEntryDialog;
|
||||
\item GDI objects are reference-counted and are now passed to most functions
|
||||
by reference, making memory management far easier;
|
||||
\item wxSystemSettings class allows querying for various system-wide properties
|
||||
such as dialog font, colours, user interface element sizes, and so on;
|
||||
\item better platform look and feel conformance;
|
||||
\item toolbar functionality now separated out into a family of classes with the
|
||||
same API;
|
||||
\item device contexts are no longer accessed using wxWindow::GetDC - they are created
|
||||
temporarily with the window as an argument;
|
||||
\item events from sliders and scrollbars can be handled more flexibly;
|
||||
\item the handling of window close events has been changed in line with the new
|
||||
event system, but backward {\bf OnClose} compatibility has been retained;
|
||||
\item the concept of {\it validator} has been added to allow much easier coding of
|
||||
the relationship between controls and application data;
|
||||
\item the documentation has been revised, with more cross-referencing.
|
||||
\end{itemize}
|
||||
|
||||
Platform-specific changes:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item The Windows header file (windows.h) is no longer included by wxWindows headers;
|
||||
\item wx.dll supported under Visual C++;
|
||||
\item the full range of Windows 95 window decorations are supported, such as modal frame
|
||||
borders;
|
||||
\item MDI classes brought out of wxFrame into separate classes, and made more flexible.
|
||||
\end{itemize}
|
||||
|
||||
\section{wxWindows requirements}\label{requirements}
|
||||
|
||||
To make use of wxWindows, you currently need one or both of the
|
||||
following setups.
|
||||
|
||||
(a) PC:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item A 486 or higher PC running MS Windows.
|
||||
\item A Windows compiler: most are supported, but please see {\tt install.txt} for
|
||||
details. Supported compilers include Microsoft Visual C++ 4.0 or higher, Borland C++, Cygwin,
|
||||
Metrowerks CodeWarrior.
|
||||
\item At least 60 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
(b) Unix:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Almost any C++ compiler, including GNU C++.
|
||||
\item Almost any Unix workstation, and one of: GTK+ 1.0, Motif 1.2 or higher, Lesstif.
|
||||
\item At least 60 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
\section{Availability and location of wxWindows}
|
||||
|
||||
wxWindows is currently available from the Artificial Intelligence
|
||||
Applications Institute by anonymous FTP and World Wide Web:
|
||||
|
||||
\begin{verbatim}
|
||||
ftp://www.remstar.com/pub/wxwin
|
||||
http://web.ukonline.co.uk/julian.smart/wxwin
|
||||
\end{verbatim}
|
||||
|
||||
\section{Acknowledgments}
|
||||
|
||||
Thanks are due to AIAI for being willing to release the original version of
|
||||
wxWindows into the public domain, and to our patient partners.
|
||||
|
||||
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
|
||||
the project over the years. Apologies for any unintentional omissions from this list.
|
||||
|
||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
||||
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
|
||||
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
|
||||
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
||||
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
||||
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
|
||||
|
||||
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||
been used in wxGraphLayout with his permission.
|
||||
|
||||
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
||||
from the source of which we have borrowed some spline drawing code.
|
||||
His copyright is included below.
|
||||
|
||||
{\it XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
|
||||
use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided
|
||||
that the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of M.I.T. not be used in advertising or
|
||||
publicity pertaining to distribution of the software without specific,
|
||||
written prior permission. M.I.T. makes no representations about the
|
||||
suitability of this software for any purpose. It is provided ``as is''
|
||||
without express or implied warranty.}
|
||||
|
||||
\chapter{Multi-platform development with wxWindows}\label{multiplat}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
This chapter describes the practical details of using wxWindows. Please
|
||||
see the file install.txt for up-to-date installation instructions, and
|
||||
changes.txt for differences between versions.
|
||||
|
||||
\section{Include files}
|
||||
|
||||
The main include file is {\tt "wx/wx.h"}; this includes the most commonly
|
||||
used modules of wxWindows.
|
||||
|
||||
To save on compilation time, include only those header files relevant to the
|
||||
source file. If you are using precompiled headers, you should include
|
||||
the following section before any other includes:
|
||||
|
||||
\begin{verbatim}
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include <wx/wxprec.h>
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
// Include your minimal set of headers here, or wx.h
|
||||
#include <wx/wx.h>
|
||||
#endif
|
||||
|
||||
... now your other include files ...
|
||||
\end{verbatim}
|
||||
|
||||
The file {\tt "wx/wxprec.h"} includes {\tt "wx/wx.h"}. Although this incantation
|
||||
may seem quirky, it is in fact the end result of a lot of experimentation,
|
||||
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
|
||||
and Watcom C++).
|
||||
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.h"} as
|
||||
the file to use for precompilation. Watcom C++ is automatic apart from the specification of
|
||||
the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for
|
||||
object files compiled in the same directory as that in which the precompiled header was created.
|
||||
Therefore, the wxWindows Watcom C++ makefiles go through hoops deleting and recreating
|
||||
a single precompiled header file for each module, thus preventing an accumulation of many
|
||||
multi-megabyte .pch files.
|
||||
|
||||
\section{Libraries}
|
||||
|
||||
Please the wxGTK or wxMotif documentation for use of the Unix version of wxWindows.
|
||||
Under Windows, use the library wx.lib for stand-alone Windows
|
||||
applications, or wxdll.lib for creating DLLs.
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
Options are configurable in the file
|
||||
\rtfsp{\tt "wx/XXX/setup.h"} where XXX is the required platform (such as msw, motif, gtk, mac). Some settings are a matter
|
||||
of taste, some help with platform-specific problems, and
|
||||
others can be set to minimize the size of the library. Please see the setup.h file
|
||||
and {\tt install.txt} files for details on configuration.
|
||||
|
||||
\section{Makefiles}
|
||||
|
||||
At the moment there is no attempt to make Unix makefiles and
|
||||
PC makefiles compatible, i.e. one makefile is required for
|
||||
each environment. wxGTK has its own configure system which can also
|
||||
be used with wxMotif, although wxMotif has a simple makefile system of its own.
|
||||
|
||||
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
C++ (.BCC and .B32) and Symantec C++ (.SC) are included for the library, demos
|
||||
and utilities.
|
||||
|
||||
The controlling makefile for wxWindows is in the platform-specific
|
||||
directory, such as {\tt src/msw} or {\tt src/motif}.
|
||||
|
||||
Please see the platform-specific {\tt install.txt} file for further details.
|
||||
|
||||
\section{Windows-specific files}
|
||||
|
||||
wxWindows application compilation under MS Windows requires at least two
|
||||
extra files, resource and module definition files.
|
||||
|
||||
\subsection{Resource file}\label{resources}
|
||||
|
||||
The least that must be defined in the Windows resource file (extension RC)
|
||||
is the following statement:
|
||||
|
||||
\begin{verbatim}
|
||||
rcinclude "wx/msw/wx.rc"
|
||||
\end{verbatim}
|
||||
|
||||
which includes essential internal wxWindows definitions. The resource script
|
||||
may also contain references to icons, cursors, etc., for example:
|
||||
|
||||
\begin{verbatim}
|
||||
wxicon icon wx.ico
|
||||
\end{verbatim}
|
||||
|
||||
The icon can then be referenced by name when creating a frame icon. See
|
||||
the MS Windows SDK documentation.
|
||||
|
||||
\normalbox{Note: include wx.rc {\it after} any ICON statements
|
||||
so programs that search your executable for icons (such
|
||||
as the Program Manager) find your application icon first.}
|
||||
|
||||
\subsection{Module definition file}
|
||||
|
||||
A module definition file (extension DEF) is required for 16-bit applications, and
|
||||
looks like the following:
|
||||
|
||||
\begin{verbatim}
|
||||
NAME Hello
|
||||
DESCRIPTION 'Hello'
|
||||
EXETYPE WINDOWS
|
||||
STUB 'WINSTUB.EXE'
|
||||
CODE PRELOAD MOVEABLE DISCARDABLE
|
||||
DATA PRELOAD MOVEABLE MULTIPLE
|
||||
HEAPSIZE 1024
|
||||
STACKSIZE 8192
|
||||
\end{verbatim}
|
||||
|
||||
The only lines which will usually have to be changed per application are
|
||||
NAME and DESCRIPTION.
|
||||
|
||||
\subsection{Allocating and deleting wxWindows objects}
|
||||
|
||||
In general, classes derived from wxWindow must dynamically allocated
|
||||
with {\it new} and deleted with {\it delete}. If you delete a window,
|
||||
all of its children and descendants will be automatically deleted,
|
||||
so you don't need to delete these descendants explicitly.
|
||||
|
||||
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
||||
that the wxWindows delayed deletion can take effect. This waits until idle time
|
||||
(when all messages have been processed) to actually delete the window, to avoid
|
||||
problems associated with the GUI sending events to deleted windows.
|
||||
|
||||
Don't create a window on the stack, because this will interfere
|
||||
with delayed deletion.
|
||||
|
||||
If you decide to allocate a C++ array of objects (such as wxBitmap) that may
|
||||
be cleaned up by wxWindows, make sure you delete the array explicitly
|
||||
before wxWindows has a chance to do so on exit, since calling {\it delete} on
|
||||
array members will cause memory problems.
|
||||
|
||||
wxColour can be created statically: it is not automatically cleaned
|
||||
up and is unlikely to be shared between other objects; it is lightweight
|
||||
enough for copies to be made.
|
||||
|
||||
Beware of deleting objects such as a wxPen or wxBitmap if they are still in use.
|
||||
Windows is particularly sensitive to this: so make sure you
|
||||
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting
|
||||
a drawing object that may be in use. Code that doesn't do this will probably work
|
||||
fine on some platforms, and then fail under Windows.
|
||||
|
||||
\section{Conditional compilation}
|
||||
|
||||
One of the purposes of wxWindows is to reduce the need for conditional
|
||||
compilation in source code, which can be messy and confusing to follow.
|
||||
However, sometimes it is necessary to incorporate platform-specific
|
||||
features (such as metafile use under MS Windows). The symbols
|
||||
listed in the file {\tt symbols.txt} may be used for this purpose,
|
||||
along with any user-supplied ones.
|
||||
|
||||
\section{C++ issues}
|
||||
|
||||
The following documents some miscellaneous C++ issues.
|
||||
|
||||
\subsection{Templates}
|
||||
|
||||
wxWindows does not use templates since it is a notoriously unportable feature.
|
||||
|
||||
\subsection{RTTI}
|
||||
|
||||
wxWindows does not use run-time type information since wxWindows provides
|
||||
its own run-time type information system, implemented using macros.
|
||||
|
||||
\subsection{Type of NULL}
|
||||
|
||||
Some compilers (e.g. the native IRIX cc) define NULL to be 0L so that
|
||||
no conversion to pointers is allowed. Because of that, all these
|
||||
occurences of NULL in the GTK port use an explicit conversion such
|
||||
as
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxWindow *my_window = (wxWindow*) NULL;
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
It is recommended to adhere to this in all code using wxWindows as
|
||||
this make the code (a bit) more portable.
|
||||
|
||||
\subsection{Precompiled headers}
|
||||
|
||||
Some compilers, such as Borland C++ and Microsoft C++, support
|
||||
precompiled headers. This can save a great deal of compiling time. The
|
||||
recommended approach is to precompile {\tt "wx.h"}, using this
|
||||
precompiled header for compiling both wxWindows itself and any
|
||||
wxWindows applications. For Windows compilers, two dummy source files
|
||||
are provided (one for normal applications and one for creating DLLs)
|
||||
to allow initial creation of the precompiled header.
|
||||
|
||||
However, there are several downsides to using precompiled headers. One
|
||||
is that to take advantage of the facility, you often need to include
|
||||
more header files than would normally be the case. This means that
|
||||
changing a header file will cause more recompilations (in the case of
|
||||
wxWindows, everything needs to be recompiled since everything includes {\tt "wx.h"}!)
|
||||
|
||||
A related problem is that for compilers that don't have precompiled
|
||||
headers, including a lot of header files slows down compilation
|
||||
considerably. For this reason, you will find (in the common
|
||||
X and Windows parts of the library) conditional
|
||||
compilation that under Unix, includes a minimal set of headers;
|
||||
and when using Visual C++, includes {\tt wx.h}. This should help provide
|
||||
the optimal compilation for each compiler, although it is
|
||||
biassed towards the precompiled headers facility available
|
||||
in Microsoft C++.
|
||||
|
||||
\section{File handling}
|
||||
|
||||
When building an application which may be used under different
|
||||
environments, one difficulty is coping with documents which may be
|
||||
moved to different directories on other machines. Saving a file which
|
||||
has pointers to full pathnames is going to be inherently unportable. One
|
||||
approach is to store filenames on their own, with no directory
|
||||
information. The application searches through a number of locally
|
||||
defined directories to find the file. To support this, the class {\bf
|
||||
wxPathList} makes adding directories and searching for files easy, and
|
||||
the global function {\bf wxFileNameFromPath} allows the application to
|
||||
strip off the filename from the path if the filename must be stored.
|
||||
This has undesirable ramifications for people who have documents of the
|
||||
same name in different directories.
|
||||
|
||||
As regards the limitations of DOS 8+3 single-case filenames versus
|
||||
unrestricted Unix filenames, the best solution is to use DOS filenames
|
||||
for your application, and also for document filenames {\it if} the user
|
||||
is likely to be switching platforms regularly. Obviously this latter
|
||||
choice is up to the application user to decide. Some programs (such as
|
||||
YACC and LEX) generate filenames incompatible with DOS; the best
|
||||
solution here is to have your Unix makefile rename the generated files
|
||||
to something more compatible before transferring the source to DOS.
|
||||
Transferring DOS files to Unix is no problem, of course, apart from EOL
|
||||
conversion for which there should be a utility available (such as
|
||||
dos2unix).
|
||||
|
||||
See also the File Functions section of the reference manual for
|
||||
descriptions of miscellaneous file handling functions.
|
||||
|
||||
\begin{comment}
|
||||
\chapter{Utilities supplied with wxWindows}\label{utilities}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
A number of `extras' are supplied with wxWindows, to complement
|
||||
the GUI functionality in the main class library. These are found
|
||||
below the utils directory and usually have their own source, library
|
||||
and documentation directories. For other user-contributed packages,
|
||||
see the directory ftp://www.remstar.com/pub/wxwin/contrib, which is
|
||||
more easily accessed via the Contributions page on the Web site.
|
||||
|
||||
\section{wxHelp}\label{wxhelp}
|
||||
|
||||
wxHelp is a stand-alone program, written using wxWindows,
|
||||
for displaying hypertext help. It is necessary since not all target
|
||||
systems (notably X) supply an adequate
|
||||
standard for on-line help. wxHelp is modelled on the MS Windows help
|
||||
system, with contents, search and browse buttons, but does not reformat
|
||||
text to suit the size of window, as WinHelp does, and its input files
|
||||
are uncompressed ASCII with some embedded font commands and an .xlp
|
||||
extension. Most wxWindows documentation (user manuals and class
|
||||
references) is supplied in wxHelp format, and also in Windows Help
|
||||
format. The wxWindows 2.0 project will presently use an HTML widget
|
||||
in a new and improved wxHelp implementation, under X.
|
||||
|
||||
Note that an application can be programmed to use Windows Help under
|
||||
MS Windows, and wxHelp under X. An alternative help viewer under X is
|
||||
Mosaic, a World Wide Web viewer that uses HTML as its native hypertext
|
||||
format. However, this is not currently integrated with wxWindows
|
||||
applications.
|
||||
|
||||
wxHelp works in two modes---edit and end-user. In edit mode, an ASCII
|
||||
file may be marked up with different fonts and colours, and divided into
|
||||
sections. In end-user mode, no editing is possible, and the user browses
|
||||
principally by clicking on highlighted blocks.
|
||||
|
||||
When an application invokes wxHelp, subsequent sections, blocks or
|
||||
files may be viewed using the same instance of wxHelp since the two
|
||||
programs are linked using wxWindows interprocess communication
|
||||
facilities. When the application exits, that application's instance of
|
||||
wxHelp may be made to exit also. See the {\bf wxHelpControllerBase} entry in the
|
||||
reference section for how an application controls wxHelp.
|
||||
|
||||
\section{Tex2RTF}\label{textortf}
|
||||
|
||||
Supplied with wxWindows is a utility called Tex2RTF for converting\rtfsp
|
||||
\LaTeX\ manuals to the following formats:
|
||||
|
||||
\begin{description}
|
||||
\item[wxHelp]
|
||||
wxWindows help system format (XLP).
|
||||
\item[Linear RTF]
|
||||
Rich Text Format suitable for importing into a word processor.
|
||||
\item[Windows Help RTF]
|
||||
Rich Text Format suitable for compiling into a WinHelp HLP file with the
|
||||
help compiler.
|
||||
\item[HTML]
|
||||
HTML is the native format for Mosaic, the main hypertext viewer for
|
||||
the World Wide Web. Since it is freely available it is a good candidate
|
||||
for being the wxWindows help system under X, as an alternative to wxHelp.
|
||||
\end{description}
|
||||
|
||||
Tex2RTF is used for the wxWindows manuals and can be used independently
|
||||
by authors wishing to create on-line and printed manuals from the same\rtfsp
|
||||
\LaTeX\ source. Please see the separate documentation for Tex2RTF.
|
||||
|
||||
\section{wxTreeLayout}
|
||||
|
||||
This is a simple class library for drawing trees in a reasonably pretty
|
||||
fashion. It provides only minimal default drawing capabilities, since
|
||||
the algorithm is meant to be used for implementing custom tree-based
|
||||
tools.
|
||||
|
||||
Directed graphs may also be drawn using this library, if cycles are
|
||||
removed before the nodes and arcs are passed to the algorithm.
|
||||
|
||||
Tree displays are used in many applications: directory browsers,
|
||||
hypertext systems, class browsers, and decision trees are a few
|
||||
possibilities.
|
||||
|
||||
See the separate manual and the directory utils/wxtree.
|
||||
|
||||
\section{wxGraphLayout}
|
||||
|
||||
The wxGraphLayout class is based on a tool called `graphplace' by Dr.
|
||||
Jos T.J. van Eijndhoven of Eindhoven University of Technology. Given a
|
||||
(possibly cyclic) directed graph, it does its best to lay out the nodes
|
||||
in a sensible manner. There are many applications (such as diagramming)
|
||||
where it is required to display a graph with no human intervention. Even
|
||||
if manual repositioning is later required, this algorithm can make a good
|
||||
first attempt.
|
||||
|
||||
See the separate manual and the directory utils/wxgraph.
|
||||
|
||||
\section{Colours}\label{coloursampler}
|
||||
|
||||
A colour sampler for viewing colours and their names on each
|
||||
platform.
|
||||
|
||||
%
|
||||
\chapter{Tutorial}\label{tutorial}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
To be written.
|
||||
\end{comment}
|
||||
|
||||
\chapter{Programming strategies}\label{strategies}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
This chapter is intended to list strategies that may be useful when
|
||||
writing and debugging wxWindows programs. If you have any good tips,
|
||||
please submit them for inclusion here.
|
||||
|
||||
\section{Strategies for reducing programming errors}
|
||||
|
||||
\subsection{Use ASSERT}
|
||||
|
||||
Although I haven't done this myself within wxWindows, it is good
|
||||
practice to use ASSERT statements liberally, that check for conditions that
|
||||
should or should not hold, and print out appropriate error messages.
|
||||
These can be compiled out of a non-debugging version of wxWindows
|
||||
and your application. Using ASSERT is an example of `defensive programming':
|
||||
it can alert you to problems later on.
|
||||
|
||||
\subsection{Use wxString in preference to character arrays}
|
||||
|
||||
Using wxString can be much safer and more convenient than using char *.
|
||||
Again, I haven't practised what I'm preaching, but I'm now trying to use
|
||||
wxString wherever possible. You can reduce the possibility of memory
|
||||
leaks substantially, and it's much more convenient to use the overloaded
|
||||
operators than functions such as strcmp. wxString won't add a significant
|
||||
overhead to your program; the overhead is compensated for by easier
|
||||
manipulation (which means less code).
|
||||
|
||||
The same goes for other data types: use classes wherever possible.
|
||||
|
||||
\section{Strategies for portability}
|
||||
|
||||
\subsection{Use relative positioning or constraints}
|
||||
|
||||
Don't use absolute panel item positioning if you can avoid it. Different GUIs have
|
||||
very differently sized panel items. Consider using the constraint system, although this
|
||||
can be complex to program.
|
||||
|
||||
Alternatively, you could use alternative .wrc (wxWindows resource files) on different
|
||||
platforms, with slightly different dimensions in each. Or space your panel items out
|
||||
to avoid problems.
|
||||
|
||||
\subsection{Use wxWindows resource files}
|
||||
|
||||
Use .wrc (wxWindows resource files) where possible, because they can be easily changed
|
||||
independently of source code. Bitmap resources can be set up to load different
|
||||
kinds of bitmap depending on platform (see the section on resource files).
|
||||
|
||||
\section{Strategies for debugging}\label{debugstrategies}
|
||||
|
||||
\subsection{Positive thinking}
|
||||
|
||||
It's common to blow up the problem in one's imagination, so that it seems to threaten
|
||||
weeks, months or even years of work. The problem you face may seem insurmountable:
|
||||
but almost never is. Once you have been programming for some time, you will be able
|
||||
to remember similar incidents that threw you into the depths of despair. But
|
||||
remember, you always solved the problem, somehow!
|
||||
|
||||
Perseverance is often the key, even though a seemingly trivial problem
|
||||
can take an apparently inordinate amount of time to solve. In the end,
|
||||
you will probably wonder why you worried so much. That's not to say it
|
||||
isn't painful at the time. Try not to worry -- there are many more important
|
||||
things in life.
|
||||
|
||||
\subsection{Simplify the problem}
|
||||
|
||||
Reduce the code exhibiting the problem to the smallest program possible
|
||||
that exhibits the problem. If it is not possible to reduce a large and
|
||||
complex program to a very small program, then try to ensure your code
|
||||
doesn't hide the problem (you may have attempted to minimize the problem
|
||||
in some way: but now you want to expose it).
|
||||
|
||||
With luck, you can add a small amount of code that causes the program
|
||||
to go from functioning to non-functioning state. This should give a clue
|
||||
to the problem. In some cases though, such as memory leaks or wrong
|
||||
deallocation, this can still give totally spurious results!
|
||||
|
||||
\subsection{Use a debugger}
|
||||
|
||||
This sounds like facetious advice, but it's surprising how often people
|
||||
don't use a debugger. Often it's an overhead to install or learn how to
|
||||
use a debugger, but it really is essential for anything but the most
|
||||
trivial programs.
|
||||
|
||||
\subsection{Use logging functions}
|
||||
|
||||
There is a variety of logging functions that you can use in your program:
|
||||
see \helpref{Logging functions}{logfunctions}.
|
||||
|
||||
Using tracing statements may be more convenient than using the debugger
|
||||
in some circumstances (such as when your debugger doesn't support a lot
|
||||
of debugging code, or you wish to print a bunch of variables).
|
||||
|
||||
\subsection{Use the wxWindows debugging facilities}
|
||||
|
||||
You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
|
||||
automatically check for memory leaks at the end of the program if wxWindows is suitably
|
||||
configured. Depending on the operating system and compiler, more or less
|
||||
specific information about the problem will be logged.
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
See the \helpref{debugging overview}{debuggingoverview} for further information.
|
||||
|
||||
\subsection{Check Windows debug messages}
|
||||
|
||||
Under Windows, it's worth running your program with DBWIN running or
|
||||
some other program that shows Windows-generated debug messages. It's
|
||||
possible it'll show invalid handles being used. You may have fun seeing
|
||||
what commercial programs cause these normally hidden errors! Microsoft
|
||||
recommend using the debugging version of Windows, which shows up even
|
||||
more problems. However, I doubt it's worth the hassle for most
|
||||
applications. wxWindows is designed to minimize the possibility of such
|
||||
errors, but they can still happen occasionally, slipping through unnoticed
|
||||
because they are not severe enough to cause a crash.
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
Before Width: | Height: | Size: 566 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 242 B |
@@ -1,339 +0,0 @@
|
||||
\section{\class{wxBrush}}\label{wxbrush}
|
||||
|
||||
A brush is a drawing tool for filling in areas. It is used for painting
|
||||
the background of rectangles, ellipses, etc. It has a colour and a
|
||||
style.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
On a monochrome display, wxWindows shows
|
||||
all brushes as white unless the colour is really black.
|
||||
|
||||
Do not initialize objects on the stack before the program commences,
|
||||
since other required structures may not have been set up yet. Instead,
|
||||
define global pointers to objects and create them in \helpref{wxApp::OnInit}{wxapponinit} or
|
||||
when required.
|
||||
|
||||
An application may wish to create brushes with different
|
||||
characteristics dynamically, and there is the consequent danger that a
|
||||
large number of duplicate brushes will be created. Therefore an
|
||||
application may wish to get a pointer to a brush by using the global
|
||||
list of brushes {\bf wxTheBrushList}, and calling the member function
|
||||
\rtfsp{\bf FindOrCreateBrush}.
|
||||
|
||||
wxBrush uses a reference counting system, so assignments between brushes are very
|
||||
cheap. You can therefore use actual wxBrush objects instead of pointers without
|
||||
efficiency problems. Once one wxBrush object changes its data it will create its
|
||||
own brush data internally so that other brushes, which previously shared the
|
||||
data using the reference counting, are not affected.
|
||||
|
||||
TODO: an overview for wxBrush.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrushList}{wxbrushlist}, \helpref{wxDC}{wxdc}, \helpref{wxDC::SetBrush}{wxdcsetbrush}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBrush::wxBrush}
|
||||
|
||||
\func{}{wxBrush}{\void}
|
||||
|
||||
Default constructor. The brush will be uninitialised, and \helpref{wxBrush::Ok}{wxbrushok} will
|
||||
return FALSE.
|
||||
|
||||
\func{}{wxBrush}{\param{const wxColour\&}{ colour}, \param{int}{ style}}
|
||||
|
||||
Constructs a brush from a colour object and style.
|
||||
|
||||
\func{}{wxBrush}{\param{const wxString\& }{colourName}, \param{int}{ style}}
|
||||
|
||||
Constructs a brush from a colour name and style.
|
||||
|
||||
\func{}{wxBrush}{\param{const wxBitmap\& }{stippleBitmap}}
|
||||
|
||||
Constructs a stippled brush using a bitmap.
|
||||
|
||||
\func{}{wxBrush}{\param{const wxBrush\&}{ brush}}
|
||||
|
||||
Copy constructor. This uses reference counting so is a cheap operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{colour}{Colour object.}
|
||||
|
||||
\docparam{colourName}{Colour name. The name will be looked up in the colour database.}
|
||||
|
||||
\docparam{style}{One of:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxTRANSPARENT}}{Transparent (no fill).}
|
||||
\twocolitem{{\bf wxSOLID}}{Solid.}
|
||||
\twocolitem{{\bf wxBDIAGONAL\_HATCH}}{Backward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSSDIAG\_HATCH}}{Cross-diagonal hatch.}
|
||||
\twocolitem{{\bf wxFDIAGONAL\_HATCH}}{Forward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSS\_HATCH}}{Cross hatch.}
|
||||
\twocolitem{{\bf wxHORIZONTAL\_HATCH}}{Horizontal hatch.}
|
||||
\twocolitem{{\bf wxVERTICAL\_HATCH}}{Vertical hatch.}
|
||||
\end{twocollist}}
|
||||
|
||||
\docparam{brush}{Pointer or reference to a brush to copy.}
|
||||
|
||||
\docparam{stippleBitmap}{A bitmap to use for stippling.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
If a stipple brush is created, the brush style will be set to wxSTIPPLE.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrushList}{wxbrushlist}, \helpref{wxColour}{wxcolour}, \helpref{wxColourDatabase}{wxcolourdatabase}
|
||||
|
||||
\membersection{wxBrush::\destruct{wxBrush}}
|
||||
|
||||
\func{void}{\destruct{wxBrush}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The destructor may not delete the underlying brush object of the native windowing
|
||||
system, since wxBrush uses a reference counting system for efficiency.
|
||||
|
||||
Although all remaining brushes are deleted when the application exits,
|
||||
the application should try to clean up all brushes itself. This is because
|
||||
wxWindows cannot know if a pointer to the brush object is stored in an
|
||||
application data structure, and there is a risk of double deletion.
|
||||
|
||||
\membersection{wxBrush::GetColour}\label{wxbrushgetcolour}
|
||||
|
||||
\constfunc{wxColour\&}{GetColour}{\void}
|
||||
|
||||
Returns a reference to the brush colour.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush::SetColour}{wxbrushsetcolour}
|
||||
|
||||
\membersection{wxBrush::GetStipple}\label{wxbrushgetstipple}
|
||||
|
||||
\constfunc{wxBitmap *}{GetStipple}{\void}
|
||||
|
||||
Gets a pointer to the stipple bitmap. If the brush does not have a wxSTIPPLE style,
|
||||
this bitmap may be non-NULL but uninitialised (\helpref{wxBitmap::Ok}{wxbitmapok} returns FALSE).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush::SetStipple}{wxbrushsetstipple}
|
||||
|
||||
\membersection{wxBrush::GetStyle}\label{wxbrushgetstyle}
|
||||
|
||||
\constfunc{int}{GetStyle}{\void}
|
||||
|
||||
Returns the brush style, one of:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxTRANSPARENT}}{Transparent (no fill).}
|
||||
\twocolitem{{\bf wxSOLID}}{Solid.}
|
||||
\twocolitem{{\bf wxBDIAGONAL\_HATCH}}{Backward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSSDIAG\_HATCH}}{Cross-diagonal hatch.}
|
||||
\twocolitem{{\bf wxFDIAGONAL\_HATCH}}{Forward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSS\_HATCH}}{Cross hatch.}
|
||||
\twocolitem{{\bf wxHORIZONTAL\_HATCH}}{Horizontal hatch.}
|
||||
\twocolitem{{\bf wxVERTICAL\_HATCH}}{Vertical hatch.}
|
||||
\twocolitem{{\bf wxSTIPPLE}}{Stippled using a bitmap.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush::SetStyle}{wxbrushsetstyle}, \helpref{wxBrush::SetColour}{wxbrushsetcolour},\rtfsp
|
||||
\helpref{wxBrush::SetStipple}{wxbrushsetstipple}
|
||||
|
||||
\membersection{wxBrush::Ok}\label{wxbrushok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the brush is initialised. It will return FALSE if the default
|
||||
constructor has been used (for example, the brush is a member of a class, or
|
||||
NULL has been assigned to it).
|
||||
|
||||
\membersection{wxBrush::SetColour}\label{wxbrushsetcolour}
|
||||
|
||||
\func{void}{SetColour}{\param{wxColour\& }{colour}}
|
||||
|
||||
Sets the brush colour using a reference to a colour object.
|
||||
|
||||
\func{void}{SetColour}{\param{const wxString\& }{colourName}}
|
||||
|
||||
Sets the brush colour using a colour name from the colour database.
|
||||
|
||||
\func{void}{SetColour}{\param{const unsigned char}{ red}, \param{const unsigned char}{ green}, \param{const unsigned char}{ blue}}
|
||||
|
||||
Sets the brush colour using red, green and blue values.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush::GetColour}{wxbrushgetcolour}
|
||||
|
||||
\membersection{wxBrush::SetStipple}\label{wxbrushsetstipple}
|
||||
|
||||
\func{void}{SetStipple}{\param{const wxBitmap\&}{ bitmap}}
|
||||
|
||||
Sets the stipple bitmap.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{bitmap}{The bitmap to use for stippling.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The style will be set to wxSTIPPLE.
|
||||
|
||||
Note that there is a big difference between stippling in X and Windows.
|
||||
On X, the stipple is a mask between the wxBitmap and current colour.
|
||||
On Windows, the current colour is ignored, and the bitmap colour is used.
|
||||
However, for pre-defined modes like wxCROSS\_HATCH, the behaviour is the
|
||||
same for both platforms.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmap}{wxbitmap}
|
||||
|
||||
\membersection{wxBrush::SetStyle}\label{wxbrushsetstyle}
|
||||
|
||||
\func{void}{SetStyle}{\param{int}{ style}}
|
||||
|
||||
Sets the brush style.
|
||||
|
||||
\docparam{style}{One of:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxTRANSPARENT}}{Transparent (no fill).}
|
||||
\twocolitem{{\bf wxSOLID}}{Solid.}
|
||||
\twocolitem{{\bf wxBDIAGONAL\_HATCH}}{Backward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSSDIAG\_HATCH}}{Cross-diagonal hatch.}
|
||||
\twocolitem{{\bf wxFDIAGONAL\_HATCH}}{Forward diagonal hatch.}
|
||||
\twocolitem{{\bf wxCROSS\_HATCH}}{Cross hatch.}
|
||||
\twocolitem{{\bf wxHORIZONTAL\_HATCH}}{Horizontal hatch.}
|
||||
\twocolitem{{\bf wxVERTICAL\_HATCH}}{Vertical hatch.}
|
||||
\twocolitem{{\bf wxSTIPPLE}}{Stippled using a bitmap.}
|
||||
\end{twocollist}}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush::GetStyle}{wxbrushgetstyle}
|
||||
|
||||
\membersection{wxBrush::operator $=$}\label{wxbrushassignment}
|
||||
|
||||
\func{wxBrush\&}{operator $=$}{\param{const wxBrush\& }{brush}}
|
||||
|
||||
Assignment operator, using reference counting. Returns a reference
|
||||
to `this'.
|
||||
|
||||
\membersection{wxBrush::operator $==$}\label{wxbrushequals}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxBrush\& }{brush}}
|
||||
|
||||
Equality operator. Two brushes are equal if they contain pointers
|
||||
to the same underlying brush data. It does not compare each attribute,
|
||||
so two independently-created brushes using the same parameters will
|
||||
fail the test.
|
||||
|
||||
\membersection{wxBrush::operator $!=$}\label{wxbrushnotequals}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxBrush\& }{brush}}
|
||||
|
||||
Inequality operator. Two brushes are not equal if they contain pointers
|
||||
to different underlying brush data. It does not compare each attribute.
|
||||
|
||||
\section{\class{wxBrushList}}\label{wxbrushlist}
|
||||
|
||||
A brush list is a list containing all brushes which have been created.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxList}{wxlist}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
There is only one instance of this class: {\bf wxTheBrushList}. Use
|
||||
this object to search for a previously created brush of the desired
|
||||
type and create it if not already found. In some windowing systems,
|
||||
the brush may be a scarce resource, so it can pay to reuse old
|
||||
resources if possible. When an application finishes, all brushes will
|
||||
be deleted and their resources freed, eliminating the possibility of
|
||||
`memory leaks'. However, it is best not to rely on this automatic
|
||||
cleanup because it can lead to double deletion in some circumstances.
|
||||
|
||||
There are two mechanisms in recent versions of wxWindows which make the
|
||||
brush list less useful than it once was. Under Windows, scarce resources
|
||||
are cleaned up internally if they are not being used. Also, a referencing
|
||||
counting mechanism applied to all GDI objects means that some sharing
|
||||
of underlying resources is possible. You don't have to keep track of pointers,
|
||||
working out when it is safe delete a brush, because the referencing counting does
|
||||
it for you. For example, you can set a brush in a device context, and then
|
||||
immediately delete the brush you passed, because the brush is `copied'.
|
||||
|
||||
So you may find it easier to ignore the brush list, and instead create
|
||||
and copy brushes as you see fit. If your Windows resource meter suggests
|
||||
your application is using too many resources, you can resort to using
|
||||
GDI lists to share objects explicitly.
|
||||
|
||||
The only compelling use for the brush list is for wxWindows to keep
|
||||
track of brushes in order to clean them up on exit. It is also kept for
|
||||
backward compatibility with earlier versions of wxWindows.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBrush}{wxbrush}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBrushList::wxBrushList}\label{wxbrushlistconstr}
|
||||
|
||||
\func{void}{wxBrushList}{\void}
|
||||
|
||||
Constructor. The application should not construct its own brush list:
|
||||
use the object pointer {\bf wxTheBrushList}.
|
||||
|
||||
\membersection{wxBrushList::AddBrush}\label{wxbrushlistaddbrush}
|
||||
|
||||
\func{void}{AddBrush}{\param{wxBrush *}{brush}}
|
||||
|
||||
Used internally by wxWindows to add a brush to the list.
|
||||
|
||||
\membersection{wxBrushList::FindOrCreateBrush}\label{wxbrushlistfindorcreatebrush}
|
||||
|
||||
\func{wxBrush *}{FindOrCreateBrush}{\param{const wxColour\& }{colour}, \param{int}{ style}}
|
||||
|
||||
Finds a brush with the specified attributes and returns it, else creates a new brush, adds it
|
||||
to the brush list, and returns it.
|
||||
|
||||
\func{wxBrush *}{FindOrCreateBrush}{\param{const wxString\& }{colourName}, \param{int}{ style}}
|
||||
|
||||
Finds a brush with the specified attributes and returns it, else creates a new brush, adds it
|
||||
to the brush list, and returns it.
|
||||
|
||||
Finds a brush of the given specification, or creates one and adds it to the list.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{colour}{Colour object.}
|
||||
|
||||
\docparam{colourName}{Colour name, which should be in the colour database.}
|
||||
|
||||
\docparam{style}{Brush style. See \helpref{wxBrush::SetStyle}{wxbrushsetstyle} for a list of styles.}
|
||||
|
||||
\membersection{wxBrushList::RemoveBrush}\label{wxbrushlistremovebrush}
|
||||
|
||||
\func{void}{RemoveBrush}{\param{wxBrush *}{brush}}
|
||||
|
||||
Used by wxWindows to remove a brush from the list.
|
||||
|
||||
|
Before Width: | Height: | Size: 198 B |
@@ -1,40 +0,0 @@
|
||||
\section{\class{wxBusyCursor}}\label{wxbusycursor}
|
||||
|
||||
This class makes it easy to tell your user that the program is temporarily busy.
|
||||
Just create a wxBusyCursor object on the stack, and within the current scope,
|
||||
the hourglass will be shown.
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
wxBusyCursor wait;
|
||||
|
||||
for (int i = 0; i < 100000; i++)
|
||||
DoACalculation();
|
||||
\end{verbatim}
|
||||
|
||||
It works by calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor} in the constructor,
|
||||
and \helpref{wxEndBusyCursor}{wxendbusycursor} in the destructor.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBeginBusyCursor}{wxbeginbusycursor}, \helpref{wxEndBusyCursor}{wxendbusycursor}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxBusyCursor::wxBusyCursor}
|
||||
|
||||
\func{}{wxBusyCursor}{\param{wxCursor*}{ cursor = wxHOURGLASS\_CURSOR}}
|
||||
|
||||
Constructs a busy cursor object, calling \helpref{wxBeginBusyCursor}{wxbeginbusycursor}.
|
||||
|
||||
\membersection{wxBusyCursor::\destruct{wxBusyCursor}}
|
||||
|
||||
\func{}{\destruct{wxBusyCursor}}{\void}
|
||||
|
||||
Destroys the busy cursor object, calling \helpref{wxEndBusyCursor}{wxendbusycursor}.
|
||||
|
@@ -1,134 +0,0 @@
|
||||
\section{\class{wxButton}}\label{wxbutton}
|
||||
|
||||
A button is a control that contains a text string,
|
||||
and is one of the commonest elements of a GUI. It may be placed on a
|
||||
\rtfsp\helpref{dialog box}{wxdialog} or \helpref{panel}{wxpanel}, or indeed
|
||||
almost any other window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxButton.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton}{wxbitmapbutton}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxButton::wxButton}\label{wxbuttonconstr}
|
||||
|
||||
\func{}{wxButton}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxButton}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
|
||||
|
||||
Constructor, creating and showing a button.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Button identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{label}{Text to be displayed on the button.}
|
||||
|
||||
\docparam{pos}{Button position.}
|
||||
|
||||
\docparam{size}{Button size. If the default size (-1, -1) is specified then the button is sized
|
||||
appropriately for the text.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxButton}{wxbutton}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton::Create}{wxbuttoncreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\membersection{wxButton::\destruct{wxButton}}
|
||||
|
||||
\func{}{\destruct{wxButton}}{\void}
|
||||
|
||||
Destructor, destroying the button.
|
||||
|
||||
\membersection{wxButton::Create}\label{wxbuttoncreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id}, \param{const wxString\& }{label},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator}, \param{const wxString\& }{name = ``button"}}
|
||||
|
||||
Button creation function for two-step creation. For more details, see \helpref{wxButton::wxButton}{wxbuttonconstr}.
|
||||
|
||||
\membersection{wxButton::GetLabel}\label{wxbuttongetlabel}
|
||||
|
||||
\constfunc{wxString}{GetLabel}{\void}
|
||||
|
||||
Returns the string label for the button.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The button's label.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton::SetLabel}{wxbuttonsetlabel}
|
||||
|
||||
\membersection{wxButton::SetDefault}\label{wxbuttonsetdefault}
|
||||
|
||||
\func{void}{SetDefault}{\void}
|
||||
|
||||
This sets the button to be the default item for the panel or dialog
|
||||
box.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under Windows, only dialog box buttons respond to this function. As
|
||||
normal under Windows and Motif, pressing return causes the default button to
|
||||
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items,\rtfsp
|
||||
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
|
||||
|
||||
Note that under Motif, calling this function immediately after
|
||||
creation of a button and before the creation of other buttons
|
||||
will cause misalignment of the row of buttons, since default
|
||||
buttons are larger. To get around this, call {\it SetDefault}\rtfsp
|
||||
after you have created a row of buttons: wxWindows will
|
||||
then set the size of all buttons currently on the panel to
|
||||
the same size.
|
||||
|
||||
\membersection{wxButton::SetLabel}\label{wxbuttonsetlabel}
|
||||
|
||||
\func{void}{SetLabel}{\param{const wxString\& }{label}}
|
||||
|
||||
Sets the string label for the button.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{label}{The label to set.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton::GetLabel}{wxbuttongetlabel}
|
||||
|
@@ -1,60 +0,0 @@
|
||||
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
|
||||
|
||||
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
|
||||
calculate the amount of the remaining client area that the window should
|
||||
occupy.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
|
||||
|
||||
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Before the event handler is entered, returns the remaining parent client area that the window
|
||||
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
|
||||
after the event handler has subtracted the area that its window occupies.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
|
||||
|
||||
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
|
||||
|
||||
Call this to specify the new remaining parent client area, after the space occupied by the
|
||||
window has been subtracted.
|
||||
|
@@ -1,373 +0,0 @@
|
||||
\chapter{Classes by category}\label{classesbycat}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
A classification of wxWindows classes by category.
|
||||
\twocolwidtha{5cm}
|
||||
|
||||
{\large {\bf Managed windows}}
|
||||
|
||||
There are several types of window that are directly controlled by the
|
||||
window manager (such as MS Windows, or the Motif Window Manager).
|
||||
Frames may contain windows, and dialog boxes may directly contain controls.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDialog}{wxdialog}}{Dialog box}
|
||||
\twocolitem{\helpref{wxFrame}{wxframe}}{Normal frame}
|
||||
\twocolitem{\helpref{wxMDIParentFrame}{wxmdiparentframe}}{MDI parent frame}
|
||||
\twocolitem{\helpref{wxMDIChildFrame}{wxmdichildframe}}{MDI child frame}
|
||||
\twocolitem{\helpref{wxMiniFrame}{wxminiframe}}{A frame with a small title bar}
|
||||
\twocolitem{\helpref{wxTabbedDialog}{wxtabbeddialog}}{Tabbed dialog}
|
||||
\end{twocollist}
|
||||
|
||||
See also {\bf Common dialogs}.
|
||||
|
||||
{\large {\bf Miscellaneous windows}}
|
||||
|
||||
The following are a variety of windows that are derived from wxWindow.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
|
||||
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
|
||||
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
|
||||
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
|
||||
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
|
||||
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
|
||||
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
|
||||
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
||||
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
||||
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Common dialogs}}
|
||||
|
||||
\overview{Overview}{commondialogsoverview}
|
||||
|
||||
Common dialogs are ready-made dialog classes which are frequently used
|
||||
in an application.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDialog}{wxdialog}}{Base class for common dialogs}
|
||||
\twocolitem{\helpref{wxColourDialog}{wxcolourdialog}}{Colour chooser dialog}
|
||||
\twocolitem{\helpref{wxDirDialog}{wxdirdialog}}{Directory selector dialog}
|
||||
\twocolitem{\helpref{wxFileDialog}{wxfiledialog}}{File selector dialog}
|
||||
\twocolitem{\helpref{wxMultipleChoiceDialog}{wxmultiplechoicedialog}}{Dialog to get one or more selections from a list}
|
||||
\twocolitem{\helpref{wxSingleChoiceDialog}{wxsinglechoicedialog}}{Dialog to get a single selection from a list and return the string}
|
||||
\twocolitem{\helpref{wxTextEntryDialog}{wxtextentrydialog}}{Dialog to get a single line of text from the user}
|
||||
\twocolitem{\helpref{wxFontDialog}{wxfontdialog}}{Font chooser dialog}
|
||||
\twocolitem{\helpref{wxPageSetupDialog}{wxpagesetupdialog}}{Standard page setup dialog}
|
||||
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
|
||||
\twocolitem{\helpref{wxMessageDialog}{wxmessagedialog}}{Simple message box dialog}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Controls}}
|
||||
|
||||
Typically, these are small windows which provide interaction with the user. Controls
|
||||
that are not static can have \helpref{validators}{wxvalidator} associated with them.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxControl}{wxcontrol}}{The base class for controls}
|
||||
\twocolitem{\helpref{wxButton}{wxbutton}}{Push button control, displaying text}
|
||||
\twocolitem{\helpref{wxBitmapButton}{wxbitmapbutton}}{Push button control, displaying a bitmap}
|
||||
\twocolitem{\helpref{wxCheckBox}{wxcheckbox}}{Checkbox control}
|
||||
\twocolitem{\helpref{wxCheckListBox}{wxchecklistbox}}{A listbox with a checkbox to the left of each item}
|
||||
\twocolitem{\helpref{wxChoice}{wxchoice}}{Choice control (a combobox without the editable area)}
|
||||
\twocolitem{\helpref{wxComboBox}{wxcombobox}}{A choice with an editable area}
|
||||
\twocolitem{\helpref{wxGauge}{wxgauge}}{A control to represent a varying quantity, such as time remaining}
|
||||
\twocolitem{\helpref{wxStaticBox}{wxstaticbox}}{A static, or group box for visually grouping related controls}
|
||||
\twocolitem{\helpref{wxListBox}{wxlistbox}}{A list of strings for single or multiple selection}
|
||||
\twocolitem{\helpref{wxListCtrl}{wxlistctrl}}{A control for displaying lists of strings and/or icons, plus a multicolumn report view}
|
||||
\twocolitem{\helpref{wxTabCtrl}{wxtabctrl}}{Manages several tabs}
|
||||
\twocolitem{\helpref{wxTextCtrl}{wxtextctrl}}{Single or multline text editing control}
|
||||
\twocolitem{\helpref{wxTreeCtrl}{wxtreectrl}}{Tree (hierachy) control}
|
||||
\twocolitem{\helpref{wxScrollBar}{wxscrollbar}}{Scrollbar control}
|
||||
\twocolitem{\helpref{wxSpinButton}{wxspinbutton}}{A spin or `up-down' control}
|
||||
\twocolitem{\helpref{wxStaticText}{wxstatictext}}{One or more lines of non-editable text}
|
||||
\twocolitem{\helpref{wxStaticBitmap}{wxstaticbitmap}}{A control to display a bitmap}
|
||||
\twocolitem{\helpref{wxRadioBox}{wxradiobox}}{A group of radio buttons}
|
||||
\twocolitem{\helpref{wxRadioButton}{wxradiobutton}}{A round button to be used with others in a mutually exclusive way}
|
||||
\twocolitem{\helpref{wxSlider}{wxslider}}{A slider that can be dragged by the user}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Menus}}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxMenu}{wxmenu}}{Displays a series of menu items for selection}
|
||||
\twocolitem{\helpref{wxMenuBar}{wxmenubar}}{Contains a series of menus for use with a frame}
|
||||
\twocolitem{\helpref{wxMenuItem}{wxmenuitem}}{Represents a single menu item}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Window layout}}
|
||||
|
||||
\overview{Overview}{constraintsoverview}
|
||||
|
||||
These are the classes relevant to automated window layout.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxIndividualLayoutConstraint}{wxindividuallayoutconstraint}}{Represents a single constraint dimension}
|
||||
\twocolitem{\helpref{wxLayoutConstraints}{wxlayoutconstraints}}{Represents the constraints for a window class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Device contexts}}
|
||||
|
||||
\overview{Overview}{dcoverview}
|
||||
|
||||
Device contexts are surfaces that may be drawn on, and provide an
|
||||
abstraction that allows parameterisation of your drawing code
|
||||
by passing different device contexts.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxClientDC}{wxclientdc}}{A device context to access the client area outside {\bf OnPaint} events}
|
||||
\twocolitem{\helpref{wxPaintDC}{wxpaintdc}}{A device context to access the client area inside {\bf OnPaint} events}
|
||||
\twocolitem{\helpref{wxWindowDC}{wxwindowdc}}{A device context to access the non-client area}
|
||||
\twocolitem{\helpref{wxScreenDC}{wxscreendc}}{A device context to access the entire screen}
|
||||
\twocolitem{\helpref{wxDC}{wxdc}}{The device context base class}
|
||||
\twocolitem{\helpref{wxMemoryDC}{wxmemorydc}}{A device context for drawing into bitmaps}
|
||||
\twocolitem{\helpref{wxMetafileDC}{wxmetafiledc}}{A device context for drawing into metafiles}
|
||||
\twocolitem{\helpref{wxPostScriptDC}{wxpostscriptdc}}{A device context for drawing into PostScript files}
|
||||
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{A device context for drawing to printers}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Graphics device interface}}
|
||||
|
||||
\overview{Bitmaps overview}{wxbitmapoverview}
|
||||
|
||||
These classes are related to drawing on device contexts and windows.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxColour}{wxcolour}}{Represents the red, blue and green elements of a colour}
|
||||
\twocolitem{\helpref{wxBitmap}{wxbitmap}}{Represents a bitmap}
|
||||
\twocolitem{\helpref{wxBrush}{wxbrush}}{Used for filling areas on a device context}
|
||||
\twocolitem{\helpref{wxBrushList}{wxbrushlist}}{The list of previously-created brushes}
|
||||
\twocolitem{\helpref{wxCursor}{wxcursor}}{A small, transparent bitmap representing the cursor}
|
||||
\twocolitem{\helpref{wxFont}{wxfont}}{Represents fonts}
|
||||
\twocolitem{\helpref{wxFontList}{wxfontlist}}{The list of previously-created fonts}
|
||||
\twocolitem{\helpref{wxIcon}{wxicon}}{A small, transparent bitmap for assigning to frames and drawing on device contexts}
|
||||
\twocolitem{\helpref{wxImage}{wximage}}{A platform-independent image class.}
|
||||
\twocolitem{\helpref{wxImageList}{wximagelist}}{A list of images, used with some controls}
|
||||
\twocolitem{\helpref{wxMask}{wxmask}}{Represents a mask to be used with a bitmap for transparent drawing}
|
||||
\twocolitem{\helpref{wxPen}{wxpen}}{Used for drawing lines on a device context}
|
||||
\twocolitem{\helpref{wxPenList}{wxpenlist}}{The list of previously-created pens}
|
||||
\twocolitem{\helpref{wxPalette}{wxpalette}}{Represents a table of indices into RGB values}
|
||||
\twocolitem{\helpref{wxRegion}{wxregion}}{Represents a simple or complex region on a window or device context}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Events}}
|
||||
|
||||
\overview{Overview}{eventhandlingoverview}
|
||||
|
||||
An event object contains information about a specific event. Event handlers
|
||||
(usually member functions) have a single, event argument.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
|
||||
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
|
||||
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
|
||||
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
|
||||
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
|
||||
\twocolitem{\helpref{wxEraseEvent}{wxeraseevent}}{An erase background event}
|
||||
\twocolitem{\helpref{wxEvent}{wxevent}}{The event base class}
|
||||
\twocolitem{\helpref{wxFocusEvent}{wxfocusevent}}{A window focus event}
|
||||
\twocolitem{\helpref{wxKeyEvent}{wxkeyevent}}{A keypress event}
|
||||
\twocolitem{\helpref{wxIdleEvent}{wxidleevent}}{An idle event}
|
||||
\twocolitem{\helpref{wxInitDialogEvent}{wxinitdialogevent}}{A dialog initialisation event}
|
||||
\twocolitem{\helpref{wxJoystickEvent}{wxjoystickevent}}{A joystick event}
|
||||
\twocolitem{\helpref{wxListEvent}{wxlistevent}}{A list control event}
|
||||
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
|
||||
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
|
||||
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
|
||||
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
|
||||
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
|
||||
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
|
||||
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
|
||||
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
|
||||
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
|
||||
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
|
||||
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
|
||||
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
|
||||
\twocolitem{\helpref{wxUpdateUIEvent}{wxupdateuievent}}{A user interface update event}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Validators}}
|
||||
|
||||
\overview{Overview}{validatoroverview}
|
||||
|
||||
These are the window validators, used for filtering and validating
|
||||
user input.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxValidator}{wxvalidator}}{Base validator class.}
|
||||
\twocolitem{\helpref{wxTextValidator}{wxtextvalidator}}{Text control validator class.}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Data structures}}
|
||||
|
||||
These are the data structure classes supported by wxWindows.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxExpr}{wxexpr}}{A class for flexible I/O}
|
||||
\twocolitem{\helpref{wxExprDatabase}{wxexprdatabase}}{A class for flexible I/O}
|
||||
\twocolitem{\helpref{wxDate}{wxdate}}{A class for date manipulation}
|
||||
\twocolitem{\helpref{wxHashTable}{wxhashtable}}{A simple hash table implementation}
|
||||
\twocolitem{\helpref{wxList}{wxlist}}{A simple linked list implementation}
|
||||
\twocolitem{\helpref{wxNode}{wxnode}}{Represents a node in the wxList implementation}
|
||||
\twocolitem{\helpref{wxObject}{wxobject}}{The root class for most wxWindows classes}
|
||||
\twocolitem{\helpref{wxPathList}{wxpathlist}}{A class to help search multiple paths}
|
||||
\twocolitem{\helpref{wxPoint}{wxpoint}}{Representation of a point}
|
||||
\twocolitem{\helpref{wxRect}{wxrect}}{A class representing a rectangle}
|
||||
\twocolitem{\helpref{wxRegion}{wxregion}}{A class representing a region}
|
||||
\twocolitem{\helpref{wxString}{wxstring}}{A string class}
|
||||
\twocolitem{\helpref{wxStringList}{wxstringlist}}{A class representing a list of strings}
|
||||
\twocolitem{\helpref{wxRealPoint}{wxrealpoint}}{Representation of a point using floating point numbers}
|
||||
\twocolitem{\helpref{wxSize}{wxsize}}{Representation of a size}
|
||||
\twocolitem{\helpref{wxTime}{wxtime}}{A class for time manipulation}
|
||||
\twocolitem{\helpref{wxVariant}{wxvariant}}{A class for storing arbitrary types
|
||||
that may change at run-time.}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Run-time class information system}}
|
||||
|
||||
\overview{Overview}{runtimeclassoverview}
|
||||
|
||||
wxWindows supports run-time manipulation of class information, and dynamic
|
||||
creation of objects given class names.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxClassInfo}{wxclassinfo}}{Holds run-time class information}
|
||||
\twocolitem{\helpref{wxObject}{wxobject}}{Root class for classes with run-time information}
|
||||
\twocolitem{\helpref{Macros}{macros}}{Macros for manipulating run-time information}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Debugging features}}
|
||||
|
||||
\overview{Overview}{debuggingoverview}
|
||||
|
||||
wxWindows supports some aspects of debugging an application through
|
||||
classes, functions and macros.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
|
||||
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
|
||||
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
|
||||
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
|
||||
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
|
||||
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Interprocess communication}}
|
||||
|
||||
\overview{Overview}{ipcoverview}
|
||||
|
||||
wxWindows provides a simple interprocess communications facilities
|
||||
based on DDE.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxTCPClient}{wxtcpclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxTCPConnection}{wxtcpconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxTCPServer}{wxtcpserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
|
||||
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Document/view framework}}
|
||||
|
||||
\overview{Overview}{docviewoverview}
|
||||
|
||||
wxWindows supports a document/view framework which provides
|
||||
housekeeping for a document-centric application.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
|
||||
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
|
||||
\twocolitem{\helpref{wxDocTemplate}{wxdoctemplate}}{Manages the relationship between a document class and a veiw class}
|
||||
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
|
||||
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
|
||||
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
|
||||
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
|
||||
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Printing framework}}
|
||||
|
||||
\overview{Overview}{printingoverview}
|
||||
|
||||
A printing and previewing framework is implemented to
|
||||
make it relatively straighforward to provide document printing
|
||||
facilities.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxPreviewFrame}{wxpreviewframe}}{Frame for displaying a print preview}
|
||||
\twocolitem{\helpref{wxPreviewCanvas}{wxpreviewcanvas}}{Canvas for displaying a print preview}
|
||||
\twocolitem{\helpref{wxPreviewControlBar}{wxpreviewcontrolbar}}{Standard control bar for a print preview}
|
||||
\twocolitem{\helpref{wxPrintData}{wxprintdata}}{Represents information about the document being printed}
|
||||
\twocolitem{\helpref{wxPrintDialog}{wxprintdialog}}{Standard print dialog}
|
||||
\twocolitem{\helpref{wxPrinter}{wxprinter}}{Class representing the printer}
|
||||
\twocolitem{\helpref{wxPrinterDC}{wxprinterdc}}{Printer device context}
|
||||
\twocolitem{\helpref{wxPrintout}{wxprintout}}{Class representing a particular printout}
|
||||
\twocolitem{\helpref{wxPrintPreview}{wxprintpreview}}{Class representing a print preview}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Database classes}}
|
||||
|
||||
\overview{Database classes overview}{odbcoverview}
|
||||
|
||||
wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity)
|
||||
product. The new version by Remstar is documented in a separate manual.
|
||||
The older classes are as follows:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class}
|
||||
\twocolitem{\helpref{wxQueryCol}{wxquerycol}}{Class representing a column}
|
||||
\twocolitem{\helpref{wxQueryField}{wxqueryfield}}{Class representing a field}
|
||||
\twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Drag and drop and clipboard classes}}
|
||||
|
||||
\overview{Drag and drop and clipboard overview}{wxdndoverview}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDropTarget}{wxdroptarget}}{Drop target class}
|
||||
\twocolitem{\helpref{wxFileDropTarget}{wxfiledroptarget}}{File drop target class}
|
||||
\twocolitem{\helpref{wxTextDropTarget}{wxtextdroptarget}}{Text drop target class}
|
||||
\twocolitem{\helpref{wxDropSource}{wxdropsource}}{Drop source class}
|
||||
\twocolitem{\helpref{wxDataObject}{wxdataobject}}{Data object class}
|
||||
\twocolitem{\helpref{wxTextDataObject}{wxtextdataobject}}{Text data object class}
|
||||
\twocolitem{\helpref{wxFileDataObject}{wxtextdataobject}}{File data object class}
|
||||
\twocolitem{\helpref{wxBitmapDataObject}{wxbitmapdataobject}}{Bitmap data object class}
|
||||
\twocolitem{\helpref{wxClipboard}{wxclipboard}}{Clipboard class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf File related classes}}
|
||||
|
||||
wxWindows has several small classes to work with disk files, see \helpref{file classes
|
||||
overview}{wxfileoverview} for more details.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxFile}{wxfile}}{Low-level file input/output}
|
||||
\twocolitem{\helpref{wxTempFile}{wxtempfile}}{Class to safely replace an existing file}
|
||||
\twocolitem{\helpref{wxTextFile}{wxtextfile}}{Class for working with text files as with arrays of lines}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Miscellaneous}}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
|
||||
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
|
||||
\twocolitem{\helpref{wxAutomationObject}{wxautomationobject}}{OLE automation class}
|
||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
||||
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
|
||||
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
|
||||
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
|
||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||
\end{twocollist}
|
||||
|
@@ -1,104 +0,0 @@
|
||||
\section{\class{wxCheckBox}}\label{wxcheckbox}
|
||||
|
||||
A checkbox is a labelled box which is either on (checkmark is visible)
|
||||
or off (no checkmark).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxCheckBox.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHECKBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
|
||||
when the checkbox is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCheckBox::wxCheckBox}\label{wxcheckboxconstr}
|
||||
|
||||
\func{}{wxCheckBox}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxCheckBox}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxString\& }{label}, \param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
|
||||
\param{const wxSize\& }{size = wxDefaultSize}, \param{long}{ style = 0},\rtfsp
|
||||
\param{const wxValidator\& }{val}, \param{const wxString\& }{name = ``checkBox"}}
|
||||
|
||||
Constructor, creating and showing a checkbox.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Checkbox identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{label}{Text to be displayed next to the checkbox.}
|
||||
|
||||
\docparam{pos}{Checkbox position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Checkbox size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxCheckBox}{wxcheckbox}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxCheckBox::Create}{wxcheckboxcreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\membersection{wxCheckBox::\destruct{wxCheckBox}}
|
||||
|
||||
\func{}{\destruct{wxCheckBox}}{\void}
|
||||
|
||||
Destructor, destroying the checkbox.
|
||||
|
||||
\membersection{wxCheckBox::Create}\label{wxcheckboxcreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxString\& }{label}, \param{const wxPoint\& }{pos = wxDefaultPosition},\rtfsp
|
||||
\param{const wxSize\& }{size = wxDefaultSize}, \param{long}{ style = 0},\rtfsp
|
||||
\param{const wxValidator\& }{val}, \param{const wxString\& }{name = ``checkBox"}}
|
||||
|
||||
Creates the checkbox for two-step construction. See \helpref{wxCheckBox::wxCheckBox}{wxcheckboxconstr}\rtfsp
|
||||
for details.
|
||||
|
||||
\membersection{wxCheckBox::GetValue}\label{wxcheckboxgetvalue}
|
||||
|
||||
\constfunc{bool}{GetValue}{\void}
|
||||
|
||||
Gets the state of the checkbox.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if it is checked, FALSE otherwise.
|
||||
|
||||
\membersection{wxCheckBox::SetValue}\label{wxcheckboxsetvalue}
|
||||
|
||||
\func{void}{SetValue}{\param{const bool}{ state}}
|
||||
|
||||
Sets the checkbox to the given state.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{state}{If TRUE, the check is on, otherwise it is off.}
|
||||
|
||||
|
@@ -1,95 +0,0 @@
|
||||
\section{\class{wxCheckListBox}}\label{wxchecklistbox}
|
||||
|
||||
A checklistbox is like a listbox, but allows items to be checked or unchecked.
|
||||
|
||||
This class is currently implemented under Windows and GTK. When using this
|
||||
class under Windows wxWindows must be compiled with USE\_OWNER\_DRAWN set to 1.
|
||||
|
||||
Only the new functions for this class are documented; see also \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCheckListBox::wxCheckListBox}\label{wxchecklistboxconstr}
|
||||
|
||||
\func{}{wxCheckListBox}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxCheckListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
|
||||
|
||||
Constructor, creating and showing a list box.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
|
||||
appropriately.}
|
||||
|
||||
\docparam{n}{Number of strings with which to initialise the control.}
|
||||
|
||||
\docparam{choices}{An array of strings with which to initialise the control.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxCheckListBox}{wxchecklistbox}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxCheckListBox::\destruct{wxCheckListBox}}
|
||||
|
||||
\func{void}{\destruct{wxCheckListBox}}{\void}
|
||||
|
||||
Destructor, destroying the list box.
|
||||
|
||||
\membersection{wxCheckListBox::Check}\label{wxchecklistboxcheck}
|
||||
|
||||
\func{void}{Check}{\param{int }{item}, \param{bool}{ check = TRUE}}
|
||||
|
||||
Checks the given item.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item to check.}
|
||||
|
||||
\docparam{check}{TRUE if the item is to be checked, FALSE otherwise.}
|
||||
|
||||
\membersection{wxCheckListBox::IsChecked}\label{wxchecklistboxischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ item}}
|
||||
|
||||
Returns TRUE if the given item is checked, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item whose check status is to be returned.}
|
||||
|
||||
|
@@ -1,202 +0,0 @@
|
||||
\section{\class{wxChoice}}\label{wxchoice}
|
||||
|
||||
A choice item is used to select one of a list of strings. Unlike a
|
||||
listbox, only the selection is visible until the user pulls down the
|
||||
menu of choices.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no special styles for wxChoice.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxChoice::wxChoice}\label{wxchoiceconstr}
|
||||
|
||||
\func{}{wxChoice}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxChoice}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``choice"}}
|
||||
|
||||
Constructor, creating and showing a choice.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then the choice is sized
|
||||
appropriately.}
|
||||
|
||||
\docparam{n}{Number of strings with which to initialise the choice control.}
|
||||
|
||||
\docparam{choices}{An array of strings with which to initialise the choice control.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxChoice}{wxchoice}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxChoice::Create}{wxchoicecreate}, \helpref{wxValidator}{wxvalidator}
|
||||
|
||||
\membersection{wxChoice::\destruct{wxChoice}}
|
||||
|
||||
\func{}{\destruct{wxChoice}}{\void}
|
||||
|
||||
Destructor, destroying the choice item.
|
||||
|
||||
\membersection{wxChoice::Append}\label{wxchoiceappend}
|
||||
|
||||
\func{void}{Append}{\param{const wxString\& }{ item}}
|
||||
|
||||
Adds the item to the end of the choice control.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{String to add.}
|
||||
|
||||
\membersection{wxChoice::Clear}\label{wxchoiceclear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Clears the strings from the choice item.
|
||||
|
||||
\membersection{wxChoice::Create}\label{wxchoicecreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow *}{parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\& }{pos}, \param{const wxSize\&}{ size},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[]},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxString\& }{name = ``choice"}}
|
||||
|
||||
Creates the choice for two-step construction. See \helpref{wxChoice::wxChoice}{wxchoiceconstr}.
|
||||
|
||||
\membersection{wxChoice::FindString}\label{wxchoicefindstring}
|
||||
|
||||
\constfunc{int}{FindString}{\param{const wxString\& }{string}}
|
||||
|
||||
Finds a choice matching the given string.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{string}{String to find.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns the position if found, or -1 if not found.
|
||||
|
||||
\membersection{wxChoice::GetColumns}\label{wxchoicegetcolumns}
|
||||
|
||||
\constfunc{int}{GetColumns}{\void}
|
||||
|
||||
Gets the number of columns in this choice item.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This is implemented for Motif only.
|
||||
|
||||
\membersection{wxChoice::GetSelection}\label{wxchoicegetselection}
|
||||
|
||||
\constfunc{int}{GetSelection}{\void}
|
||||
|
||||
Gets the id (position) of the selected string, or -1 if there is no selection.
|
||||
|
||||
\membersection{wxChoice::GetString}\label{wxchoicegetstring}
|
||||
|
||||
\constfunc{wxString}{GetString}{\param{int}{ n}}
|
||||
|
||||
Returns the string at the given position.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{The zero-based position.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
The string at the given position, or the empty string if {\it n} is invalid.
|
||||
|
||||
\membersection{wxChoice::GetStringSelection}\label{wxchoicegetstringselection}
|
||||
|
||||
\constfunc{wxString}{GetStringSelection}{\void}
|
||||
|
||||
Gets the selected string, or the empty string if no string is selected.
|
||||
|
||||
\membersection{wxChoice::Number}\label{wxchoicenumber}
|
||||
|
||||
\constfunc{int}{Number}{\void}
|
||||
|
||||
Returns the number of strings in the choice control.
|
||||
|
||||
\membersection{wxChoice::SetColumns}\label{wxchoicesetcolumns}
|
||||
|
||||
\func{void}{SetColumns}{\param{int}{ n = 1}}
|
||||
|
||||
Sets the number of columns in this choice item.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{Number of columns.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This is implemented for Motif only.
|
||||
|
||||
\membersection{wxChoice::SetSelection}\label{wxchoicesetselection}
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ n}}
|
||||
|
||||
Sets the choice by passing the desired string position.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{The string position to select, starting from zero.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxChoice::SetStringSelection}{wxchoicesetstringselection}
|
||||
|
||||
\membersection{wxChoice::SetStringSelection}\label{wxchoicesetstringselection}
|
||||
|
||||
\func{void}{SetStringSelection}{\param{const wxString\& }{ string}}
|
||||
|
||||
Sets the choice by passing the desired string.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{string}{The string to select.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxChoice::SetSelection}{wxchoicesetselection}
|
||||
|
||||
|
@@ -1,75 +0,0 @@
|
||||
\section{\class{wxClassInfo}}\label{wxclassinfo}
|
||||
|
||||
This class stores meta-information about classes. Instances of this class are
|
||||
not generally defined directly by an application, but indirectly through use
|
||||
of macros such as {\bf DECLARE\_DYNAMIC\_CLASS} and {\bf IMPLEMENT\_DYNAMIC\_CLASS}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No parent class.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxClassInfo::wxClassInfo}\label{wxclassinfoconstr}
|
||||
|
||||
\func{}{wxClassInfo}{\param{char* }{className}, \param{char* }{baseClass1}, \param{char* }{baseClass2},
|
||||
\param{int}{ size}, \param{wxObjectConstructorFn }{fn}}
|
||||
|
||||
Constructs a wxClassInfo object. The supplied macros implicitly construct objects of this
|
||||
class, so there is no need to create such objects explicitly in an application.
|
||||
|
||||
\membersection{wxClassInfo::CreateObject}
|
||||
|
||||
\func{wxObject*}{CreateObject}{\void}
|
||||
|
||||
Creates an object of the appropriate kind. Returns NULL if the class has not been declared
|
||||
dynamically createable (typically, it's an abstract class).
|
||||
|
||||
\membersection{wxClassInfo::FindClass}
|
||||
|
||||
\func{static wxClassInfo *}{FindClass}{\param{char* }{name}}
|
||||
|
||||
Finds the wxClassInfo object for a class of the given string name.
|
||||
|
||||
\membersection{wxClassInfo::GetBaseClassName1}
|
||||
|
||||
\constfunc{char*}{GetBaseClassName1}{\void}
|
||||
|
||||
Returns the name of the first base class (NULL if none).
|
||||
|
||||
\membersection{wxClassInfo::GetBaseClassName2}
|
||||
|
||||
\constfunc{char*}{GetBaseClassName2}{\void}
|
||||
|
||||
Returns the name of the second base class (NULL if none).
|
||||
|
||||
\membersection{wxClassInfo::GetClassName}
|
||||
|
||||
\constfunc{char *}{GetClassName}{\void}
|
||||
|
||||
Returns the string form of the class name.
|
||||
|
||||
\membersection{wxClassInfo::GetSize}
|
||||
|
||||
\constfunc{int}{GetSize}{\void}
|
||||
|
||||
Returns the size of the class.
|
||||
|
||||
\membersection{wxClassInfo::InitializeClasses}
|
||||
|
||||
\func{static void}{InitializeClasses}{\void}
|
||||
|
||||
Initializes pointers in the wxClassInfo objects for fast execution
|
||||
of IsKindOf. Called in base wxWindows library initialization.
|
||||
|
||||
\membersection{wxClassInfo::IsKindOf}\label{wxclassinfoiskindof}
|
||||
|
||||
\func{bool}{IsKindOf}{\param{wxClassInfo* }{info}}
|
||||
|
||||
Returns TRUE if this class is a kind of (inherits from) the given class.
|
||||
|
||||
|
@@ -1,225 +0,0 @@
|
||||
\chapter{Alphabetical class reference}\label{classref}
|
||||
\setheader{{\it CHAPTER \thechapter}}{}{}{}{}{{\it CHAPTER \thechapter}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\pagenumbering{arabic}%
|
||||
%
|
||||
\begin{comment}
|
||||
\helpignore{\section{Class hierarchy}%
|
||||
|
||||
The GUI-specific wxWindows class hierarchy is shown in Figure 5.1.
|
||||
Many other, non-GUI classes have been omitted.
|
||||
|
||||
\vskip 1cm
|
||||
$$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\vskip 1cm
|
||||
\centerline{Figure 5.1: wxWindows class hierarchy}
|
||||
|
||||
\newpage}%
|
||||
|
||||
\overview{Writing a wxWindows application: a rough guide}{roughguide}
|
||||
|
||||
\helponly{
|
||||
\sethotspotcolour{off}%
|
||||
\large{
|
||||
\helpref{Notes on using the reference}{referencenotes}\\
|
||||
\helpref{Guide to functions}{functions}
|
||||
\sethotspotcolour{on}%
|
||||
}}
|
||||
\end{comment}
|
||||
|
||||
\input accel.tex
|
||||
\input activevt.tex
|
||||
\input app.tex
|
||||
\input array.tex
|
||||
\input autoobj.tex
|
||||
\input busycurs.tex
|
||||
\input button.tex
|
||||
\input bitmap.tex
|
||||
\input bbutton.tex
|
||||
\input bmpdatob.tex
|
||||
\input brush.tex
|
||||
\input calclevt.tex
|
||||
\input checkbox.tex
|
||||
\input checklst.tex
|
||||
\input choice.tex
|
||||
\input clasinfo.tex
|
||||
\input clientdc.tex
|
||||
\input clipbrd.tex
|
||||
\input closeevt.tex
|
||||
\input colour.tex
|
||||
\input colordlg.tex
|
||||
\input combobox.tex
|
||||
\input command.tex
|
||||
\input cmdevent.tex
|
||||
\input cmdproc.tex
|
||||
\input conditn.tex
|
||||
\input config.tex
|
||||
\input control.tex
|
||||
\input critsect.tex
|
||||
\input crtslock.tex
|
||||
\input cursor.tex
|
||||
\input database.tex
|
||||
\input dataobj.tex
|
||||
\input date.tex
|
||||
\input datstrm.tex
|
||||
\input dc.tex
|
||||
\input ddeclint.tex
|
||||
\input ddeconn.tex
|
||||
\input ddeservr.tex
|
||||
\input debugcxt.tex
|
||||
\input dialog.tex
|
||||
\input dirdlg.tex
|
||||
\input document.tex
|
||||
\input docchfrm.tex
|
||||
\input docmanag.tex
|
||||
\input docmdich.tex
|
||||
\input docmdipr.tex
|
||||
\input docprfrm.tex
|
||||
\input doctempl.tex
|
||||
\input dropevt.tex
|
||||
\input dropsrc.tex
|
||||
\input droptrgt.tex
|
||||
\input eraseevt.tex
|
||||
\input event.tex
|
||||
\input evthand.tex
|
||||
\input expr.tex
|
||||
\input file.tex
|
||||
\input fildatob.tex
|
||||
\input filedlg.tex
|
||||
\input fildrptg.tex
|
||||
\input filehist.tex
|
||||
\input filetype.tex
|
||||
\input fltinstr.tex
|
||||
\input fltoutst.tex
|
||||
\input focusevt.tex
|
||||
\input font.tex
|
||||
\input fontdlg.tex
|
||||
\input fontlist.tex
|
||||
\input frame.tex
|
||||
\input ftp.tex
|
||||
\input gauge.tex
|
||||
\input gdiobj.tex
|
||||
\input grid.tex
|
||||
\input hash.tex
|
||||
\input helpinst.tex
|
||||
\input idleevt.tex
|
||||
\input icon.tex
|
||||
\input image.tex
|
||||
\input imaglist.tex
|
||||
\input ilayout.tex
|
||||
\input indlgevt.tex
|
||||
\input inputstr.tex
|
||||
\input joystick.tex
|
||||
\input joyevent.tex
|
||||
\input keyevent.tex
|
||||
\input layalgor.tex
|
||||
\input layout.tex
|
||||
\input list.tex
|
||||
\input listbox.tex
|
||||
\input listctrl.tex
|
||||
\input listevt.tex
|
||||
\input log.tex
|
||||
\input mask.tex
|
||||
\input mdi.tex
|
||||
\input menu.tex
|
||||
\input menuitem.tex
|
||||
\input menuevt.tex
|
||||
\input memorydc.tex
|
||||
\input metafile.tex
|
||||
\input mimetype.tex
|
||||
\input minifram.tex
|
||||
\input module.tex
|
||||
\input mouseevt.tex
|
||||
\input moveevt.tex
|
||||
\input mltchdlg.tex
|
||||
\input msgdlg.tex
|
||||
\input mutex.tex
|
||||
\input mutexlck.tex
|
||||
\input node.tex
|
||||
\input notebook.tex
|
||||
\input noteevt.tex
|
||||
\input object.tex
|
||||
\input outptstr.tex
|
||||
\input pagedlg.tex
|
||||
\input paintdc.tex
|
||||
\input paintevt.tex
|
||||
\input palette.tex
|
||||
\input panel.tex
|
||||
\input pantabv.tex
|
||||
\input pathlist.tex
|
||||
\input pen.tex
|
||||
\input point.tex
|
||||
\input postscpt.tex
|
||||
\input prevwin.tex
|
||||
\input print.tex
|
||||
\input prvdatob.tex
|
||||
\input prvtdrpt.tex
|
||||
\input process.tex
|
||||
\input procevt.tex
|
||||
\input protocol.tex
|
||||
\input query.tex
|
||||
\input qylayevt.tex
|
||||
\input radiobox.tex
|
||||
\input radiobut.tex
|
||||
\input realpoin.tex
|
||||
\input rect.tex
|
||||
\input recrdset.tex
|
||||
\input region.tex
|
||||
\input sashevt.tex
|
||||
\input sashlayw.tex
|
||||
\input sashwin.tex
|
||||
\input screendc.tex
|
||||
\input scrolbar.tex
|
||||
\input scrolevt.tex
|
||||
\input scrolwin.tex
|
||||
\input sngchdlg.tex
|
||||
\input size.tex
|
||||
\input sizeevt.tex
|
||||
\input slider.tex
|
||||
\input sckaddr.tex
|
||||
\input socket.tex
|
||||
\input spinbutt.tex
|
||||
\input splitter.tex
|
||||
\input statbmp.tex
|
||||
\input statbox.tex
|
||||
\input stattext.tex
|
||||
\input statusbr.tex
|
||||
\input wxstring.tex
|
||||
\input strlist.tex
|
||||
\input stream.tex
|
||||
\input strmbase.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
\input tab.tex
|
||||
\input tabctrl.tex
|
||||
\input tabevent.tex
|
||||
\input taskbar.tex
|
||||
\input text.tex
|
||||
\input textdlg.tex
|
||||
\input txtdrptg.tex
|
||||
\input valtext.tex
|
||||
\input tempfile.tex
|
||||
\input tcpclint.tex
|
||||
\input tcpconn.tex
|
||||
\input tcpservr.tex
|
||||
\input txtdatob.tex
|
||||
\input textfile.tex
|
||||
\input thread.tex
|
||||
\input time.tex
|
||||
\input timer.tex
|
||||
\input tokenizr.tex
|
||||
\input toolbar.tex
|
||||
\input treectrl.tex
|
||||
\input treeevt.tex
|
||||
\input upduievt.tex
|
||||
\input url.tex
|
||||
\input validatr.tex
|
||||
\input variant.tex
|
||||
\input view.tex
|
||||
\input wave.tex
|
||||
\input window.tex
|
||||
\input windowdc.tex
|
||||
|
||||
\input function.tex
|
||||
\input keycode.tex
|
||||
|
@@ -1,31 +0,0 @@
|
||||
\section{\class{wxClientDC}}\label{wxclientdc}
|
||||
|
||||
A wxClientDC must be constructed if an application wishes to paint on the
|
||||
client area of a window from outside an {\bf OnPaint} event.
|
||||
This should normally be constructed as a temporary stack object; don't store
|
||||
a wxClientDC object.
|
||||
|
||||
To draw on a window from within {\bf OnPaint}, construct a \helpref{wxPaintDC}{wxpaintdc} object.
|
||||
|
||||
To draw on the whole window including decorations, construct a \helpref{wxWindowDC}{wxwindowdc} object
|
||||
(Windows only).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxDC}{wxdc}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDC}{wxdc}, \helpref{wxMemoryDC}{wxmemorydc}, \helpref{wxPaintDC}{wxpaintdc},\rtfsp
|
||||
\helpref{wxWindowDC}{wxwindowdc}, \helpref{wxScreenDC}{wxscreendc}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxClientDC::wxClientDC}
|
||||
|
||||
\func{}{wxClientDC}{\param{wxWindow*}{ window}}
|
||||
|
||||
Constructor. Pass a pointer to the window on which you wish to paint.
|
||||
|
||||
|
||||
|