Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
9d288a9972 This commit was manufactured by cvs2svn to create tag 'wxPy_2_3_0'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/wxPy_2_3_0@10324 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-05-25 07:01:32 +00:00
2748 changed files with 97512 additions and 231340 deletions

View File

@@ -37,9 +37,6 @@ base
gtk
motif
win32
univ
univ-debug
univ-release
base-debug
gtk-debug
motif-debug
@@ -49,5 +46,3 @@ gtk-release
motif-release
win32-release
*tags
log
univtags.cmd

View File

@@ -19,39 +19,56 @@ include ./src/make.env
.SUFFIXES: .o .cpp .c .cxx
.c.o :
$(CCC) -c @DEP_INFO_FLAGS@ $(CFLAGS) $(PICFLAGS) @WXMSW_DLL_DEFINES@ -o $@ $<
$(CCC) -c @DEP_INFO_FLAGS@ $(CFLAGS) $(PICFLAGS) -o $@ $<
.cpp.o :
$(CC) -c @DEP_INFO_FLAGS@ $(CXXFLAGS) $(PICFLAGS) @WXMSW_DLL_DEFINES@ -o $@ $<
$(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(PICFLAGS) -o $@ $<
.cxx.o :
$(CC) -c @DEP_INFO_FLAGS@ $(CXXFLAGS) $(PICFLAGS) @WXMSW_DLL_DEFINES@ -o $@ $<
$(CC) -c @DEP_INFO_FLAGS@ $(CPPFLAGS) $(PICFLAGS) -o $@ $<
########################### Paths #################################
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VP1 = @TOOLKIT_VPATH@
VP2 = @top_srcdir@/src/common
VP3 = @top_srcdir@/src/generic
VP4 = @top_srcdir@/src/unix
VP5 = @top_srcdir@/src/html
VP6 = @top_srcdir@/src/png
VP7 = @top_srcdir@/src/jpeg
VP8 = @top_srcdir@/src/tiff
VP9 = @top_srcdir@/src/zlib
VPA = @top_srcdir@/src/regex
VP10 = @top_srcdir@/src/iodbc
VP11 = @top_srcdir@/src/msw/ole
VP12 = $(FTVP01)@PATH_IFS@$(FTVP02)@PATH_IFS@$(FTVP03)@PATH_IFS@$(FTVP04)@PATH_IFS@$(FTVP05)@PATH_IFS@$(FTVP06)@PATH_IFS@$(FTVP07)@PATH_IFS@$(FTVP08)@PATH_IFS@
VP13 = $(FTVP09)@PATH_IFS@$(FTVP10)@PATH_IFS@$(FTVP11)@PATH_IFS@$(FTVP12)@PATH_IFS@$(FTVP13)@PATH_IFS@$(FTVP14)@PATH_IFS@$(FTVP15)@PATH_IFS@
VP1 = @top_srcdir@/src/common
VP2 = @top_srcdir@/src/@TOOLKIT_DIR@
VP3 = @top_srcdir@/src/motif/xmcombo
VP4 = @top_srcdir@/src/generic
VP5 = @top_srcdir@/src/unix
VP6 = @top_srcdir@/src/html
VP7 = @top_srcdir@/src/png
VP8 = @top_srcdir@/src/jpeg
VP9 = @top_srcdir@/src/tiff
VP10 = @top_srcdir@/src/zlib
VP11 = @top_srcdir@/src/iodbc
VP12 = @top_srcdir@/src/msw/ole
FTVP01 = @top_srcdir@/src/freetype/unix
FTVP02 = @top_srcdir@/src/freetype/autohint
FTVP03 = @top_srcdir@/src/freetype/base
FTVP04 = @top_srcdir@/src/freetype/cff
FTVP05 = @top_srcdir@/src/freetype/cid
FTVP06 = @top_srcdir@/src/freetype/macfond
FTVP07 = @top_srcdir@/src/freetype/otlayout
FTVP08 = @top_srcdir@/src/freetype/psnames
FTVP09 = @top_srcdir@/src/freetype/raster1
FTVP10 = @top_srcdir@/src/freetype/sfnt
FTVP11 = @top_srcdir@/src/freetype/smooth
FTVP12 = @top_srcdir@/src/freetype/truetype
FTVP13 = @top_srcdir@/src/freetype/type1
FTVP14 = @top_srcdir@/src/freetype/type1z
FTVP15 = @top_srcdir@/src/freetype/winfonts
VP13 = $(FTVP01)@PATH_IFS@$(FTVP02)@PATH_IFS@$(FTVP03)@PATH_IFS@$(FTVP04)@PATH_IFS@$(FTVP05)@PATH_IFS@$(FTVP06)@PATH_IFS@$(FTVP07)@PATH_IFS@$(FTVP08)@PATH_IFS@
VP14 = $(FTVP09)@PATH_IFS@$(FTVP10)@PATH_IFS@$(FTVP11)@PATH_IFS@$(FTVP12)@PATH_IFS@$(FTVP13)@PATH_IFS@$(FTVP14)@PATH_IFS@$(FTVP15)@PATH_IFS@
# the comment at the end of the next line is needed because otherwise autoconf
# would remove this line completely - it contains a built-in hack to remove
# any VPATH assignment not containing ':'
VPATH = $(VP1)@PATH_IFS@$(VP2)@PATH_IFS@$(VP3)@PATH_IFS@$(VP4)@PATH_IFS@$(VP5)@PATH_IFS@$(VP6)@PATH_IFS@$(VP7)@PATH_IFS@$(VP8)@PATH_IFS@$(VP9)@PATH_IFS@$(VPA)@PATH_IFS@$(VP10)@PATH_IFS@$(VP11)@PATH_IFS@$(VP12)@PATH_IFS@$(VP13) # ':' for autoconf
VPATH = $(VP1)@PATH_IFS@$(VP2)@PATH_IFS@$(VP3)@PATH_IFS@$(VP4)@PATH_IFS@$(VP5)@PATH_IFS@$(VP6)@PATH_IFS@$(VP7)@PATH_IFS@$(VP8)@PATH_IFS@$(VP9)@PATH_IFS@$(VP10)@PATH_IFS@$(VP11)@PATH_IFS@$(VP12)@PATH_IFS@$(VP13)@PATH_IFS@$(VP14) # ':' for autoconf
top_srcdir = @top_srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
@@ -137,18 +154,17 @@ INTLDIR = $(WXDIR)/locale
# append a version suffix x.y.z to all file names
VER_SUFFIX=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)$(EXTRA_VER)
WXARCHIVE=@DISTDIR@-$(VER_SUFFIX).tar.gz
WXGLARCHIVE=@DISTDIR@-gl-$(VER_SUFFIX).tar.gz
WXSAMPLES=wx$(TOOLKIT)-samples-$(VER_SUFFIX).tar.gz
WXDEMOS=wx$(TOOLKIT)-demos-$(VER_SUFFIX).tar.gz
WXARCHIVE = @DISTDIR@-$(VER_SUFFIX).tar.gz
WXGLARCHIVE = @DISTDIR@-gl-$(VER_SUFFIX).tar.gz
WXSAMPLES = wx$(TOOLKIT)-samples-$(VER_SUFFIX).tar.gz
WXDEMOS = wx$(TOOLKIT)-demos-$(VER_SUFFIX).tar.gz
WXARCHIVE_BZIP=@DISTDIR@-$(VER_SUFFIX).tar.bz2
WXGLARCHIVE_BZIP=@DISTDIR@-gl-$(VER_SUFFIX).tar.bz2
WXSAMPLES_BZIP=wx$(TOOLKIT)-samples-$(VER_SUFFIX).tar.bz2
WXDEMOS_BZIP=wx$(TOOLKIT)-demos-$(VER_SUFFIX).tar.bz2
WXARCHIVE_BZIP = @DISTDIR@-$(VER_SUFFIX).tar.bz2
WXGLARCHIVE_BZIP = @DISTDIR@-gl-$(VER_SUFFIX).tar.bz2
WXSAMPLES_BZIP = wx$(TOOLKIT)-samples-$(VER_SUFFIX).tar.bz2
WXDEMOS_BZIP = wx$(TOOLKIT)-demos-$(VER_SUFFIX).tar.bz2
DISTDIRNAME=@DISTDIR@-$(VER_SUFFIX)
DISTDIR=./_dist_dir/$(DISTDIRNAME)
DISTDIR = ./_dist_dir/@DISTDIR@
############################## Files ##################################
@@ -158,7 +174,7 @@ WX_LINGUAS = `cd $(top_srcdir)/locale && ls *.mo 2> /dev/null | sed -n 's/\.mo//
# this line will include a file which defines ALL_SOURCES, ALL_OBJECTS,
# ALL_DEPFILES and ALL_HEADERS variables with the complete list of .cpp, .o,
# .d and .h/.inl files for the current toolkit
include @PORT_FILES@
include $(top_srcdir)/@PORT_FILES@
SOURCES = $(ALL_SOURCES)
HEADERS = $(ALL_HEADERS)
@@ -170,13 +186,7 @@ DEPFILES = @ALL_DEPFILES@
# the object files of sublibraries (we assume that they don't change [often],
# so we don't generate these lists with tmake but embed them here)
REGEXOBJS = \
regcomp.o \
regexec.o \
regerror.o \
regfree.o
ZLIBOBJS = \
ZLIBOBJS = \
adler32.o \
compress.o \
crc32.o \
@@ -192,7 +202,7 @@ ZLIBOBJS = \
infutil.o \
inffast.o
PNGOBJS = \
PNGOBJS = \
png.o \
pngread.o \
pngrtran.o \
@@ -228,7 +238,7 @@ FREETYPEOBJS = \
type1z.o \
winfnt.o
JPEGOBJS = \
JPEGOBJS = \
jcomapi.o \
jutils.o \
jerror.o \
@@ -276,7 +286,7 @@ JPEGOBJS = \
jquant2.o \
jdmerge.o
TIFFOBJS = \
TIFFOBJS = \
tif_aux.o \
tif_close.o \
tif_codec.o \
@@ -357,14 +367,14 @@ all: @WX_ALL@
@$(INSTALL) -d ./lib
$(SHARED_LD) ./lib/$@ $(BURNT_LIBRARY_NAME) $(OBJECTS) $(EXTRALIBS)
@WX_LIBRARY_NAME_SHARED_GL@: glcanvas.o @WX_LIBRARY_NAME_SHARED@
@WX_LIBRARY_NAME_SHARED_GL@: glcanvas.o
@$(INSTALL) -d ./lib
$(SHARED_LD) ./lib/$@ $(BURNT_LIBRARY_NAME_GL) glcanvas.o ./lib/@WX_LIBRARY_NAME_SHARED@ $(EXTRALIBS) $(OPENGLLIBS)
$(SHARED_LD) ./lib/$@ $(BURNT_LIBRARY_NAME_GL) glcanvas.o $(EXTRALIBS)
./lib/lib@WX_LIBRARY@-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).r: ./lib/lib@WX_LIBRARY@-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).rsrc
./lib/lib@WX_LIBRARY@-${VER_SUFFIX}.r: ./lib/lib@WX_LIBRARY@-${VER_SUFFIX}.rsrc
$(DEREZ) $^ $(DEREZFLAGS) > $@
./lib/lib@WX_LIBRARY@-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).rsrc: $(MACRESOURCES)
./lib/lib@WX_LIBRARY@-${VER_SUFFIX}.rsrc: $(MACRESOURCES)
$(REZ) $(REZFLAGS) $^ -o $@
CREATE_LINKS: @WX_LIBRARY_NAME_SHARED@
@@ -429,7 +439,7 @@ lexer.c: $(COMMDIR)/lexer.l
-include $(DEPFILES)
afminstall: preinstall
@if test ! -d $(datadir); then $(INSTALL) -d $(datadir); fi
$(INSTALL) -d $(datadir)
$(INSTALL) -d $(datadir)/wx
$(INSTALL) -d $(datadir)/wx/afm
$(INSTALL) -d $(datadir)/wx/gs_afm
@@ -443,9 +453,9 @@ preinstall: $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLKIT_N
@echo " Installing wxWindows..."
@echo " "
@if test ! -d $(prefix); then $(INSTALL) -d $(prefix); fi
@if test ! -d $(bindir); then $(INSTALL) -d $(bindir); fi
@if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi
$(INSTALL) -d $(prefix)
$(INSTALL) -d $(bindir)
$(INSTALL) -d $(libdir)
$(INSTALL_SCRIPT) $(top_builddir)/wx@TOOLKIT_NAME@-config $(bindir)/wx@TOOLKIT_NAME@-config
cd $(bindir) && rm -f wx-config && $(LN_S) wx@TOOLKIT_NAME@-config wx-config
@@ -468,10 +478,10 @@ preinstall: $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLKIT_N
echo "$(INSTALL_DATA) $(top_srcdir)/include/wx/$$p $(includedir)/wx/$$p"; \
done
@if test ! -d $(localedir); then $(INSTALL) -d $(localedir); fi
$(INSTALL) -d $(localedir)
@for p in $(WX_LINGUAS); do \
if test ! -d $(localedir)/$$p; then $(INSTALL) -d $(localedir)/$$p; fi;\
if test ! -d $(localedir)/$$p/LC_MESSAGES; then $(INSTALL) -d $(localedir)/$$p/LC_MESSAGES; fi;\
$(INSTALL) -d $(localedir)/$$p; \
$(INSTALL) -d $(localedir)/$$p/LC_MESSAGES; \
$(INSTALL_DATA) $(top_srcdir)/locale/$$p.mo $(localedir)/$$p/LC_MESSAGES/wxstd.mo; \
echo "$(INSTALL_DATA) $(top_srcdir)/locale/$$p.mo $(localedir)/$$p/LC_MESSAGES/wxstd.mo"; \
done
@@ -480,7 +490,7 @@ preinstall_gl: $(top_builddir)/lib/@WX_TARGET_LIBRARY_GL@
@echo " "
@echo " Installing wxWindows OpenGl add-on..."
@echo " "
@if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi
$(INSTALL) -d $(libdir)
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
install: @AFMINSTALL@ @WX_ALL_INSTALLED@
@@ -608,7 +618,7 @@ ALL_GUI_DIST: ALL_DIST
mkdir $(DISTDIR)/src/tiff
mkdir $(DISTDIR)/src/iodbc
mkdir $(DISTDIR)/src/unix
cp $(WXDIR)/@PORT_FILES@ $(DISTDIR)
cp $(WXDIR)/@PORT_FILES@ $(DISTDIR)/@PORT_FILES@
cp $(SRCDIR)/*.in $(DISTDIR)/src
cp $(COMMDIR)/*.cpp $(DISTDIR)/src/common
cp $(COMMDIR)/*.c $(DISTDIR)/src/common
@@ -648,7 +658,7 @@ BASE_DIST: ALL_DIST
mkdir $(DISTDIR)/include/wx/unix
mkdir $(DISTDIR)/src/common
mkdir $(DISTDIR)/src/unix
cp $(WXDIR)/@PORT_FILES@ $(DISTDIR)
cp $(WXDIR)/@PORT_FILES@ $(DISTDIR)/@PORT_FILES@
cp $(WXDIR)/@RPM_FILES@ $(DISTDIR)/@RPM_FILES@
cp $(WXDIR)/@RPM_SPEC@ $(DISTDIR)/@RPM_SPEC@
cp $(WXDIR)/wxBase*.ds[pw] $(DISTDIR)
@@ -862,16 +872,6 @@ SAMPLES_DIST: ALL_GUI_DIST
cp $(SAMPDIR)/dynamic/*.cpp $(DISTDIR)/samples/dynamic
cp $(SAMPDIR)/dynamic/*.xpm $(DISTDIR)/samples/dynamic
mkdir $(DISTDIR)/samples/erase
cp $(SAMPDIR)/erase/Makefile.in $(DISTDIR)/samples/erase
cp $(SAMPDIR)/erase/makefile.unx $(DISTDIR)/samples/erase
cp $(SAMPDIR)/erase/*.cpp $(DISTDIR)/samples/erase
mkdir $(DISTDIR)/samples/event
cp $(SAMPDIR)/event/Makefile.in $(DISTDIR)/samples/event
cp $(SAMPDIR)/event/makefile.unx $(DISTDIR)/samples/event
cp $(SAMPDIR)/event/*.cpp $(DISTDIR)/samples/event
mkdir $(DISTDIR)/samples/exec
cp $(SAMPDIR)/exec/Makefile.in $(DISTDIR)/samples/exec
cp $(SAMPDIR)/exec/makefile.unx $(DISTDIR)/samples/exec
@@ -950,7 +950,6 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/internat
mkdir $(DISTDIR)/samples/internat/de
mkdir $(DISTDIR)/samples/internat/fr
mkdir $(DISTDIR)/samples/internat/ru
cp $(SAMPDIR)/internat/Makefile.in $(DISTDIR)/samples/internat
cp $(SAMPDIR)/internat/makefile.unx $(DISTDIR)/samples/internat
cp $(SAMPDIR)/internat/*.cpp $(DISTDIR)/samples/internat
@@ -959,10 +958,10 @@ SAMPLES_DIST: ALL_GUI_DIST
cp $(SAMPDIR)/internat/*.po $(DISTDIR)/samples/internat
cp $(SAMPDIR)/internat/fr/*.mo $(DISTDIR)/samples/internat/fr
cp $(SAMPDIR)/internat/de/*.mo $(DISTDIR)/samples/internat/de
cp $(SAMPDIR)/internat/ru/*.mo $(DISTDIR)/samples/internat/ru
#cp $(SAMPDIR)/internat/ru/*.mo $(DISTDIR)/samples/internat/de
cp $(SAMPDIR)/internat/fr/*.po $(DISTDIR)/samples/internat/fr
cp $(SAMPDIR)/internat/de/*.po $(DISTDIR)/samples/internat/de
cp $(SAMPDIR)/internat/ru/*.po $(DISTDIR)/samples/internat/ru
#cp $(SAMPDIR)/internat/ru/*.po $(DISTDIR)/samples/internat/de
mkdir $(DISTDIR)/samples/ipc
cp $(SAMPDIR)/ipc/Makefile.in $(DISTDIR)/samples/ipc
@@ -1296,58 +1295,27 @@ PYTHON_DIST:
distclean:
$(RM) -r _dist_dir
# VZ: the -only targets allow to do "make dist bzip-dist-only" without copying
# the files twice
dist-only:
@echo "*** Creating wxWindows distribution in $(DISTDIR)..."
@cd _dist_dir && tar ch $(DISTDIRNAME) | gzip -f9 > ../$(WXARCHIVE);
@if test "$(USE_GUI)" = 1; then \
cd $(DISTDIR); \
mv samples wxSamples-$(VER_SUFFIX); \
echo "*** Creating wxSamples archive..."; \
tar ch wxSamples-$(VER_SUFFIX) | gzip -f9 > ../../$(WXSAMPLES); \
mv wxSamples-$(VER_SUFFIX) samples; \
mv demos wxDemos-$(VER_SUFFIX); \
echo "*** Creating wxDemos archive..."; \
tar ch wxDemos-$(VER_SUFFIX) | gzip -f9 > ../../$(WXDEMOS); \
mv wxDemos-$(VER_SUFFIX) demos; \
fi
dist: @GUIDIST@
cp $(WXDIR)/src/files.lst $(DISTDIR)/src
cp $(WXDIR)/src/files.lst $(DISTDIR)/src/
@echo "*** Creating wxWindows distribution in $(DISTDIR)..."
@cd _dist_dir && tar ch $(DISTDIRNAME) | gzip -f9 > ../$(WXARCHIVE);
@cd _dist_dir; \
mv @DISTDIR@ @DISTDIR@-$(VER_SUFFIX); \
tar ch @DISTDIR@-$(VER_SUFFIX) | gzip -f9 > ../$(WXARCHIVE); \
mv @DISTDIR@-$(VER_SUFFIX) @DISTDIR@
@if test "$(USE_GUI)" = 1; then \
cd $(DISTDIR); \
mv samples wxSamples-$(VER_SUFFIX); \
echo "*** Creating wxSamples archive..."; \
tar ch wxSamples-$(VER_SUFFIX) | gzip -f9 > ../../$(WXSAMPLES); \
mv wxSamples-$(VER_SUFFIX) samples; \
mv demos wxDemos-$(VER_SUFFIX); \
echo "*** Creating wxDemos archive..."; \
tar ch wxDemos-$(VER_SUFFIX) | gzip -f9 > ../../$(WXDEMOS); \
mv wxDemos-$(VER_SUFFIX) demos; \
fi
bzip-dist-only:
@echo "*** Creating wxWindows distribution in $(DISTDIR)..."
@cd _dist_dir && tar ch $(DISTDIRNAME) | bzip2 -f9 > ../$(WXARCHIVE_BZIP);
@if test "$(USE_GUI)" = 1; then \
cd $(DISTDIR); \
mv samples wxSamples-${VER_SUFFIX}; \
echo "*** Creating wxSamples archive..."; \
tar ch wxSamples-${VER_SUFFIX} | bzip2 -f9 > ../../$(WXSAMPLES_BZIP); \
mv wxSamples-${VER_SUFFIX} samples; \
mv demos wxDemos-${VER_SUFFIX}; \
echo "*** Creating wxDemos archive..."; \
tar ch wxDemos-${VER_SUFFIX} | bzip2 -f9 > ../../$(WXDEMOS_BZIP); \
mv wxDemos-${VER_SUFFIX} demos; \
fi
bzip-dist: @GUIDIST@
cp $(WXDIR)/src/files.lst $(DISTDIR)/src/
@echo "*** Creating wxWindows distribution in $(DISTDIR)..."
@cd _dist_dir && tar ch $(DISTDIRNAME) | bzip2 -f9 > ../$(WXARCHIVE_BZIP)
cd _dist_dir; tar ch @DISTDIR@ | bzip2 -f9 > $(WXARCHIVE_BZIP); mv $(WXARCHIVE_BZIP) ..
@if test "$(USE_GUI)" = 1; then \
cd $(DISTDIR); \
mv samples wxSamples; \
@@ -1374,7 +1342,7 @@ clean:
$(RM) *.d
$(RM) parser.c
$(RM) lexer.c
# $(RM) -r ./lib/wx/*
$(RM) -r ./lib/wx/*
$(RM) ./lib/lib*
cleanall: clean

119
aclocal.m4 vendored
View File

@@ -1,104 +1,11 @@
dnl aclocal.m4 generated automatically by aclocal 1.4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
# Configure paths for GTK+
# Owen Taylor 97-11-3
dnl AM_PATH_GTK([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS. Uses variables
dnl gtk_config_prefix and/or gtk_config_exec_prefix if defined.
AC_DEFUN(AM_PATH_GTK,
[
if test x$gtk_config_exec_prefix != x ; then
gtk_config_args="$gtk_config_args --exec-prefix=$gtk_config_exec_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_exec_prefix/bin/gtk-config
fi
fi
if test x$gtk_config_prefix != x ; then
gtk_config_args="$gtk_config_args --prefix=$gtk_config_prefix"
if test x${GTK_CONFIG+set} != xset ; then
GTK_CONFIG=$gtk_config_prefix/bin/gtk-config
fi
fi
AC_PATH_PROG(GTK_CONFIG, gtk-config, no)
min_gtk_version=ifelse([$1], ,0.99.7,$1)
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
no_gtk=""
if test "$GTK_CONFIG" != "no" ; then
GTK_CFLAGS=`$GTK_CONFIG --cflags`
GTK_LIBS=`$GTK_CONFIG --libs gthread`
ac_save_CFLAGS="$CFLAGS"
ac_save_LIBS="$LIBS"
CFLAGS="$CFLAGS $GTK_CFLAGS"
LIBS="$LIBS $GTK_LIBS"
dnl
dnl Now check if the installed GTK is sufficiently new. (Also sanity
dnl checks the results of gtk-config to some extent)
dnl
AC_TRY_RUN([
#include <gtk/gtk.h>
#include <gtk/gtkfeatures.h>
#include <stdio.h>
#include <stdlib.h>
int
main ()
{
int major, minor, micro;
if (sscanf("$min_gtk_version", "%d.%d.%d", &major, &minor, &micro) != 3) {
printf("%s, bad version string\n", "$min_gtk_version");
exit(1);
}
if ((GTK_MAJOR_VERSION != gtk_major_version) ||
(GTK_MINOR_VERSION != gtk_minor_version) ||
(GTK_MICRO_VERSION != gtk_micro_version)) {
printf("Headers vs. library version mismatch!\n");
exit(1);
}
if (gtk_minor_version == 1) return FALSE;
return !((gtk_major_version > major) ||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)));
}
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
CFLAGS="$ac_save_CFLAGS"
LIBS="$ac_save_LIBS"
else
no_gtk=yes
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes)
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
GTK_CFLAGS=""
GTK_LIBS=""
ifelse([$3], , :, [$3])
fi
AC_SUBST(GTK_CFLAGS)
AC_SUBST(GTK_LIBS)
])
dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
dnl Test for GTK, and define GTK_CFLAGS and GTK_LIBS
dnl
AC_DEFUN(AM_PATH_GTK_2_0,
[dnl
[dnl
dnl Get the cflags and libraries from the gtk-config-2.0 script
dnl
AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed (optional)],
@@ -106,12 +13,12 @@ AC_ARG_WITH(gtk-prefix,[ --with-gtk-prefix=PFX Prefix where GTK is installed
AC_ARG_WITH(gtk-exec-prefix,[ --with-gtk-exec-prefix=PFX Exec prefix where GTK is installed (optional)],
gtk_config_exec_prefix="$withval", gtk_config_exec_prefix="")
AC_ARG_ENABLE(gtktest, [ --disable-gtktest Do not try to compile and run a test GTK program],
, enable_gtktest=yes)
, enable_gtktest=yes)
for module in . $4
do
case "$module" in
gthread)
gthread)
gtk_config_args="$gtk_config_args gthread"
;;
esac
@@ -160,7 +67,7 @@ dnl
#include <stdio.h>
#include <stdlib.h>
int
int
main ()
{
int major, minor, micro;
@@ -179,7 +86,7 @@ main ()
(gtk_minor_version != $gtk_config_minor_version) ||
(gtk_micro_version != $gtk_config_micro_version))
{
printf("\n*** 'gtk-config-2.0 --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
printf("\n*** 'gtk-config-2.0 --version' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
$gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf ("*** was found! If gtk-config-2.0 was correct, then it is best\n");
@@ -190,16 +97,16 @@ main ()
printf("*** If gtk-config-2.0 was wrong, set the environment variable GTK_CONFIG_2_0\n");
printf("*** to point to the correct copy of gtk-config-2.0, and remove the file config.cache\n");
printf("*** before re-running configure\n");
}
}
#if defined (GTK_MAJOR_VERSION) && defined (GTK_MINOR_VERSION) && defined (GTK_MICRO_VERSION)
else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
(gtk_minor_version != GTK_MINOR_VERSION) ||
(gtk_micro_version != GTK_MICRO_VERSION))
{
printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
printf("*** library (version %d.%d.%d)\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
gtk_major_version, gtk_minor_version, gtk_micro_version);
}
#endif /* defined (GTK_MAJOR_VERSION) ... */
else
@@ -215,7 +122,7 @@ main ()
printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
gtk_major_version, gtk_minor_version, gtk_micro_version);
printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
major, minor, micro);
major, minor, micro);
printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
printf("***\n");
printf("*** If you have already installed a sufficiently new version, this error\n");
@@ -236,7 +143,7 @@ main ()
fi
if test "x$no_gtk" = x ; then
AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
ifelse([$2], , :, [$2])
ifelse([$2], , :, [$2])
else
AC_MSG_RESULT(no)
if test "$GTK_CONFIG_2_0" = "no" ; then
@@ -261,7 +168,7 @@ main ()
echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
echo "*** to the installed location Also, make sure you have run ldconfig if that"
echo "*** is required on your system"
echo "***"
echo "***"
echo "*** If you have an old version installed, it is best to remove it, although"
echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"
echo "***"
@@ -285,5 +192,3 @@ main ()
AC_SUBST(GTK_LIBS)
rm -f conf.gtktest
])

5607
configure vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

34
contrib/configure vendored
View File

@@ -812,17 +812,16 @@ done
ac_given_srcdir=$srcdir
trap 'rm -fr `echo "
Makefile
src/Makefile
src/ogl/Makefile
src/mmedia/Makefile
src/stc/Makefile
src/xrc/Makefile
src/xml/Makefile
src/canvas/Makefile
src/gizmos/Makefile
src/plot/Makefile
src/applet/Makefile
src/fl/Makefile
src/net/Makefile
samples/Makefile
samples/mmedia/Makefile
samples/ogl/Makefile
@@ -835,18 +834,9 @@ trap 'rm -fr `echo "
samples/gizmos/Makefile
samples/gizmos/multicell/Makefile
samples/gizmos/splittree/Makefile
samples/gizmos/editlbox/Makefile
samples/gizmos/dynsash/Makefile
samples/gizmos/dynsash_switch/Makefile
samples/xrc/Makefile
samples/xml/Makefile
samples/plot/Makefile
samples/applet/Makefile
samples/fl/Makefile
samples/fl/fl_demo1/Makefile
samples/fl/fl_demo2/Makefile
samples/fl/fl_sample1/Makefile
samples/fl/fl_sample2/Makefile
samples/fl/fl_sample3/Makefile
utils/Makefile
utils/wxrc/Makefile
utils/wxrcedit/Makefile
@@ -929,17 +919,16 @@ EOF
cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"src/Makefile
CONFIG_FILES=\${CONFIG_FILES-"Makefile
src/Makefile
src/ogl/Makefile
src/mmedia/Makefile
src/stc/Makefile
src/xrc/Makefile
src/xml/Makefile
src/canvas/Makefile
src/gizmos/Makefile
src/plot/Makefile
src/applet/Makefile
src/fl/Makefile
src/net/Makefile
samples/Makefile
samples/mmedia/Makefile
samples/ogl/Makefile
@@ -952,18 +941,9 @@ CONFIG_FILES=\${CONFIG_FILES-"src/Makefile
samples/gizmos/Makefile
samples/gizmos/multicell/Makefile
samples/gizmos/splittree/Makefile
samples/gizmos/editlbox/Makefile
samples/gizmos/dynsash/Makefile
samples/gizmos/dynsash_switch/Makefile
samples/xrc/Makefile
samples/xml/Makefile
samples/plot/Makefile
samples/applet/Makefile
samples/fl/Makefile
samples/fl/fl_demo1/Makefile
samples/fl/fl_demo2/Makefile
samples/fl/fl_sample1/Makefile
samples/fl/fl_sample2/Makefile
samples/fl/fl_sample3/Makefile
utils/Makefile
utils/wxrc/Makefile
utils/wxrcedit/Makefile

View File

@@ -37,17 +37,16 @@ dnl File output
AC_OUTPUT([
Makefile
src/Makefile
src/ogl/Makefile
src/mmedia/Makefile
src/stc/Makefile
src/xrc/Makefile
src/xml/Makefile
src/canvas/Makefile
src/gizmos/Makefile
src/plot/Makefile
src/applet/Makefile
src/fl/Makefile
src/net/Makefile
samples/Makefile
samples/mmedia/Makefile
samples/ogl/Makefile
@@ -60,18 +59,9 @@ AC_OUTPUT([
samples/gizmos/Makefile
samples/gizmos/multicell/Makefile
samples/gizmos/splittree/Makefile
samples/gizmos/editlbox/Makefile
samples/gizmos/dynsash/Makefile
samples/gizmos/dynsash_switch/Makefile
samples/xrc/Makefile
samples/xml/Makefile
samples/plot/Makefile
samples/applet/Makefile
samples/fl/Makefile
samples/fl/fl_demo1/Makefile
samples/fl/fl_demo2/Makefile
samples/fl/fl_sample1/Makefile
samples/fl/fl_sample2/Makefile
samples/fl/fl_sample3/Makefile
utils/Makefile
utils/wxrc/Makefile
utils/wxrcedit/Makefile

View File

@@ -1,335 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: animate.h
// Purpose: Animation classes
// Author: Julian Smart and Guillermo Rodriguez Garcia
// Modified by:
// Created: 13/8/99
// RCS-ID: $Id$
// Copyright: (c) Julian Smart and Guillermo Rodriguez Garcia
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ANIMATEH__
#define _WX_ANIMATEH__
#ifdef __GNUG__
#pragma interface "animate.h"
#endif
#include <wx/defs.h>
#include <wx/string.h>
#include <wx/gdicmn.h>
#include <wx/list.h>
#include <wx/timer.h>
//#define ANIMDLLEXPORT WXDLLEXPORT
#define ANIMDLLEXPORT
class ANIMDLLEXPORT wxAnimationBase;
class ANIMDLLEXPORT wxAnimationPlayer;
class WXDLLEXPORT wxImage;
enum wxAnimationDisposal
{
wxANIM_UNSPECIFIED = -1,
wxANIM_DONOTREMOVE = 0,
wxANIM_TOBACKGROUND = 1,
wxANIM_TOPREVIOUS = 2
} ;
class ANIMDLLEXPORT wxAnimationTimer: public wxTimer
{
public:
wxAnimationTimer() { m_player = (wxAnimationPlayer*) NULL; }
virtual void Notify();
void SetPlayer(wxAnimationPlayer* player) { m_player = player; }
protected:
wxAnimationPlayer* m_player;
};
/* wxAnimationPlayer
* Create an object of this class, and either pass an wxXXXAnimation object in the constructor,
* or call SetAnimation. Then call Play().
* The wxAnimation object is only destroyed in the destructor if destroyAnimation is TRUE
* in the constructor.
*/
class ANIMDLLEXPORT wxAnimationPlayer : public wxObject
{
DECLARE_CLASS(wxAnimationPlayer)
public:
wxAnimationPlayer(wxAnimationBase *animation = (wxAnimationBase *) NULL, bool destroyAnimation = FALSE);
~wxAnimationPlayer();
//// Accessors
void SetAnimation(wxAnimationBase* animation, bool destroyAnimation = FALSE);
wxAnimationBase* GetAnimation() const { return m_animation; }
void SetDestroyAnimation(bool destroyAnimation) { m_destroyAnimation = destroyAnimation; };
bool GetDestroyAnimation() const { return m_destroyAnimation; }
void SetCurrentFrame(int currentFrame) { m_currentFrame = currentFrame; };
int GetCurrentFrame() const { return m_currentFrame; }
void SetWindow(wxWindow* window) { m_window = window; };
wxWindow* GetWindow() const { return m_window; }
void SetPosition(const wxPoint& pos) { m_position = pos; };
wxPoint GetPosition() const { return m_position; }
void SetLooped(bool looped) { m_looped = looped; };
bool GetLooped() const { return m_looped; }
bool HasAnimation() const { return (m_animation != (wxAnimationBase*) NULL); }
bool IsPlaying() const { return m_isPlaying; }
// Specify whether the GIF's background colour is to be shown,
// or whether the window background should show through (the default)
void UseBackgroundColour(bool useBackground) { m_useBackgroundColour = useBackground; }
bool UsingBackgroundColour() const { return m_useBackgroundColour; }
// Set and use a user-specified background colour (valid for transparent
// animations only)
void SetCustomBackgroundColour(const wxColour& col, bool useCustomBackgroundColour = TRUE)
{ m_customBackgroundColour = col; m_useCustomBackgroundColour = useCustomBackgroundColour; }
bool UsingCustomBackgroundColour() const { return m_useCustomBackgroundColour; }
const wxColour& GetCustomBackgroundColour() const { return m_customBackgroundColour; }
// Another refinement - suppose we're drawing the animation in a separate
// control or window. We may wish to use the background of the parent
// window as the background of our animation. This allows us to specify
// whether to grab from the parent or from this window.
void UseParentBackground(bool useParent) { m_useParentBackground = useParent; }
bool UsingParentBackground() const { return m_useParentBackground; }
//// Operations
// Play
virtual bool Play(wxWindow& window, const wxPoint& pos = wxPoint(0, 0), bool looped = TRUE);
// Build animation (list of wxImages). If not called before Play
// is called, Play will call this automatically.
virtual bool Build();
// Stop the animation
virtual void Stop();
// Draw the current view of the animation into this DC.
// Call this from your OnPaint, for example.
virtual void Draw(wxDC& dc);
//// Accessing the current animation
virtual int GetFrameCount() const;
virtual wxImage* GetFrame(int i) const; // Creates a new wxImage
virtual wxAnimationDisposal GetDisposalMethod(int i) const;
virtual wxRect GetFrameRect(int i) const; // Position and size of frame
virtual int GetDelay(int i) const; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const;
virtual bool GetBackgroundColour(wxColour& col) const ;
virtual bool GetTransparentColour(wxColour& col) const ;
//// Implementation
// Play the frame
virtual bool PlayFrame(int frame, wxWindow& window, wxPoint& pos);
virtual bool PlayFrame();
virtual void DrawFrame(int frame, wxDC& dc, const wxPoint& pos);
virtual void DrawBackground(wxDC& dc, const wxPoint& pos, const wxColour& colour);
// Clear the wxImage cache
virtual void ClearCache();
// Save the pertinent area of the window so we can restore
// it if drawing transparently
void SaveBackground(const wxRect& rect);
wxBitmap& GetBackingStore() { return m_backingStore; }
//// Data members
protected:
wxAnimationBase* m_animation;
bool m_destroyAnimation; // Destroy m_animation on deletion of this object
wxList m_frames; // List of cached wxBitmap frames.
int m_currentFrame; // Current frame
wxWindow* m_window; // Window to draw into
wxPoint m_position; // Position to draw at
bool m_looped; // Looped, or not
wxAnimationTimer m_timer; // The timer
bool m_isPlaying; // Is the animation playing?
wxBitmap m_savedBackground; // Saved background of window portion
wxBitmap m_backingStore; // The player draws into this
bool m_useBackgroundColour; // Use colour or background
wxColour m_customBackgroundColour; // Override animation background
bool m_useCustomBackgroundColour;
bool m_useParentBackground; // Grab background from parent?
};
/* wxAnimationBase
* Base class for animations.
* A wxXXXAnimation only stores the animation, providing accessors to wxAnimationPlayer.
* Currently an animation is read-only, but we could extend the API for adding frames
* programmatically, and perhaps have a wxMemoryAnimation class that stores its frames
* in memory, and is able to save all files with suitable filenames. You could then use
* e.g. Ulead GIF Animator to load the image files into a GIF animation.
*/
class ANIMDLLEXPORT wxAnimationBase : public wxObject
{
DECLARE_ABSTRACT_CLASS(wxAnimationBase)
public:
wxAnimationBase() {};
~wxAnimationBase() {};
//// Accessors. Should be overridden by each derived class.
virtual int GetFrameCount() const = 0;
virtual wxImage* GetFrame(int i) const = 0; // Creates a new wxImage
virtual wxAnimationDisposal GetDisposalMethod(int i) const = 0;
virtual wxRect GetFrameRect(int i) const = 0; // Position and size of frame
virtual int GetDelay(int i) const = 0; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const = 0;
virtual bool GetBackgroundColour(wxColour& col) const = 0;
virtual bool GetTransparentColour(wxColour& col) const = 0;
// Is the animation OK?
virtual bool IsValid() const = 0;
//// Operations
virtual bool LoadFile(const wxString& filename) { return FALSE; }
};
/* wxGIFAnimation
* This will be moved to a separate file in due course.
*/
class ANIMDLLEXPORT wxGIFDecoder;
class ANIMDLLEXPORT wxGIFAnimation : public wxAnimationBase
{
DECLARE_CLASS(wxGIFAnimation)
public:
wxGIFAnimation() ;
~wxGIFAnimation() ;
//// Accessors
virtual int GetFrameCount() const;
virtual wxImage* GetFrame(int i) const;
virtual wxAnimationDisposal GetDisposalMethod(int i) const;
virtual wxRect GetFrameRect(int i) const; // Position and size of frame
virtual int GetDelay(int i) const; // Delay for this frame
virtual wxSize GetLogicalScreenSize() const ;
virtual bool GetBackgroundColour(wxColour& col) const ;
virtual bool GetTransparentColour(wxColour& col) const ;
virtual bool IsValid() const;
//// Operations
virtual bool LoadFile(const wxString& filename);
protected:
wxGIFDecoder* m_decoder;
};
/*
* wxAnimationCtrlBase
* Abstract base class for format-specific animation controls.
* This class implements most of the functionality; all a derived
* class has to do is create the appropriate animation class on demand.
*/
// Resize to animation size if this is set
#define wxAN_FIT_ANIMATION 0x0010
class ANIMDLLEXPORT wxAnimationCtrlBase: public wxControl
{
public:
wxAnimationCtrlBase() { }
wxAnimationCtrlBase(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"))
{
Create(parent, id, filename, pos, size, style, name);
}
~wxAnimationCtrlBase();
bool Create(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"));
//// Operations
virtual bool LoadFile(const wxString& filename = wxEmptyString);
virtual bool Play(bool looped = TRUE) ;
virtual void Stop() { m_animationPlayer.Stop(); }
virtual void FitToAnimation();
//// Accessors
virtual bool IsPlaying() const { return m_animationPlayer.IsPlaying(); }
virtual wxAnimationPlayer& GetPlayer() { return m_animationPlayer; }
virtual wxAnimationBase* GetAnimation() { return m_animation; }
const wxString& GetFilename() const { return m_filename; }
void SetFilename(const wxString& filename) { m_filename = filename; }
//// Event handlers
void OnPaint(wxPaintEvent& event);
protected:
virtual wxSize DoGetBestSize() const;
// Override this in derived classes
virtual wxAnimationBase* DoCreateAnimation(const wxString& filename) = 0;
wxAnimationPlayer m_animationPlayer;
wxAnimationBase* m_animation;
wxString m_filename;
private:
DECLARE_ABSTRACT_CLASS(wxAnimationCtrlBase)
DECLARE_EVENT_TABLE()
};
/*
* wxGIFAnimationCtrl
* Provides a GIF animation class when required.
*/
class ANIMDLLEXPORT wxGIFAnimationCtrl: public wxAnimationCtrlBase
{
public:
wxGIFAnimationCtrl() { }
wxGIFAnimationCtrl(wxWindow *parent, wxWindowID id,
const wxString& filename = wxEmptyString,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize, long style = wxAN_FIT_ANIMATION|wxNO_BORDER,
const wxString& name = wxT("animationControl"))
{
Create(parent, id, filename, pos, size, style, name);
}
protected:
virtual wxAnimationBase* DoCreateAnimation(const wxString& filename) ;
private:
DECLARE_DYNAMIC_CLASS(wxGIFAnimationCtrl)
};
#endif // _WX_ANIMATEH__

View File

@@ -5,19 +5,23 @@
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
* ======================================================================
* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
* | |
* |This copyrighted computer code is a proprietary trade secret of |
* |SciTech Software, Inc., located at 505 Wall Street, Chico, CA 95928 |
* |USA (www.scitechsoft.com). ANY UNAUTHORIZED POSSESSION, USE, |
* |VIEWING, COPYING, MODIFICATION OR DISSEMINATION OF THIS CODE IS |
* |STRICTLY PROHIBITED BY LAW. Unless you have current, express |
* |written authorization from SciTech to possess or use this code, you |
* |may be subject to civil and/or criminal penalties. |
* | |
* |If you received this code in error or you would like to report |
* |improper use, please immediately contact SciTech Software, Inc. at |
* |530-894-8400. |
* | |
* |REMOVAL OR MODIFICATION OF THIS HEADER IS STRICTLY PROHIBITED BY LAW|
* ======================================================================
*
* Language: ANSI C++
* Environment: Any
@@ -30,10 +34,7 @@
#define __WX_APPLET_H
#include "wx/panel.h"
#include "wx/html/htmlwin.h"
// Forward declaration
class wxHtmlAppletWindow;
#include "wx/applet/window.h"
/*--------------------------- Class Definitions ---------------------------*/
@@ -45,41 +46,38 @@ class wxApplet : public wxPanel {
private:
DECLARE_ABSTRACT_CLASS(wxApplet);
DECLARE_EVENT_TABLE();
protected:
//wxHtmlAppletWindow *m_parent;
wxHtmlAppletWindow *m_Parent;
// Special handler for background erase messages
// Special handler for background erase messages
void OnEraseBackground(wxEraseEvent&);
public:
// Constructor (called during dynamic creation)
wxApplet() { m_parent = NULL; };
wxApplet() { m_Parent = NULL; }
// Psuedo virtual constructor
virtual bool Create(
wxHtmlAppletWindow *parent,
const wxHtmlTag& params,
const wxSize& size,
long style = wxTAB_TRAVERSAL | wxNO_BORDER);
// Virtual destructor
virtual ~wxApplet();
// Handle HTML navigation to a new URL
virtual void OnLinkClicked(const wxHtmlLinkInfo& link) = 0;
virtual void OnLinkClicked(const wxHtmlLinkInfo& link) = 0;
// Handle HTML navigation forward command in applet
virtual void OnHistoryForward() = 0;
// Handle HTML navigation back command in applet
virtual void OnHistoryBack() = 0;
// Handle messages from the wxAppletManager and other applets
virtual void OnMessage(wxEvent& msg) = 0;
};
#endif // __WX_APPLET_H

View File

@@ -1,95 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for wxEchoVariable Class, Dynamically constructed
* objects representing variables in SSI #echo directive
*
****************************************************************************/
#ifndef __WX_ECHOVAR_H
#define __WX_ECHOVAR_H
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
wxEchoVariable class Definition
****************************************************************************/
class wxEchoVariable : public wxObject {
private:
DECLARE_ABSTRACT_CLASS(wxEchoVariable);
public:
wxEchoVariable() : wxObject() {}
~wxEchoVariable() {}
/****************************************************************************
RETURNS:
The boolean value of the variable
PARAMETERS:
parms - Optional parameter string passed from parm= field in HTML
REMARKS:
To create new variables for the #echo HTML preprocessing directives
you need to derive classes from wxEchoVariable and override the
pure virtual GetValue function. However this should not be done directly
but by using the BEGIN_ECHO_VARIABLE and END_ECHO_VARIABLE macros
SEE ALSO:
wxEchoPrep, BEGIN_ECHO_VARIABLE, END_ECHO_VARIABLE
****************************************************************************/
virtual wxString GetValue(const char *parms = NULL) const = 0;
public:
// static function to retrieve any variable avaliable
static wxString FindValue(const wxString &cls, const char *parms = NULL);
};
/*--------------------------------- MACROS --------------------------------*/
#define ECHO_PARM (_BEV_parm)
#define BEGIN_ECHO_VARIABLE(name) \
class wxEchoVariable##name : public wxEchoVariable { \
private: \
DECLARE_DYNAMIC_CLASS(wxEchoVariable##name##); \
public: \
wxEchoVariable##name##() : wxEchoVariable() {} \
virtual wxString GetValue(const char *parms = NULL) const; \
}; \
IMPLEMENT_DYNAMIC_CLASS(wxEchoVariable##name##, wxEchoVariable); \
wxString wxEchoVariable##name :: GetValue(const char *parms) const { \
wxString _BEV_parm = wxString(parms);
#define END_ECHO_VARIABLE(returnval) \
return returnval; \
}
#define STRING_ECHO_VARIABLE(name, string) \
BEGIN_ECHO_VARIABLE(##name##); \
END_ECHO_VARIABLE(wxString(##string##))
#endif // __WX_ECHOVAR_H

View File

@@ -1,94 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for wxIfElseVariable Class, Dynamically constructed
* objects representing variables in SSI #if, #else and #endif directives
*
****************************************************************************/
#ifndef __WX_IFELSEVAR_H
#define __WX_IFELSEVAR_H
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
This class is used to create variables for the HTML preprocessor #if, #else,
and #endif directives.
SEE ALSO:
wxIfElsePrep
****************************************************************************/
class wxIfElseVariable : public wxObject {
private:
DECLARE_ABSTRACT_CLASS(wxIfElseVariable);
public:
wxIfElseVariable() : wxObject() {}
~wxIfElseVariable() {}
/****************************************************************************
RETURNS:
The boolean value of the variable
REMARKS:
To create new variables for the #if, #else and #endif HTML preprocessing
blocks you need to derive classes from wxIfElseVariable and override the
pure virtual GetValue function. However this should not be done directly
but by using the BEGIN_IFELSE_VARIABLE and END_IFELSE_VARIABLE macros
SEE ALSO:
wxIfElsePrep, BEGIN_IFELSE_VARIABLE, END_IFELSE_VARIABLE
****************************************************************************/
virtual bool GetValue() const = 0;
public:
// static function to retrieve any variable avaliable
static bool FindValue(const wxString &cls);
};
/*--------------------------------- MACROS --------------------------------*/
#define BEGIN_IFELSE_VARIABLE(name) \
class wxIfElseVariable##name : public wxIfElseVariable { \
private: \
DECLARE_DYNAMIC_CLASS(wxIfElseVariable##name##); \
public: \
wxIfElseVariable##name##() : wxIfElseVariable() {} \
virtual bool GetValue() const; \
}; \
IMPLEMENT_DYNAMIC_CLASS(wxIfElseVariable##name##, wxIfElseVariable); \
bool wxIfElseVariable##name :: GetValue() const {
#define END_IFELSE_VARIABLE(returnval) \
return returnval; \
}
#define IFELSE_VARIABLE(name, state) \
BEGIN_IFELSE_VARIABLE(##name##); \
END_IFELSE_VARIABLE(bool (state))
#endif // __WX_IFELSEVAR_H

View File

@@ -1,109 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the wxLoadPage Event class
*
****************************************************************************/
#ifndef __WX_LOAD_PAGE_H
#define __WX_LOAD_PAGE_H
#include "wx/html/htmlwin.h"
// Forward declaration
class wxHtmlAppletWindow;
// If we are compiling this code into a library that links against
// the DLL, we need to remove all the __declspec(dllimports) that
// would declare our classes below incorrectly.
#ifndef WXMAKINGDLL
#undef WXDLLEXPORT
#define WXDLLEXPORT
#endif
// Declare our local load page event type
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_EVENT_TYPE(wxEVT_LOAD_PAGE, wxEVT_USER_FIRST+1)
DECLARE_EVENT_TYPE(wxEVT_PAGE_LOADED, wxEVT_USER_FIRST+2)
END_DECLARE_EVENT_TYPES()
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the class for load page events.
****************************************************************************/
class wxLoadPageEvent : public wxEvent {
DECLARE_DYNAMIC_CLASS(wxLoadPageEvent);
protected:
wxString m_hRef;
wxHtmlAppletWindow *m_htmlWindow;
public:
// Constructor
wxLoadPageEvent(const wxString &hRef = "",wxHtmlAppletWindow *htmlWindow = NULL);
// Destructor
~wxLoadPageEvent() {}
// Return the hmtl window for the load page operation
wxHtmlAppletWindow *GetHtmlWindow() { return m_htmlWindow; };
// Get the hRef string for the load page operation
const wxString & GetHRef() { return m_hRef; };
// Copy constructor for the object
void CopyObject(wxObject& obj) const;
};
// Define the macro to create our event type
typedef void (wxEvtHandler::*wxLoadPageEventFunction)(wxLoadPageEvent&);
#define EVT_LOAD_PAGE(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_LOAD_PAGE, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxLoadPageEventFunction) & fn, (wxObject *) NULL ),
/****************************************************************************
REMARKS:
Defines the class for pageloaded events.
****************************************************************************/
class wxPageLoadedEvent : public wxEvent {
DECLARE_DYNAMIC_CLASS(wxPageLoadedEvent);
public:
// Constructor
wxPageLoadedEvent();
// Destructor
~wxPageLoadedEvent() {}
// Copy constructor for the object
void CopyObject(wxObject& obj) const;
};
// Define the macro to create our event type
typedef void (wxEvtHandler::*wxPageLoadedEventFunction)(wxPageLoadedEvent&);
#define EVT_PAGE_LOADED(fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_PAGE_LOADED, -1, -1, (wxObjectEventFunction)(wxEventFunction)(wxPageLoadedEventFunction) & fn, (wxObject *) NULL ),
#endif // __WX_LOAD_PAGE_H

View File

@@ -1,59 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #echo directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPECHO_H
#define __WX_PREPECHO_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Echo Preprocessor class Definition
****************************************************************************/
class wxEchoPrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxEchoPrep);
public:
wxEchoPrep() : wxHtmlProcessor() {}
~wxEchoPrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM-2; }
};
#endif // __WX_PREPECHO_H

View File

@@ -1,59 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #if SSI directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPIFELSE_H
#define __WX_PREPIFELSE_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
If Else Preprocessor class Definition
****************************************************************************/
class wxIfElsePrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxIfElsePrep);
public:
wxIfElsePrep() : wxHtmlProcessor() {}
~wxIfElsePrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM-2; }
};
#endif // __WX_PREPECHO_H

View File

@@ -1,63 +0,0 @@
/****************************************************************************
*
* wxWindows HTML Applet Package
*
* Copyright (C) 1991-2001 SciTech Software, Inc.
* All rights reserved.
*
* ========================================================================
*
* The contents of this file are subject to the wxWindows License
* Version 3.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.wxwindows.org/licence3.txt
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* ========================================================================
*
* Language: ANSI C++
* Environment: Any
*
* Description: Header file for the Preprocessor of the #include directive
* in wxHTML.
*
****************************************************************************/
#ifndef __WX_PREPINCLUDE_H
#define __WX_PREPINCLUDE_H
#include "wx/html/htmlproc.h"
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
wxIncludePrep class Definition
****************************************************************************/
class wxIncludePrep : public wxHtmlProcessor {
private:
//DECLARE_DYNAMIC_CLASS(wxIncludePrep);
wxString DOC_ROOT;
public:
wxIncludePrep() : wxHtmlProcessor() {DOC_ROOT = wxString("");}
~wxIncludePrep() {}
// Process input text and return processed result
wxString Process(const wxString& text) const;
// Return priority value of this processor. The higher, the sooner
// is the processor applied to the text.
int GetPriority() const { return wxHTML_PRIORITY_SYSTEM; }
void ChangeDirectory(const wxString &dir);
wxString GetDirectory() { return DOC_ROOT; }
};
#endif // __WX_PREPINCLUDE_H

View File

@@ -34,48 +34,19 @@
#define __WX_APPLET_WINDOW_H
#include "wx/html/htmlwin.h"
#include "wx/process.h"
// Forward declare
class wxApplet;
class wxLoadPageEvent;
class wxPageLoadedEvent;
class wxIncludePrep;
// Declare a linked list of wxApplet pointers
WX_DECLARE_LIST(wxApplet, wxAppletList);
/*--------------------------- Class Definitions ---------------------------*/
/****************************************************************************
REMARKS:
Defines the class for virtual-link data types
****************************************************************************/
class VirtualData : public wxObject {
private:
wxString m_name;
wxString m_group;
wxString m_href;
public:
// Ctors
VirtualData(
wxString& name,
wxString& group,
wxString& href );
// Gets
wxString GetName(){ return m_name;};
wxString GetGroup(){ return m_group;};
wxString GetHref(){ return m_href;};
// Sets
void SetName (wxString& s){ m_name = s; };
void SetGroup(wxString& s){ m_group = s; };
void SetHref (wxString& s){ m_href = s; };
};
// Declare a linked list of wxApplet pointers
class wxApplet;
WX_DECLARE_LIST(wxApplet, wxAppletList);
/****************************************************************************
MEMBERS:
appletModules - List of register applet modules
appletList - List of all active applets instances
cookies - Hash table for managing cookies
REMARKS:
Defines the class for wxAppletWindow. This class is derived from the
wxHtmlWindow class and extends it with functionality to handle embedded
@@ -85,107 +56,59 @@ class wxHtmlAppletWindow : public wxHtmlWindow {
private:
DECLARE_CLASS(wxHtmlAppletWindow);
DECLARE_EVENT_TABLE();
bool m_mutexLock;
wxIncludePrep *incPreprocessor; // deleted by list it is added too in constructor
protected:
wxAppletList m_AppletList;
static wxHashTable m_Cookies;
wxToolBarBase *m_NavBar;
int m_NavBackId;
int m_NavForwardId;
wxString m_DocRoot;
wxAppletList m_AppletList;
wxHashTable m_Cookies;
public:
// Constructor
wxHtmlAppletWindow(
wxWindow *parent,
wxWindowID id = -1,
wxToolBarBase *navBar = NULL,
int navBackId = -1,
int navForwardId = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxHW_SCROLLBAR_AUTO,
const wxString& name = "htmlAppletWindow",
const wxString& docroot = "" );
const wxString& name = "htmlAppletWindow");
// Destructor
~wxHtmlAppletWindow();
// Create an instance of an applet based on it's class name
wxApplet *CreateApplet(
const wxString& classId,
const wxString& iName,
const wxHtmlTag &params,
const wxString& className,
const wxSize& size);
// Find an instance of an applet based on it's class name
wxApplet *FindApplet(const wxString& className);
wxApplet *FindApplet(const wxString& className);
// Remove an applet from the window. Called during applet destruction
bool RemoveApplet(const wxApplet *applet);
bool RemoveApplet(const wxApplet *applet);
// Load a new URL page
virtual bool LoadPage(const wxString& location);
bool LoadPage(const wxString& hRef);
// Called when users clicked on hypertext link.
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
void OnLinkClicked(const wxHtmlLinkInfo& link);
// Handles forward navigation within the HTML stack
bool HistoryForward();
// Handles backwards navigation within the HTML stack
bool HistoryBack();
// Broadcast a message to all applets on the page
void SendMessage(wxEvent& msg);
// Register a cookie of data in the applet manager
static bool RegisterCookie(const wxString& name,wxObject *cookie);
bool RegisterCookie(const wxString& name,wxObject *cookie);
// UnRegister a cookie of data in the applet manager
static bool UnRegisterCookie(const wxString& name);
bool UnRegisterCookie(const wxString& name);
// Find a cookie of data given it's public name
static wxObject *FindCookie(const wxString& name);
// Event handlers to load a new page
void OnLoadPage(wxLoadPageEvent &event);
// Event handlers to load a new page
void OnPageLoaded(wxPageLoadedEvent &event);
// LoadPage mutex locks
void Lock(){ m_mutexLock = true;};
void UnLock(){ m_mutexLock = false;};
// Returns TRUE if the mutex is locked, FALSE otherwise.
bool IsLocked(){ return m_mutexLock;};
// Tries to lock the mutex. If it can't, returns immediately with false.
bool TryLock();
wxObject *FindCookie(const wxString& name);
};
/****************************************************************************
REMARKS:
Defines the class for AppetProcess
***************************************************************************/
class AppletProcess : public wxProcess {
public:
AppletProcess(
wxWindow *parent)
: wxProcess(parent)
{
}
// instead of overriding this virtual function we might as well process the
// event from it in the frame class - this might be more convenient in some
// cases
virtual void OnTerminate(int pid, int status);
};
#endif // __WX_APPLET_WINDOW_H

View File

@@ -1,64 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: 23/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ANTIFLICKPL_G__
#define __ANTIFLICKPL_G__
#ifdef __GNUG__
#pragma interface "antiflickpl.h"
#endif
#include "wx/fl/controlbar.h"
class cbAntiflickerPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbAntiflickerPlugin )
protected:
// double-buffers are shared "resource" among all instances of
// antiflicker plugin within the application
//
// TODO:: locking should be implemented, for multithreaded GUIs
static wxBitmap* mpVertBuf;
static wxBitmap* mpHorizBuf;
static wxMemoryDC* mpVertBufDc;
static wxMemoryDC* mpHorizBufDc;
static int mRefCount;
wxDC* mpLRUBufDc; // last-reacently-used buffer
wxRect mLRUArea; // last-reacently-used area
protected:
// returns NULL, if sutable buffer is not present
wxDC* FindSuitableBuffer( const wxRect& forArea );
wxDC* AllocNewBuffer( const wxRect& forArea );
wxDC& GetWindowDC();
wxDC& GetClientDC();
public:
cbAntiflickerPlugin(void);
cbAntiflickerPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbAntiflickerPlugin();
// handlers for plugin events
void OnStartDrawInArea ( cbStartDrawInAreaEvent& event );
void OnFinishDrawInArea( cbFinishDrawInAreaEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __ANTIFLICKPL_G__ */

View File

@@ -1,122 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __BARDRAGPL_G__
#define __BARDRAGPL_G__
#ifdef __GNUG__
#pragma interface "bardragpl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/toolwnd.h"
class cbBarDragPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbBarDragPlugin )
protected:
// plugin is active only in bar-dragging state
bool mBarDragStarted;
bool mCanStick; // flag used to prevent "bouncing" of hint-rectangle
wxScreenDC* mpScrDc; // created while tracking hint-rect
wxCursor* mpCurCursor;
// rectnagle shows the position/dimensions of the bar,
// if it would be docked now
wxRect mPrevHintRect;
wxRect mHintRect;
int mMouseInRectX;
int mMouseInRectY;
cbDockPane* mpSrcPane; // pane, from which the bar was originally taken
int mBarWidthInSrcPane;
cbDockPane* mpCurPane;
cbBarInfo* mpDraggedBar; // bar, which is being dragged
bool mBarWasFloating;
wxRect mFloatedBarBounds;
public: /*** public properties ***/
int mInClientHintBorder; // when hint-rect moves within client window area,
// the thicker rectangle is drawn using hatched brush,
// the default border width for this rectangle is 8 pix.
protected:
void AdjustHintRect( wxPoint& mousePos );
void ClipRectInFrame( wxRect& rect );
void ClipPosInFrame( wxPoint& pos );
cbDockPane* HitTestPanes( wxRect& rect );
cbDockPane* HitTestPanes( wxPoint& pos );
bool HitsPane( cbDockPane* pPane, wxRect& rect );
void CalcOnScreenDims( wxRect& rect );
int GetDistanceToPane( cbDockPane* pPane, wxPoint& mousePos );
bool IsInOtherPane ( wxPoint& mousePos );
bool IsInClientArea( wxPoint& mousePos );
bool IsInClientArea( wxRect& rect );
void StickToPane( cbDockPane* pPane, wxPoint& mousePos );
void UnstickFromPane( cbDockPane* pPane, wxPoint& mousePos );
int GetBarWidthInPane( cbDockPane* pPane );
int GetBarHeightInPane( cbDockPane* pPane );
// on-screen hint-tracking related methods
void StartTracking();
void DrawHintRect ( wxRect& rect, bool isInClientRect);
void EraseHintRect( wxRect& rect, bool isInClientRect);
void FinishTracking();
void DoDrawHintRect( wxRect& rect, bool isInClientRect);
void RectToScr( wxRect& frameRect, wxRect& scrRect );
void ShowHint( bool prevWasInClient );
public:
cbBarDragPlugin(void);
cbBarDragPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbBarDragPlugin();
// handlers for plugin events
void OnMouseMove( cbMotionEvent& event );
void OnLButtonUp( cbLeftUpEvent& event );
void OnLButtonDown( cbLeftDownEvent& event );
void OnLDblClick( cbLeftDClickEvent& event );
// handles event, which oriniates from itself
void OnDrawHintRect( cbDrawHintRectEvent& event );
void OnStartBarDragging( cbStartBarDraggingEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __BARDRAGPL_G__ */

View File

@@ -1,96 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 30/11/98 (my 22th birthday :-)
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DRAGHINTSPL_G__
#define __DRAGHINTSPL_G__
#ifdef __GNUG__
#pragma interface "barhintspl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/toolwnd.h"
/*
* Intercepts bar-decoration and sizing events, draws 3d-hints
* around fixed and flexible bars, similar to those in Microsoft DevStudio 6.x
*/
class cbBarHintsPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbBarHintsPlugin )
protected:
cbDockPane* mpPane; // is set up temorarely, while handling event
cbMiniButton* mBoxes[2];
bool mBtnPressed;
bool mClosePressed;
cbBarInfo* mpClickedBar;
bool mDepressed;
protected:
// drawing helpers
void Draw3DBox ( wxDC& dc, const wxPoint& pos, bool pressed );
void DrawCloseBox ( wxDC& dc, const wxPoint& pos, bool pressed );
void DrawCollapseBox( wxDC& dc, const wxPoint& pos,
bool atLeft, bool disabled, bool pressed );
void DrawGrooves ( wxDC& dc, const wxPoint& pos, int length );
void DoDrawHint( wxDC& dc, wxRect& rect, int pos, int boxOfs, int grooveOfs, bool isFixed );
void GetHintsLayout( wxRect& rect, cbBarInfo& info,
int& boxOfs, int& grooveOfs, int& pos );
int HitTestHints( cbBarInfo& info, const wxPoint& pos );
void ExcludeHints( wxRect& rect, cbBarInfo& info );
void CreateBoxes();
public:
/* public properties */
bool mCloseBoxOn; // default: ON
bool mCollapseBoxOn; // default: ON
int mGrooveCount; // default: 2 (two shaded bars)
int mHintGap; // default: 5 (pixels from above, below, right and left)
int mXWeight; // default: 2 (width in pixels of lines which used for drawing cross)
public:
cbBarHintsPlugin(void);
cbBarHintsPlugin( wxFrameLayout* pLayout, int paneMask = wxALL_PANES );
~cbBarHintsPlugin();
void SetGrooveCount( int nGrooves );
void OnInitPlugin();
// handlers of plugin-events
void OnSizeBarWindow( cbSizeBarWndEvent& event );
void OnDrawBarDecorations( cbDrawBarDecorEvent& event );
void OnLeftDown( cbLeftDownEvent& event );
void OnLeftUp ( cbLeftUpEvent& event );
void OnMotion ( cbMotionEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __DRAGHINTSPL_G__ */

View File

@@ -1,47 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 28/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __CBCUSTOM_G__
#define __CBCUSTOM_G__
#ifdef __GNUG__
#pragma interface "cbcustom.h"
#endif
#include "wx/fl/controlbar.h"
class cbSimpleCustomizationPlugin : public cbPluginBase
{
public:
DECLARE_DYNAMIC_CLASS( cbSimpleCustomizationPlugin )
int mCustMenuItemId;
public:
cbSimpleCustomizationPlugin(void);
cbSimpleCustomizationPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
// plugin-event handlers
void OnCustomizeBar( cbCustomizeBarEvent& event );
void OnCustomizeLayout( cbCustomizeLayoutEvent& event );
// menu-event handler
void OnMenuItemSelected( wxCommandEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __CBCUSTOM_G__ */

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNBARHND_G__
#define __DYNBARHND_G__
#ifdef __GNUG__
#pragma interface "dynbarhnd.h"
#endif
#include "wx/fl/controlbar.h"
#endif /* __DYNBARHND_G__ */

View File

@@ -1,204 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: ??/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNTBAR_G__
#define __DYNTBAR_G__
#ifdef __GNUG__
#pragma interface "dyntbar.h"
#endif
#include "wx/tbarbase.h"
#include "wx/dynarray.h"
// layout item
class wxToolLayoutItem : public wxObject
{
public:
wxRect mRect;
bool mIsSeparator;
};
class wxDynToolInfo;
typedef wxToolLayoutItem* wxToolLayoutItemPtrT;
typedef wxDynToolInfo* wxDynToolInfoPtrT;
WX_DEFINE_ARRAY( wxToolLayoutItemPtrT, wxLayoutItemArrayT );
WX_DEFINE_ARRAY( wxDynToolInfoPtrT, wxDynToolInfoArrayT );
// base class for layouting algorithm implementations
class LayoutManagerBase
{
public:
virtual void Layout( const wxSize& parentDim,
wxSize& resultingDim,
wxLayoutItemArrayT& items,
int horizGap,
int vertGap ) = 0;
virtual ~LayoutManagerBase() {}
};
// layouts items in left-to-right order from
// top towards bottom
class BagLayout : public LayoutManagerBase
{
public:
virtual void Layout( const wxSize& parentDim,
wxSize& resultingDim,
wxLayoutItemArrayT& items,
int horizGap,
int vertGap );
};
class wxDynToolInfo : public wxToolLayoutItem
{
DECLARE_DYNAMIC_CLASS(wxDynToolInfo)
public:
wxWindow* mpToolWnd;
int mIndex;
wxSize mRealSize;
};
// layouting orientations for tools
#define LO_HORIZONTAL 0
#define LO_VERTICAL 1
#define LO_FIT_TO_WINDOW 2
// class manages containment and layouting of tool-windows
class wxDynamicToolBar : public wxToolBarBase
{
DECLARE_DYNAMIC_CLASS(wxDynamicToolBar)
protected:
friend class wxDynamicToolBarSerializer;
wxDynToolInfoArrayT mTools;
LayoutManagerBase* mpLayoutMan;
protected:
virtual void SizeToolWindows();
public: /* public properties */
int mSepartorSize; // default: 8
int mVertGap; // default: 0
int mHorizGap; // default: 0
public:
wxDynamicToolBar();
wxDynamicToolBar(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const long style = wxNO_BORDER, const int orientation = wxVERTICAL,
const int RowsOrColumns = 1, const wxString& name = wxToolBarNameStr);
~wxDynamicToolBar(void);
bool Create(wxWindow *parent, const wxWindowID id, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
const long style = wxNO_BORDER, const int orientation = wxVERTICAL, const int RowsOrColumns = 1, const wxString& name = wxToolBarNameStr);
// overridables
virtual void AddTool( int toolIndex,
wxWindow* pToolWindow,
const wxSize& size = wxDefaultSize );
virtual void AddTool( int toolIndex,
const wxString& imageFileName,
int imageFileType = wxBITMAP_TYPE_BMP,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
virtual void AddTool( int toolIndex, wxBitmap labelBmp,
const wxString& labelText = "", bool alignTextRight = FALSE,
bool isFlat = TRUE );
// method from wxToolBarBase (for compatibility), only
// first two arguments are valid
virtual wxToolBarToolBase *AddTool(const int toolIndex, const wxBitmap& bitmap, const wxBitmap& pushedBitmap = wxNullBitmap,
const bool toggle = FALSE, const long xPos = -1, const long yPos = -1, wxObject *clientData = NULL,
const wxString& helpString1 = "", const wxString& helpString2 = "");
virtual void AddSeparator( wxWindow* pSepartorWnd = NULL );
wxDynToolInfo* GetToolInfo( int toolIndex );
void RemveTool( int toolIndex );
// the default implementation draws shaded line
virtual void DrawSeparator( wxDynToolInfo& info, wxDC& dc );
// see definitions of orientation types
virtual bool Layout();
virtual void GetPreferredDim( const wxSize& givenDim, wxSize& prefDim );
virtual LayoutManagerBase* CreateDefaulLayout() { return new BagLayout(); }
virtual void SetLayout( LayoutManagerBase* pLayout );
virtual void EnableTool(const int toolIndex, const bool enable = TRUE);
// event handlers
void OnSize( wxSizeEvent& event );
void OnPaint( wxPaintEvent& event );
void OnEraseBackground( wxEraseEvent& event );
// overriden from wxToolBarBase
virtual bool Realize(void);
// stuff from the 2.1.15
virtual wxToolBarToolBase *FindToolForPosition(wxCoord x,
wxCoord y) const;
virtual bool DoInsertTool(size_t pos, wxToolBarToolBase *tool);
// the tool is still in m_tools list when this function is called, it will
// only be deleted from it if it succeeds
virtual bool DoDeleteTool(size_t pos, wxToolBarToolBase *tool);
// called when the tools enabled flag changes
virtual void DoEnableTool(wxToolBarToolBase *tool, bool enable);
// called when the tool is toggled
virtual void DoToggleTool(wxToolBarToolBase *tool, bool toggle);
// called when the tools "can be toggled" flag changes
virtual void DoSetToggle(wxToolBarToolBase *tool, bool toggle);
// the functions to create toolbar tools
virtual wxToolBarToolBase *CreateTool(int id,
const wxBitmap& bitmap1,
const wxBitmap& bitmap2,
bool toggle,
wxObject *clientData,
const wxString& shortHelpString,
const wxString& longHelpString);
virtual wxToolBarToolBase *CreateTool(wxControl *control);
DECLARE_EVENT_TABLE()
};
#endif /* __DYNTBAR_G__ */

View File

@@ -1,31 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 23/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __DYNTBARHND_G__
#define __DYNTBARHND_G__
#ifdef __GNUG__
#pragma interface "dyntbarhnd.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/dyntbar.h"
class cbDynToolBarDimHandler : public cbBarDimHandlerBase
{
DECLARE_DYNAMIC_CLASS( cbDynToolBarDimHandler )
public:
void OnChangeBarState(cbBarInfo* pBar, int newState );
void OnResizeBar( cbBarInfo* pBar, const wxSize& given, wxSize& preferred );
};
#endif /* __DYNTBARHND_G__ */

View File

@@ -1,140 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 02/01/99
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __FRMVIEW_G__
#define __FRMVIEW_G__
#ifdef __GNUG__
#pragma interface "frmview.h"
#endif
#include "wx/module.h"
#if 0
#include "wx/fl/objstore.h"
#endif
class wxObjectStorage;
#include "wx/fl/controlbar.h"
class wxFrameManager;
class wxFrameView : public wxEvtHandler
{
protected:
wxStringList mTopMenus;
wxFrameLayout* mpLayout;
wxFrameManager* mpFrameMgr;
bool mDoToolUpdates;
friend class wxFrameManager;
friend class wxFrameViewSerializer;
protected:
void OnIdle( wxIdleEvent& event);
public:
wxFrameView();
~wxFrameView();
virtual void Activate();
virtual void Deactivate();
wxFrame* GetParentFrame();
wxWindow* GetClientWindow();
wxFrameManager& GetFrameManager();
void RegisterMenu( const wxString& topMenuName );
void CreateLayout();
wxFrameLayout* GetLayout();
void SetLayout( wxFrameLayout* pLayout );
void SetToolUpdates( bool doToolUpdates = TRUE );
// hooks for specific frame-views
virtual void OnInit() {}
virtual void OnSerialize( wxObjectStorage& store ) {}
virtual void OnActiveate() {}
virtual void OnDeactivate() {}
// imp. is mandatory
virtual void OnRecreate() {}
virtual void OnInitMenus() {}
DECLARE_EVENT_TABLE()
};
class wxFrame;
class wxFrameManager : wxObject
{
protected:
wxList mViews;
wxWindow* mpFrameWnd;
int mActiveViewNo;
wxWindow* mpClientWnd;
#if 0
wxObjectStorage mStore;
#endif
wxString mSettingsFile;
protected:
void DoSerialize( wxObjectStorage& store );
void DestroyViews();
int GetViewNo( wxFrameView* pView );
void EnableMenusForView( wxFrameView* pView, bool enable );
void SyncAllMenus();
public:
wxFrameManager();
~wxFrameManager();
// if file name is empty, views are are not saved/loaded
virtual void Init( wxWindow* pMainFrame, const wxString& settingsFile = "" );
// synonyms
wxFrame* GetParentFrame();
wxWindow* GetParentWindow();
int GetActiveViewNo();
wxFrameView* GetActiveView();
wxNode* GetActiveViewNode();
wxFrameView* GetView( int viewNo );
void SetClinetWindow( wxWindow* pFrameClient );
wxWindow* GetClientWindow();
void AddView( wxFrameView* pFrmView );
void RemoveView( wxFrameView* pFrmView );
void ActivateView( int viewNo );
void ActivateView( wxFrameView* pFrmView );
void DeactivateCurrentView();
wxObjectStorage& GetObjectStore();
void SaveViewsNow();
bool ReloadViews();
bool ViewsAreLoaded();
};
#endif /* __FRMVIEW_G__ */

View File

@@ -1,74 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: ??/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __GARBAGEC_G__
#define __GARBAGEC_G__
#ifdef __GNUG__
#pragma interface "garbagec.h"
#endif
#include "wx/list.h"
struct GCItem
{
void* mpObj;
wxList mRefs; // references to other nodes
};
inline void* gc_node_to_obj( wxNode* pGCNode )
{
return ( (GCItem*) (pGCNode->Data()) )->mpObj;
}
// class implements extremely slow, but probably one of the most simple GC algorithms
class GarbageCollector
{
protected:
wxList mAllNodes;
wxList mRegularLst;
wxList mCycledLst;
wxNode* FindItemNode( void* pForObj );
void ResolveReferences();
wxNode* FindReferenceFreeItemNode();
void RemoveReferencesToNode( wxNode* pItemNode );
void DestroyItemList( wxList& lst );
public:
GarbageCollector() {}
virtual ~GarbageCollector();
// prepare data for GC alg.
virtual void AddObject( void* pObj, int refCnt = 1 );
virtual void AddDependency( void* pObj, void* pDependsOnObj );
// executes GC alg.
virtual void ArrangeCollection();
// access results of the alg.
wxList& GetRegularObjects();
wxList& GetCycledObjects();
// removes all data from GC
void Reset();
};
#endif /* __GARBAGEC_G__ */

View File

@@ -1,123 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 19/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __GCUPDATESMGR_G__
#define __GCUPDATESMGR_G__
#ifdef __GNUG__
#pragma interface "gcupdatesmgr.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/fl/updatesmgr.h"
#include "wx/fl/garbagec.h"
/*
* class implements optimized logic for refreshing
* areas of frame layout - which actually need to be updated.
* Is used as default updates-manager by wxFrameLayout.
*
* it is called "Garbage Collecting" u.mgr for it's implementation
* tries to find out dependencies between bars, and to order
* them ito "hierarchy", this hierarchical sorting resembles
* implemenation of heap-garbage collectors, which resolve
* dependencies between references.
*
* Example: there are situations where the order of moving
* the windows does matter:
*
* case 1)
* ------ ---
* | A | |B|
* ------ ---> | |
* --- --- ------
* |B| | A |
* | | ------
* ---
* (future)
* (past)
*
* past/future positions of A and B windows completely overlapp, i.e.
* depend on each other, and there is not solution for
* moving the windows witout refreshing both of them,
* -- we have cyclic dependency here. The gc. alg will
* find this cyclic dependecy and will force "refresh"
* after movement.
*
* case 2)
*
* ------
* | A |
* ------ --->
* ---
* |B| ------
* | | | A |
* --- ------
* ---
* |B|
* | |
* ---
*
* (future)
* (past)
*
* in this case past/future positions do not overlapp, thus
* it's enough only to move windows, without refreshing them.
* GC will "notice" it.
*
* there is also third case, when overlapping is partial
* in this case the refershing can be also avoided by
* moving windows in the order of "most-dependant" towards the
* "least-dependent". GC handles this automatically, by
* sorting windows by their dependency-level (or "hierarchy")
*
* See garbagec.h for more details of this method, garbagec.h/cpp
* implement sorting of generic-dependencies (does not deal
* with graphical objects directly)
*
* Summary: improves performance when complex/large windows are
* moved around, by reducing number of repaints. Also helps
* to avoid dirty non-client areas of moved windows
* in some special cases of "overlapping anomalies"
*/
class cbGCUpdatesMgr : public cbSimpleUpdatesMgr
{
DECLARE_DYNAMIC_CLASS( cbGCUpdatesMgr )
protected:
GarbageCollector mGC;
void DoRepositionItems( wxList& items );
void AddItem( wxList& itemList,
cbBarInfo* pBar,
cbDockPane* pPane,
wxRect& curBounds,
wxRect& prevBounds );
public:
cbGCUpdatesMgr(void) {}
cbGCUpdatesMgr( wxFrameLayout* pPanel );
// notificiactions received from Frame Layout :
virtual void OnStartChanges();
// refreshes parts of the frame layout, which need an update
virtual void UpdateNow();
};
#endif /* __GCUPDATESMGR_G__ */

View File

@@ -1,120 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 9/11/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __HINTANIMPL_G__
#define __HINTANIMPL_G__
#ifdef __GNUG__
#pragma interface "hintanimpl.h"
#endif
#include "wx/fl/controlbar.h"
#include "wx/timer.h"
class cbHintAnimTimer;
class cbHintAnimationPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbHintAnimationPlugin )
protected:
friend class cbHintAnimTimer;
wxScreenDC* mpScrDc; // created while tracking hint-rect
cbHintAnimTimer* mpAnimTimer;
// FOR NOW:: try it without mutually exculisve locks
volatile wxRect mCurRect;
// state variables
bool mAnimStarted;
bool mStopPending;
bool mPrevInClient;
bool mCurInClient;
wxRect mPrevRect;
public:
int mMorphDelay; // delay between frames in miliseconds, default: 20
int mMaxFrames; // number of iterations for hint morphing, default: 30
// (morph duration = mMorphDelay * mMaxFrames msec)
int mInClientHintBorder; // default: 4 pixels
bool mAccelerationOn; // TRUE, if morph accelerates, otherwise morph
// speed is constant. Default: TRUE
// TBD:: get/set methods for above members
protected:
void StartTracking();
void DrawHintRect ( wxRect& rect, bool isInClientRect);
void EraseHintRect( wxRect& rect, bool isInClientRect);
void FinishTracking();
void DoDrawHintRect( wxRect& rect, bool isInClientRect);
void RectToScr( wxRect& frameRect, wxRect& scrRect );
public:
cbHintAnimationPlugin(void);
~cbHintAnimationPlugin();
cbHintAnimationPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
void OnDrawHintRect( cbDrawHintRectEvent& event );
DECLARE_EVENT_TABLE()
};
// helper classes
struct MorphInfoT
{
wxPoint mFrom;
wxPoint mTill;
};
class cbHintAnimTimer : public wxTimer
{
protected:
friend class cbHintAnimationPlugin;
wxRect mPrevMorphed;
MorphInfoT mUpperLeft;
MorphInfoT mLowerRight;
int mCurIter;
long mLock;
cbHintAnimationPlugin* mpPl;
void MorphPoint( wxPoint& origin, MorphInfoT& info, wxPoint& point );
public:
cbHintAnimTimer(void);
virtual void Notify(void);
virtual bool Init( cbHintAnimationPlugin* pAnimPl, bool reinit );
};
#endif /* __HINTANIMPL_G__ */

View File

@@ -1,165 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: ??/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __NEWBMPBTN_G__
#define __NEWBMPBTN_G__
#ifdef __GNUG__
#pragma interface "newbmpbtn.h"
#endif
#include "wx/button.h"
#include "wx/string.h"
// button lable-text alignment types
#define NB_ALIGN_TEXT_RIGHT 0
#define NB_ALIGN_TEXT_BOTTOM 1
#define NB_NO_TEXT 2
#define NB_NO_IMAGE 3
// classes declared in this header file
class wxNewBitmapButton;
class wxBorderLessBitmapButton;
// alternative class for wxBmpButton
class wxNewBitmapButton: public wxPanel
{
DECLARE_DYNAMIC_CLASS(wxNewBitmapButton)
protected:
friend class wxNewBitmapButtonSerializer;
int mTextToLabelGap;
int mMarginX;
int mMarginY;
int mTextAlignment;
bool mIsSticky;
bool mIsFlat;
wxString mLabelText;
wxString mImageFileName;
int mImageFileType;
wxBitmap mDepressedBmp; // source image for rendering
// labels for particular state
wxBitmap mFocusedBmp; // may not be always present -
// only if mHasFocusedBmp is TRUE
wxBitmap* mpDepressedImg;
wxBitmap* mpPressedImg;
wxBitmap* mpDisabledImg;
wxBitmap* mpFocusedImg;
// button state variables;
bool mDragStarted;
bool mIsPressed;
bool mIsInFocus;
bool mPrevPressedState;
bool mPrevInFocusState;
bool mHasFocusedBmp;
// type of event which is fired upon depression of this button
int mFiredEventType;
// pens for drawing decorations (borders)
wxPen mBlackPen;
wxPen mDarkPen;
wxPen mGrayPen;
wxPen mLightPen;
bool mIsCreated;
int mSizeIsSet;
protected:
void DestroyLabels();
// returns the label which match the current button state
virtual wxBitmap* GetStateLabel();
virtual void DrawShade( int outerLevel,
wxDC& dc,
wxPen& upperLeftSidePen,
wxPen& lowerRightSidePen );
bool IsInWindow( int x,int y );
public:
wxNewBitmapButton( const wxBitmap& labelBitmap = wxNullBitmap,
const wxString& labelText = "",
int alignText = NB_ALIGN_TEXT_BOTTOM,
bool isFlat = TRUE,
// this is the default type of fired events
int firedEventType = wxEVT_COMMAND_MENU_SELECTED,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2,
bool isSticky = FALSE
);
// use this constructor if buttons have to be persistant
wxNewBitmapButton( const wxString& bitmapFileName,
const int bitmapFileType = wxBITMAP_TYPE_BMP,
const wxString& labelText = "",
int alignText = NB_ALIGN_TEXT_BOTTOM,
bool isFlat = TRUE,
// this is the default type of fired events
int firedEventType = wxEVT_COMMAND_MENU_SELECTED,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2,
bool isSticky = FALSE
);
~wxNewBitmapButton();
// should be called after Create();
virtual void Reshape();
// overridables
virtual void SetLabel(const wxBitmap& labelBitmap, const wxString& labelText = "" );
virtual void SetAlignments( int alignText = NB_ALIGN_TEXT_BOTTOM,
int marginX = 2,
int marginY = 2,
int textToLabelGap = 2);
virtual void DrawDecorations( wxDC& dc );
virtual void DrawLabel( wxDC& dc );
virtual void RenderLabelImage( wxBitmap*& destBmp, wxBitmap* srcBmp,
bool isEnabled = TRUE,
bool isPressed = FALSE);
virtual void RenderLabelImages();
virtual void RenderAllLabelImages();
// event handlers
void OnLButtonDown( wxMouseEvent& event );
void OnLButtonUp( wxMouseEvent& event );
void OnMouseMove( wxMouseEvent& event );
void OnSize( wxSizeEvent& event );
void OnPaint( wxPaintEvent& event );
void OnEraseBackground( wxEraseEvent& event );
void OnKillFocus( wxFocusEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __NEWBMPBTN_G__ */

View File

@@ -1,119 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Central header file for control-bar related classes
//
// Author: Aleksandras Gluchovas <mailto:alex@soften.ktu.lt>
// Modified by:
// Created: 06/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __PANEDRAWPL_G__
#define __PANEDRAWPL_G__
#ifdef __GNUG__
#pragma interface "panedrawpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Simple, but all-in-one plugin implementation. Resembles look & feel of
* to MFC control-bars. Handles painting of pane and items in it.
* Fires bar/layout customization event, when user right-clicks bar/pane.
* Hooking an instance of this and row-layouting plugins per each pane,
* would be enough for the frame layout to function properly.
* (they are plugged in autimatically by wxFrameLayout class)
*/
class cbPaneDrawPlugin : public cbPluginBase
{
public:
DECLARE_DYNAMIC_CLASS( cbPaneDrawPlugin )
protected:
// resizing bars/rows state variables
bool mResizeStarted;
bool mResizeCursorOn;
wxPoint mDragOrigin;
cbBarInfo* mpDraggedBar; // also used when in bar-drag action
cbRowInfo* mpResizedRow;
bool mRowHandleHitted;
bool mIsUpperHandle;
bool mBarHandleHitted;
bool mIsLeftHandle;
bool mBarContentHitted;
// contstraints for dragging the handle
wxRect mHandleDragArea;
bool mHandleIsVertical;
int mHandleOfs;
int mDraggedDelta;
wxPoint mPrevPos;
// used for handling, start-draw-in-area events
wxClientDC* mpClntDc;
cbDockPane* mpPane; // is set up temorary short-cut, while handling event
protected:
// helpers
void DrawDraggedHandle( const wxPoint& pos, cbDockPane& pane );
virtual void DrawPaneShade( wxDC& dc, int alignment );
virtual void DrawPaneShadeForRow( cbRowInfo* pRow, wxDC& dc );
virtual void DrawUpperRowHandle( cbRowInfo* pRow, wxDC& dc );
virtual void DrawLowerRowHandle( cbRowInfo* pRow, wxDC& dc );
virtual void DrawUpperRowShades( cbRowInfo* pRow, wxDC& dc, int level );
virtual void DrawLowerRowShades( cbRowInfo* pRow, wxDC& dc, int level );
virtual void DrawBarInnerShadeRect( cbBarInfo* pBar, wxDC& dc );
virtual void DrawShade( int level, wxRect& rect, int alignment, wxDC& dc );
virtual void DrawShade1( int level, wxRect& rect, int alignment, wxDC& dc );
inline void SetLightPixel( int x, int y, wxDC& dc );
inline void SetDarkPixel ( int x, int y, wxDC& dc );
public:
cbPaneDrawPlugin(void);
cbPaneDrawPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
virtual ~cbPaneDrawPlugin();
virtual cbPluginBase* Clone() { return new cbPaneDrawPlugin(0,0); }
// handlers for plugin-events
void OnLButtonDown( cbLeftDownEvent& event );
void OnLDblClick ( cbLeftDClickEvent& event );
void OnLButtonUp ( cbLeftUpEvent& event );
void OnRButtonUp ( cbRightUpEvent& event );
void OnMouseMove ( cbMotionEvent& event );
void OnDrawPaneBackground ( cbDrawPaneBkGroundEvent& event );
void OnDrawPaneDecorations( cbDrawPaneDecorEvent& event );
void OnDrawRowDecorations ( cbDrawRowDecorEvent& event );
void OnDrawRowHandles ( cbDrawRowHandlesEvent& event );
void OnDrawRowBackground ( cbDrawRowBkGroundEvent& event );
void OnSizeBarWindow ( cbSizeBarWndEvent& event );
void OnDrawBarDecorations ( cbDrawBarDecorEvent& event );
void OnDrawBarHandles ( cbDrawBarHandlesEvent& event );
void OnStartDrawInArea ( cbStartDrawInAreaEvent& event );
void OnFinishDrawInArea ( cbFinishDrawInAreaEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __PANEDRAWPL_G__ */

View File

@@ -1,164 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 06/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ROWDRAGPL_G__
#define __ROWDRAGPL_G__
#ifdef __GNUG__
#pragma interface "rowdragpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Plugin adds row-dragging fuctionality to the pane.
* Handles mouse/movement and pane-background erasing plugin-events.
* Behaviour and appearence resembles drag & drop posotioning
* of the toolbar-rows int Netscape Comunicator 4.xx.
*/
class cbRowDragPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbRowDragPlugin )
public:
// background colours for the highlighted/unhighlighted icons
wxColour mHightColor; // light-blue for NC-look
wxColour mLowColor; // light-gray -/-
wxColour mTrianInnerColor; // blue -/-
wxPen mTrianInnerPen; // black -/-
protected:
friend class cbRowDragPluginSerializer;
// drag & drop state variables
bool mDragStarted;
bool mDecisionMode;
wxPoint mDragOrigin;
int mCurDragOfs;
bool mCaptureIsOn;
// saved margins of the pane
int mSvTopMargin;
int mSvBottomMargin;
int mSvLeftMargin;
int mSvRightMargin;
//on-screen drawing state variables
wxBitmap* mpPaneImage;
wxBitmap* mpRowImage;
wxBitmap* mpCombinedImage;
wxScreenDC* mpScrDc;
wxRect mCombRect;
wxSize mRowImgDim;
int mInitialRowOfs;
// NOTE:: if mpRowInFocus is not NULL, then mCollapsedIconInFocus is -1,
// and v.v. (two different items cannot be in focus at the same time)
cbRowInfo* mpRowInFocus;
int mCollapsedIconInFocus;
cbDockPane* mpPane; // is set up temorarely, while handling event
wxList mHiddenBars;
wxBitmap* CaptureDCArea( wxDC& dc, wxRect& area );
// helpers for drag&drop
int GetHRowsCountForPane( cbDockPane* pPane );
void SetMouseCapture( bool captureOn );
void PrepareForRowDrag();
void ShowDraggedRow( int offset );
void ShowPaneImage();
void FinishOnScreenDraw();
void CollapseRow( cbRowInfo* pRow );
void ExpandRow( int collapsedIconIdx );
void InsertDraggedRowBefore( cbRowInfo* pBeforeRow );
bool ItemIsInFocus();
void CheckPrevItemInFocus( cbRowInfo* pRow, int iconIdx );
void UnhiglightItemInFocus();
cbRowInfo* GetFirstRow();
// "hard-coded metafile" for NN-look
virtual void DrawTrianUp( wxRect& inRect, wxDC& dc );
virtual void DrawTrianDown( wxRect& inRect, wxDC& dc );
virtual void DrawTrianRight( wxRect& inRect, wxDC& dc );
virtual void Draw3DPattern( wxRect& inRect, wxDC& dc );
virtual void DrawRombShades( wxPoint& p1, wxPoint& p2, wxPoint& p3, wxPoint& p4, wxDC& dc );
virtual void DrawOrtoRomb( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void DrawRomb( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void Draw3DRect( wxRect& inRect, wxDC& dc, wxBrush& bkBrush );
virtual void DrawRectShade( wxRect& inRect, wxDC& dc,
int level, wxPen& upperPen, wxPen& lowerPen );
virtual void GetRowHintRect( cbRowInfo* pRow, wxRect& rect );
virtual void GetCollapsedInconRect( int iconIdx, wxRect& rect );
virtual int GetCollapsedIconsPos();
public:
cbRowDragPlugin(void);
cbRowDragPlugin( wxFrameLayout* pLayout, int paneMask = wxALL_PANES );
virtual ~cbRowDragPlugin();
virtual cbPluginBase* Clone() { return new cbRowDragPlugin(NULL,0); }
virtual void OnInitPlugin();
// handlers for plugin events (appearence-independent logic)
void OnMouseMove ( cbMotionEvent& event );
void OnLButtonDown( cbLeftDownEvent& event );
void OnLButtonUp ( cbLeftUpEvent& event );
void OnDrawPaneBackground( cbDrawPaneDecorEvent& event );
// overridables (appearence-depedent)
virtual void DrawCollapsedRowIcon( int index, wxDC& dc, bool isHighlighted );
virtual void DrawCollapsedRowsBorder( wxDC& dc );
virtual void DrawRowsDragHintsBorder( wxDC& dc );
virtual void DrawRowDragHint( cbRowInfo* pRow, wxDC& dc, bool isHighlighted );
virtual void DrawEmptyRow( wxDC& dc, wxRect& rowBounds );
virtual int GetCollapsedRowIconHeight();
virtual int GetRowDragHintWidth();
virtual void SetPaneMargins();
virtual bool HitTestCollapsedRowIcon( int iconIdx, const wxPoint& pos );
virtual bool HitTestRowDragHint( cbRowInfo* pRow, const wxPoint& pos );
DECLARE_EVENT_TABLE()
};
// internal helper-class
class cbHiddenBarInfo : public wxObject
{
DECLARE_DYNAMIC_CLASS( cbHiddenBarInfo )
public:
cbBarInfo* mpBar;
int mRowNo;
int mIconNo;
int mAlignment;
};
#endif /* __ROWDRAGPL_G__ */

View File

@@ -1,87 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 02/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __ROWLAYOUTPL_G__
#define __ROWLAYOUTPL_G__
#ifdef __GNUG__
#pragma interface "rowlayoutpl.h"
#endif
#include "wx/fl/controlbar.h"
/*
* Simple implementation of plugin, which handles row-layouting
* requests sent from Frame Layout
*/
class cbRowLayoutPlugin : public cbPluginBase
{
DECLARE_DYNAMIC_CLASS( cbRowLayoutPlugin )
protected:
cbDockPane* mpPane; // is set up temorarely, while handling event
protected:
// not-fixed-bars layouting related helpers
void FitBarsToRange( int from, int till, cbBarInfo* pTheBar, cbRowInfo* pRow );
void RelayoutNotFixedBarsAround( cbBarInfo* pTheBar, cbRowInfo* pRow );
void MinimzeNotFixedBars( cbRowInfo* pRow, cbBarInfo* pBarToPreserve );
int GetRowFreeSpace( cbRowInfo* pRow );
void RecalcLengthRatios( cbRowInfo* pRow );
void ApplyLengthRatios( cbRowInfo* pRow );
void ExpandNotFixedBars( cbRowInfo* pRow );
void AdjustLengthOfInserted( cbRowInfo* pRow, cbBarInfo* pTheBar );
void DetectBarHandles( cbRowInfo* pRow );
void CheckIfAtTheBoundary( cbBarInfo* pTheBar, cbRowInfo& rowInfo );
// row-layouting helpers (simulate "bar-friction")
int CalcRowHeight( cbRowInfo& row );
void LayoutItemsVertically( cbRowInfo& row );
void StickRightSideBars( cbBarInfo* pToBar );
void SlideLeftSideBars ( cbBarInfo* pTheBar );
void SlideRightSideBars( cbBarInfo* pTheBar );
void ShiftLeftTrashold ( cbBarInfo* pTheBar, cbRowInfo& row );
void ShiftRightTrashold( cbBarInfo* pTheBar, cbRowInfo& row );
void InsertBefore( cbBarInfo* pBeforeBar,
cbBarInfo* pTheBar,
cbRowInfo& row
);
void DoInsertBar( cbBarInfo* pTheBar, cbRowInfo& row );
public:
cbRowLayoutPlugin(void);
cbRowLayoutPlugin( wxFrameLayout* pPanel, int paneMask = wxALL_PANES );
// event handlers
void OnResizeRow ( cbResizeRowEvent& event );
void OnInsertBar ( cbInsertBarEvent& event );
void OnRemoveBar ( cbRemoveBarEvent& event );
void OnLayoutRow ( cbLayoutRowEvent& event );
void OnLayoutRows( cbLayoutRowsEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __ROWLAYOUTPL_G__ */

View File

@@ -1,216 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas
// Modified by:
// Created: 06/09/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __TOOLWND_G__
#define __TOOLWND_G__
#ifdef __GNUG__
#pragma interface "toolwnd.h"
#endif
#include "wx/frame.h"
#include "wx/dynarray.h"
// fixed settings
#define BTN_BOX_HEIGHT 12
#define BTN_BOX_WIDTH 12
#define BTN_X_WIEGHT 2
class cbMiniButton;
typedef cbMiniButton* cbMinitButtonPtrT;
WX_DEFINE_ARRAY( cbMinitButtonPtrT, cbMiniButtonArrayT );
class wxToolWindow : public wxFrame
{
DECLARE_DYNAMIC_CLASS( wxToolWindow )
public: /** protected really, accessed only by serializers **/
cbMiniButtonArrayT mButtons;
wxWindow* mpClientWnd;
wxFont mTitleFont;
int mTitleHeight;
int mClntHorizGap;
int mClntVertGap;
int mWndVertGap;
int mWndHorizGap;
int mButtonGap;
int mInTitleMargin;
int mHintBorder;
bool mResizeStarted;
bool mRealTimeUpdatesOn;
int mMTolerance;
int mCursorType;
bool mMouseCaptured;
// drag&drop state variables
wxPoint mDragOrigin;
wxRect mInitialRect;
wxRect mPrevHintRect;
wxScreenDC* mpScrDc;
protected:
void GetScrWindowRect( wxRect& r );
void GetScrMousePos ( wxMouseEvent& event, wxPoint& pos );
void SetHintCursor ( int type );
void CalcResizedRect( wxRect& rect, wxPoint& delta, const wxSize& minDim );
void AdjustRectPos( const wxRect& original, const wxSize& newDim, wxRect& newRect );
wxSize GetMinimalWndDim();
void DrawHintRect( const wxRect& r );
int HitTestWindow( wxMouseEvent& event );
void LayoutMiniButtons();
public:
wxToolWindow();
~wxToolWindow();
void SetClient( wxWindow* pWnd );
wxWindow* GetClient();
void SetTitleFont( wxFont& font );
// buttons are added in right-to-left order
void AddMiniButton( cbMiniButton* pBtn );
void OnPaint( wxPaintEvent& event );
void OnMotion( wxMouseEvent& event );
void OnLeftDown( wxMouseEvent& event );
void OnLeftUp( wxMouseEvent& event );
void OnSize( wxSizeEvent& event );
void OnEraseBackground( wxEraseEvent& event );
// overridables:
virtual wxSize GetPreferredSize( const wxSize& given );
virtual void OnMiniButtonClicked( int btnIdx ) {}
virtual bool HandleTitleClick( wxMouseEvent& event ) { return FALSE; }
DECLARE_EVENT_TABLE()
};
// FIXME:: the code below should be moved to a separate file
#include "wx/fl/controlbar.h"
class cbMiniButton : public wxObject
{
public:
wxPoint mPos;
wxSize mDim;
bool mVisible;
bool mEnabled;
wxFrameLayout* mpLayout;
cbDockPane* mpPane;
cbPluginBase* mpPlugin;
wxWindow* mpWnd;
bool mWasClicked;
bool mDragStarted;
bool mPressed;
public:
cbMiniButton();
void SetPos( const wxPoint& pos );
bool HitTest( const wxPoint& pos );
void OnLeftDown( const wxPoint& pos );
void OnLeftUp( const wxPoint& pos );
void OnMotion( const wxPoint& pos );
void Refresh();
virtual void Draw( wxDC& dc );
bool WasClicked();
void Reset();
void Enable( bool enable ) { mEnabled = enable; }
bool IsPressed() { return mPressed; }
};
// classes specific to wxFrameLayout engine (FOR NOW in here...)
class cbCloseBox : public cbMiniButton
{
public:
virtual void Draw( wxDC& dc );
};
class cbCollapseBox : public cbMiniButton
{
public:
bool mIsAtLeft;
virtual void Draw( wxDC& dc );
};
class cbDockBox : public cbMiniButton
{
public:
virtual void Draw( wxDC& dc );
};
class cbFloatedBarWindow : public wxToolWindow
{
DECLARE_DYNAMIC_CLASS( cbFloatedBarWindow )
protected:
cbBarInfo* mpBar;
wxFrameLayout* mpLayout;
friend class cbFloatedBarWindowSerializer;
public:
cbFloatedBarWindow();
void SetBar( cbBarInfo* pBar );
void SetLayout( wxFrameLayout* pLayout );
cbBarInfo* GetBar();
// given coordinates are those of the bar itself
// floated container window's position and size
// are ajusted accordingly
void PositionFloatedWnd( int scrX, int scrY,
int width, int height );
// overriden methods of wxToolWindow
virtual wxSize GetPreferredSize( const wxSize& given );
virtual void OnMiniButtonClicked( int btnIdx );
virtual bool HandleTitleClick( wxMouseEvent& event );
void OnDblClick( wxMouseEvent& event );
DECLARE_EVENT_TABLE()
};
#endif /* __TOOLWND_G__ */

View File

@@ -1,56 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: No names yet.
// Purpose: Contrib. demo
// Author: Aleksandras Gluchovas (@Lithuania)
// Modified by:
// Created: 19/10/98
// RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#ifndef __UPDATESMGR_G__
#define __UPDATESMGR_G__
#ifdef __GNUG__
#pragma interface "updatesmgr.h"
#endif
#include "wx/fl/controlbar.h"
/*
* class implements slightly optimized logic for refreshing
* areas of frame layout - which actually need to be updated.
*/
class cbSimpleUpdatesMgr : public cbUpdatesManagerBase
{
DECLARE_DYNAMIC_CLASS( cbSimpleUpdatesMgr )
protected:
bool WasChanged( cbUpdateMgrData& data, wxRect& currentBounds );
public:
cbSimpleUpdatesMgr(void) {}
cbSimpleUpdatesMgr( wxFrameLayout* pPanel );
// notificiactions received from Frame Layout (in the order, in which
// they usually would be invoked)
virtual void OnStartChanges();
virtual void OnRowWillChange( cbRowInfo* pRow, cbDockPane* pInPane );
virtual void OnBarWillChange( cbBarInfo* pBar, cbRowInfo* pInRow, cbDockPane* pInPane );
virtual void OnPaneMarginsWillChange( cbDockPane* pPane );
virtual void OnPaneWillChange( cbDockPane* pPane );
virtual void OnFinishChanges();
// refreshes parts of the frame layout, which need an update
virtual void UpdateNow();
};
#endif /* __UPDATESMGR_G__ */

View File

@@ -1,148 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: dynamicsash.h
// Purpose: A window which can be dynamically split to an arbitrary depth
// and later reunified through the user interface
// Author: Matt Kimball
// Modified by:
// Created: 7/15/2001
// RCS-ID: $Id$
// Copyright: (c) 2001 Matt Kimball
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_DYNAMICSASH_H_
#define _WX_DYNAMICSASH_H_
/*
wxDynamicSashWindow
wxDynamicSashWindow widgets manages the way other widgets are viewed.
When a wxDynamicSashWindow is first shown, it will contain one child
view, a viewport for that child, and a pair of scrollbars to allow the
user to navigate the child view area. Next to each scrollbar is a small
tab. By clicking on either tab and dragging to the appropriate spot, a
user can split the view area into two smaller views separated by a
draggable sash. Later, when the user wishes to reunify the two subviews,
the user simply drags the sash to the side of the window.
wxDynamicSashWindow will automatically reparent the appropriate child
view back up the window hierarchy, and the wxDynamicSashWindow will have
only one child view once again.
As an application developer, you will simply create a wxDynamicSashWindow
using either the Create() function or the more complex constructor
provided below, and then create a view window whose parent is the
wxDynamicSashWindow. The child should respond to
wxDynamicSashSplitEvents -- perhaps with an OnSplit() event handler -- by
constructing a new view window whose parent is also the
wxDynamicSashWindow. That's it! Now your users can dynamically split
and reunify the view you provided.
If you wish to handle the scrollbar events for your view, rather than
allowing wxDynamicSashWindow to do it for you, things are a bit more
complex. (You might want to handle scrollbar events yourself, if,
for instance, you wish to scroll a subwindow of the view you add to
your wxDynamicSashWindow object, rather than scrolling the whole view.)
In this case, you will need to construct your wxDynamicSashWindow without
the wxMANAGE_SCROLLBARS style and you will need to use the
GetHScrollBar() and GetVScrollBar() methods to retrieve the scrollbar
controls and call SetEventHanler() on them to redirect the scrolling
events whenever your window is reparented by wxDyanmicSashWindow.
You will need to set the scrollbars' event handler at three times:
* When your view is created
* When your view receives a wxDynamicSashSplitEvent
* When your view receives a wxDynamicSashUnifyEvent
See the dynsash_switch sample application for an example which does this.
*/
#include <wx/event.h>
#include <wx/window.h>
class wxScrollBar;
#define wxEVT_DYNAMIC_SASH_BASE (((int)('d' - 'a') << 11) | ((int)('s' - 'a') << 6) | ((int)('h' - 'a') << 1))
#define wxEVT_DYNAMIC_SASH_SPLIT (wxEVT_DYNAMIC_SASH_BASE + 1)
#define wxEVT_DYNAMIC_SASH_UNIFY (wxEVT_DYNAMIC_SASH_BASE + 2)
#define EVT_DYNAMIC_SASH_SPLIT(id, func) EVT_CUSTOM(wxEVT_DYNAMIC_SASH_SPLIT, (id), (func))
#define EVT_DYNAMIC_SASH_UNIFY(id, func) EVT_CUSTOM(wxEVT_DYNAMIC_SASH_UNIFY, (id), (func))
/*
wxMANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which
will cause it to respond to scrollbar events for your application by
automatically scrolling the child view.
*/
#define wxMANAGE_SCROLLBARS 0x00800000
/*
wxDynamicSashSplitEvents are sent to your view by wxDynamicSashWindow
whenever your view is being split by the user. It is your
responsibility to handle this event by creating a new view window as
a child of the wxDynamicSashWindow. wxDynamicSashWindow will
automatically reparent it to the proper place in its window hierarchy.
*/
class wxDynamicSashSplitEvent : public wxCommandEvent {
public:
wxDynamicSashSplitEvent();
wxDynamicSashSplitEvent(wxObject *target);
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent)
};
/*
wxDynamicSashUnifyEvents are sent to your view by wxDynamicSashWindow
whenever the sash which splits your view and its sibling is being
reunified such that your view is expanding to replace its sibling.
You needn't do anything with this event if you are allowing
wxDynamicSashWindow to manage your view's scrollbars, but it is useful
if you are managing the scrollbars yourself so that you can keep
the scrollbars' event handlers connected to your view's event handler
class.
*/
class wxDynamicSashUnifyEvent : public wxCommandEvent {
public:
wxDynamicSashUnifyEvent();
wxDynamicSashUnifyEvent(wxObject *target);
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent);
};
/*
wxDynamicSashWindow. See above.
*/
class wxDynamicSashWindow : public wxWindow {
public:
wxDynamicSashWindow();
wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow");
virtual ~wxDynamicSashWindow();
virtual bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow");
virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const;
virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const;
/* This is overloaded from wxWindowBase. It's not here for you to
call directly. */
virtual void AddChild(wxWindowBase *child);
private:
class wxDynamicSashWindowImpl *m_impl;
DECLARE_DYNAMIC_CLASS(wxDynamicSashWindow)
};
#endif

View File

@@ -1,43 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: email.h
// Purpose: wxEmail: portable email client class
// Author: Julian Smart
// Modified by:
// Created: 2001-08-21
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma interface "email.h"
#endif
#ifndef _WX_EMAIL_H_
#define _WX_EMAIL_H_
#include "wx/net/msg.h"
/*
* wxEmail
* Miscellaneous email functions
*/
class wxEmail
{
public:
//// Ctor/dtor
wxEmail() {};
//// Operations
// Send a message.
// Specify profile, or leave it to wxWindows to find the current user name
static bool Send(wxMailMessage& message, const wxString& profileName = wxEmptyString );
protected:
};
#endif //_WX_EMAIL_H_

View File

@@ -1,67 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: msg.h
// Purpose: wxMailMessage
// Author: Julian Smart
// Modified by:
// Created: 2001-08-21
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma interface "msg.h"
#endif
#ifndef _WX_MSG_H_
#define _WX_MSG_H_
/*
* wxMailMessage
* Encapsulates an email message
*/
class wxMailMessage
{
public:
// A common usage
wxMailMessage(const wxString& subject, const wxString& to,
const wxString& body, const wxString& attachment = wxEmptyString,
const wxString& attachmentTitle = wxEmptyString)
{
m_to.Add(to);
m_subject = subject;
m_body = body;
if (!attachment.IsEmpty())
{
m_attachments.Add(attachment);
m_attachmentTitles.Add(attachmentTitle);
}
}
wxMailMessage() {};
//// Accessors
void AddTo(const wxString& to) { m_to.Add(to); }
void AddCc(const wxString& cc) { m_cc.Add(cc); }
void AddBcc(const wxString& bcc) { m_bcc.Add(bcc); }
void AddAttachment(const wxString& attach, const wxString& title = wxEmptyString)
{ m_attachments.Add(attach); m_attachmentTitles.Add(title); }
void SetSubject(const wxString& subject) { m_subject = subject; }
void SetBody(const wxString& body) { m_body = body; }
public:
wxArrayString m_to; //The To: Recipients
wxArrayString m_cc; //The CC: Recipients
wxArrayString m_bcc; //The BCC Recipients
wxString m_subject; //The Subject of the message
wxString m_body; //The Body of the message
wxArrayString m_attachments; //Files to attach to the email
wxArrayString m_attachmentTitles; //Titles to use for the email file attachments
};
#endif // _WX_MSG_H_

View File

@@ -1,56 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: smapi.h
// Purpose: Simple MAPI classes
// Author: PJ Naughter <pjna@naughter.com>
// Modified by: Julian Smart
// Created: 2001-08-21
// RCS-ID: $Id$
// Copyright: (c) PJ Naughter
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma interface "smapi.h"
#endif
#ifndef _WX_SMAPI_H_
#define _WX_SMAPI_H_
#include "wx/net/msg.h"
class wxMapiData;
//The class which encapsulates the MAPI connection
class wxMapiSession
{
public:
//Constructors / Destructors
wxMapiSession();
~wxMapiSession();
//Logon / Logoff Methods
bool Logon(const wxString& sProfileName, const wxString& sPassword = wxEmptyString, wxWindow* pParentWnd = NULL);
bool LoggedOn() const;
bool Logoff();
//Send a message
bool Send(wxMailMessage& message);
//General MAPI support
bool MapiInstalled() const;
//Error Handling
long GetLastError() const;
protected:
//Methods
void Initialise();
void Deinitialise();
bool Resolve(const wxString& sName, void* lppRecip1);
wxMapiData* m_data;
};
#endif //_WX_SMAPI_H_

View File

@@ -1,37 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: web.h
// Purpose: wxWeb: portable web browser-related class
// Author: Julian Smart
// Modified by:
// Created: 2001-08-21
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma interface "web.h"
#endif
#ifndef _WX_WEB_H_
#define _WX_WEB_H_
/*
* wxWeb
* Miscellaneous web functions
*/
class wxWeb
{
public:
//// Ctor/dtor
wxWeb() {};
//// Operations
protected:
};
#endif //_WX_WEB_H_

View File

@@ -35,7 +35,7 @@ class WXDLLEXPORT wxPlotYAxisArea;
class WXDLLEXPORT wxPlotWindow;
//-----------------------------------------------------------------------------
// consts
// classes
//-----------------------------------------------------------------------------
extern const int wxEVT_PLOT_SEL_CHANGING;
@@ -60,6 +60,9 @@ extern const int wxEVT_PLOT_BEGIN_TITLE_EDIT;
extern const int wxEVT_PLOT_END_TITLE_EDIT;
extern const int wxEVT_PLOT_AREA_CREATE;
//-----------------------------------------------------------------------------
// consts
//-----------------------------------------------------------------------------
#define wxPLOT_X_AXIS 0x0004
#define wxPLOT_Y_AXIS 0x0008
@@ -374,8 +377,6 @@ private:
typedef void (wxEvtHandler::*wxPlotEventFunction)(wxPlotEvent&);
#if WXWIN_COMPATIBILITY_EVENT_TYPES
#define EVT_PLOT(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
#define EVT_PLOT_SEL_CHANGING(id, fn) { wxEVT_PLOT_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
#define EVT_PLOT_SEL_CHANGED(id, fn) { wxEVT_PLOT_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
@@ -398,31 +399,5 @@ typedef void (wxEvtHandler::*wxPlotEventFunction)(wxPlotEvent&);
#define EVT_PLOT_BEGIN_TITLE_EDIT(id, fn) { wxEVT_PLOT_BEGIN_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
#define EVT_PLOT_END_TITLE_EDIT(id, fn) { wxEVT_PLOT_END_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
#else
#define EVT_PLOT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_CLICKED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_DOUBLECLICKED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_ZOOM_IN(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_ZOOM_IN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_ZOOM_OUT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_ZOOM_OUT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_VALUE_SEL_CREATING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_VALUE_SEL_CREATED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_VALUE_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_VALUE_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_VALUE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_AREA_SEL_CREATING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_AREA_SEL_CREATED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_AREA_SEL_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_AREA_SEL_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_AREA_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_BEGIN_X_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_X_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_END_X_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_X_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_BEGIN_Y_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_Y_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_END_Y_LABEL_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_Y_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_BEGIN_TITLE_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_BEGIN_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#define EVT_PLOT_END_TITLE_EDIT(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_PLOT_END_TITLE_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL ),
#endif
#endif
// _WX_PLOT_H_

View File

@@ -57,28 +57,6 @@
#define wxSTC_MARK_ARROWDOWN 6
#define wxSTC_MARK_MINUS 7
#define wxSTC_MARK_PLUS 8
// Shapes used for outlining column
#define wxSTC_MARK_VLINE 9
#define wxSTC_MARK_LCORNER 10
#define wxSTC_MARK_TCORNER 11
#define wxSTC_MARK_BOXPLUS 12
#define wxSTC_MARK_BOXPLUSCONNECTED 13
#define wxSTC_MARK_BOXMINUS 14
#define wxSTC_MARK_BOXMINUSCONNECTED 15
#define wxSTC_MARK_LCORNERCURVE 16
#define wxSTC_MARK_TCORNERCURVE 17
#define wxSTC_MARK_CIRCLEPLUS 18
#define wxSTC_MARK_CIRCLEPLUSCONNECTED 19
#define wxSTC_MARK_CIRCLEMINUS 20
#define wxSTC_MARK_CIRCLEMINUSCONNECTED 21
// Markers used for outlining column
#define wxSTC_MARKNUM_FOLDEREND 25
#define wxSTC_MARKNUM_FOLDEROPENMID 26
#define wxSTC_MARKNUM_FOLDERMIDTAIL 27
#define wxSTC_MARKNUM_FOLDERTAIL 28
#define wxSTC_MARKNUM_FOLDERSUB 29
#define wxSTC_MARKNUM_FOLDER 30
#define wxSTC_MARKNUM_FOLDEROPEN 31
#define wxSTC_MARGIN_SYMBOL 0
@@ -112,9 +90,6 @@
#define wxSTC_CHARSET_ARABIC 178
#define wxSTC_CHARSET_VIETNAMESE 163
#define wxSTC_CHARSET_THAI 222
#define wxSTC_CASE_MIXED 0
#define wxSTC_CASE_UPPER 1
#define wxSTC_CASE_LOWER 2
#define wxSTC_INDIC_MAX 7
#define wxSTC_INDIC_PLAIN 0
#define wxSTC_INDIC_SQUIGGLE 1
@@ -134,15 +109,12 @@
// PrintColourMode - force black text on white background for printing.
#define wxSTC_PRINT_BLACKONWHITE 2
// PrintColourMode - text stays coloured, but all background is forced to be white for printing.
#define wxSTC_PRINT_COLOURONWHITE 3
// PrintColourMode - only the default-background is forced to be white for printing.
#define wxSTC_PRINT_COLOURONWHITEDEFAULTBG 4
#define wxSTC_FIND_DOWN 1
#define wxSTC_FIND_WHOLEWORD 2
#define wxSTC_FIND_MATCHCASE 4
#define wxSTC_FIND_WORDSTART 0x00100000
// SCFIND_REGEXP is not yet implemented.
#define wxSTC_FIND_REGEXP 0x00200000
#define wxSTC_CMD_UNDO 2176
#define wxSTC_CMD_CUT 2177
@@ -152,7 +124,6 @@
#define wxSTC_FOLDLEVELWHITEFLAG 0x1000
#define wxSTC_FOLDLEVELHEADERFLAG 0x2000
#define wxSTC_FOLDLEVELNUMBERMASK 0x0FFF
#define wxSTC_TIME_FOREVER 10000000
#define wxSTC_CMD_LINEDOWN 2300
#define wxSTC_CMD_LINEDOWNEXTEND 2301
#define wxSTC_CMD_LINEUP 2302
@@ -202,31 +173,15 @@
#define wxSTC_EDGE_BACKGROUND 2
// Show caret within N lines of edge when it's scrolled to view
// If CARET_SLOP not set then centre caret on screen when it's
// scrolled to view
#define wxSTC_CARET_SLOP 0x01
// Value not used
// Center caret on screen when it's scrolled to view
#define wxSTC_CARET_CENTER 0x02
// If CARET_SLOP also set then reposition whenever outside slop border
// If CARET_SLOP not set then recentre even when visible
// OR this with CARET_CENTER to reposition even when visible, or
// OR this with CARET_SLOP to reposition whenever outside slop border
#define wxSTC_CARET_STRICT 0x04
// If CARET_XEVEN set then both left and right margins are given equal weight
// rather than favouring left following behaviour.
#define wxSTC_CARET_XEVEN 0x08
// If CARET_XJUMPS set then when caret reaches the margin the display jumps
// enough to leave the caret solidly within the display.
#define wxSTC_CARET_XJUMPS 0x10
#define wxSTC_CURSORNORMAL -1
#define wxSTC_CURSORWAIT 3
// Constants for use with SetVisiblePolicy, similar to SetCaretPolicy
#define wxSTC_VISIBLE_SLOP 0x01
#define wxSTC_VISIBLE_STRICT 0x04
// Notifications
// Type of modification and the action which caused the modification
// These are defined as a bit mask to make it easy to specify which notifications are wanted.
@@ -286,19 +241,6 @@
#define wxSTC_LEX_LATEX 14
#define wxSTC_LEX_LUA 15
#define wxSTC_LEX_DIFF 16
#define wxSTC_LEX_CONF 17
#define wxSTC_LEX_PASCAL 18
#define wxSTC_LEX_AVE 19
#define wxSTC_LEX_ADA 20
#define wxSTC_LEX_LISP 21
#define wxSTC_LEX_RUBY 22
#define wxSTC_LEX_EIFFEL 23
#define wxSTC_LEX_EIFFELKW 24
#define wxSTC_LEX_TCL 25
// When a lexer specifies its language as SCLEX_AUTOMATIC it receives a
// value assigned in sequence from SCLEX_AUTOMATIC+1.
#define wxSTC_LEX_AUTOMATIC 1000
// Lexical states for SCLEX_PYTHON
#define wxSTC_P_DEFAULT 0
@@ -331,9 +273,6 @@
#define wxSTC_C_IDENTIFIER 11
#define wxSTC_C_STRINGEOL 12
#define wxSTC_C_VERBATIM 13
#define wxSTC_C_REGEX 14
#define wxSTC_C_COMMENTLINEDOC 15
#define wxSTC_C_WORD2 16
// Lexical states for SCLEX_HTML, SCLEX_XML
#define wxSTC_H_DEFAULT 0
@@ -361,12 +300,6 @@
// More HTML
#define wxSTC_H_VALUE 19
// X-Code
#define wxSTC_H_XCCOMMENT 20
// SGML
#define wxSTC_H_SGML 21
// Embedded Javascript
#define wxSTC_HJ_START 40
#define wxSTC_HJ_DEFAULT 41
@@ -380,7 +313,6 @@
#define wxSTC_HJ_SINGLESTRING 49
#define wxSTC_HJ_SYMBOLS 50
#define wxSTC_HJ_STRINGEOL 51
#define wxSTC_HJ_REGEX 52
// ASP Javascript
#define wxSTC_HJA_START 55
@@ -395,7 +327,6 @@
#define wxSTC_HJA_SINGLESTRING 64
#define wxSTC_HJA_SYMBOLS 65
#define wxSTC_HJA_STRINGEOL 66
#define wxSTC_HJA_REGEX 67
// Embedded VBScript
#define wxSTC_HB_START 70
@@ -456,12 +387,11 @@
#define wxSTC_HPHP_VARIABLE 123
#define wxSTC_HPHP_COMMENT 124
#define wxSTC_HPHP_COMMENTLINE 125
#define wxSTC_HPHP_HSTRING_VARIABLE 126
#define wxSTC_HPHP_OPERATOR 127
#define wxSTC_HPHP_STRINGEOL 126
// Lexical states for SCLEX_PERL
#define wxSTC_PL_DEFAULT 0
#define wxSTC_PL_ERROR 1
#define wxSTC_PL_HERE 1
#define wxSTC_PL_COMMENTLINE 2
#define wxSTC_PL_POD 3
#define wxSTC_PL_NUMBER 4
@@ -476,20 +406,12 @@
#define wxSTC_PL_ARRAY 13
#define wxSTC_PL_HASH 14
#define wxSTC_PL_SYMBOLTABLE 15
#define wxSTC_PL_REF 16
#define wxSTC_PL_REGEX 17
#define wxSTC_PL_REGSUBST 18
#define wxSTC_PL_LONGQUOTE 19
#define wxSTC_PL_BACKTICKS 20
#define wxSTC_PL_DATASECTION 21
#define wxSTC_PL_HERE_DELIM 22
#define wxSTC_PL_HERE_Q 23
#define wxSTC_PL_HERE_QQ 24
#define wxSTC_PL_HERE_QX 25
#define wxSTC_PL_STRING_Q 26
#define wxSTC_PL_STRING_QQ 27
#define wxSTC_PL_STRING_QX 28
#define wxSTC_PL_STRING_QR 29
#define wxSTC_PL_STRING_QW 30
// Lexical states for SCLEX_LATEX
#define wxSTC_L_DEFAULT 0
@@ -512,8 +434,6 @@
#define wxSTC_LUA_OPERATOR 10
#define wxSTC_LUA_IDENTIFIER 11
#define wxSTC_LUA_STRINGEOL 12
// Lexical states for SCLEX_ERRORLIST
#define wxSTC_ERR_DEFAULT 0
#define wxSTC_ERR_PYTHON 1
#define wxSTC_ERR_GCC 2
@@ -521,88 +441,6 @@
#define wxSTC_ERR_CMD 4
#define wxSTC_ERR_BORLAND 5
#define wxSTC_ERR_PERL 6
#define wxSTC_ERR_NET 7
#define wxSTC_ERR_LUA 8
#define wxSTC_ERR_DIFF_CHANGED 10
#define wxSTC_ERR_DIFF_ADDITION 11
#define wxSTC_ERR_DIFF_DELETION 12
#define wxSTC_ERR_DIFF_MESSAGE 13
// Lexical states for SCLEX_BATCH
#define wxSTC_BAT_DEFAULT 0
#define wxSTC_BAT_COMMENT 1
#define wxSTC_BAT_WORD 2
#define wxSTC_BAT_LABEL 3
#define wxSTC_BAT_HIDE 4
#define wxSTC_BAT_COMMAND 5
#define wxSTC_BAT_IDENTIFIER 6
#define wxSTC_BAT_OPERATOR 7
// Lexical states for SCLEX_MAKEFILE
#define wxSTC_MAKE_DEFAULT 0
#define wxSTC_MAKE_COMMENT 1
#define wxSTC_MAKE_PREPROCESSOR 2
#define wxSTC_MAKE_IDENTIFIER 3
#define wxSTC_MAKE_OPERATOR 4
#define wxSTC_MAKE_TARGET 5
#define wxSTC_MAKE_IDEOL 9
// Lexical states for the SCLEX_CONF (Apache Configuration Files Lexer)
#define wxSTC_CONF_DEFAULT 0
#define wxSTC_CONF_COMMENT 1
#define wxSTC_CONF_NUMBER 2
#define wxSTC_CONF_IDENTIFIER 3
#define wxSTC_CONF_EXTENSION 4
#define wxSTC_CONF_PARAMETER 5
#define wxSTC_CONF_STRING 6
#define wxSTC_CONF_OPERATOR 7
#define wxSTC_CONF_IP 8
#define wxSTC_CONF_DIRECTIVE 9
// Avenue
#define wxSTC_AVE_DEFAULT 0
#define wxSTC_AVE_COMMENT 1
#define wxSTC_AVE_NUMBER 2
#define wxSTC_AVE_WORD 3
#define wxSTC_AVE_KEYWORD 4
#define wxSTC_AVE_STATEMENT 5
#define wxSTC_AVE_STRING 6
#define wxSTC_AVE_ENUM 7
#define wxSTC_AVE_STRINGEOL 8
#define wxSTC_AVE_IDENTIFIER 9
#define wxSTC_AVE_OPERATOR 10
// Lexical states for SCLEX_ADA
#define wxSTC_ADA_DEFAULT 0
#define wxSTC_ADA_COMMENT 1
#define wxSTC_ADA_NUMBER 2
#define wxSTC_ADA_WORD 3
#define wxSTC_ADA_STRING 4
#define wxSTC_ADA_CHARACTER 5
#define wxSTC_ADA_OPERATOR 6
#define wxSTC_ADA_IDENTIFIER 7
#define wxSTC_ADA_STRINGEOL 8
// Lexical states for SCLEX_LISP
#define wxSTC_LISP_DEFAULT 0
#define wxSTC_LISP_COMMENT 1
#define wxSTC_LISP_NUMBER 2
#define wxSTC_LISP_KEYWORD 3
#define wxSTC_LISP_STRING 6
#define wxSTC_LISP_STRINGEOL 8
#define wxSTC_LISP_IDENTIFIER 9
#define wxSTC_LISP_OPERATOR 10
// Lexical states for SCLEX_EIFFEL and SCLEX_EIFFELKW
#define wxSTC_EIFFEL_DEFAULT 0
#define wxSTC_EIFFEL_COMMENTLINE 1
#define wxSTC_EIFFEL_NUMBER 2
#define wxSTC_EIFFEL_WORD 3
#define wxSTC_EIFFEL_STRING 4
#define wxSTC_EIFFEL_CHARACTER 5
#define wxSTC_EIFFEL_OPERATOR 6
#define wxSTC_EIFFEL_IDENTIFIER 7
#define wxSTC_EIFFEL_STRINGEOL 8
// END of generated section
//----------------------------------------------------------------------
@@ -718,10 +556,6 @@ public:
// Find the position from a point within the window.
int PositionFromPoint(wxPoint pt);
// Find the position from a point within the window but return
// INVALID_POSITION if not close to text.
int PositionFromPointClose(int x, int y);
// Set caret to start of a line and ensure it is visible.
void GotoLine(int line);
@@ -739,8 +573,8 @@ public:
// Retrieve the position of the last correctly styled character.
int GetEndStyled();
// Convert all line endings in the document to one mode.
void ConvertEOLs(int eolMode);
// Convert all line endings in the document to use the current mode.
void ConvertEOLs();
// Retrieve the current end of line mode - one of CRLF, CR, or LF.
int GetEOLMode();
@@ -859,9 +693,6 @@ public:
// Set a style to be underlined or not.
void StyleSetUnderline(int style, bool underline);
// Set a style to be mixed case, or to force upper or lower case.
void StyleSetCase(int style, int caseForce);
// Set the foreground colour of the selection and whether to use this setting.
void SetSelForeground(bool useSetting, const wxColour& fore);
@@ -932,18 +763,6 @@ public:
// Retrieve the last line number that has line state.
int GetMaxLineState();
// Is the background of the line containing the caret in a different colour?
bool GetCaretLineVisible();
// Display the background of the line containing the caret in a different colour.
void SetCaretLineVisible(bool show);
// Get the colour of the background of the line containing the caret.
wxColour GetCaretLineBack();
// Set the colour of the background of the line containing the caret.
void SetCaretLineBack(const wxColour& back);
// Display a auto-completion list.
// The lenEntered parameter indicates how many characters before
// the caret should be used to provide context.
@@ -997,15 +816,6 @@ public:
// Retrieve state of ignore case flag.
bool AutoCompGetIgnoreCase();
// Display a list of strings and send notification when user chooses one.
void UserListShow(int listType, const wxString& itemList);
// Set whether or not autocompletion is hidden automatically when nothing matches
void AutoCompSetAutoHide(bool autoHide);
// Retrieve whether or not autocompletion is hidden automatically when nothing matches
bool AutoCompGetAutoHide();
// Set the number of spaces used for one level of indentation.
void SetIndent(int indentSize);
@@ -1113,13 +923,13 @@ public:
int GetLineCount();
// Sets the size in pixels of the left margin.
void SetMarginLeft(int pixelWidth);
void SetMarginLeft(int width);
// Returns the size in pixels of the left margin.
int GetMarginLeft();
// Sets the size in pixels of the right margin.
void SetMarginRight(int pixelWidth);
void SetMarginRight(int width);
// Returns the size in pixels of the right margin.
int GetMarginRight();
@@ -1196,48 +1006,6 @@ public:
// Returns true if overtype mode is active otherwise false is returned.
bool GetOvertype();
// Set the width of the insert mode caret
void SetCaretWidth(int pixelWidth);
// Returns the width of the insert mode caret
int GetCaretWidth();
// Sets the position that starts the target which is used for updating the
// document without affecting the scroll position.
void SetTargetStart(int pos);
// Get the position that starts the target.
int GetTargetStart();
// Sets the position that ends the target which is used for updating the
// document without affecting the scroll position.
void SetTargetEnd(int pos);
// Get the position that ends the target.
int GetTargetEnd();
// Replace the target text with the argument text.
// Returns the length of the replacement text.
int ReplaceTarget(const wxString& text);
// Replace the target text with the argument text after \d processing.
// Looks for \d where d is between 1 and 9 and replaces these with the strings
// matched in the last search operation which were surrounded by \( and \).
// Returns the length of the replacement text including any change
// caused by processing the \d patterns.
int ReplaceTargetRE(const wxString& text);
// Search for a counted string in the target and set the target to the found
// range.
// Returns length of range or -1 for failure in which case target is not moved.
int SearchInTarget(const wxString& text);
// Set the search flags used by SearchInTarget
void SetSearchFlags(int flags);
// Get the search flags used by SearchInTarget
int GetSearchFlags();
// Show a call tip containing a definition near position pos.
void CallTipShow(int pos, const wxString& definition);
@@ -1300,31 +1068,6 @@ public:
// Set some debugging options for folding
void SetFoldFlags(int flags);
// Ensure a particular line is visible by expanding any header line hiding it.
// Use the currently set visibility policy to determine which range to display.
void EnsureVisibleEnforcePolicy(int line);
// Sets whether a tab pressed when caret is within indentation indents
void SetTabIndents(bool tabIndents);
// Does a tab pressed when caret is within indentation indent?
bool GetTabIndents();
// Sets whether a backspace pressed when caret is within indentation unindents
void SetBackSpaceUnIndents(bool bsUnIndents);
// Does a backspace pressed when caret is within indentation unindent?
bool GetBackSpaceUnIndents();
// Sets the time the mouse must sit still to generate a mouse dwell event
void SetMouseDwellTime(int periodMilliseconds);
// Retrieve the time the mouse must sit still to generate a mouse dwell event
int GetMouseDwellTime();
// Move the caret inside current view if it's not there already
void MoveCaretInsideView();
// How many characters are on a line, not including end of line characters.
int LineLength(int line);
@@ -1376,11 +1119,9 @@ public:
void SearchAnchor();
// Find some text starting at the search anchor.
// Does not ensure the selection is visible.
int SearchNext(int flags, const wxString& text);
// Find some text starting at the search anchor and moving backwards.
// Does not ensure the selection is visible.
int SearchPrev(int flags, const wxString& text);
// Set the way the line the caret is on is kept visible.
@@ -1416,51 +1157,6 @@ public:
// Get which document modification events are sent to the container.
int GetModEventMask();
// Change internal focus flag
void SetFocus(bool focus);
// Get internal focus flag
bool GetFocus();
// Change error status - 0 = OK
void SetStatus(int statusCode);
// Get error status
int GetStatus();
// Set whether the mouse is captured when its button is pressed
void SetMouseDownCaptures(bool captures);
// Get whether mouse gets captured
bool GetMouseDownCaptures();
// Sets the cursor to one of the SC_CURSOR* values
void SetCursor(int cursorType);
// Get cursor type
int GetCursor();
// Move to the previous change in capitalistion
void WordPartLeft();
// Move to the previous change in capitalistion extending selection to new caret position.
void WordPartLeftExtend();
// Move to the change next in capitalistion
void WordPartRight();
// Move to the next change in capitalistion extending selection to new caret position.
void WordPartRightExtend();
// Set the way the display area is determined when a particular line is to be moved to.
void SetVisiblePolicy(int visiblePolicy, int visibleSlop);
// Delete back from the current position to the start of the line
void DelLineLeft();
// Delete forwards from the current position to the end of the line
void DelLineRight();
// Start notifying the container of all key presses and commands.
void StartRecord();
@@ -1482,9 +1178,6 @@ public:
// Set up the key words used by the lexer.
void SetKeyWords(int keywordSet, const wxString& keyWords);
// Set the lexing language of the document based on string name.
void SetLexerLanguage(const wxString& language);
// END of generated section
//----------------------------------------------------------------------
// Others...
@@ -1550,10 +1243,6 @@ public:
// Scroll enough to make the given column visible
void ScrollToColumn(int column);
// Send a message to Scintilla
long SendMsg(int msg, long wp=0, long lp=0);
//----------------------------------------------------------------------
@@ -1566,7 +1255,7 @@ private:
void OnMouseLeftDown(wxMouseEvent& evt);
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnContextMenu(wxContextMenuEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
void OnKeyDown(wxKeyEvent& evt);
@@ -1582,6 +1271,8 @@ private:
void NotifyChange();
void NotifyParent(SCNotification* scn);
long SendMsg(int msg, long wp=0, long lp=0);
private:
DECLARE_EVENT_TABLE()
DECLARE_CLASS(wxStyledTextCtrl)
@@ -1616,9 +1307,6 @@ public:
void SetMessage(int val) { m_message = val; }
void SetWParam(int val) { m_wParam = val; }
void SetLParam(int val) { m_lParam = val; }
void SetListType(int val) { m_listType = val; }
void SetX(int val) { m_x = val; }
void SetY(int val) { m_y = val; }
int GetPosition() const { return m_position; }
int GetKey() const { return m_key; }
@@ -1634,9 +1322,6 @@ public:
int GetMessage() const { return m_message; }
int GetWParam() const { return m_wParam; }
int GetLParam() const { return m_lParam; }
int GetListType() const { return m_listType; }
int GetX() const { return m_x; }
int GetY() const { return m_y; }
bool GetShift() const;
bool GetControl() const;
@@ -1665,56 +1350,42 @@ private:
int m_message; // wxEVT_STC_MACRORECORD
int m_wParam;
int m_lParam;
int m_listType;
int m_x;
int m_y;
#endif
};
#ifndef SWIG
BEGIN_DECLARE_EVENT_TYPES()
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_CHANGE, 1650)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_STYLENEEDED, 1651)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_CHARADDED, 1652)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_SAVEPOINTREACHED, 1653)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_SAVEPOINTLEFT, 1654)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_ROMODIFYATTEMPT, 1655)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_KEY, 1656)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DOUBLECLICK, 1657)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_UPDATEUI, 1658)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MODIFIED, 1659)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MACRORECORD, 1660)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MARGINCLICK, 1661)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_NEEDSHOWN, 1662)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_POSCHANGED, 1663)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_PAINTED, 1664)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_USERLISTSELECTION, 1665)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_URIDROPPED, 1666)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DWELLSTART, 1667)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DWELLEND, 1668)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_CHANGE, 1650)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_STYLENEEDED, 1651)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_CHARADDED, 1652)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_UPDATEUI, 1653)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_SAVEPOINTREACHED, 1654)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_SAVEPOINTLEFT, 1655)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_ROMODIFYATTEMPT, 1656)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_DOUBLECLICK, 1657)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MODIFIED, 1658)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_KEY, 1659)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MACRORECORD, 1660)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_MARGINCLICK, 1661)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_NEEDSHOWN, 1662)
DECLARE_LOCAL_EVENT_TYPE(wxEVT_STC_POSCHANGED, 1663)
END_DECLARE_EVENT_TYPES()
#else
enum {
wxEVT_STC_CHANGE,
wxEVT_STC_STYLENEEDED,
wxEVT_STC_CHARADDED,
wxEVT_STC_UPDATEUI,
wxEVT_STC_SAVEPOINTREACHED,
wxEVT_STC_SAVEPOINTLEFT,
wxEVT_STC_ROMODIFYATTEMPT,
wxEVT_STC_KEY,
wxEVT_STC_DOUBLECLICK,
wxEVT_STC_UPDATEUI,
wxEVT_STC_MODIFIED,
wxEVT_STC_KEY,
wxEVT_STC_MACRORECORD,
wxEVT_STC_MARGINCLICK,
wxEVT_STC_NEEDSHOWN,
wxEVT_STC_POSCHANGED,
wxEVT_STC_PAINTED,
wxEVT_STC_USERLISTSELECTION,
wxEVT_STC_URIDROPPED,
wxEVT_STC_DWELLSTART,
wxEVT_STC_DWELLEND,
wxEVT_STC_POSCHANGED
};
#endif
@@ -1723,26 +1394,20 @@ END_DECLARE_EVENT_TYPES()
#ifndef SWIG
typedef void (wxEvtHandler::*wxStyledTextEventFunction)(wxStyledTextEvent&);
#define EVT_STC_CHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_STYLENEEDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_STYLENEEDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_CHARADDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHARADDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_SAVEPOINTREACHED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTREACHED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_SAVEPOINTLEFT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTLEFT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_ROMODIFYATTEMPT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ROMODIFYATTEMPT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_KEY(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_KEY, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_DOUBLECLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DOUBLECLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_UPDATEUI(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_UPDATEUI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MODIFIED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MODIFIED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MACRORECORD(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MACRORECORD, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MARGINCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MARGINCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_NEEDSHOWN(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_NEEDSHOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_POSCHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_POSCHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_PAINTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_PAINTED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_USERLISTSELECTION(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_USERLISTSELECTION, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_URIDROPPED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_URIDROPPED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_DWELLSTART(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLSTART, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_DWELLEND(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DWELLEND, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_CHANGE(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_STYLENEEDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_STYLENEEDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_CHARADDED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_CHARADDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_UPDATEUI(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_UPDATEUI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_SAVEPOINTREACHED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTREACHED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_SAVEPOINTLEFT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_SAVEPOINTLEFT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_ROMODIFYATTEMPT(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_ROMODIFYATTEMPT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_DOUBLECLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_DOUBLECLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MODIFIED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MODIFIED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_KEY(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_KEY, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MACRORECORD(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MACRORECORD, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_MARGINCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_MARGINCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_NEEDSHOWN(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_NEEDSHOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#define EVT_STC_POSCHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_STC_POSCHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL ),
#endif

View File

@@ -0,0 +1,49 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_all.h
// Purpose: includes all xh_*.h files
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_ALL_H_
#define _WX_XH_ALL_H_
// Existing handlers:
#include "wx/xml/xh_menu.h"
#include "wx/xml/xh_panel.h"
#include "wx/xml/xh_dlg.h"
#include "wx/xml/xh_bttn.h"
#include "wx/xml/xh_chckb.h"
#include "wx/xml/xh_gauge.h"
#include "wx/xml/xh_html.h"
#include "wx/xml/xh_spin.h"
#include "wx/xml/xh_sttxt.h"
#include "wx/xml/xh_slidr.h"
#include "wx/xml/xh_radbt.h"
#include "wx/xml/xh_radbx.h"
#include "wx/xml/xh_combo.h"
#include "wx/xml/xh_chckl.h"
#include "wx/xml/xh_choic.h"
#include "wx/xml/xh_sizer.h"
#include "wx/xml/xh_stbmp.h"
#include "wx/xml/xh_notbk.h"
#include "wx/xml/xh_text.h"
#include "wx/xml/xh_listb.h"
#include "wx/xml/xh_toolb.h"
#include "wx/xml/xh_bmpbt.h"
#include "wx/xml/xh_stbox.h"
#include "wx/xml/xh_scrol.h"
#include "wx/xml/xh_tree.h"
#include "wx/xml/xh_cald.h"
#include "wx/xml/xh_listc.h"
#include "wx/xml/xh_stlin.h"
#include "wx/xml/xh_bmp.h"
#include "wx/xml/xh_unkwn.h"
#include "wx/xml/xh_frame.h"
#endif // _WX_XMLRES_H_

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_bmp.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxBitmapXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxBitmapXmlHandler : public wxXmlResourceHandler
{
public:
wxBitmapXmlHandler();
@@ -26,7 +26,7 @@ public:
virtual bool CanHandle(wxXmlNode *node);
};
class WXXMLDLLEXPORT wxIconXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxIconXmlHandler : public wxXmlResourceHandler
{
public:
wxIconXmlHandler();

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_bmpbt.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxBitmapButtonXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxBitmapButtonXmlHandler : public wxXmlResourceHandler
{
public:
wxBitmapButtonXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_bttn.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxButtonXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxButtonXmlHandler : public wxXmlResourceHandler
{
public:
wxButtonXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_cald.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxCalendarCtrlXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxCalendarCtrlXmlHandler : public wxXmlResourceHandler
{
public:
wxCalendarCtrlXmlHandler();

View File

@@ -15,12 +15,12 @@
#pragma interface "xh_chckb.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
#if wxUSE_CHECKBOX
class WXXMLDLLEXPORT wxCheckBoxXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxCheckBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxCheckBoxXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_chckl.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxCheckListXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxCheckListXmlHandler : public wxXmlResourceHandler
{
public:
wxCheckListXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_choic.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxChoiceXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxChoiceXmlHandler : public wxXmlResourceHandler
{
public:
wxChoiceXmlHandler();

View File

@@ -15,11 +15,11 @@
#pragma interface "xh_combo.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_COMBOBOX
class WXXMLDLLEXPORT wxComboBoxXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxComboBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxComboBoxXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_dlg.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxDialogXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxDialogXmlHandler : public wxXmlResourceHandler
{
public:
wxDialogXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_frame.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxFrameXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxFrameXmlHandler : public wxXmlResourceHandler
{
public:
wxFrameXmlHandler();

View File

@@ -19,12 +19,12 @@
#if wxUSE_GAUGE
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxGaugeXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxGaugeXmlHandler : public wxXmlResourceHandler
{
enum
enum
{
wxGAUGE_DEFAULT_RANGE = 100
};

View File

@@ -15,13 +15,13 @@
#pragma interface "xh_html.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
#if wxUSE_HTML
class WXXMLDLLEXPORT wxHtmlWindowXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxHtmlWindowXmlHandler : public wxXmlResourceHandler
{
public:
wxHtmlWindowXmlHandler();

View File

@@ -15,11 +15,11 @@
#pragma interface "xh_listb.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_LISTBOX
class WXXMLDLLEXPORT wxListBoxXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxListBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxListBoxXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_listc.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxListCtrlXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxListCtrlXmlHandler : public wxXmlResourceHandler
{
public:
wxListCtrlXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_menu.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxMenuXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxMenuXmlHandler : public wxXmlResourceHandler
{
public:
wxMenuXmlHandler();
@@ -28,7 +28,7 @@ private:
bool m_insideMenu;
};
class WXXMLDLLEXPORT wxMenuBarXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxMenuBarXmlHandler : public wxXmlResourceHandler
{
public:
wxMenuBarXmlHandler();

View File

@@ -14,13 +14,13 @@
#pragma interface "xh_notbk.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_NOTEBOOK
class WXDLLEXPORT wxNotebook;
class WXXMLDLLEXPORT wxNotebookXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxNotebookXmlHandler : public wxXmlResourceHandler
{
public:
wxNotebookXmlHandler();

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_panel.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxPanelXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxPanelXmlHandler : public wxXmlResourceHandler
{
public:
wxPanelXmlHandler();

View File

@@ -15,12 +15,12 @@
#pragma interface "xh_radbt.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
#if wxUSE_RADIOBOX
class WXXMLDLLEXPORT wxRadioButtonXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxRadioButtonXmlHandler : public wxXmlResourceHandler
{
public:
wxRadioButtonXmlHandler();

View File

@@ -15,11 +15,11 @@
#pragma interface "xh_radbx.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_RADIOBOX
class WXXMLDLLEXPORT wxRadioBoxXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxRadioBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxRadioBoxXmlHandler();

View File

@@ -15,14 +15,14 @@
#pragma interface "xh_scrol.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
class WXXMLDLLEXPORT wxScrollBarXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxScrollBarXmlHandler : public wxXmlResourceHandler
{
enum
enum
{
wxSL_DEFAULT_VALUE = 0,
wxSL_DEFAULT_MIN = 0,

View File

@@ -15,12 +15,12 @@
#pragma interface "xh_sizer.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXDLLEXPORT wxSizer;
class WXXMLDLLEXPORT wxSizerXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxSizerXmlHandler : public wxXmlResourceHandler
{
public:
wxSizerXmlHandler();
@@ -30,7 +30,7 @@ public:
private:
bool m_isInside;
wxSizer *m_parentSizer;
bool IsSizerNode(wxXmlNode *node);
};

View File

@@ -15,14 +15,14 @@
#pragma interface "xh_slidr.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
#if wxUSE_SLIDER
class WXXMLDLLEXPORT wxSliderXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxSliderXmlHandler : public wxXmlResourceHandler
{
enum
enum
{
wxSL_DEFAULT_VALUE = 0,
wxSL_DEFAULT_MIN = 0,

View File

@@ -15,13 +15,13 @@
#pragma interface "xh_spin.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#include "wx/defs.h"
#if wxUSE_SPINBTN
class WXXMLDLLEXPORT wxSpinButtonXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxSpinButtonXmlHandler : public wxXmlResourceHandler
{
enum
enum
{
wxSP_DEFAULT_VALUE = 0,
wxSP_DEFAULT_MIN = 0,
@@ -36,9 +36,9 @@ public:
#endif
#if wxUSE_SPINCTRL
class WXXMLDLLEXPORT wxSpinCtrlXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxSpinCtrlXmlHandler : public wxXmlResourceHandler
{
enum
enum
{
wxSP_DEFAULT_VALUE = 0,
wxSP_DEFAULT_MIN = 0,

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_stbmp.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxStaticBitmapXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxStaticBitmapXmlHandler : public wxXmlResourceHandler
{
public:
wxStaticBitmapXmlHandler();

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_stbox.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxStaticBoxXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxStaticBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxStaticBoxXmlHandler();

View File

@@ -15,11 +15,11 @@
#pragma interface "xh_stlin.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_STATLINE
class WXXMLDLLEXPORT wxStaticLineXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxStaticLineXmlHandler : public wxXmlResourceHandler
{
public:
wxStaticLineXmlHandler();

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_sttxt.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxStaticTextXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxStaticTextXmlHandler : public wxXmlResourceHandler
{
public:
wxStaticTextXmlHandler();

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_text.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxTextCtrlXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxTextCtrlXmlHandler : public wxXmlResourceHandler
{
public:
wxTextCtrlXmlHandler();

View File

@@ -15,19 +15,19 @@
#pragma interface "xh_toolb.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
#if wxUSE_TOOLBAR
class WXDLLEXPORT wxToolBar;
class WXXMLDLLEXPORT wxToolBarXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxToolBarXmlHandler : public wxXmlResourceHandler
{
public:
wxToolBarXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_isInside;
wxToolBar *m_toolbar;

View File

@@ -15,9 +15,9 @@
#pragma interface "xh_tree.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxTreeCtrlXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxTreeCtrlXmlHandler : public wxXmlResourceHandler
{
public:
wxTreeCtrlXmlHandler();

View File

@@ -15,10 +15,10 @@
#pragma interface "xh_unkwn.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/xml/xmlres.h"
class WXXMLDLLEXPORT wxUnknownWidgetXmlHandler : public wxXmlResourceHandler
class WXDLLEXPORT wxUnknownWidgetXmlHandler : public wxXmlResourceHandler
{
public:
wxUnknownWidgetXmlHandler();

View File

@@ -20,16 +20,11 @@
#include "wx/object.h"
#include "wx/list.h"
#ifdef WXXMLISDLL
#define WXXMLDLLEXPORT WXDLLEXPORT
#else
#define WXXMLDLLEXPORT
#endif
class WXXMLDLLEXPORT wxXmlNode;
class WXXMLDLLEXPORT wxXmlProperty;
class WXXMLDLLEXPORT wxXmlDocument;
class WXXMLDLLEXPORT wxXmlIOHandler;
class WXDLLEXPORT wxXmlNode;
class WXDLLEXPORT wxXmlProperty;
class WXDLLEXPORT wxXmlDocument;
class WXDLLEXPORT wxXmlIOHandler;
class WXDLLEXPORT wxInputStream;
class WXDLLEXPORT wxOutputStream;
@@ -70,13 +65,14 @@ enum wxXmlIOType
// Example: in <img src="hello.gif" id="3"/> "src" is property with value
// "hello.gif" and "id" is prop. with value "3".
class WXXMLDLLEXPORT wxXmlProperty
class WXDLLEXPORT wxXmlProperty
{
public:
wxXmlProperty() : m_next(NULL) {}
wxXmlProperty(const wxString& name, const wxString& value,
wxXmlProperty(const wxString& name, const wxString& value,
wxXmlProperty *next)
: m_name(name), m_value(value), m_next(next) {}
~wxXmlProperty() { delete m_next; }
wxString GetName() const { return m_name; }
wxString GetValue() const { return m_value; }
@@ -101,21 +97,21 @@ private:
// with content="hi").
//
// If wxUSE_UNICODE is 0, all strings are encoded in UTF-8 encoding (same as
// ASCII for characters 0-127). You can use wxMBConvUTF8 to convert then to
// ASCII for characters 0-127). You can use wxMBConvUTF8 to convert then to
// desired encoding:
//
// wxCSConv myConv("iso8859-2");
// wxString s(cMB2WC(node->GetContent().c_str()), myConv);
class WXXMLDLLEXPORT wxXmlNode
class WXDLLEXPORT wxXmlNode
{
public:
wxXmlNode() : m_properties(NULL), m_parent(NULL),
wxXmlNode() : m_properties(NULL), m_parent(NULL),
m_children(NULL), m_next(NULL) {}
wxXmlNode(wxXmlNode *parent,wxXmlNodeType type,
wxXmlNode(wxXmlNode *parent,wxXmlNodeType type,
const wxString& name, const wxString& content,
wxXmlProperty *props, wxXmlNode *next);
~wxXmlNode();
~wxXmlNode() { delete m_properties; delete m_next; delete m_children; }
// copy ctor & operator=. Note that this does NOT copy syblings
// and parent pointer, i.e. m_parent and m_next will be NULL
@@ -125,7 +121,7 @@ public:
wxXmlNode& operator=(const wxXmlNode& node);
// user-friendly creation:
wxXmlNode(wxXmlNodeType type, const wxString& name,
wxXmlNode(wxXmlNodeType type, const wxString& name,
const wxString& content = wxEmptyString);
void AddChild(wxXmlNode *child);
void InsertChild(wxXmlNode *child, wxXmlNode *before_node);
@@ -144,7 +140,7 @@ public:
wxXmlProperty *GetProperties() const { return m_properties; }
bool GetPropVal(const wxString& propName, wxString *value) const;
wxString GetPropVal(const wxString& propName,
wxString GetPropVal(const wxString& propName,
const wxString& defaultVal) const;
bool HasProp(const wxString& propName) const;
@@ -175,17 +171,17 @@ private:
// This class holds XML data/document as parsed by libxml. Note that
// internal representation is independant on libxml and you can use
// This class holds XML data/document as parsed by libxml. Note that
// internal representation is independant on libxml and you can use
// it without libxml (see Load/SaveBinary).
class WXXMLDLLEXPORT wxXmlDocument : public wxObject
class WXDLLEXPORT wxXmlDocument : public wxObject
{
public:
wxXmlDocument() : wxObject(), m_version(wxT("1.0")), m_root(NULL) {}
wxXmlDocument(const wxString& filename,
wxXmlDocument(const wxString& filename,
wxXmlIOType io_type = wxXML_IO_AUTO);
wxXmlDocument(wxInputStream& stream,
wxXmlDocument(wxInputStream& stream,
wxXmlIOType io_type = wxXML_IO_AUTO);
~wxXmlDocument() { delete m_root; }
@@ -193,16 +189,16 @@ public:
wxXmlDocument& operator=(const wxXmlDocument& doc);
// Parses .xml file and loads data. Returns TRUE on success, FALSE
// otherwise.
// otherwise.
// NOTE: Any call to this method will result into linking against libxml
// and app's binary size will grow by ca. 250kB
bool Load(const wxString& filename, wxXmlIOType io_type = wxXML_IO_AUTO);
bool Load(wxInputStream& stream, wxXmlIOType io_type = wxXML_IO_AUTO);
// Saves document as .xml file.
bool Save(const wxString& filename,
bool Save(const wxString& filename,
wxXmlIOType io_type = wxXML_IO_TEXT_OUTPUT) const;
bool Save(wxOutputStream& stream,
bool Save(wxOutputStream& stream,
wxXmlIOType io_type = wxXML_IO_TEXT_OUTPUT) const;
bool IsOk() const { return m_root != NULL; }
@@ -215,7 +211,7 @@ public:
// Returns encoding of document (may be empty).
// Note: this is the encoding original fail was saved in, *not* the
// encoding of in-memory representation! Data in wxXmlNode are always
// stored in wchar_t (in Unicode build) or UTF-8 encoded
// stored in wchar_t (in Unicode build) or UTF-8 encoded
// (if wxUSE_UNICODE is 0).
wxString GetEncoding() const { return m_encoding; }
@@ -243,21 +239,21 @@ private:
// wxXmlIOHandler takes care of loading and/or saving XML data.
// see xmlio.h for available handlers
class WXXMLDLLEXPORT wxXmlIOHandler : public wxObject
class WXDLLEXPORT wxXmlIOHandler : public wxObject
{
public:
wxXmlIOHandler() {}
virtual wxXmlIOType GetType() = 0;
virtual bool CanLoad(wxInputStream& stream) = 0;
virtual bool CanSave() = 0;
virtual bool Load(wxInputStream& stream, wxXmlDocument& doc) = 0;
virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc) = 0;
};
void wxXmlInitXmlModule();
#endif // _WX_XML_H_

View File

@@ -17,10 +17,10 @@
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/xrc/xml.h"
#include "wx/xml/xml.h"
class WXXMLDLLEXPORT wxXmlIOHandlerExpat : public wxXmlIOHandler
class WXDLLEXPORT wxXmlIOHandlerExpat : public wxXmlIOHandler
{
public:
virtual wxXmlIOType GetType() { return wxXML_IO_EXPAT; }
@@ -28,25 +28,23 @@ public:
virtual bool CanSave() { return FALSE; }
virtual bool Load(wxInputStream& stream, wxXmlDocument& doc);
virtual bool Save(wxOutputStream& WXUNUSED(stream), const wxXmlDocument& WXUNUSED(doc))
{ return FALSE; }
virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc) { return FALSE; }
};
class WXXMLDLLEXPORT wxXmlIOHandlerWriter : public wxXmlIOHandler
class WXDLLEXPORT wxXmlIOHandlerWriter : public wxXmlIOHandler
{
public:
virtual wxXmlIOType GetType() { return wxXML_IO_TEXT_OUTPUT; }
virtual bool CanLoad(wxInputStream& WXUNUSED(stream)) { return FALSE; }
virtual bool CanLoad(wxInputStream& stream) { return FALSE; }
virtual bool CanSave() { return TRUE; }
virtual bool Load(wxInputStream& WXUNUSED(stream), wxXmlDocument& WXUNUSED(doc))
{ return FALSE; }
virtual bool Load(wxInputStream& stream, wxXmlDocument& doc) { return FALSE; }
virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc);
};
class WXXMLDLLEXPORT wxXmlIOHandlerBin : public wxXmlIOHandler
class WXDLLEXPORT wxXmlIOHandlerBin : public wxXmlIOHandler
{
public:
wxXmlIOHandlerBin() {}
@@ -58,7 +56,7 @@ public:
virtual bool Load(wxInputStream& stream, wxXmlDocument& doc);
virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc);
protected:
protected:
wxString ReadHeader(wxInputStream& stream);
void WriteHeader(wxOutputStream& stream, const wxString& header);
};
@@ -67,7 +65,7 @@ protected:
#if wxUSE_ZLIB
class WXXMLDLLEXPORT wxXmlIOHandlerBinZ : public wxXmlIOHandlerBin
class WXDLLEXPORT wxXmlIOHandlerBinZ : public wxXmlIOHandlerBin
{
public:
wxXmlIOHandlerBinZ() {}

View File

@@ -25,8 +25,6 @@
#include "wx/bitmap.h"
#include "wx/icon.h"
#include "wx/xrc/xml.h"
class WXDLLEXPORT wxMenu;
class WXDLLEXPORT wxMenuBar;
class WXDLLEXPORT wxDialog;
@@ -35,8 +33,9 @@ class WXDLLEXPORT wxWindow;
class WXDLLEXPORT wxFrame;
class WXDLLEXPORT wxToolBar;
class WXXMLDLLEXPORT wxXmlResourceHandler;
class WXDLLEXPORT wxXmlResourceHandler;
#include "wx/xml/xml.h"
// These macros indicate current version of XML resources (this information is
// encoded in root node of XRC file as "version" property).
@@ -62,7 +61,7 @@ class WXXMLDLLEXPORT wxXmlResourceHandler;
WX_XMLRES_CURRENT_VERSION_RELEASE * 256 + \
WX_XMLRES_CURRENT_VERSION_REVISION)
class WXXMLDLLEXPORT wxXmlResourceDataRecord
class WXDLLEXPORT wxXmlResourceDataRecord
{
public:
wxXmlResourceDataRecord() : Doc(NULL), Time(wxDateTime::Now()) {}
@@ -73,19 +72,13 @@ public:
wxDateTime Time;
};
#ifdef WXXMLISDLL
WX_DECLARE_EXPORTED_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
#else
WX_DECLARE_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
#endif
// This class holds XML resources from one or more .xml files
// This class holds XML resources from one or more .xml files
// (or derived forms, either binary or zipped -- see manual for
// details).
// details).
class WXXMLDLLEXPORT wxXmlResource : public wxObject
class WXDLLEXPORT wxXmlResource : public wxObject
{
public:
// Ctor. If use_locale is TRUE, translatable strings are
@@ -107,7 +100,7 @@ public:
// Initialize only specific handler (or custom handler). Convention says
// that handler name is equal to control's name plus 'XmlHandler', e.g.
// wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. XML resource compiler
// (xmlres) can create include file that contains initialization code for
// (xmlres) can create include file that contains initialization code for
// all controls used within the resource.
void AddHandler(wxXmlResourceHandler *handler);
@@ -145,7 +138,7 @@ public:
// Loads bitmap or icon resource from file:
wxBitmap LoadBitmap(const wxString& name);
wxIcon LoadIcon(const wxString& name);
// Attaches unknown control into given panel/window/dialog:
// (unknown controls are used in conjunction with <object class="unknown">)
bool AttachUnknownControl(const wxString& name, wxWindow *control,
@@ -154,15 +147,15 @@ public:
// Returns numeric ID that is equivalent to string id used in XML
// resource. To be used in event tables
// Macro XMLID is provided for convenience
static int GetXMLID(const wxChar *str_id);
static int GetXMLID(const char *str_id);
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
long GetVersion() const { return m_version; }
// Compares resources version to argument. Returns -1 if resources version
// is less than the argument, +1 if greater and 0 if they equal.
int CompareVersion(int major, int minor, int release, int revision) const
{ return GetVersion() -
{ return GetVersion() -
(major*256*256*256 + minor*256*256 + release*256 + revision); }
protected:
@@ -176,11 +169,15 @@ protected:
// Creates resource from info in given node:
wxObject *CreateResFromNode(wxXmlNode *node, wxObject *parent, wxObject *instance = NULL);
// Remove nodes with property "platform" that does not
// match current platform
void ProcessPlatformProperty(wxXmlNode *node);
bool GetUseLocale() { return m_useLocale; }
private:
long m_version;
bool m_useLocale;
wxList m_handlers;
wxXmlResourceDataRecords m_data;
@@ -194,7 +191,7 @@ private:
// Global instance of resource class. For your convenience.
extern WXXMLDLLEXPORT wxXmlResource *wxTheXmlResource;
extern wxXmlResource *wxTheXmlResource;
// This macro translates string identifier (as used in XML resource,
// e.g. <menuitem id="my_menu">...</menuitem>) to integer id that is needed by
@@ -205,7 +202,7 @@ extern WXXMLDLLEXPORT wxXmlResource *wxTheXmlResource;
// EVT_MENU(XMLID("about"), MyFrame::OnAbout)
// EVT_MENU(XMLID("new"), MyFrame::OnNew)
// EVT_MENU(XMLID("open"), MyFrame::OnOpen)
// END_EVENT_TABLE()
// END_EVENT_TABLE()
#define XMLID(str_id) \
wxXmlResource::GetXMLID(wxT(str_id))
@@ -219,16 +216,12 @@ extern WXXMLDLLEXPORT wxXmlResource *wxTheXmlResource;
// wxTheXmlResource->LoadDialog(&dlg, mainFrame, "my_dialog");
// XMLCTRL(dlg, "my_textctrl", wxTextCtrl)->SetValue(wxT("default value"));
#ifdef __WXDEBUG__
#define XMLCTRL(window, id, type) \
(wxDynamicCast((window).FindWindow(XMLID(id)), type))
#else
#define XMLCTRL(window, id, type) \
((type*)((window).FindWindow(XMLID(id))))
#endif
class WXXMLDLLEXPORT wxXmlResourceHandler : public wxObject
class WXDLLEXPORT wxXmlResourceHandler : public wxObject
{
public:
wxXmlResourceHandler();
@@ -240,7 +233,7 @@ public:
// that is often neccessary to create resource
// if instance != NULL it should not create new instance via 'new' but
// rather use this one and call its Create method
wxObject *CreateResource(wxXmlNode *node, wxObject *parent,
wxObject *CreateResource(wxXmlNode *node, wxObject *parent,
wxObject *instance);
// This one is called from CreateResource after variables
@@ -276,12 +269,12 @@ protected:
// Gets node content from wxXML_ENTITY_NODE
// (the problem is, <tag>content<tag> is represented as
// wxXML_ENTITY_NODE name="tag", content=""
// |-- wxXML_TEXT_NODE or
// |-- wxXML_TEXT_NODE or
// wxXML_CDATA_SECTION_NODE name="" content="content"
wxString GetNodeContent(wxXmlNode *node);
// Check to see if a param exists
bool HasParam(const wxString& param);
bool HasParam(const wxString& param);
// Finds the node or returns NULL
wxXmlNode *GetParamNode(const wxString& param);
@@ -338,19 +331,16 @@ protected:
void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE);
void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL);
wxObject *CreateResFromNode(wxXmlNode *node,
wxObject *CreateResFromNode(wxXmlNode *node,
wxObject *parent, wxObject *instance = NULL)
{ return m_resource->CreateResFromNode(node, parent, instance); }
// helper
#if wxUSE_FILESYSTEM
wxFileSystem& GetCurFileSystem() { return m_resource->GetCurFileSystem(); }
#endif
};
#define ADD_STYLE(style) AddStyle(wxT(#style), style)
void wxXmlInitResourceModule();
#endif // _WX_XMLRES_H_

View File

@@ -1,49 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_all.h
// Purpose: includes all xh_*.h files
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_ALL_H_
#define _WX_XH_ALL_H_
// Existing handlers:
#include "wx/xrc/xh_menu.h"
#include "wx/xrc/xh_panel.h"
#include "wx/xrc/xh_dlg.h"
#include "wx/xrc/xh_bttn.h"
#include "wx/xrc/xh_chckb.h"
#include "wx/xrc/xh_gauge.h"
#include "wx/xrc/xh_html.h"
#include "wx/xrc/xh_spin.h"
#include "wx/xrc/xh_sttxt.h"
#include "wx/xrc/xh_slidr.h"
#include "wx/xrc/xh_radbt.h"
#include "wx/xrc/xh_radbx.h"
#include "wx/xrc/xh_combo.h"
#include "wx/xrc/xh_chckl.h"
#include "wx/xrc/xh_choic.h"
#include "wx/xrc/xh_sizer.h"
#include "wx/xrc/xh_stbmp.h"
#include "wx/xrc/xh_notbk.h"
#include "wx/xrc/xh_text.h"
#include "wx/xrc/xh_listb.h"
#include "wx/xrc/xh_toolb.h"
#include "wx/xrc/xh_bmpbt.h"
#include "wx/xrc/xh_stbox.h"
#include "wx/xrc/xh_scrol.h"
#include "wx/xrc/xh_tree.h"
#include "wx/xrc/xh_cald.h"
#include "wx/xrc/xh_listc.h"
#include "wx/xrc/xh_stlin.h"
#include "wx/xrc/xh_bmp.h"
#include "wx/xrc/xh_unkwn.h"
#include "wx/xrc/xh_frame.h"
#endif // _WX_XMLRES_H_

View File

@@ -1,38 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_bmp.h
// Purpose: XML resource handler for wxBitmap and wxIcon
// Author: Vaclav Slavik
// Created: 2000/09/00
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_BMP_H_
#define _WX_XH_BMP_H_
#ifdef __GNUG__
#pragma interface "xh_bmp.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxBitmapXmlHandler : public wxXmlResourceHandler
{
public:
wxBitmapXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
class WXXMLDLLEXPORT wxIconXmlHandler : public wxXmlResourceHandler
{
public:
wxIconXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_BMP_H_

View File

@@ -1,30 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_bmpbt.h
// Purpose: XML resource handler for bitmap buttons
// Author: Brian Gavin
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Brian Gavin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_BMPBT_H_
#define _WX_XH_BMPBT_H_
#ifdef __GNUG__
#pragma interface "xh_bmpbt.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxBitmapButtonXmlHandler : public wxXmlResourceHandler
{
public:
wxBitmapButtonXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_BMPBT_H_

View File

@@ -1,29 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_bttn.h
// Purpose: XML resource handler for buttons
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_BTTN_H_
#define _WX_XH_BTTN_H_
#ifdef __GNUG__
#pragma interface "xh_bttn.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxButtonXmlHandler : public wxXmlResourceHandler
{
public:
wxButtonXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_BTTN_H_

View File

@@ -1,33 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_chckl.h
// Purpose: XML resource handler for wxCheckListBox
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_CHCKL_H_
#define _WX_XH_CHCKL_H_
#ifdef __GNUG__
#pragma interface "xh_chckl.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxCheckListXmlHandler : public wxXmlResourceHandler
{
public:
wxCheckListXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideBox;
wxArrayString strList;
};
#endif // _WX_XH_CHECKLIST_H_

View File

@@ -1,32 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_choic.h
// Purpose: XML resource handler for wxChoice
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_CHOIC_H_
#define _WX_XH_CHOIC_H_
#ifdef __GNUG__
#pragma interface "xh_choic.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxChoiceXmlHandler : public wxXmlResourceHandler
{
public:
wxChoiceXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideBox;
wxArrayString strList;
};
#endif // _WX_XH_CHOIC_H_

View File

@@ -1,35 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_combo.h
// Purpose: XML resource handler for wxComboBox
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_COMBO_H_
#define _WX_XH_COMBO_H_
#ifdef __GNUG__
#pragma interface "xh_combo.h"
#endif
#include "wx/xrc/xmlres.h"
#if wxUSE_COMBOBOX
class WXXMLDLLEXPORT wxComboBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxComboBoxXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideBox;
wxArrayString strList;
};
#endif
#endif // _WX_XH_COMBO_H_

View File

@@ -1,29 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_dlg.h
// Purpose: XML resource handler for dialogs
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_DLG_H_
#define _WX_XH_DLG_H_
#ifdef __GNUG__
#pragma interface "xh_dlg.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxDialogXmlHandler : public wxXmlResourceHandler
{
public:
wxDialogXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_DLG_H_

View File

@@ -1,40 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_gauge.h
// Purpose: XML resource handler for wxGauge
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_GAUGE_H_
#define _WX_XH_GAUGE_H_
#ifdef __GNUG__
#pragma interface "xh_gauge.h"
#endif
#include "wx/defs.h"
#if wxUSE_GAUGE
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxGaugeXmlHandler : public wxXmlResourceHandler
{
enum
{
wxGAUGE_DEFAULT_RANGE = 100
};
public:
wxGaugeXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif
#endif // _WX_XH_GAUGE_H_

View File

@@ -1,35 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_listb.h
// Purpose: XML resource handler for wxListbox
// Author: Bob Mitchell & Vaclav Slavik
// Created: 2000/07/29
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell & Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_LISTB_H_
#define _WX_XH_LISTB_H_
#ifdef __GNUG__
#pragma interface "xh_listb.h"
#endif
#include "wx/xrc/xmlres.h"
#if wxUSE_LISTBOX
class WXXMLDLLEXPORT wxListBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxListBoxXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideBox;
wxArrayString strList;
};
#endif
#endif // _WX_XH_LISTB_H_

View File

@@ -1,29 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_listc.h
// Purpose: XML resource handler for wxCalendarCtrl
// Author: Brian Gavin
// Created: 2000/09/09
// RCS-ID: $Id$
// Copyright: (c) 2000 Brian Gavin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_LISTC_H_
#define _WX_XH_LISTC_H_
#ifdef __GNUG__
#pragma interface "xh_listc.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxListCtrlXmlHandler : public wxXmlResourceHandler
{
public:
wxListCtrlXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_LISTC_H_

View File

@@ -1,40 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_menu.h
// Purpose: XML resource handler for menus/menubars
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_MENU_H_
#define _WX_XH_MENU_H_
#ifdef __GNUG__
#pragma interface "xh_menu.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxMenuXmlHandler : public wxXmlResourceHandler
{
public:
wxMenuXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideMenu;
};
class WXXMLDLLEXPORT wxMenuBarXmlHandler : public wxXmlResourceHandler
{
public:
wxMenuBarXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_MENU_H_

View File

@@ -1,35 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_radbx.h
// Purpose: XML resource handler for radio box
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_RADBX_H_
#define _WX_XH_RADBX_H_
#ifdef __GNUG__
#pragma interface "xh_radbx.h"
#endif
#include "wx/xrc/xmlres.h"
#if wxUSE_RADIOBOX
class WXXMLDLLEXPORT wxRadioBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxRadioBoxXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
private:
bool m_insideBox;
wxArrayString strList;
};
#endif
#endif // _WX_XH_RADBX_H_

View File

@@ -1,40 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_slidr.h
// Purpose: XML resource handler for wxSlider
// Author: Bob Mitchell
// Created: 2000/03/21
// RCS-ID: $Id$
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_SLIDR_H_
#define _WX_XH_SLIDR_H_
#ifdef __GNUG__
#pragma interface "xh_slidr.h"
#endif
#include "wx/xrc/xmlres.h"
#include "wx/defs.h"
#if wxUSE_SLIDER
class WXXMLDLLEXPORT wxSliderXmlHandler : public wxXmlResourceHandler
{
enum
{
wxSL_DEFAULT_VALUE = 0,
wxSL_DEFAULT_MIN = 0,
wxSL_DEFAULT_MAX = 100
};
public:
wxSliderXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif
#endif // _WX_XH_SLIDER_H_

View File

@@ -1,30 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_stbox.h
// Purpose: XML resource handler for wxStaticBox
// Author: Brian Gavin
// Created: 2000/09/00
// RCS-ID: $Id$
// Copyright: (c) 2000 Brian Gavin
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_STBOX_H_
#define _WX_XH_STBOX_H_
#ifdef __GNUG__
#pragma interface "xh_stbox.h"
#endif
#include "wx/xrc/xmlres.h"
class WXXMLDLLEXPORT wxStaticBoxXmlHandler : public wxXmlResourceHandler
{
public:
wxStaticBoxXmlHandler();
virtual wxObject *DoCreateResource();
virtual bool CanHandle(wxXmlNode *node);
};
#endif // _WX_XH_STBOX_H_

View File

@@ -1,263 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xml.h
// Purpose: wxXmlDocument - XML parser & data holder class
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XML_H_
#define _WX_XML_H_
#ifdef __GNUG__
#pragma interface "xml.h"
#endif
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/object.h"
#include "wx/list.h"
#ifdef WXXMLISDLL
#define WXXMLDLLEXPORT WXDLLEXPORT
#else
#define WXXMLDLLEXPORT
#endif
class WXXMLDLLEXPORT wxXmlNode;
class WXXMLDLLEXPORT wxXmlProperty;
class WXXMLDLLEXPORT wxXmlDocument;
class WXXMLDLLEXPORT wxXmlIOHandler;
class WXDLLEXPORT wxInputStream;
class WXDLLEXPORT wxOutputStream;
// Represents XML node type.
enum wxXmlNodeType
{
// note: values are synchronized with xmlElementType from libxml
wxXML_ELEMENT_NODE = 1,
wxXML_ATTRIBUTE_NODE = 2,
wxXML_TEXT_NODE = 3,
wxXML_CDATA_SECTION_NODE = 4,
wxXML_ENTITY_REF_NODE = 5,
wxXML_ENTITY_NODE = 6,
wxXML_PI_NODE = 7,
wxXML_COMMENT_NODE = 8,
wxXML_DOCUMENT_NODE = 9,
wxXML_DOCUMENT_TYPE_NODE = 10,
wxXML_DOCUMENT_FRAG_NODE = 11,
wxXML_NOTATION_NODE = 12,
wxXML_HTML_DOCUMENT_NODE = 13
};
// Types of XML files:
enum wxXmlIOType
{
wxXML_IO_AUTO = 0, // detect it automatically
wxXML_IO_EXPAT, // use Expat to load from text/xml document
wxXML_IO_TEXT_OUTPUT, // generic saver into text/xml
wxXML_IO_BIN, // save in binary uncompressed proprietary format
wxXML_IO_BINZ // svae in binary zlib-compressed proprietary format
};
// Represents node property(ies).
// Example: in <img src="hello.gif" id="3"/> "src" is property with value
// "hello.gif" and "id" is prop. with value "3".
class WXXMLDLLEXPORT wxXmlProperty
{
public:
wxXmlProperty() : m_next(NULL) {}
wxXmlProperty(const wxString& name, const wxString& value,
wxXmlProperty *next)
: m_name(name), m_value(value), m_next(next) {}
wxString GetName() const { return m_name; }
wxString GetValue() const { return m_value; }
wxXmlProperty *GetNext() const { return m_next; }
void SetName(const wxString& name) { m_name = name; }
void SetValue(const wxString& value) { m_value = value; }
void SetNext(wxXmlProperty *next) { m_next = next; }
private:
wxString m_name;
wxString m_value;
wxXmlProperty *m_next;
};
// Represents node in XML document. Node has name and may have content
// and properties. Most common node types are wxXML_TEXT_NODE (name and props
// are irrelevant) and wxXML_ELEMENT_NODE (e.g. in <title>hi</title> there is
// element with name="title", irrelevant content and one child (wxXML_TEXT_NODE
// with content="hi").
//
// If wxUSE_UNICODE is 0, all strings are encoded in UTF-8 encoding (same as
// ASCII for characters 0-127). You can use wxMBConvUTF8 to convert then to
// desired encoding:
//
// wxCSConv myConv("iso8859-2");
// wxString s(cMB2WC(node->GetContent().c_str()), myConv);
class WXXMLDLLEXPORT wxXmlNode
{
public:
wxXmlNode() : m_properties(NULL), m_parent(NULL),
m_children(NULL), m_next(NULL) {}
wxXmlNode(wxXmlNode *parent,wxXmlNodeType type,
const wxString& name, const wxString& content,
wxXmlProperty *props, wxXmlNode *next);
~wxXmlNode();
// copy ctor & operator=. Note that this does NOT copy syblings
// and parent pointer, i.e. m_parent and m_next will be NULL
// after using copy ctor and are never unmodified by operator=.
// On the other hand, it DOES copy children and properties.
wxXmlNode(const wxXmlNode& node);
wxXmlNode& operator=(const wxXmlNode& node);
// user-friendly creation:
wxXmlNode(wxXmlNodeType type, const wxString& name,
const wxString& content = wxEmptyString);
void AddChild(wxXmlNode *child);
void InsertChild(wxXmlNode *child, wxXmlNode *before_node);
bool RemoveChild(wxXmlNode *child);
void AddProperty(const wxString& name, const wxString& value);
bool DeleteProperty(const wxString& name);
// access methods:
wxXmlNodeType GetType() const { return m_type; }
wxString GetName() const { return m_name; }
wxString GetContent() const { return m_content; }
wxXmlNode *GetParent() const { return m_parent; }
wxXmlNode *GetNext() const { return m_next; }
wxXmlNode *GetChildren() const { return m_children; }
wxXmlProperty *GetProperties() const { return m_properties; }
bool GetPropVal(const wxString& propName, wxString *value) const;
wxString GetPropVal(const wxString& propName,
const wxString& defaultVal) const;
bool HasProp(const wxString& propName) const;
void SetType(wxXmlNodeType type) { m_type = type; }
void SetName(const wxString& name) { m_name = name; }
void SetContent(const wxString& con) { m_content = con; }
void SetParent(wxXmlNode *parent) { m_parent = parent; }
void SetNext(wxXmlNode *next) { m_next = next; }
void SetChildren(wxXmlNode *child) { m_children = child; }
void SetProperties(wxXmlProperty *prop) { m_properties = prop; }
void AddProperty(wxXmlProperty *prop);
private:
wxXmlNodeType m_type;
wxString m_name;
wxString m_content;
wxXmlProperty *m_properties;
wxXmlNode *m_parent, *m_children, *m_next;
void DoCopy(const wxXmlNode& node);
};
// This class holds XML data/document as parsed by libxml. Note that
// internal representation is independant on libxml and you can use
// it without libxml (see Load/SaveBinary).
class WXXMLDLLEXPORT wxXmlDocument : public wxObject
{
public:
wxXmlDocument() : wxObject(), m_version(wxT("1.0")), m_root(NULL) {}
wxXmlDocument(const wxString& filename,
wxXmlIOType io_type = wxXML_IO_AUTO);
wxXmlDocument(wxInputStream& stream,
wxXmlIOType io_type = wxXML_IO_AUTO);
~wxXmlDocument() { delete m_root; }
wxXmlDocument(const wxXmlDocument& doc);
wxXmlDocument& operator=(const wxXmlDocument& doc);
// Parses .xml file and loads data. Returns TRUE on success, FALSE
// otherwise.
// NOTE: Any call to this method will result into linking against libxml
// and app's binary size will grow by ca. 250kB
bool Load(const wxString& filename, wxXmlIOType io_type = wxXML_IO_AUTO);
bool Load(wxInputStream& stream, wxXmlIOType io_type = wxXML_IO_AUTO);
// Saves document as .xml file.
bool Save(const wxString& filename,
wxXmlIOType io_type = wxXML_IO_TEXT_OUTPUT) const;
bool Save(wxOutputStream& stream,
wxXmlIOType io_type = wxXML_IO_TEXT_OUTPUT) const;
bool IsOk() const { return m_root != NULL; }
// Returns root node of the document.
wxXmlNode *GetRoot() const { return m_root; }
// Returns version of document (may be empty).
wxString GetVersion() const { return m_version; }
// Returns encoding of document (may be empty).
// Note: this is the encoding original fail was saved in, *not* the
// encoding of in-memory representation! Data in wxXmlNode are always
// stored in wchar_t (in Unicode build) or UTF-8 encoded
// (if wxUSE_UNICODE is 0).
wxString GetEncoding() const { return m_encoding; }
// Write-access methods:
void SetRoot(wxXmlNode *node) { delete m_root ; m_root = node; }
void SetVersion(const wxString& version) { m_version = version; }
void SetEncoding(const wxString& encoding) { m_encoding = encoding; }
static void AddHandler(wxXmlIOHandler *handler);
static void CleanUpHandlers();
static void InitStandardHandlers();
protected:
static wxList *sm_handlers;
private:
wxString m_version, m_encoding;
wxXmlNode *m_root;
void DoCopy(const wxXmlDocument& doc);
};
// wxXmlIOHandler takes care of loading and/or saving XML data.
// see xmlio.h for available handlers
class WXXMLDLLEXPORT wxXmlIOHandler : public wxObject
{
public:
wxXmlIOHandler() {}
virtual wxXmlIOType GetType() = 0;
virtual bool CanLoad(wxInputStream& stream) = 0;
virtual bool CanSave() = 0;
virtual bool Load(wxInputStream& stream, wxXmlDocument& doc) = 0;
virtual bool Save(wxOutputStream& stream, const wxXmlDocument& doc) = 0;
};
void wxXmlInitXmlModule();
#endif // _WX_XML_H_

View File

@@ -1,356 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xmlres.h
// Purpose: XML resources
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
// Copyright: (c) 2000 Vaclav Slavik
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XMLRES_H_
#define _WX_XMLRES_H_
#ifdef __GNUG__
#pragma interface "xmlres.h"
#endif
#include "wx/defs.h"
#include "wx/string.h"
#include "wx/dynarray.h"
#include "wx/datetime.h"
#include "wx/list.h"
#include "wx/gdicmn.h"
#include "wx/filesys.h"
#include "wx/bitmap.h"
#include "wx/icon.h"
#include "wx/xrc/xml.h"
class WXDLLEXPORT wxMenu;
class WXDLLEXPORT wxMenuBar;
class WXDLLEXPORT wxDialog;
class WXDLLEXPORT wxPanel;
class WXDLLEXPORT wxWindow;
class WXDLLEXPORT wxFrame;
class WXDLLEXPORT wxToolBar;
class WXXMLDLLEXPORT wxXmlResourceHandler;
// These macros indicate current version of XML resources (this information is
// encoded in root node of XRC file as "version" property).
//
// Rules for increasing version number:
// - change it only if you made incompatible change to the format. Addition of new
// attribute to control handler is _not_ incompatible change, because older
// versions of the library may ignore it.
// - if you change version number, follow these steps:
// - set major, minor and release numbers to respective version numbers of
// the wxWindows library (see wx/version.h)
// - reset revision to 0 unless the first three are same as before, in which
// case you should increase revision by one
#define WX_XMLRES_CURRENT_VERSION_MAJOR 2
#define WX_XMLRES_CURRENT_VERSION_MINOR 3
#define WX_XMLRES_CURRENT_VERSION_RELEASE 0
#define WX_XMLRES_CURRENT_VERSION_REVISION 1
#define WX_XMLRES_CURRENT_VERSION_STRING "2.3.0.1"
#define WX_XMLRES_CURRENT_VERSION \
(WX_XMLRES_CURRENT_VERSION_MAJOR * 256*256*256 + \
WX_XMLRES_CURRENT_VERSION_MINOR * 256*256 + \
WX_XMLRES_CURRENT_VERSION_RELEASE * 256 + \
WX_XMLRES_CURRENT_VERSION_REVISION)
class WXXMLDLLEXPORT wxXmlResourceDataRecord
{
public:
wxXmlResourceDataRecord() : Doc(NULL), Time(wxDateTime::Now()) {}
~wxXmlResourceDataRecord() {delete Doc;}
wxString File;
wxXmlDocument *Doc;
wxDateTime Time;
};
#ifdef WXXMLISDLL
WX_DECLARE_EXPORTED_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
#else
WX_DECLARE_OBJARRAY(wxXmlResourceDataRecord, wxXmlResourceDataRecords);
#endif
// This class holds XML resources from one or more .xml files
// (or derived forms, either binary or zipped -- see manual for
// details).
class WXXMLDLLEXPORT wxXmlResource : public wxObject
{
public:
// Ctor. If use_locale is TRUE, translatable strings are
// translated via _(). You can disable it by passing use_locale=FALSE
// (for example if you provide resource file for each locale)
wxXmlResource(bool use_locale = TRUE);
wxXmlResource(const wxString& filemask, bool use_locale = TRUE);
~wxXmlResource();
// Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h).
bool Load(const wxString& filemask);
// Initialize handlers for all supported controls/windows. This will
// make the executable quite big because it forces linking against
// most of wxWin library
void InitAllHandlers();
// Initialize only specific handler (or custom handler). Convention says
// that handler name is equal to control's name plus 'XmlHandler', e.g.
// wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. XML resource compiler
// (xmlres) can create include file that contains initialization code for
// all controls used within the resource.
void AddHandler(wxXmlResourceHandler *handler);
// Removes all handlers
void ClearHandlers();
// Loads menu from resource. Returns NULL on failure.
wxMenu *LoadMenu(const wxString& name);
// Loads menubar from resource. Returns NULL on failure.
wxMenuBar *LoadMenuBar(const wxString& name);
#if wxUSE_TOOLBAR
// Loads toolbar
wxToolBar *LoadToolBar(wxWindow *parent, const wxString& name);
#endif
// Loads dialog. dlg points to parent window (if any). Second form
// is used to finish creation of already existing instance (main reason
// for this is that you may want to use derived class with new event table)
// Example (typical usage):
// MyDialog dlg;
// wxTheXmlResource->LoadDialog(&dlg, mainFrame, "my_dialog");
// dlg->ShowModal();
wxDialog *LoadDialog(wxWindow *parent, const wxString& name);
bool LoadDialog(wxDialog *dlg, wxWindow *parent, const wxString& name);
// Loads panel. panel points to parent window (if any). Second form
// is used to finish creation of already existing instance.
wxPanel *LoadPanel(wxWindow *parent, const wxString& name);
bool LoadPanel(wxPanel *panel, wxWindow *parent, const wxString& name);
bool LoadFrame(wxFrame* frame, wxWindow *parent, const wxString& name);
// Loads bitmap or icon resource from file:
wxBitmap LoadBitmap(const wxString& name);
wxIcon LoadIcon(const wxString& name);
// Attaches unknown control into given panel/window/dialog:
// (unknown controls are used in conjunction with <object class="unknown">)
bool AttachUnknownControl(const wxString& name, wxWindow *control,
wxWindow *parent = NULL);
// Returns numeric ID that is equivalent to string id used in XML
// resource. To be used in event tables
// Macro XMLID is provided for convenience
static int GetXMLID(const wxChar *str_id);
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
long GetVersion() const { return m_version; }
// Compares resources version to argument. Returns -1 if resources version
// is less than the argument, +1 if greater and 0 if they equal.
int CompareVersion(int major, int minor, int release, int revision) const
{ return GetVersion() -
(major*256*256*256 + minor*256*256 + release*256 + revision); }
protected:
// Scans resources list for unloaded files and loads them. Also reloads
// files that have been modified since last loading.
void UpdateResources();
// Finds resource (calls UpdateResources) and returns node containing it
wxXmlNode *FindResource(const wxString& name, const wxString& classname);
// Creates resource from info in given node:
wxObject *CreateResFromNode(wxXmlNode *node, wxObject *parent, wxObject *instance = NULL);
bool GetUseLocale() { return m_useLocale; }
private:
long m_version;
bool m_useLocale;
wxList m_handlers;
wxXmlResourceDataRecords m_data;
#if wxUSE_FILESYSTEM
wxFileSystem m_curFileSystem;
wxFileSystem& GetCurFileSystem() { return m_curFileSystem; }
#endif
friend class wxXmlResourceHandler;
};
// Global instance of resource class. For your convenience.
extern WXXMLDLLEXPORT wxXmlResource *wxTheXmlResource;
// This macro translates string identifier (as used in XML resource,
// e.g. <menuitem id="my_menu">...</menuitem>) to integer id that is needed by
// wxWindows event tables.
// Example:
// BEGIN_EVENT_TABLE(MyFrame, wxFrame)
// EVT_MENU(XMLID("quit"), MyFrame::OnQuit)
// EVT_MENU(XMLID("about"), MyFrame::OnAbout)
// EVT_MENU(XMLID("new"), MyFrame::OnNew)
// EVT_MENU(XMLID("open"), MyFrame::OnOpen)
// END_EVENT_TABLE()
#define XMLID(str_id) \
wxXmlResource::GetXMLID(wxT(str_id))
// This macro returns pointer to particular control in dialog
// created using XML resources. You can use it to set/get values from
// controls.
// Example:
// wxDialog dlg;
// wxTheXmlResource->LoadDialog(&dlg, mainFrame, "my_dialog");
// XMLCTRL(dlg, "my_textctrl", wxTextCtrl)->SetValue(wxT("default value"));
#ifdef __WXDEBUG__
#define XMLCTRL(window, id, type) \
(wxDynamicCast((window).FindWindow(XMLID(id)), type))
#else
#define XMLCTRL(window, id, type) \
((type*)((window).FindWindow(XMLID(id))))
#endif
class WXXMLDLLEXPORT wxXmlResourceHandler : public wxObject
{
public:
wxXmlResourceHandler();
virtual ~wxXmlResourceHandler() {}
// Creates object (menu, dialog, control, ...) from XML node.
// Should check for validity.
// parent is higher-level object (usually window, dialog or panel)
// that is often neccessary to create resource
// if instance != NULL it should not create new instance via 'new' but
// rather use this one and call its Create method
wxObject *CreateResource(wxXmlNode *node, wxObject *parent,
wxObject *instance);
// This one is called from CreateResource after variables
// were filled
virtual wxObject *DoCreateResource() = 0;
// Returns TRUE if it understands this node and can create
// resource from it, FALSE otherwise.
virtual bool CanHandle(wxXmlNode *node) = 0;
void SetParentResource(wxXmlResource *res) { m_resource = res; }
protected:
wxXmlResource *m_resource;
wxArrayString m_styleNames;
wxArrayInt m_styleValues;
// Variables (filled by CreateResource)
wxXmlNode *m_node;
wxString m_class;
wxObject *m_parent, *m_instance;
wxWindow *m_parentAsWindow, *m_instanceAsWindow;
// --- Handy methods:
// Returns true if the node has property class equal to classname,
// e.g. <object class="wxDialog">
bool IsOfClass(wxXmlNode *node, const wxString& classname)
{ return node->GetPropVal(wxT("class"), wxEmptyString) == classname; }
// Gets node content from wxXML_ENTITY_NODE
// (the problem is, <tag>content<tag> is represented as
// wxXML_ENTITY_NODE name="tag", content=""
// |-- wxXML_TEXT_NODE or
// wxXML_CDATA_SECTION_NODE name="" content="content"
wxString GetNodeContent(wxXmlNode *node);
// Check to see if a param exists
bool HasParam(const wxString& param);
// Finds the node or returns NULL
wxXmlNode *GetParamNode(const wxString& param);
wxString GetParamValue(const wxString& param);
// Add style flag (e.g. wxMB_DOCKABLE) to list of flags
// understood by this handler
void AddStyle(const wxString& name, int value);
// Add styles common to all wxWindow-derived classes
void AddWindowStyles();
// Gets style flags from text in form "flag | flag2| flag3 |..."
// Only understads flags added with AddStyle
int GetStyle(const wxString& param = wxT("style"), int defaults = 0);
// Gets text from param and does some convertions:
// - replaces \n, \r, \t by respective chars (according to C syntax)
// - replaces $ by & and $$ by $ (needed for $File => &File because of XML)
// - calls wxGetTranslations (unless disabled in wxXmlResource)
wxString GetText(const wxString& param);
// Return XMLID
int GetID();
wxString GetName();
// Get bool flag (1,t,yes,on,true are TRUE, everything else is FALSE)
bool GetBool(const wxString& param, bool defaultv = FALSE);
// Get integer value from param
long GetLong( const wxString& param, long defaultv = 0 );
// Get colour in HTML syntax (#RRGGBB)
wxColour GetColour(const wxString& param);
// Get size/position (may be in dlg units):
wxSize GetSize(const wxString& param = wxT("size"));
wxPoint GetPosition(const wxString& param = wxT("pos"));
// Get dimension (may be in dlg units):
wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0);
// Get bitmap:
wxBitmap GetBitmap(const wxString& param = wxT("bitmap"),
wxSize size = wxDefaultSize);
wxIcon GetIcon(const wxString& param = wxT("icon"),
wxSize size = wxDefaultSize);
// Get font:
wxFont GetFont(const wxString& param = wxT("font"));
// Sets common window options:
void SetupWindow(wxWindow *wnd);
void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE);
void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL);
wxObject *CreateResFromNode(wxXmlNode *node,
wxObject *parent, wxObject *instance = NULL)
{ return m_resource->CreateResFromNode(node, parent, instance); }
// helper
#if wxUSE_FILESYSTEM
wxFileSystem& GetCurFileSystem() { return m_resource->GetCurFileSystem(); }
#endif
};
#define ADD_STYLE(style) AddStyle(wxT(#style), style)
void wxXmlInitResourceModule();
#endif // _WX_XMLRES_H_

View File

@@ -1,6 +1,6 @@
# $Id$
CONTRIB_SAMPLES=mmedia ogl stc gizmos canvas xrc plot applet fl
CONTRIB_SAMPLES=mmedia ogl stc gizmos canvas xml plot applet
all:
@for d in $(CONTRIB_SAMPLES); do (cd $$d && $(MAKE)); done

View File

@@ -1,223 +0,0 @@
# Microsoft Developer Studio Project File - Name="AniTestVC" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=AniTestVC - Win32 UnivDebug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "AniTestVC.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "AniTestVC.mak" CFG="AniTestVC - Win32 UnivDebug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "AniTestVC - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "AniTestVC - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE "AniTestVC - Win32 Debug DLL" (based on "Win32 (x86) Application")
!MESSAGE "AniTestVC - Win32 Release DLL" (based on "Win32 (x86) Application")
!MESSAGE "AniTestVC - Win32 UnivRelease" (based on "Win32 (x86) Application")
!MESSAGE "AniTestVC - Win32 UnivDebug" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "AniTestVC - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib anim.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/anitest.exe" /libpath:"../../../lib"
!ELSEIF "$(CFG)" == "AniTestVC - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
# SUBTRACT CPP /YX /Yc /Yu
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib animd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/anitest.exe" /pdbtype:sept /libpath:"../../../lib"
!ELSEIF "$(CFG)" == "AniTestVC - Win32 Debug DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "DebugDLL"
# PROP BASE Intermediate_Dir "DebugDLL"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "DebugDLL"
# PROP Intermediate_Dir "DebugDLL"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /Yu"wx/wxprec.h" /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx23_2d.lib animd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/anitest.exe" /pdbtype:sept /libpath:"../../../lib"
!ELSEIF "$(CFG)" == "AniTestVC - Win32 Release DLL"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ReleaseDLL"
# PROP BASE Intermediate_Dir "ReleaseDLL"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ReleaseDLL"
# PROP Intermediate_Dir "ReleaseDLL"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D WXUSINGDLL=1 /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx23_2.lib anim.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/anitest.exe" /libpath:"../../../lib"
!ELSEIF "$(CFG)" == "AniTestVC - Win32 UnivRelease"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "UnivRelease"
# PROP BASE Intermediate_Dir "UnivRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "UnivRelease"
# PROP Intermediate_Dir "UnivRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../../contrib/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "NDEBUG"
# ADD RSC /l 0x809 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/minimal.exe" /libpath:"../../lib" /libpath:"../../contrib/lib"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx_univ.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib anim.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"UnivRelease/anitest.exe" /libpath:"../../../lib"
!ELSEIF "$(CFG)" == "AniTestVC - Win32 UnivDebug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "UnivDebug"
# PROP BASE Intermediate_Dir "UnivDebug"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "UnivDebug"
# PROP Intermediate_Dir "UnivDebug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /Yu"wx/wxprec.h" /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "../../../include" /I "../../../contrib/include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WXUNIVERSAL__" /D DEBUG=1 /D "__WXDEBUG__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /FD /c
# SUBTRACT CPP /YX /Yc /Yu
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD BASE RSC /l 0x809 /d "_DEBUG"
# ADD RSC /l 0x809 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/minimal.exe" /pdbtype:sept /libpath:"../../lib" /libpath:"../../contrib/lib"
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx_univd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib animd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"UnivDebug/anitest.exe" /pdbtype:sept /libpath:"../../../lib"
!ENDIF
# Begin Target
# Name "AniTestVC - Win32 Release"
# Name "AniTestVC - Win32 Debug"
# Name "AniTestVC - Win32 Debug DLL"
# Name "AniTestVC - Win32 Release DLL"
# Name "AniTestVC - Win32 UnivRelease"
# Name "AniTestVC - Win32 UnivDebug"
# Begin Source File
SOURCE=.\anitest.cpp
# End Source File
# Begin Source File
SOURCE=.\anitest.h
# End Source File
# Begin Source File
SOURCE=.\anitest.rc
# End Source File
# End Target
# End Project

View File

@@ -1,29 +0,0 @@
Microsoft Developer Studio Workspace File, Format Version 5.00
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
###############################################################################
Project: "AniTestVC"=.\AniTestVC.dsp - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

View File

@@ -1,24 +0,0 @@
#
# File: makefile.unx
# Author: Julian Smart
# Created: 1998
# Updated:
# Copyright: (c) 1998 Julian Smart
#
# "%W% %G%"
#
# Makefile for anitest example (UNIX).
top_srcdir = @top_srcdir@/..
top_builddir = ../../..
program_dir = contrib/samples/animate
PROGRAM=anitest
OBJECTS=$(PROGRAM).o
APPEXTRALIBS=$(top_builddir)/lib/libwx_anim.@WX_TARGET_LIBRARY_TYPE@
APPEXTRADEFS=-I$(top_srcdir)/contrib/include
include $(top_builddir)/src/makeprog.env

View File

@@ -1,197 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: anitest.cpp
// Purpose: Animation sample
// Author: Julian Smart
// Modified by:
// Created: 02/07/2001
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ===========================================================================
// declarations
// ===========================================================================
// ---------------------------------------------------------------------------
// headers
// ---------------------------------------------------------------------------
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
#include "mondrian.xpm"
#endif
#include "anitest.h"
IMPLEMENT_APP(MyApp)
// ---------------------------------------------------------------------------
// global variables
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
// event tables
// ---------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(ANITEST_ABOUT, MyFrame::OnAbout)
EVT_MENU(ANITEST_QUIT, MyFrame::OnQuit)
EVT_MENU(ANITEST_OPEN, MyFrame::OnOpen)
EVT_SIZE(MyFrame::OnSize)
END_EVENT_TABLE()
// ===========================================================================
// implementation
// ===========================================================================
// ---------------------------------------------------------------------------
// MyApp
// ---------------------------------------------------------------------------
// Initialise this in OnInit, not statically
bool MyApp::OnInit()
{
// Create the main frame window
MyFrame* frame = new MyFrame((wxFrame *)NULL, -1, "Animation Demo",
wxPoint(-1, -1), wxSize(500, 400),
wxDEFAULT_FRAME_STYLE);
// Give it an icon
#ifdef __WXMSW__
frame->SetIcon(wxIcon("mdi_icn"));
#else
frame->SetIcon(wxIcon( mondrian_xpm ));
#endif
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(ANITEST_OPEN, "&Open Animation...\tCtrl+O", "Open a GIF animation");
file_menu->Append(ANITEST_QUIT, "&Exit\tAlt+X", "Quit the program");
wxMenu *help_menu = new wxMenu;
help_menu->Append(ANITEST_ABOUT, "&About\tF1");
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(file_menu, "&File");
menu_bar->Append(help_menu, "&Help");
// Associate the menu bar with the frame
frame->SetMenuBar(menu_bar);
frame->CreateStatusBar();
frame->Show(TRUE);
SetTopWindow(frame);
return TRUE;
}
// ---------------------------------------------------------------------------
// MyFrame
// ---------------------------------------------------------------------------
// Define my frame constructor
MyFrame::MyFrame(wxWindow *parent,
const wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
const long style)
: wxFrame(parent, id, title, pos, size,
style | wxNO_FULL_REPAINT_ON_RESIZE)
{
// m_animation = NULL;
m_canvas = new MyCanvas(this, wxPoint(0, 0), wxSize(-1, -1));
#if 0
m_player.SetDestroyAnimation(FALSE);
m_player.SetWindow(m_canvas);
m_player.SetPosition(wxPoint(0, 0));
#endif
m_animationCtrl = new wxGIFAnimationCtrl(m_canvas, -1, wxEmptyString,
wxPoint(0, 0), wxSize(200, 200));
}
MyFrame::~MyFrame()
{
// m_player.Stop();
}
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
Close();
}
void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event) )
{
(void)wxMessageBox("wxWindows 2 Animation Demo\n"
"Author: Julian Smart (c) 2001\n",
"About Animation Demo");
}
void MyFrame::OnOpen(wxCommandEvent& event)
{
wxFileDialog dialog(this, wxT("Please choose an animated GIF"),
wxEmptyString, wxEmptyString, wxT("*.gif"), wxOPEN);
if (dialog.ShowModal() == wxID_OK)
{
wxString filename(dialog.GetPath());
m_animationCtrl->Stop();
if (m_animationCtrl->LoadFile(filename))
{
m_animationCtrl->Play();
}
else
{
wxMessageBox("Sorry, this animation was not a valid animated GIF.");
}
}
}
// ---------------------------------------------------------------------------
// MyCanvas
// ---------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyCanvas, wxScrolledWindow)
EVT_PAINT(MyCanvas::OnPaint)
END_EVENT_TABLE()
// Define a constructor for my canvas
MyCanvas::MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size)
: wxScrolledWindow(parent, -1, pos, size,
wxSUNKEN_BORDER |
wxNO_FULL_REPAINT_ON_RESIZE |
wxVSCROLL | wxHSCROLL)
{
SetBackgroundColour(wxColour("YELLOW"));
}
void MyCanvas::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
#if 0
MyFrame* frame = (MyFrame*) GetParent();
if (frame->GetPlayer().IsPlaying())
{
frame->GetPlayer().Draw(dc);
}
#endif
}

View File

@@ -1,71 +0,0 @@
/////////////////////////////////////////////////////////////////////////////
// Name: anitest.cpp
// Purpose: anitest sample
// Author: Julian Smart
// Modified by:
// Created: 02/07/2001
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/animate/animate.h"
// Define a new application
class MyApp : public wxApp
{
public:
bool OnInit();
};
class MyCanvas : public wxScrolledWindow
{
public:
MyCanvas(wxWindow *parent, const wxPoint& pos, const wxSize& size);
void OnPaint(wxPaintEvent& event);
private:
DECLARE_EVENT_TABLE()
};
// Define a new frame
class MyFrame : public wxFrame
{
public:
MyFrame(wxWindow *parent, const wxWindowID id, const wxString& title,
const wxPoint& pos, const wxSize& size, const long style);
~MyFrame();
void OnAbout(wxCommandEvent& event);
void OnQuit(wxCommandEvent& event);
void OnOpen(wxCommandEvent& event);
MyCanvas* GetCanvas() const { return m_canvas; }
wxGIFAnimationCtrl* GetAnimationCtrl() const { return m_animationCtrl; }
#if 0
wxAnimationPlayer& GetPlayer() { return m_player; }
wxAnimationBase& GetAnimation() { return m_animation; }
#endif
DECLARE_EVENT_TABLE()
protected:
MyCanvas* m_canvas;
wxGIFAnimationCtrl* m_animationCtrl;
#if 0
wxAnimationPlayer m_player;
wxGIFAnimation m_animation;
#endif
};
// menu items ids
enum
{
ANITEST_QUIT = 100,
ANITEST_OPEN,
ANITEST_ABOUT
};

View File

@@ -1,3 +0,0 @@
mondrian ICON "mondrian.ico"
#include "wx/msw/wx.rc"

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