Compare commits
1 Commits
wxPy_2_3_2
...
v2.2.8
Author | SHA1 | Date | |
---|---|---|---|
|
32e9664653 |
26
.cvsignore
26
.cvsignore
@@ -21,14 +21,23 @@ linux-gnu.system.cache
|
||||
*.d
|
||||
*.swp
|
||||
*.swo
|
||||
*.swq
|
||||
Release
|
||||
Debug
|
||||
ReleaseDLL
|
||||
DebugDLL
|
||||
UnivRelease
|
||||
UnivDebug
|
||||
ReleaseDll
|
||||
DebugDll
|
||||
ReleaseUnicode
|
||||
DebugUnicode
|
||||
ReleaseUnicodeDll
|
||||
DebugUnicodeDll
|
||||
BaseRelease
|
||||
BaseDebug
|
||||
BaseReleaseDll
|
||||
BaseDebugDll
|
||||
BaseReleaseUnicode
|
||||
BaseDebugUnicode
|
||||
BaseReleaseUnicodeDll
|
||||
BaseDebugUnicodeDll
|
||||
robert
|
||||
stamp-h.in
|
||||
Makefile
|
||||
@@ -41,17 +50,8 @@ base
|
||||
gtk
|
||||
motif
|
||||
win32
|
||||
univ
|
||||
univ-debug
|
||||
univ-release
|
||||
base-debug
|
||||
gtk-debug
|
||||
motif-debug
|
||||
win32-debug
|
||||
base-release
|
||||
gtk-release
|
||||
motif-release
|
||||
win32-release
|
||||
*tags
|
||||
log
|
||||
univtags.cmd
|
||||
|
75
BuildCVS.txt
75
BuildCVS.txt
@@ -118,38 +118,23 @@ ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
|
||||
Of course, you can also build the library using plain makefiles (see
|
||||
section I).
|
||||
|
||||
IV) Classic MacOS using CodeWarrior (eg MacOS 8.x/9.x)
|
||||
IV) wxBase
|
||||
----------------------------------------
|
||||
|
||||
Refer to the readme.txt and install.txt files in docs/mac to build
|
||||
wxWindows under Classic Mac OS using CodeWarrior.
|
||||
wxBase is the non GUI part of wxWindows. Currently it can be only built using
|
||||
configure (i.e. under Unix and probably under Win32 with cygwin) and with
|
||||
Visual C++.
|
||||
|
||||
If you are checking out the CVS sources using cvs under Mac OS X and
|
||||
compiling under Classic Mac OS, make sure that all text files have a
|
||||
Mac OS type of 'TEXT' otherwise CodeWarrior may ignore them. Checking
|
||||
out the CVS sources using cvs under Mac OS X creates untyped files
|
||||
which can lead to compialtion errors under CodeWarrior which are hard
|
||||
to track down.
|
||||
To build it using configure, just add "--disable-gui" argument to it.
|
||||
|
||||
V) MacOS X using configure and the Developer Tools
|
||||
To build wxBase with VC++, use the project files wxBase.dsp and wxBaseDll.dsp
|
||||
included in the CVS. See http://www.wxwindows.org/vadim/wxDocs/buildmsw.html
|
||||
for the instructions on how to generate the project files for the programs
|
||||
using wxBase.
|
||||
|
||||
V) MacOS
|
||||
----------------------------------------
|
||||
|
||||
You need to have the Developer Tools installed. If this is not the case,
|
||||
you will need to register at the Apple Developer web site (this is a free
|
||||
registration) in order to download the Developer Tools installer.
|
||||
|
||||
In order to create configure, you need to have the
|
||||
GNU autoconf package (version 2.13 or 2.14) installed
|
||||
on your system and type run "autoconf" in the base
|
||||
directory (or run the autogen.sh script in the same
|
||||
directory, which just calls autoconf).
|
||||
|
||||
-> type: mkdir macbuild
|
||||
-> type: cd macbuild
|
||||
-> type: ../configure --with-mac
|
||||
or type: ../configure
|
||||
-> type: make
|
||||
|
||||
VI) OS/2
|
||||
----------------------------------------
|
||||
|
||||
@@ -158,10 +143,8 @@ VII) Unix->Windows cross-compiling using configure
|
||||
|
||||
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
|
||||
cygwin32 (both based on egcs) can be found at
|
||||
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Alternative binaries,
|
||||
based on the latest MinGW release can be found at
|
||||
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
|
||||
Otherwise you can compile one yourself.
|
||||
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Otherwise you can
|
||||
compile one yourself. Check the relevant FAQs.
|
||||
|
||||
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
|
||||
binaries are always linked against cygwin.dll. This dll encapsulates most
|
||||
@@ -181,7 +164,8 @@ To cross compile the windows library, do
|
||||
-> cd win32
|
||||
(or whatever you called it)
|
||||
Now run configure. There are two ways to do this
|
||||
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw
|
||||
-> ../configure --host=i586-mingw32 --build=i586-linux --with-mingw \
|
||||
--enable-dnd=no --without-odbc
|
||||
where --build= should read whatever platform you're building on. Configure
|
||||
will notice that build and host platforms differ, and automatically prepend
|
||||
i586-mingw32- to gcc, ar, ld, etc (make sure they're in the PATH!).
|
||||
@@ -189,22 +173,29 @@ The other way to run configure is by specifying the names of the binaries
|
||||
yourself:
|
||||
-> CC=i586-mingw32-gcc CXX=i586-mingw32-g++ RANLIB=i586-mingw32-ranlib \
|
||||
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
|
||||
../configure --host=i586-mingw32 --with-mingw
|
||||
../configure --host=i586-mingw32 --with-mingw --enable-dnd=no
|
||||
|
||||
(all assuming you're using mingw32)
|
||||
By default this will compile a DLL, if you want a static library,
|
||||
specify --disable-shared.
|
||||
Drag'n'drop is disabled because mingw32 lacks (AFAIK) OLE headers.
|
||||
|
||||
[ Update: some new mingw32 versions now have a new set of windows header
|
||||
files, which apparently can handle ole. Untested at the moment ]
|
||||
|
||||
ODBC files don't compile as of 13.10.99 - may be this will be fixed by the
|
||||
moment you're reading these lines.
|
||||
|
||||
Configure will conclude that shared libraries are out of the question and
|
||||
opt for a static one. I haven't looked into DLL creation yet.
|
||||
|
||||
Type
|
||||
-> make
|
||||
and wait, wait, wait. Don't leave the room, because the minute you do there
|
||||
will be a compile error :-)
|
||||
|
||||
NB: if you are using a very old compiler you risk to get quite a few warnings
|
||||
about "ANSI C++ forbids implicit conversion from 'void *'" in all places
|
||||
where va_arg macro is used. This is due to a bug in (some versions of)
|
||||
mingw32 headers which may be corrected by upgrading your compier,
|
||||
otherwise you might edit the file
|
||||
NB: you risk to get quite a few warnings about "ANSI C++ forbids implicit
|
||||
conversion from 'void *'" in all places where va_arg macro is used. This
|
||||
is due to a bug in (some versions of) mingw32 headers which may be
|
||||
corrected by editing the file
|
||||
|
||||
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
|
||||
|
||||
@@ -225,9 +216,8 @@ typedef void *__gnuc_va_list;
|
||||
and adding "|| defined(_WIN32)" to the list of platforms on which
|
||||
__gnuc_va_list is char *.
|
||||
|
||||
If this is successful, you end up with a wx23_2.dll/libwx23_2.a in win32/lib
|
||||
( or just libwx_msw.a if you opted for a static build ).
|
||||
Now try building the minimal sample:
|
||||
If this is successful, you end up with a libwx_msw.a in win32/lib. Now try
|
||||
building the minimal sample:
|
||||
|
||||
-> cd samples/minimal
|
||||
-> make
|
||||
@@ -247,5 +237,6 @@ Cross-compiling TODO:
|
||||
- resource compiling must be done manually for now (should/can we link the
|
||||
default wx resources into libwx_msw.a?) [ No we can't; the linker won't
|
||||
link it in... you have to supply an object file ]
|
||||
- dynamic libraries
|
||||
- static executables are HUGE -- there must be room for improvement.
|
||||
|
||||
|
289
Makefile.in
289
Makefile.in
@@ -25,9 +25,6 @@ include ./src/make.env
|
||||
%.o : %.cxx
|
||||
$(CXX) -c $(CXXFLAGS) $(PICFLAGS) @WXMSW_DLL_DEFINES@ -o $@ $<
|
||||
|
||||
%.r : %.rsrc
|
||||
$(DEREZ) $^ Carbon.r -useDF > $@
|
||||
|
||||
########################### Paths #################################
|
||||
|
||||
srcdir = @srcdir@
|
||||
@@ -35,21 +32,40 @@ 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
|
||||
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) # ':' 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
|
||||
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
@@ -94,7 +110,6 @@ PNGDIR = $(WXDIR)/src/png
|
||||
JPEGDIR = $(WXDIR)/src/jpeg
|
||||
TIFFDIR = $(WXDIR)/src/tiff
|
||||
ZLIBDIR = $(WXDIR)/src/zlib
|
||||
REGEXDIR = $(WXDIR)/src/regex
|
||||
GTKDIR = $(WXDIR)/src/gtk
|
||||
MOTIFDIR = $(WXDIR)/src/motif
|
||||
MSWDIR = $(WXDIR)/src/msw
|
||||
@@ -114,19 +129,18 @@ INTLDIR = $(WXDIR)/locale
|
||||
########################## Archive name ###############################
|
||||
|
||||
# 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
|
||||
VER_SUFFIX=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)
|
||||
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 ##################################
|
||||
@@ -136,7 +150,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)
|
||||
@@ -147,13 +161,7 @@ OBJECTS = @ALL_OBJECTS@
|
||||
|
||||
# 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 \
|
||||
@@ -169,7 +177,7 @@ ZLIBOBJS = \
|
||||
infutil.o \
|
||||
inffast.o
|
||||
|
||||
PNGOBJS = \
|
||||
PNGOBJS = \
|
||||
png.o \
|
||||
pngread.o \
|
||||
pngrtran.o \
|
||||
@@ -205,7 +213,7 @@ FREETYPEOBJS = \
|
||||
type1z.o \
|
||||
winfnt.o
|
||||
|
||||
JPEGOBJS = \
|
||||
JPEGOBJS = \
|
||||
jcomapi.o \
|
||||
jutils.o \
|
||||
jerror.o \
|
||||
@@ -253,7 +261,7 @@ JPEGOBJS = \
|
||||
jquant2.o \
|
||||
jdmerge.o
|
||||
|
||||
TIFFOBJS = \
|
||||
TIFFOBJS = \
|
||||
tif_aux.o \
|
||||
tif_close.o \
|
||||
tif_codec.o \
|
||||
@@ -304,8 +312,7 @@ IODBCOBJS = \
|
||||
misc.o \
|
||||
prepare.o \
|
||||
result.o
|
||||
|
||||
|
||||
|
||||
############################## Rules ##################################
|
||||
|
||||
SONAME_FLAGS = @SONAME_FLAGS@
|
||||
@@ -331,10 +338,6 @@ $(build_libdir)/@WX_LIBRARY_NAME_SHARED_GL@: glcanvas.o $(build_libdir)/@WX_LIB
|
||||
@$(INSTALL) -d $(build_libdir)
|
||||
$(SHARED_LD) $@ $(SONAME_FLAGS_GL) glcanvas.o -L$(build_libdir) @WXCONFIG_LIBS@ $(EXTRALIBS) $(OPENGLLIBS)
|
||||
|
||||
$(build_libdir)/@WX_RESOURCES_MACOSX@: $(MACRESOURCES)
|
||||
@$(INSTALL) -d $(build_libdir)
|
||||
$(RESCOMP) -d __UNIX__ -useDF $^ -o $@
|
||||
|
||||
$(build_libdir)/@WX_LIBRARY_LINK1@: $(build_libdir)/@WX_LIBRARY_NAME_SHARED@
|
||||
@$(RM) $(build_libdir)/@WX_LIBRARY_LINK1@
|
||||
@$(RM) $(build_libdir)/@WX_LIBRARY_LINK2@
|
||||
@@ -390,7 +393,7 @@ CREATE_INSTALLED_LINKS_GL: preinstall_gl
|
||||
&& $(LN_S) @WX_LIBRARY_NAME_SHARED_GL@ @WX_LIBRARY_LINK2_GL@
|
||||
|
||||
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
|
||||
@@ -399,31 +402,36 @@ afminstall: preinstall
|
||||
|
||||
# this is the real install target: copies the library, wx-config and the
|
||||
# headers to the installation directory
|
||||
preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAME@-config
|
||||
preinstall: $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAME@-config
|
||||
@echo " "
|
||||
@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@TOOLCHAIN_NAME@-config $(bindir)/wx@TOOLCHAIN_NAME@-config
|
||||
cd $(bindir) && rm -f wx-config && $(LN_S) wx@TOOLCHAIN_NAME@-config wx-config
|
||||
$(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
|
||||
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
|
||||
@# this installs the import library for a MSW DLL
|
||||
@# remember: for wxMSW DLL WX_LIBRARY_NAME_STATIC is the
|
||||
@# import livraru name
|
||||
@if test "@TOOLKIT_DIR@" = "msw" -a "@WX_LIBRARY_NAME_STATIC@" != "@WX_TARGET_LIBRARY@"; then $(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_NAME_STATIC@ $(libdir)/@WX_LIBRARY_NAME_STATIC@; fi
|
||||
|
||||
$(INSTALL) -d $(libdir)/wx
|
||||
$(INSTALL) -d $(libdir)/wx/include
|
||||
$(INSTALL) -d $(libdir)/wx/include/@TOOLCHAIN_NAME@
|
||||
$(INSTALL) -d $(libdir)/wx/include/@TOOLCHAIN_NAME@/wx
|
||||
$(INSTALL_DATA) $(build_libdir)/wx/include/@TOOLCHAIN_NAME@/wx/setup.h \
|
||||
$(libdir)/wx/include/@TOOLCHAIN_NAME@/wx/setup.h
|
||||
$(INSTALL_DATA) $(top_builddir)/lib/wx/include/@TOOLCHAIN_NAME@/wx/setup.h $(libdir)/wx/include/@TOOLCHAIN_NAME@/wx/setup.h
|
||||
|
||||
$(INSTALL) -d $(includedir)/wx
|
||||
@# FIXME: This will erroneously install a wx/base dir for wxBase..
|
||||
@if test "$(USE_GUI)" = 1; then $(INSTALL) -d $(includedir)/wx/@TOOLKIT_DIR@; fi
|
||||
@if test "$(USE_GUI)" = 1; then $(INSTALL) -d $(includedir)/wx/html; fi
|
||||
@if test "$(USE_GUI)" = 1; then $(INSTALL) -d $(includedir)/wx/generic; fi
|
||||
@if test "@TOOLKIT_DIR@" = "msw"; then $(INSTALL) -d $(includedir)/wx/msw/ole; fi
|
||||
|
||||
$(INSTALL) -d $(includedir)/wx/protocol
|
||||
$(INSTALL) -d $(includedir)/wx/unix
|
||||
@list='$(HEADERS)'; for p in $$list; do \
|
||||
@@ -431,27 +439,20 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
|
||||
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
|
||||
|
||||
preinstall_res: $(build_libdir)/@WX_RESOURCES_MACOSX_COMPILED@
|
||||
@echo " "
|
||||
@echo " Installing wxWindows Mac resource ..."
|
||||
@echo " "
|
||||
@if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi
|
||||
$(INSTALL_PROGRAM) $(build_libdir)/@WX_RESOURCES_MACOSX_COMPILED@ $(libdir)/@WX_RESOURCES_MACOSX_COMPILED@
|
||||
|
||||
preinstall_gl: $(build_libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
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_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
$(INSTALL) -d $(libdir)
|
||||
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
|
||||
|
||||
install: @AFMINSTALL@ @WX_ALL_INSTALLED@
|
||||
@echo " "
|
||||
@@ -541,11 +542,6 @@ ALL_DIST: distclean
|
||||
cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib
|
||||
cp $(ZLIBDIR)/*.mms $(DISTDIR)/src/zlib
|
||||
mkdir $(DISTDIR)/src/regex
|
||||
cp $(REGEXDIR)/*.{i,}h $(DISTDIR)/src/regex
|
||||
cp $(REGEXDIR)/*.c $(DISTDIR)/src/regex
|
||||
cp $(REGEXDIR)/{Makefile,COPYRIGHT,README,WHATSNEW} $(DISTDIR)/src/regex
|
||||
cp $(REGEXDIR)/{mkh,tests} $(DISTDIR)/src/regex
|
||||
|
||||
# this target is the common part of distribution script for all GUI toolkits,
|
||||
# but is not used when building wxBase distribution
|
||||
@@ -581,7 +577,7 @@ ALL_GUI_DIST: ALL_DIST
|
||||
mkdir $(DISTDIR)/src/tiff
|
||||
mkdir $(DISTDIR)/src/iodbc
|
||||
mkdir $(DISTDIR)/src/unix
|
||||
cp $(SRCDIR)/files.lst $(DISTDIR)/src/
|
||||
cp $(WXDIR)/@PORT_FILES@ $(DISTDIR)/@PORT_FILES@
|
||||
cp $(SRCDIR)/*.in $(DISTDIR)/src
|
||||
cp $(COMMDIR)/*.cpp $(DISTDIR)/src/common
|
||||
cp $(COMMDIR)/*.c $(DISTDIR)/src/common
|
||||
@@ -621,7 +617,7 @@ BASE_DIST: ALL_DIST
|
||||
mkdir $(DISTDIR)/include/wx/unix
|
||||
mkdir $(DISTDIR)/src/common
|
||||
mkdir $(DISTDIR)/src/unix
|
||||
cp @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)
|
||||
@@ -652,7 +648,6 @@ BASE_DIST: ALL_DIST
|
||||
GTK_DIST: ALL_GUI_DIST
|
||||
cp $(INCDIR)/wx/gtk/*.h $(DISTDIR)/include/wx/gtk
|
||||
cp $(INCDIR)/wx/gtk/*.xpm $(DISTDIR)/include/wx/gtk
|
||||
cp $(GTKDIR)/files.lst $(DISTDIR)/src/gtk
|
||||
cp $(GTKDIR)/*.cpp $(DISTDIR)/src/gtk
|
||||
cp $(GTKDIR)/*.c $(DISTDIR)/src/gtk
|
||||
cp $(GTKDIR)/*.xbm $(DISTDIR)/src/gtk
|
||||
@@ -663,7 +658,6 @@ GTK_DIST: ALL_GUI_DIST
|
||||
MOTIF_DIST: ALL_GUI_DIST
|
||||
cp $(WXDIR)/wxMOTIF.spec $(DISTDIR)
|
||||
cp $(INCDIR)/wx/motif/*.h $(DISTDIR)/include/wx/motif
|
||||
cp $(MOTIFDIR)/files.lst $(DISTDIR)/src/motif
|
||||
cp $(MOTIFDIR)/*.cpp $(DISTDIR)/src/motif
|
||||
cp $(MOTIFDIR)/*.xbm $(DISTDIR)/src/motif
|
||||
mkdir $(DISTDIR)/src/motif/xmcombo
|
||||
@@ -672,24 +666,7 @@ MOTIF_DIST: ALL_GUI_DIST
|
||||
cp $(MOTIFDIR)/xmcombo/copying.txt $(DISTDIR)/src/motif/xmcombo
|
||||
|
||||
MACX_DIST: ALL_GUI_DIST
|
||||
cp $(INCDIR)/wx/mac/*.h $(DISTDIR)/include/wx/mac
|
||||
cp $(MACDIR)/files.lst $(DISTDIR)/src/mac
|
||||
cp $(MACDIR)/*.cpp $(DISTDIR)/src/mac
|
||||
cp $(MACDIR)/*.c $(DISTDIR)/src/mac
|
||||
mkdir $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.h $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.cpp $(DISTDIR)/src/mac/morefile
|
||||
mkdir $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.h $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.cpp $(DISTDIR)/src/mac/cdef
|
||||
cp $(MACDIR)/cdef/*.mcp $(DISTDIR)/src/mac/cdef
|
||||
mkdir $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.h $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.cpp $(DISTDIR)/src/mac/ldef
|
||||
cp $(MACDIR)/ldef/*.mcp $(DISTDIR)/src/mac/cdef
|
||||
mkdir $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.c $(DISTDIR)/src/mac/morefile
|
||||
cp $(MACDIR)/morefile/*.h $(DISTDIR)/src/mac/morefile
|
||||
echo "Apple Mac OS X specific distribution not complete"
|
||||
|
||||
MSW_DIST: ALL_GUI_DIST
|
||||
cp $(WXDIR)/wxWINE.spec $(DISTDIR)
|
||||
@@ -709,21 +686,11 @@ MSW_DIST: ALL_GUI_DIST
|
||||
cp $(INCDIR)/wx/msw/ole/*.h $(DISTDIR)/include/wx/msw/ole
|
||||
|
||||
mkdir $(DISTDIR)/src/msw/ole
|
||||
cp $(MSWDIR)/files.lst $(DISTDIR)/src/msw
|
||||
cp $(MSWDIR)/*.cpp $(DISTDIR)/src/msw
|
||||
cp $(MSWDIR)/*.c $(DISTDIR)/src/msw
|
||||
cp $(MSWDIR)/*.def $(DISTDIR)/src/msw
|
||||
cp $(MSWDIR)/ole/*.cpp $(DISTDIR)/src/msw/ole
|
||||
|
||||
UNIV_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/include/wx/univ
|
||||
mkdir $(DISTDIR)/src/univ
|
||||
mkdir $(DISTDIR)/src/univ/themes
|
||||
cp $(INCDIR)/wx/univ/*.h $(DISTDIR)/include/wx/univ
|
||||
cp $(SRCDIR)/univ/files.lst $(DISTDIR)/src/univ
|
||||
cp $(SRCDIR)/univ/*.cpp $(DISTDIR)/src/univ
|
||||
cp $(SRCDIR)/univ/themes/*.cpp $(DISTDIR)/src/univ/themes
|
||||
|
||||
DEMOS_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/demos
|
||||
cp $(DEMODIR)/Makefile.in $(DISTDIR)/demos
|
||||
@@ -731,7 +698,7 @@ DEMOS_DIST: ALL_GUI_DIST
|
||||
cp $(DEMODIR)/configure.in $(DISTDIR)/demos
|
||||
|
||||
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/demos/bombs
|
||||
cp $(DEMODIR)/bombs/Makefile.in $(DISTDIR)/demos/bombs
|
||||
cp $(DEMODIR)/bombs/makefile.unx $(DISTDIR)/demos/bombs
|
||||
@@ -874,16 +841,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
|
||||
@@ -958,11 +915,10 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/image/horse.* $(DISTDIR)/samples/image
|
||||
cp $(SAMPDIR)/image/smile.xbm $(DISTDIR)/samples/image
|
||||
cp $(SAMPDIR)/image/smile.xpm $(DISTDIR)/samples/image
|
||||
|
||||
|
||||
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
|
||||
@@ -971,10 +927,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
|
||||
@@ -1106,7 +1062,7 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/rotate/makefile.unx $(DISTDIR)/samples/rotate
|
||||
cp $(SAMPDIR)/rotate/*.cpp $(DISTDIR)/samples/rotate
|
||||
cp $(SAMPDIR)/rotate/*.bmp $(DISTDIR)/samples/rotate
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/richedit
|
||||
cp $(SAMPDIR)/richedit/Makefile.in $(DISTDIR)/samples/richedit
|
||||
cp $(SAMPDIR)/richedit/makefile.unx $(DISTDIR)/samples/richedit
|
||||
@@ -1115,35 +1071,35 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/richedit/*.xpm $(DISTDIR)/samples/richedit
|
||||
cp $(SAMPDIR)/richedit/README $(DISTDIR)/samples/richedit
|
||||
cp $(SAMPDIR)/richedit/TODO $(DISTDIR)/samples/richedit
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/proplist
|
||||
cp $(SAMPDIR)/proplist/Makefile.in $(DISTDIR)/samples/proplist
|
||||
cp $(SAMPDIR)/proplist/makefile.unx $(DISTDIR)/samples/proplist
|
||||
cp $(SAMPDIR)/proplist/*.cpp $(DISTDIR)/samples/proplist
|
||||
cp $(SAMPDIR)/proplist/*.h $(DISTDIR)/samples/proplist
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/propsize
|
||||
cp $(SAMPDIR)/propsize/Makefile.in $(DISTDIR)/samples/propsize
|
||||
cp $(SAMPDIR)/propsize/makefile.unx $(DISTDIR)/samples/propsize
|
||||
cp $(SAMPDIR)/propsize/*.cpp $(DISTDIR)/samples/propsize
|
||||
cp $(SAMPDIR)/propsize/*.xpm $(DISTDIR)/samples/propsize
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/sashtest
|
||||
cp $(SAMPDIR)/sashtest/Makefile.in $(DISTDIR)/samples/sashtest
|
||||
cp $(SAMPDIR)/sashtest/makefile.unx $(DISTDIR)/samples/sashtest
|
||||
cp $(SAMPDIR)/sashtest/*.cpp $(DISTDIR)/samples/sashtest
|
||||
cp $(SAMPDIR)/sashtest/*.h $(DISTDIR)/samples/sashtest
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/scroll
|
||||
cp $(SAMPDIR)/scroll/Makefile.in $(DISTDIR)/samples/scroll
|
||||
cp $(SAMPDIR)/scroll/makefile.unx $(DISTDIR)/samples/scroll
|
||||
cp $(SAMPDIR)/scroll/*.cpp $(DISTDIR)/samples/scroll
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/scrollsub
|
||||
cp $(SAMPDIR)/scrollsub/Makefile.in $(DISTDIR)/samples/scrollsub
|
||||
cp $(SAMPDIR)/scrollsub/makefile.unx $(DISTDIR)/samples/scrollsub
|
||||
cp $(SAMPDIR)/scrollsub/*.cpp $(DISTDIR)/samples/scrollsub
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/sockets
|
||||
cp $(SAMPDIR)/sockets/Makefile.in $(DISTDIR)/samples/sockets
|
||||
cp $(SAMPDIR)/sockets/makefile.unx $(DISTDIR)/samples/sockets
|
||||
@@ -1154,7 +1110,7 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/splitter/Makefile.in $(DISTDIR)/samples/splitter
|
||||
cp $(SAMPDIR)/splitter/makefile.unx $(DISTDIR)/samples/splitter
|
||||
cp $(SAMPDIR)/splitter/*.cpp $(DISTDIR)/samples/splitter
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/statbar
|
||||
cp $(SAMPDIR)/statbar/Makefile.in $(DISTDIR)/samples/statbar
|
||||
cp $(SAMPDIR)/statbar/makefile.unx $(DISTDIR)/samples/statbar
|
||||
@@ -1166,12 +1122,12 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/text/makefile.unx $(DISTDIR)/samples/text
|
||||
cp $(SAMPDIR)/text/*.cpp $(DISTDIR)/samples/text
|
||||
cp $(SAMPDIR)/text/*.xpm $(DISTDIR)/samples/text
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/thread
|
||||
cp $(SAMPDIR)/thread/Makefile.in $(DISTDIR)/samples/thread
|
||||
cp $(SAMPDIR)/thread/makefile.unx $(DISTDIR)/samples/thread
|
||||
cp $(SAMPDIR)/thread/*.cpp $(DISTDIR)/samples/thread
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/toolbar
|
||||
cp $(SAMPDIR)/toolbar/Makefile.in $(DISTDIR)/samples/toolbar
|
||||
cp $(SAMPDIR)/toolbar/makefile.unx $(DISTDIR)/samples/toolbar
|
||||
@@ -1179,7 +1135,7 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/toolbar/*.xpm $(DISTDIR)/samples/toolbar
|
||||
mkdir $(DISTDIR)/samples/toolbar/bitmaps
|
||||
cp $(SAMPDIR)/toolbar/bitmaps/*.xpm $(DISTDIR)/samples/toolbar/bitmaps
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/treectrl
|
||||
cp $(SAMPDIR)/treectrl/Makefile.in $(DISTDIR)/samples/treectrl
|
||||
cp $(SAMPDIR)/treectrl/makefile.unx $(DISTDIR)/samples/treectrl
|
||||
@@ -1188,39 +1144,33 @@ SAMPLES_DIST: ALL_GUI_DIST
|
||||
cp $(SAMPDIR)/treectrl/*.xpm $(DISTDIR)/samples/treectrl
|
||||
mkdir $(DISTDIR)/samples/treectrl/bitmaps
|
||||
cp $(SAMPDIR)/treectrl/bitmaps/*.bmp $(DISTDIR)/samples/treectrl/bitmaps
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/treelay
|
||||
cp $(SAMPDIR)/treelay/Makefile.in $(DISTDIR)/samples/treelay
|
||||
cp $(SAMPDIR)/treelay/makefile.unx $(DISTDIR)/samples/treelay
|
||||
cp $(SAMPDIR)/treelay/*.cpp $(DISTDIR)/samples/treelay
|
||||
cp $(SAMPDIR)/treelay/*.h $(DISTDIR)/samples/treelay
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/typetest
|
||||
cp $(SAMPDIR)/typetest/Makefile.in $(DISTDIR)/samples/typetest
|
||||
cp $(SAMPDIR)/typetest/makefile.unx $(DISTDIR)/samples/typetest
|
||||
cp $(SAMPDIR)/typetest/*.cpp $(DISTDIR)/samples/typetest
|
||||
cp $(SAMPDIR)/typetest/*.h $(DISTDIR)/samples/typetest
|
||||
cp $(SAMPDIR)/typetest/*.xpm $(DISTDIR)/samples/typetest
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/validate
|
||||
cp $(SAMPDIR)/validate/Makefile.in $(DISTDIR)/samples/validate
|
||||
cp $(SAMPDIR)/validate/makefile.unx $(DISTDIR)/samples/validate
|
||||
cp $(SAMPDIR)/validate/*.cpp $(DISTDIR)/samples/validate
|
||||
cp $(SAMPDIR)/validate/*.h $(DISTDIR)/samples/validate
|
||||
cp $(SAMPDIR)/validate/*.xpm $(DISTDIR)/samples/validate
|
||||
|
||||
|
||||
mkdir $(DISTDIR)/samples/wizard
|
||||
cp $(SAMPDIR)/wizard/Makefile.in $(DISTDIR)/samples/wizard
|
||||
cp $(SAMPDIR)/wizard/makefile.unx $(DISTDIR)/samples/wizard
|
||||
cp $(SAMPDIR)/wizard/*.cpp $(DISTDIR)/samples/wizard
|
||||
cp $(SAMPDIR)/wizard/*.xpm $(DISTDIR)/samples/wizard
|
||||
|
||||
mkdir $(DISTDIR)/samples/widgets
|
||||
mkdir $(DISTDIR)/samples/widgets/icons
|
||||
cp $(SAMPDIR)/widgets/Makefile.in $(DISTDIR)/samples/widgets
|
||||
cp $(SAMPDIR)/widgets/*.{cpp,h,rc} $(DISTDIR)/samples/widgets
|
||||
cp $(SAMPDIR)/widgets/icons/*.xpm $(DISTDIR)/samples/widgets/icons
|
||||
|
||||
|
||||
UTILS_DIST: ALL_GUI_DIST
|
||||
mkdir $(DISTDIR)/utils
|
||||
cp $(UTILSDIR)/Makefile.in $(DISTDIR)/utils
|
||||
@@ -1284,7 +1234,6 @@ PYTHON_DIST:
|
||||
mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk
|
||||
mkdir $(DISTDIR)/wxPython/contrib/ogl
|
||||
mkdir $(DISTDIR)/wxPython/contrib/stc
|
||||
mkdir $(DISTDIR)/wxPython/contrib/xrc
|
||||
mkdir $(DISTDIR)/wxPython/demo
|
||||
mkdir $(DISTDIR)/wxPython/demo/bitmaps
|
||||
mkdir $(DISTDIR)/wxPython/demo/data
|
||||
@@ -1293,7 +1242,7 @@ PYTHON_DIST:
|
||||
mkdir $(DISTDIR)/wxPython/wxPython
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/editor
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/mixins
|
||||
mkdir $(DISTDIR)/wxPython/wxPython/lib/sizers
|
||||
|
||||
cp $(WXDIR)/wxPython/*.txt $(DISTDIR)/wxPython
|
||||
cp $(WXDIR)/wxPython/*.py $(DISTDIR)/wxPython
|
||||
@@ -1303,7 +1252,6 @@ PYTHON_DIST:
|
||||
cp $(WXDIR)/wxPython/contrib/glcanvas/gtk/glcanvas.* $(DISTDIR)/wxPython/contrib/glcanvas/gtk
|
||||
-cp $(WXDIR)/wxPython/contrib/ogl/* $(DISTDIR)/wxPython/contrib/ogl
|
||||
-cp $(WXDIR)/wxPython/contrib/stc/* $(DISTDIR)/wxPython/contrib/stc
|
||||
-cp $(WXDIR)/wxPython/contrib/xrc/xrc.* $(DISTDIR)/wxPython/contrib/xrc
|
||||
-cp $(WXDIR)/wxPython/demo/* $(DISTDIR)/wxPython/demo
|
||||
-cp $(WXDIR)/wxPython/demo/bitmaps/* $(DISTDIR)/wxPython/demo/bitmaps
|
||||
-cp $(WXDIR)/wxPython/demo/data/* $(DISTDIR)/wxPython/demo/data
|
||||
@@ -1312,7 +1260,6 @@ PYTHON_DIST:
|
||||
cp $(WXDIR)/wxPython/src/gtk/*.cpp $(DISTDIR)/wxPython/src/gtk
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/*.py $(DISTDIR)/wxPython/wxPython/lib
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/editor/*.py $(DISTDIR)/wxPython/wxPython/lib/editor
|
||||
cp $(WXDIR)/wxPython/wxPython/lib/mixins/*.py $(DISTDIR)/wxPython/wxPython/lib/mixins
|
||||
|
||||
distclean:
|
||||
$(RM) -r _dist_dir
|
||||
@@ -1321,7 +1268,10 @@ distclean:
|
||||
# the files twice
|
||||
dist-only:
|
||||
@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); \
|
||||
@@ -1335,8 +1285,12 @@ dist-only:
|
||||
fi
|
||||
|
||||
dist: @GUIDIST@
|
||||
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); \
|
||||
@@ -1351,7 +1305,7 @@ dist: @GUIDIST@
|
||||
|
||||
bzip-dist-only:
|
||||
@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-${VER_SUFFIX}; \
|
||||
@@ -1365,21 +1319,25 @@ bzip-dist-only:
|
||||
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; \
|
||||
tar ch wxSamples | bzip2 -f9 > ../../$(WXSAMPLES_BZIP); \
|
||||
mv wxSamples samples; \
|
||||
mv demos wxDemos; \
|
||||
tar ch wxDemos | bzip2 -f9 > ../../$(WXDEMOS_BZIP); \
|
||||
mv wxDemos demos; \
|
||||
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
|
||||
|
||||
debian-dist: debian-native-dist debian-msw-dirs MSW_DIST
|
||||
mkdir $(DISTDIR)/debian
|
||||
-cp $(WXDIR)/debian/* $(DISTDIR)/debian
|
||||
cp $(WXDIR)/src/files.lst $(DISTDIR)/src/
|
||||
cp $(DOCDIR)/licence.txt $(DISTDIR)/docs
|
||||
cp $(DOCDIR)/licendoc.txt $(DISTDIR)/docs
|
||||
cp $(DOCDIR)/preamble.txt $(DISTDIR)/docs
|
||||
@@ -1389,18 +1347,19 @@ debian-dist: debian-native-dist debian-msw-dirs MSW_DIST
|
||||
@# in other dist targets. Ugly and hardly portable but it
|
||||
@# will run on any Debian box and that's enough for now.
|
||||
|
||||
find $(DISTDIR) \( -name "CVS" -o -name ".cvsignore" -o -name "*.dsp" -o -name "*.dsw" -o -name "*.hh*" -o \
|
||||
find $(DISTDIR) \( -name "CVS" -o -name "*.dsp" -o -name "*.dsw" -o -name "*.hh*" -o \
|
||||
\( -name "makefile.*" -a ! -name "makefile.unx" \) \) \
|
||||
-print0 | xargs -0 rm -rf
|
||||
|
||||
rm -rf $(WXDIR)/../wxwindows$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER)-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)
|
||||
mv $(DISTDIR) $(WXDIR)/../wxwindows$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER)-$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)
|
||||
|
||||
debian-native-dist: @GUIDIST@ UNIV_DIST MANUAL_DIST PYTHON_DIST
|
||||
debian-native-dist: @GUIDIST@ MANUAL_DIST PYTHON_DIST
|
||||
|
||||
debian-msw-dirs:
|
||||
mkdir $(DISTDIR)/include/wx/msw
|
||||
mkdir $(DISTDIR)/src/msw
|
||||
cp $(WXDIR)/src/msw/files.lst $(DISTDIR)/src/msw
|
||||
|
||||
|
||||
clean:
|
||||
@@ -1408,25 +1367,7 @@ clean:
|
||||
$(RM) *.d
|
||||
$(RM) parser.c
|
||||
$(RM) lexer.c
|
||||
$(RM) $(build_libdir)/lib*
|
||||
# Don't remove this lot, configure will reuse it
|
||||
# if it's still good
|
||||
# $(RM) -r $(build_libdir)/wx/*
|
||||
$(RM) -r ./lib/wx/*
|
||||
$(RM) ./lib/lib*
|
||||
|
||||
cleanall: clean
|
||||
|
||||
|
||||
RPMTOP=_dist_dir/_rpm_top
|
||||
|
||||
rpm: dist
|
||||
@echo "*** Building RPMs ***"
|
||||
-mkdir $(RPMTOP)
|
||||
-mkdir $(RPMTOP)/SOURCES
|
||||
-mkdir $(RPMTOP)/SPECS
|
||||
-mkdir $(RPMTOP)/BUILD
|
||||
-mkdir $(RPMTOP)/RPMS
|
||||
-mkdir $(RPMTOP)/SRPMS
|
||||
cp -f $(WXARCHIVE) $(RPMTOP)/SOURCES
|
||||
rpm -ba --define "_topdir `pwd`/$(RPMTOP)" $(WXDIR)/wx$(TOOLKIT).spec
|
||||
mv -f `find $(RPMTOP) -name "wx$(TARGET)*.rpm"` .
|
||||
|
||||
|
289
aclocal.m4
vendored
289
aclocal.m4
vendored
@@ -1,289 +0,0 @@
|
||||
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, µ) != 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 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)],
|
||||
gtk_config_prefix="$withval", gtk_config_prefix="")
|
||||
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)
|
||||
|
||||
for module in . $4
|
||||
do
|
||||
case "$module" in
|
||||
gthread)
|
||||
gtk_config_args="$gtk_config_args gthread"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
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_2_0+set} != xset ; then
|
||||
GTK_CONFIG_2_0=$gtk_config_exec_prefix/bin/gtk-config-2.0
|
||||
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_2_0+set} != xset ; then
|
||||
GTK_CONFIG_2_0=$gtk_config_prefix/bin/gtk-config-2.0
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROG(GTK_CONFIG_2_0, gtk-config-2.0, no)
|
||||
min_gtk_version=ifelse([$1], ,1.3.1,$1)
|
||||
AC_MSG_CHECKING(for GTK - version >= $min_gtk_version)
|
||||
no_gtk=""
|
||||
if test "$GTK_CONFIG_2_0" = "no" ; then
|
||||
no_gtk=yes
|
||||
else
|
||||
GTK_CFLAGS=`$GTK_CONFIG_2_0 $gtk_config_args --cflags`
|
||||
GTK_LIBS=`$GTK_CONFIG_2_0 $gtk_config_args --libs`
|
||||
gtk_config_major_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
|
||||
gtk_config_minor_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
|
||||
gtk_config_micro_version=`$GTK_CONFIG_2_0 $gtk_config_args --version | \
|
||||
sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
|
||||
if test "x$enable_gtktest" = "xyes" ; then
|
||||
ac_save_CFLAGS="$CFLAGS"
|
||||
ac_save_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$GTK_LIBS $LIBS"
|
||||
dnl
|
||||
dnl Now check if the installed GTK is sufficiently new. (Also sanity
|
||||
dnl checks the results of gtk-config-2.0 to some extent
|
||||
dnl
|
||||
rm -f conf.gtktest
|
||||
AC_TRY_RUN([
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
int major, minor, micro;
|
||||
char *tmp_version;
|
||||
|
||||
system ("touch conf.gtktest");
|
||||
|
||||
/* HP/UX 9 (%@#!) writes to sscanf strings */
|
||||
tmp_version = g_strdup("$min_gtk_version");
|
||||
if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) {
|
||||
printf("%s, bad version string\n", "$min_gtk_version");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ((gtk_major_version != $gtk_config_major_version) ||
|
||||
(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",
|
||||
$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");
|
||||
printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
|
||||
printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
|
||||
printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
|
||||
printf("*** required on your system.\n");
|
||||
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_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);
|
||||
printf("*** library (version %d.%d.%d)\n",
|
||||
gtk_major_version, gtk_minor_version, gtk_micro_version);
|
||||
}
|
||||
#endif /* defined (GTK_MAJOR_VERSION) ... */
|
||||
else
|
||||
{
|
||||
if ((gtk_major_version > major) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version > minor)) ||
|
||||
((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
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);
|
||||
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");
|
||||
printf("*** probably means that the wrong copy of the gtk-config-2.0 shell script is\n");
|
||||
printf("*** being found. The easiest way to fix this is to remove the old version\n");
|
||||
printf("*** of GTK+, but you can also set the GTK_CONFIG_2_0 environment to point to the\n");
|
||||
printf("*** correct copy of gtk-config-2.0. (In this case, you will have to\n");
|
||||
printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
|
||||
printf("*** so that the correct libraries are found at run-time))\n");
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
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])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test "$GTK_CONFIG_2_0" = "no" ; then
|
||||
echo "*** The gtk-config-2.0 script installed by GTK could not be found"
|
||||
echo "*** If GTK was installed in PREFIX, make sure PREFIX/bin is in"
|
||||
echo "*** your path, or set the GTK_CONFIG_2_0 environment variable to the"
|
||||
echo "*** full path to gtk-config-2.0."
|
||||
else
|
||||
if test -f conf.gtktest ; then
|
||||
:
|
||||
else
|
||||
echo "*** Could not run GTK test program, checking why..."
|
||||
CFLAGS="$CFLAGS $GTK_CFLAGS"
|
||||
LIBS="$LIBS $GTK_LIBS"
|
||||
AC_TRY_LINK([
|
||||
#include <gtk/gtk.h>
|
||||
#include <stdio.h>
|
||||
], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
|
||||
[ echo "*** The test program compiled, but did not run. This usually means"
|
||||
echo "*** that the run-time linker is not finding GTK or finding the wrong"
|
||||
echo "*** version of GTK. If it is not finding GTK, you'll need to set your"
|
||||
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 "*** 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 "***"
|
||||
echo "*** If you have a RedHat 5.0 system, you should remove the GTK package that"
|
||||
echo "*** came with the system with the command"
|
||||
echo "***"
|
||||
echo "*** rpm --erase --nodeps gtk gtk-devel" ],
|
||||
[ echo "*** The test program failed to compile or link. See the file config.log for the"
|
||||
echo "*** exact error that occured. This usually means GTK was incorrectly installed"
|
||||
echo "*** or that you have moved GTK since it was installed. In the latter case, you"
|
||||
echo "*** may want to edit the gtk-config-2.0 script: $GTK_CONFIG_2_0" ])
|
||||
CFLAGS="$ac_save_CFLAGS"
|
||||
LIBS="$ac_save_LIBS"
|
||||
fi
|
||||
fi
|
||||
GTK_CFLAGS=""
|
||||
GTK_LIBS=""
|
||||
ifelse([$3], , :, [$3])
|
||||
fi
|
||||
AC_SUBST(GTK_CFLAGS)
|
||||
AC_SUBST(GTK_LIBS)
|
||||
rm -f conf.gtktest
|
||||
])
|
||||
|
||||
|
2296
configure.in
2296
configure.in
File diff suppressed because it is too large
Load Diff
@@ -3,13 +3,11 @@
|
||||
#
|
||||
|
||||
all:
|
||||
cd src; make
|
||||
cd src; $(MAKE)
|
||||
|
||||
clean:
|
||||
cd src; make clean
|
||||
cd samples; make clean
|
||||
cd utils; make clean
|
||||
|
||||
cd src; $(MAKE) clean
|
||||
cd samples; $(MAKE) clean
|
||||
|
||||
samples:
|
||||
cd samples; make
|
||||
cd samples; $(MAKE)
|
||||
|
62
contrib/configure
vendored
62
contrib/configure
vendored
@@ -812,45 +812,17 @@ 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/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
|
||||
samples/ogl/ogledit/Makefile
|
||||
samples/ogl/studio/Makefile
|
||||
samples/stc/Makefile
|
||||
samples/canvas/Makefile
|
||||
samples/canvas/test/Makefile
|
||||
samples/canvas/simple/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/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
|
||||
utils/convertrc/Makefile
|
||||
" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
@@ -929,45 +901,17 @@ 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/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
|
||||
samples/ogl/ogledit/Makefile
|
||||
samples/ogl/studio/Makefile
|
||||
samples/stc/Makefile
|
||||
samples/canvas/Makefile
|
||||
samples/canvas/test/Makefile
|
||||
samples/canvas/simple/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/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
|
||||
utils/convertrc/Makefile
|
||||
"}
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
|
@@ -37,43 +37,15 @@ dnl File output
|
||||
|
||||
|
||||
AC_OUTPUT([
|
||||
Makefile
|
||||
src/Makefile
|
||||
src/ogl/Makefile
|
||||
src/mmedia/Makefile
|
||||
src/stc/Makefile
|
||||
src/xrc/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
|
||||
samples/ogl/ogledit/Makefile
|
||||
samples/ogl/studio/Makefile
|
||||
samples/stc/Makefile
|
||||
samples/canvas/Makefile
|
||||
samples/canvas/test/Makefile
|
||||
samples/canvas/simple/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/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
|
||||
utils/convertrc/Makefile
|
||||
])
|
||||
|
5
contrib/docs/.cvsignore
Normal file
5
contrib/docs/.cvsignore
Normal file
@@ -0,0 +1,5 @@
|
||||
html
|
||||
htmlhelp
|
||||
pdf
|
||||
winhelp
|
||||
htb
|
Binary file not shown.
Before Width: | Height: | Size: 440 B |
@@ -214,30 +214,15 @@ been set. In all other cases, you must return FALSE.
|
||||
\membersection{wxSoundFileStream::RepositionStream}\label{wxsoundfilestreamrepositionstream}
|
||||
\func{bool}{RepositionStream}{\param{wxUint32 }{position}}
|
||||
|
||||
This is called by wxSoundFileStream::SetPosition to seek the input stream
|
||||
to the right position. This must be overidden by the file codec class.
|
||||
The position is relative to the beginning of the samples.
|
||||
If it is impossible (as for a piped input stream), you must return FALSE.
|
||||
|
||||
\membersection{wxSoundFileStream::FinishPreparation}\label{wxsoundfilestreamfinishpreparation}
|
||||
\func{void}{FinishPreparation}{\param{wxUint32 }{len}}
|
||||
|
||||
This is an internal function but it must called by the file codec class when
|
||||
the "playing" preparation is finished and you know the size of the stream.
|
||||
If it is an {\it infinite} stream, you should set this to wxSOUND\_INFINITE\_TIME.
|
||||
|
||||
\membersection{wxSoundFileStream::GetData}\label{wxsoundfilestreamgetdata}
|
||||
\func{wxUint32}{GetData}{\param{void* }{buffer}, \param{wxUint32 }{len}}
|
||||
|
||||
This is called by wxSoundFileStream when it needs to get new sound data to
|
||||
send to the device driver (or to a conversion codec). This must be eventually
|
||||
overidden by the file codec class. The default behaviour is simply to read from
|
||||
the input stream.
|
||||
|
||||
\membersection{wxSoundFileStream::PutData}\label{wxsoundfilestreamputdata}
|
||||
\func{wxUint32}{PutData}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
|
||||
|
||||
This is called by wxSoundFileStream when it needs to put new sound data received
|
||||
from the device driver (or from a conversion codec). This must be eventually
|
||||
overidden by the file codec class. The default behaviour is simply to write to
|
||||
the input stream.
|
||||
|
@@ -6,8 +6,8 @@
|
||||
|
||||
\section{\class{wxSoundRouterStream}}\label{wxsoundrouterstream}
|
||||
|
||||
This is the router "codec" class. It should do codec routing when the device
|
||||
driver does not deal with a format.
|
||||
|
||||
Codec router class
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
@@ -17,21 +17,43 @@ driver does not deal with a format.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSoundRouterStream::wxSoundRouterStream}\label{wxsoundrouterstreamwxsoundrouterstream}
|
||||
\func{}{wxSoundRouterStream}{\param{wxSoundStream\& }{sndio}}
|
||||
|
||||
\helpref{wxSoundCodec}{wxsoundcodec}
|
||||
\membersection{wxSoundRouterStream::wxSoundRouterStream}\label{wxsoundrouterstreamwxsoundrouterstream}
|
||||
|
||||
\func{}{wxSoundRouterStream}{\param{wxSoundStream\& }{sndio}}
|
||||
|
||||
|
||||
\membersection{wxSoundRouterStream::\destruct{wxSoundRouterStream}}\label{wxsoundrouterstreamdtor}
|
||||
|
||||
\func{}{\destruct{wxSoundRouterStream}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxSoundRouterStream::Read}\label{wxsoundrouterstreamread}
|
||||
|
||||
\func{wxSoundStream\&}{Read}{\param{void* }{buffer}, \param{wxUint32 }{len}}
|
||||
|
||||
|
||||
\membersection{wxSoundRouterStream::Write}\label{wxsoundrouterstreamwrite}
|
||||
|
||||
\func{wxSoundStream\&}{Write}{\param{const void* }{buffer}, \param{wxUint32 }{len}}
|
||||
|
||||
|
||||
\membersection{wxSoundRouterStream::SetSoundFormat}\label{wxsoundrouterstreamsetsoundformat}
|
||||
|
||||
\func{bool}{SetSoundFormat}{\param{const wxSoundFormatBase\& }{format}}
|
||||
|
||||
SetSoundFormat will first try to setup the device driver with the specified
|
||||
format. If this fails, it will try to find a codec which will convert the
|
||||
input format to a valid format for the device driver. It uses an internal
|
||||
codec database.
|
||||
|
||||
\membersection{wxSoundRouterStream::StartProduction}\label{wxsoundrouterstreamstartproduction}
|
||||
|
||||
\func{bool}{StartProduction}{\param{int }{evt}}
|
||||
|
||||
|
||||
\membersection{wxSoundRouterStream::StopProduction}\label{wxsoundrouterstreamstopproduction}
|
||||
|
||||
\func{bool}{StopProduction}{\void}
|
||||
|
||||
|
||||
\membersection{wxSoundRouterStream::GetBestSize}\label{wxsoundrouterstreamgetbestsize}
|
||||
|
||||
\constfunc{wxUint32}{GetBestSize}{\void}
|
||||
|
||||
|
@@ -1,4 +1,3 @@
|
||||
; Last change: JAC 13 Oct 100 5:16 pm
|
||||
runTwice = yes
|
||||
titleFontSize = 12
|
||||
authorFontSize = 10
|
||||
@@ -14,7 +13,7 @@ htmlBrowseButtons = bitmap
|
||||
winHelpVersion = 3
|
||||
winHelpContents = yes
|
||||
winHelpTitle = "MMedia Manual"
|
||||
truncateFilenames = no
|
||||
truncateFilenames = yes
|
||||
combineSubSections = yes
|
||||
\overview [2] {\rtfonly{See also }\settransparency{on}\sethotspotcolour{off}\sethotspotunderline{on}\winhelponly{\image{}{books.bmp}\settransparency{off}}
|
||||
\htmlonly{\image{}{books.gif}}\helpref{#1}{#2}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 440 B |
@@ -1,4 +1,4 @@
|
||||
; Last change: JAC 13 Oct 100 5:11 pm
|
||||
; Last change: JS 8 Sep 98 2:54 pm
|
||||
runTwice = yes
|
||||
titleFontSize = 12
|
||||
authorFontSize = 10
|
||||
|
@@ -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__
|
||||
|
@@ -1,85 +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 wxApplet class
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __WX_APPLET_H
|
||||
#define __WX_APPLET_H
|
||||
|
||||
#include "wx/panel.h"
|
||||
#include "wx/html/htmlwin.h"
|
||||
|
||||
// Forward declaration
|
||||
class wxHtmlAppletWindow;
|
||||
|
||||
/*--------------------------- Class Definitions ---------------------------*/
|
||||
|
||||
/****************************************************************************
|
||||
REMARKS:
|
||||
Defines the abstract base class for wxApplet objects.
|
||||
****************************************************************************/
|
||||
class wxApplet : public wxPanel {
|
||||
private:
|
||||
DECLARE_ABSTRACT_CLASS(wxApplet);
|
||||
DECLARE_EVENT_TABLE();
|
||||
|
||||
protected:
|
||||
//wxHtmlAppletWindow *m_parent;
|
||||
|
||||
// Special handler for background erase messages
|
||||
void OnEraseBackground(wxEraseEvent&);
|
||||
|
||||
public:
|
||||
// Constructor (called during dynamic creation)
|
||||
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;
|
||||
|
||||
// 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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
@@ -1,57 +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 wxQlet class
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __WX_PLUGIN_H
|
||||
#define __WX_PLUGIN_H
|
||||
|
||||
// Forward declaration
|
||||
class wxHtmlAppletWindow;
|
||||
|
||||
/*--------------------------- Class Definitions ---------------------------*/
|
||||
|
||||
/****************************************************************************
|
||||
REMARKS:
|
||||
Defines the abstract base class for wxQlet objects.
|
||||
****************************************************************************/
|
||||
class wxPlugIn : public wxObject {
|
||||
private:
|
||||
DECLARE_ABSTRACT_CLASS(wxPlugIn);
|
||||
|
||||
wxHtmlAppletWindow *m_parent;
|
||||
public:
|
||||
// Constructor (called during dynamic creation)
|
||||
wxPlugIn() { m_parent = NULL; };
|
||||
|
||||
// Psuedo virtual constructor
|
||||
virtual bool Create(wxHtmlAppletWindow *parent);
|
||||
|
||||
// Virtual destructor
|
||||
virtual ~wxPlugIn();
|
||||
};
|
||||
#endif // __WX_PLUGIN_H
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -1,61 +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);
|
||||
wxFileSystem *m_FS;
|
||||
public:
|
||||
wxIncludePrep() : wxHtmlProcessor() {}
|
||||
~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(wxFileSystem *);
|
||||
};
|
||||
|
||||
|
||||
#endif // __WX_PREPINCLUDE_H
|
||||
|
@@ -1,226 +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 wxHtmlAppletWindow class
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef __WX_APPLET_WINDOW_H
|
||||
#define __WX_APPLET_WINDOW_H
|
||||
|
||||
#include "wx/html/htmlwin.h"
|
||||
#include "wx/process.h"
|
||||
|
||||
// Forward declare
|
||||
class wxApplet;
|
||||
class wxQlet;
|
||||
class wxLoadPageEvent;
|
||||
class wxPageLoadedEvent;
|
||||
class wxIncludePrep;
|
||||
class wxToolBarBase;
|
||||
|
||||
// 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 );
|
||||
|
||||
VirtualData();
|
||||
|
||||
// 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; };
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
REMARKS:
|
||||
Defines the class for wxAppletWindow. This class is derived from the
|
||||
wxHtmlWindow class and extends it with functionality to handle embedded
|
||||
wxApplet's on the HTML pages.
|
||||
****************************************************************************/
|
||||
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;
|
||||
bool m_NavBarEnabled;
|
||||
wxToolBarBase *m_NavBar;
|
||||
int m_NavBackId;
|
||||
int m_NavForwardId;
|
||||
wxPalette m_globalPalette;
|
||||
|
||||
// Override this so we can do proper palette management!!
|
||||
virtual void OnDraw(wxDC& dc);
|
||||
|
||||
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 wxPalette& globalPalette = wxNullPalette);
|
||||
|
||||
// Destructor
|
||||
~wxHtmlAppletWindow();
|
||||
|
||||
// Create an instance of an applet based on it's class name
|
||||
wxApplet *CreateApplet(
|
||||
const wxString& classId,
|
||||
const wxString& iName,
|
||||
const wxHtmlTag ¶ms,
|
||||
const wxSize& size);
|
||||
|
||||
// Create an instance of an Qlet based on it's class name
|
||||
bool CreatePlugIn(const wxString& classId );
|
||||
|
||||
// Find an instance of an applet based on it's class name
|
||||
wxApplet *FindApplet(const wxString& className);
|
||||
|
||||
// Remove an applet from the window. Called during applet destruction
|
||||
bool RemoveApplet(const wxApplet *applet);
|
||||
|
||||
// Load a new URL page
|
||||
virtual bool LoadPage(const wxString& location);
|
||||
|
||||
// Called when users clicked on hypertext link.
|
||||
virtual void OnLinkClicked(const wxHtmlLinkInfo& link);
|
||||
|
||||
// Handles forward navigation within the HTML stack
|
||||
bool HistoryForward();
|
||||
|
||||
// Handles backwards navigation within the HTML stack
|
||||
bool HistoryBack();
|
||||
|
||||
// Disables Nav bars
|
||||
void DisableNavBar();
|
||||
|
||||
// Enables Nav bars
|
||||
void EnableNavBar();
|
||||
|
||||
void SetNavBar(wxToolBarBase *navBar);
|
||||
|
||||
// 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);
|
||||
|
||||
// UnRegister a cookie of data in the applet manager
|
||||
static 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();
|
||||
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
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);
|
||||
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
REMARKS:
|
||||
Defines the class for wxHtmlAppletCell
|
||||
***************************************************************************/
|
||||
class wxHtmlAppletCell : public wxHtmlCell
|
||||
{
|
||||
public:
|
||||
wxHtmlAppletCell(wxWindow *wnd, int w = 0);
|
||||
~wxHtmlAppletCell() { m_Wnd->Destroy(); }
|
||||
virtual void Draw(wxDC& dc, int x, int y, int view_y1, int view_y2);
|
||||
virtual void DrawInvisible(wxDC& dc, int x, int y);
|
||||
virtual void Layout(int w);
|
||||
|
||||
protected:
|
||||
wxWindow* m_Wnd;
|
||||
// width float is used in adjustWidth (it is in percents)
|
||||
};
|
||||
|
||||
|
||||
#endif // __WX_APPLET_WINDOW_H
|
||||
|
@@ -1,76 +0,0 @@
|
||||
#ifndef __WXBOUNDINGBOX_H__
|
||||
#define __WXBOUNDINGBOX_H__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "bbox.cpp"
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/matrix.h"
|
||||
#include "wx/geometry.h"
|
||||
|
||||
enum OVERLAP {_IN,_ON,_OUT};
|
||||
|
||||
//Purpose The wxBoundingBox class stores one wxBoundingBox.
|
||||
//The wxBoundingBox is defined by two coordiates,
|
||||
//a upperleft coordinate and a lowerright coordinate.
|
||||
class wxBoundingBox
|
||||
{
|
||||
public:
|
||||
wxBoundingBox();
|
||||
wxBoundingBox(wxBoundingBox&);
|
||||
wxBoundingBox(const wxPoint2DDouble&);
|
||||
wxBoundingBox(double xmin, double ymin, double xmax, double ymax);
|
||||
|
||||
bool And(wxBoundingBox*, double Marge = 0);
|
||||
|
||||
void EnLarge(const double Marge);
|
||||
void Shrink(const double Marge);
|
||||
|
||||
void Expand(const wxPoint2DDouble& , const wxPoint2DDouble&);
|
||||
void Expand(const wxPoint2DDouble&);
|
||||
void Expand(double x,double y);
|
||||
void Expand(const wxBoundingBox& bbox);
|
||||
|
||||
OVERLAP Intersect( wxBoundingBox &, double Marge = 0);
|
||||
bool LineIntersect(const wxPoint2DDouble& begin, const wxPoint2DDouble& end );
|
||||
bool PointInBox( const wxPoint2DDouble&, double Marge = 0);
|
||||
bool PointInBox( double, double, double Marge = 0);
|
||||
|
||||
void Reset();
|
||||
|
||||
void Translate( wxPoint2DDouble& );
|
||||
void MapBbox( const wxTransformMatrix& matrix);
|
||||
|
||||
double GetWidth() {return m_maxx-m_minx;};
|
||||
double GetHeight(){return m_maxy-m_miny;};
|
||||
bool GetValid() const;
|
||||
void SetValid(bool);
|
||||
|
||||
void SetBoundingBox(const wxPoint2DDouble& a_point);
|
||||
|
||||
void SetMin(double, double);
|
||||
void SetMax(double, double);
|
||||
inline wxPoint2DDouble GetMin();
|
||||
inline wxPoint2DDouble GetMax();
|
||||
inline double GetMinX(){return m_minx;};
|
||||
inline double GetMinY(){return m_miny;};
|
||||
inline double GetMaxX(){return m_maxx;};
|
||||
inline double GetMaxY(){return m_maxy;};
|
||||
|
||||
wxBoundingBox& operator+( wxBoundingBox& );
|
||||
wxBoundingBox& operator=( const wxBoundingBox& );
|
||||
|
||||
protected:
|
||||
//bounding box in world
|
||||
double m_minx;
|
||||
double m_miny;
|
||||
double m_maxx;
|
||||
double m_maxy;
|
||||
bool m_validbbox;
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,859 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: canvas.h
|
||||
// Author: Robert Roebling
|
||||
// Created: XX/XX/XX
|
||||
// Copyright: 2000 (c) Robert Roebling
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __WXCANVAS_H__
|
||||
#define __WXCANVAS_H__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "canvas.cpp"
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/image.h"
|
||||
#include "wx/txtstrm.h"
|
||||
#include "wx/geometry.h"
|
||||
#include "wx/matrix.h"
|
||||
#include "bbox.h"
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// decls
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvas;
|
||||
class wxCanvasAdmin;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasObject
|
||||
//----------------------------------------------------------------------------
|
||||
enum wxDRAG_MODE
|
||||
{
|
||||
wxDRAG_RECTANGLE,
|
||||
wxDRAG_ONTOP,
|
||||
wxDRAG_REDRAW
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasObject is the base class for Canvas Objects.
|
||||
// All Objects for drawing one the canvas are derived from this class.
|
||||
// It supports dragging and moving methods that can be used in derived
|
||||
// classes for defining several ways of dragging.
|
||||
// Also it is possible to plug in events handlers to do this for all derived classes at once.
|
||||
//
|
||||
// wxCanvasObjects have themselves as their event handlers by default,
|
||||
// but their event handlers could be set to another object entirely. This
|
||||
// separation can reduce the amount of derivation required, and allow
|
||||
// alteration of a wxCanvasObject functionality
|
||||
class wxCanvasObject: public wxEvtHandler
|
||||
{
|
||||
public:
|
||||
|
||||
wxCanvasObject();
|
||||
|
||||
//If the position (x,y) is within the object this return a pointer to the object
|
||||
//Normally this function needs to be defined for each derived wxCanvasObject.
|
||||
//The default is a simple bounding box test.
|
||||
virtual wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
//render this object to the canvas (either on its buffer or directly on the canvas)
|
||||
//this depends on the wxDC that is set for the active canvas.
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
|
||||
//x position in world coordinates of the object
|
||||
virtual double GetPosX()=0;
|
||||
//y position in world coordinates of the object
|
||||
virtual double GetPosY()=0;
|
||||
|
||||
//set position in world coordinates for the object
|
||||
virtual void SetPosXY( double x, double y)=0;
|
||||
|
||||
//absolute moving the object to position x,y in world coordinates
|
||||
//also does an update of the old and new area
|
||||
virtual void MoveAbsolute( double x, double y );
|
||||
|
||||
//relative moving the object to position x,y in world coordinates
|
||||
//also does an update of the old and new area
|
||||
virtual void MoveRelative( double x, double y );
|
||||
|
||||
//relative translate the object to position x,y in world coordinates
|
||||
//does NOT update the old and new area
|
||||
//this function must be defined for each derived object,
|
||||
//it is used internally for dragging and moving objects.
|
||||
virtual void TransLate( double x, double y )=0;
|
||||
|
||||
//choose one of the three diffrenet drag methods |
|
||||
//DRAG_RECTANGLE = as a rectangle when drag is in progress |
|
||||
//DRAG_ONTOP = only redraw the object when dragging |
|
||||
//DRAG_REDRAW = redraw the damaged areas when dragging
|
||||
void SetDragMode(wxDRAG_MODE mode) { m_dragmode=mode; };
|
||||
|
||||
//return the dragmode
|
||||
wxDRAG_MODE GetDragMode() { return m_dragmode; };
|
||||
|
||||
//called when starting a drag
|
||||
virtual void DragStart();
|
||||
//called when dragging is in progress
|
||||
virtual void DragRelative( double x, double y);
|
||||
//called when dragging is ended
|
||||
virtual void DragEnd();
|
||||
|
||||
//return the object if it is part of the given object or
|
||||
//if the given object is part of a group within this object.
|
||||
//For group objects this means recursively search for it.
|
||||
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
|
||||
|
||||
//calculate the boundingbox in world coordinates
|
||||
virtual void CalcBoundingBox()=0;
|
||||
|
||||
//write the object as SVG (scalable vector grafhics
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
//get the administrator for the object,
|
||||
//this will give access to the canvas's where it is displayed upon.
|
||||
//It is used to render the object to the active canvas.
|
||||
//Conversion from world to Device coordinates and visa versa is
|
||||
//done using the Active canvas at that moment.
|
||||
wxCanvasAdmin *GetAdmin() { return m_admin; }
|
||||
|
||||
//set the administrator
|
||||
virtual void SetAdmin( wxCanvasAdmin *admin ) { m_admin = admin; }
|
||||
|
||||
//is this a control type of canvas object
|
||||
bool IsControl() { return m_isControl; }
|
||||
//is this a vector type of canvas object
|
||||
bool IsVector() { return m_isVector; }
|
||||
//is this an Image type of canvas object
|
||||
bool IsImage() { return m_isImage; }
|
||||
|
||||
//get minimum X of the boundingbox in world coordinates
|
||||
inline double GetXMin() { return m_bbox.GetMinX(); }
|
||||
//get minimum Y of the boundingbox in world coordinates
|
||||
inline double GetYMin() { return m_bbox.GetMinY(); }
|
||||
//get maximum X of the boundingbox in world coordinates
|
||||
inline double GetXMax() { return m_bbox.GetMaxX(); }
|
||||
//get maximum Y of the boundingbox in world coordinates
|
||||
inline double GetYMax() { return m_bbox.GetMaxY(); }
|
||||
|
||||
//get boundingbox
|
||||
inline wxBoundingBox GetBbox() { return m_bbox; }
|
||||
|
||||
//redirect all mouse events for the canvas to this object
|
||||
void CaptureMouse();
|
||||
//release the mouse capture for this object
|
||||
void ReleaseMouse();
|
||||
//is the mouse captured for this object
|
||||
bool IsCapturedMouse();
|
||||
|
||||
//set if this object will visible (be rendered or not)
|
||||
inline void SetVisible(bool visible) { m_visible=visible; }
|
||||
//get visibility
|
||||
inline bool GetVisible() {return m_visible; }
|
||||
|
||||
//can the object be dragged
|
||||
inline void SetDraggable(bool drag) { m_dragable=drag; }
|
||||
//get if the object can be dragged
|
||||
inline bool GetDraggable() {return m_dragable; }
|
||||
|
||||
//get absolute area in the device coordinates where the object
|
||||
//its boundingbox in world coordinates is first translated using the matrix.
|
||||
wxRect GetAbsoluteArea(const wxTransformMatrix& cworld);
|
||||
|
||||
//get currently used eventhandler (always the first in the list)
|
||||
wxEvtHandler *GetEventHandler() const { return m_eventHandler; }
|
||||
|
||||
//process an event for the object, starting with the first eventhandler
|
||||
// in the list.
|
||||
bool ProcessCanvasObjectEvent(wxEvent& event);
|
||||
|
||||
// push/pop event handler: allows to chain a custom event handler to
|
||||
// already existing ones
|
||||
void PushEventHandler( wxEvtHandler *handler );
|
||||
|
||||
//remove first eventhandler in the list (one will be always stay in)
|
||||
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
|
||||
//append an eventhandler to the list, this event handler will be called
|
||||
//if the other skipped the event to process.
|
||||
void AppendEventHandler(wxEvtHandler *handler);
|
||||
//remove last event handler in the list (one will always stay in)
|
||||
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
|
||||
|
||||
protected:
|
||||
|
||||
//administator for rendering and accessing the canvas's
|
||||
wxCanvasAdmin* m_admin;
|
||||
|
||||
//active event handler, default the object itself
|
||||
wxEvtHandler* m_eventHandler;
|
||||
|
||||
bool m_isControl:1;
|
||||
bool m_isVector:1;
|
||||
bool m_isImage:1;
|
||||
bool m_visible:1;
|
||||
bool m_dragable:1;
|
||||
wxDRAG_MODE m_dragmode:3;
|
||||
|
||||
//boundingbox in world coordinates
|
||||
wxBoundingBox m_bbox;
|
||||
|
||||
//used for dragging
|
||||
wxBitmap m_atnewpos;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasObjectGroup is a container for wxCanvas derived Objects.
|
||||
// It renders itself by calling the render methods of the wxCanvasObjects it contains.
|
||||
// It can have nested groups also, in the same way as the other wxCanvasObjects it already contains.
|
||||
// The group has a matrix to position/rotate/scale the group.
|
||||
class wxCanvasObjectGroup: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasObjectGroup(double x, double y);
|
||||
virtual ~wxCanvasObjectGroup();
|
||||
|
||||
void SetAdmin(wxCanvasAdmin* admin);
|
||||
|
||||
//prepend a wxCanvasObject to this group
|
||||
virtual void Prepend( wxCanvasObject* obj );
|
||||
//append a wxCanvasObject to this group
|
||||
virtual void Append( wxCanvasObject* obj );
|
||||
//insert a wxCanvasObject to this group
|
||||
virtual void Insert( size_t before, wxCanvasObject* obj );
|
||||
//remove the given object from the group
|
||||
virtual void Remove( wxCanvasObject* obj );
|
||||
|
||||
//those this group contain the given object.
|
||||
//in case of nested groups also search in there to the lowwest level.
|
||||
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
|
||||
|
||||
//returns index of the given wxCanvasObject in this group
|
||||
virtual int IndexOf( wxCanvasObject* obj );
|
||||
|
||||
double GetPosX() { return lworld.GetValue(2,0); }
|
||||
double GetPosY() { return lworld.GetValue(2,1); }
|
||||
void SetPosXY( double x, double y) {lworld.SetValue(2,0,x);lworld.SetValue(2,1,y);CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
//remove all wxCanvasObjects from the group (flag for deletion of the objectsalso)
|
||||
void DeleteContents( bool );
|
||||
virtual void Render(wxTransformMatrix* cworld,int x, int y, int width, int height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
//recursive call the IsHitWorld on all contained objects, the first
|
||||
//one that is hit will be returned
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
void PushEventHandler( wxEvtHandler *handler );
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
void AppendEventHandler(wxEvtHandler *handler);
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
|
||||
|
||||
protected:
|
||||
|
||||
//to position the object
|
||||
wxTransformMatrix lworld;
|
||||
|
||||
wxList m_objects;
|
||||
|
||||
friend class wxCanvas;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasObjectRef is a reference to any wxCanvasObject derived class.
|
||||
// It does not duplicate the referenced object.
|
||||
// It has a matrix to reposition/rotate/scale the object it references.
|
||||
// The position/matrix of the referenced Object is accumulated with the one here.
|
||||
class wxCanvasObjectRef: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasObjectRef(double x, double y,wxCanvasObject* obj);
|
||||
|
||||
//set rotation for the reference
|
||||
void SetRotation(double rotation);
|
||||
|
||||
//set scale in x and y ( > zero)
|
||||
void SetScale( double scalex, double scaley );
|
||||
|
||||
void SetAdmin(wxCanvasAdmin* admin);
|
||||
|
||||
double GetPosX() { return lworld.GetValue(2,0); }
|
||||
double GetPosY() { return lworld.GetValue(2,1); }
|
||||
void SetPosXY( double x, double y) {lworld.SetValue(2,0,x);lworld.SetValue(2,1,y);CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
virtual void Render(wxTransformMatrix* cworld,int x, int y, int width, int height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
//return this object if one of the objects it references is hit
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
virtual wxCanvasObject* Contains( wxCanvasObject* obj );
|
||||
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
void PushEventHandler( wxEvtHandler *handler );
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
wxEvtHandler *PopEventHandler( bool deleteHandler = FALSE );
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
void AppendEventHandler(wxEvtHandler *handler);
|
||||
//recursive calls for contained objects to set eventhandlers,
|
||||
//and also sets its own eventhandler
|
||||
wxEvtHandler *RemoveLastEventHandler(bool deleteHandler);
|
||||
|
||||
protected:
|
||||
|
||||
//to position the object
|
||||
wxTransformMatrix lworld;
|
||||
|
||||
//reference to another wxCanvasObject
|
||||
wxCanvasObject* m_obj;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasRect
|
||||
class wxCanvasRect: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasRect( double x, double y, double w, double h , double radius=0 );
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; };
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
wxBrush m_brush;
|
||||
|
||||
double m_x;
|
||||
double m_y;
|
||||
double m_width;
|
||||
double m_height;
|
||||
double m_radius;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasCircle
|
||||
//----------------------------------------------------------------------------
|
||||
class wxCanvasCircle: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasCircle( double x, double y, double radius );
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; };
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y) {m_x=x; m_y=y;CalcBoundingBox(); };
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
wxBrush m_brush;
|
||||
|
||||
double m_x;
|
||||
double m_y;
|
||||
double m_radius;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasEllipse
|
||||
class wxCanvasEllipse: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasEllipse( double x, double y, double width, double height );
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; };
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
wxBrush m_brush;
|
||||
|
||||
double m_x;
|
||||
double m_y;
|
||||
double m_width;
|
||||
double m_height;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasEllipticArc
|
||||
class wxCanvasEllipticArc: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasEllipticArc( double x, double y, double width, double height, double start, double end );
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; };
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y) {m_x=x; m_y=y; CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
wxBrush m_brush;
|
||||
|
||||
double m_x;
|
||||
double m_y;
|
||||
double m_width;
|
||||
double m_height;
|
||||
double m_start;
|
||||
double m_end;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasLine
|
||||
class wxCanvasLine: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasLine( double x1, double y1, double x2, double y2 );
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); };
|
||||
|
||||
|
||||
double GetPosX() { return m_x1; }
|
||||
double GetPosY() { return m_y1; }
|
||||
void SetPosXY( double x, double y) {m_x1=x; m_y1=y; CalcBoundingBox();};
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
|
||||
double m_x1;
|
||||
double m_y1;
|
||||
double m_x2;
|
||||
double m_y2;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasImage
|
||||
class wxCanvasImage: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasImage( const wxImage &image, double x, double y, double w, double h );
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y);
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
private:
|
||||
double m_x;
|
||||
double m_y;
|
||||
double m_width;
|
||||
double m_height;
|
||||
|
||||
wxImage m_image;
|
||||
int m_orgw,m_orgh;
|
||||
|
||||
// cache
|
||||
wxBitmap m_cBitmap;
|
||||
wxImage m_cImage;
|
||||
int m_cW;
|
||||
int m_cH;
|
||||
double m_cR;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasControl
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvasControl: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasControl( wxWindow *control );
|
||||
~wxCanvasControl();
|
||||
|
||||
double GetPosX();
|
||||
double GetPosY();
|
||||
void SetPosXY( double x, double y);
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void MoveRelative( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
private:
|
||||
wxWindow *m_control;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvasText
|
||||
class wxCanvasText: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasText( const wxString &text, double x, double y, const wxString &foneFile, int size );
|
||||
~wxCanvasText();
|
||||
|
||||
double GetPosX() { return m_x; }
|
||||
double GetPosY() { return m_y; }
|
||||
void SetPosXY( double x, double y) {m_x=x; m_y=y;CalcBoundingBox(); };
|
||||
|
||||
void TransLate( double x, double y );
|
||||
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
void SetRGB( unsigned char red, unsigned char green, unsigned char blue );
|
||||
void SetFlag( int flag );
|
||||
int GetFlag() { return m_flag; }
|
||||
|
||||
private:
|
||||
wxString m_text;
|
||||
double m_x;
|
||||
double m_y;
|
||||
unsigned char *m_alpha;
|
||||
void *m_faceData;
|
||||
int m_flag;
|
||||
int m_red;
|
||||
int m_green;
|
||||
int m_blue;
|
||||
wxString m_fontFileName;
|
||||
int m_size;
|
||||
};
|
||||
|
||||
//:defenition
|
||||
// wxCanvas is used to display a wxCanvasGroupObject, which contains wxCanvasObject derived
|
||||
// drawable objects. The group to draw is called the root.
|
||||
// All objects are defined in world coordinates, relative to its parent (e.g. nested groups)
|
||||
// There are methods to convert from world to device coordinates and visa versa.
|
||||
// Rendering a draw is normally started on the root, it to a buffer, afterwords
|
||||
// an update of the damaged parts will blitted from the buffer to the screen.
|
||||
// This is done in Idle time, but can also be forced.
|
||||
// World coordinates can be with the Y axis going up are down.
|
||||
// The area of the drawing in world coordinates that is visible on the canvas
|
||||
// can be set. Parts of this area can be zoomed into resulting in scroll bars
|
||||
// to be displayed.
|
||||
class wxCanvas: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
// constructors and destructors
|
||||
wxCanvas( wxCanvasAdmin* admin ,wxWindow *parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxScrolledWindowStyle );
|
||||
virtual ~wxCanvas();
|
||||
|
||||
//background colour for the canvas
|
||||
virtual void SetColour( const wxColour& background );
|
||||
|
||||
//update the area given in device coordinates
|
||||
virtual void Update( int x, int y, int width, int height, bool blit = TRUE );
|
||||
|
||||
//blit all updated areas now to the screen, else it will happen in idle time.
|
||||
//Use this to support dragging for instance, becuase in such cases idle time
|
||||
//will take to long.
|
||||
virtual void UpdateNow();
|
||||
|
||||
//prevent canvas activety
|
||||
virtual void Freeze();
|
||||
//allow canvas activety
|
||||
virtual void Thaw();
|
||||
|
||||
//get the buffer that is used for rendering in general
|
||||
inline wxBitmap *GetBuffer() { return &m_buffer; }
|
||||
//get the DC that is used for rendering
|
||||
inline wxDC *GetDC() { return m_renderDC; }
|
||||
//set the DC that is used for rendering
|
||||
inline void SetDC(wxDC* dc) { m_renderDC=dc; }
|
||||
|
||||
inline int GetBufferWidth() { return m_buffer.GetWidth(); }
|
||||
inline int GetBufferHeight() { return m_buffer.GetHeight(); }
|
||||
|
||||
//updating is needed for the canvas if the buffer did change
|
||||
bool NeedUpdate() { return m_needUpdate; }
|
||||
bool IsFrozen() { return m_frozen; }
|
||||
|
||||
//blit damaged areas in the buffer to the screen
|
||||
void BlitBuffer( wxDC &dc );
|
||||
|
||||
//redirect events to this canvas object
|
||||
void SetCaptureMouse( wxCanvasObject *obj );
|
||||
//are events redirected, if so return the object else NULL
|
||||
inline wxCanvasObject* GetCaptured() { return m_captureMouse;}
|
||||
|
||||
//set the root group where the objects for this canvas are stored
|
||||
void SetRoot(wxCanvasObjectGroup* aroot){m_root=aroot;}
|
||||
|
||||
//get root group that is displayed on the canvas
|
||||
wxCanvasObjectGroup* GetRoot(){return m_root;}
|
||||
|
||||
//scroll the window in device coordinates
|
||||
virtual void ScrollWindow( int dx, int dy,
|
||||
const wxRect* rect = (wxRect *) NULL );
|
||||
|
||||
//get y axis orientation
|
||||
virtual bool GetYaxis() { return FALSE; }
|
||||
|
||||
//get the visible part in world coordinates
|
||||
virtual double GetMinX() const;
|
||||
virtual double GetMinY() const;
|
||||
virtual double GetMaxX() const;
|
||||
virtual double GetMaxY() const;
|
||||
|
||||
//convert from window to virtual coordinates
|
||||
virtual double DeviceToLogicalX(int x) const;
|
||||
virtual double DeviceToLogicalY(int y) const;
|
||||
virtual double DeviceToLogicalXRel(int x) const;
|
||||
virtual double DeviceToLogicalYRel(int y) const;
|
||||
virtual int LogicalToDeviceX(double x) const;
|
||||
virtual int LogicalToDeviceY(double y) const;
|
||||
virtual int LogicalToDeviceXRel(double x) const;
|
||||
virtual int LogicalToDeviceYRel(double y) const;
|
||||
|
||||
protected:
|
||||
wxBitmap m_buffer;
|
||||
|
||||
//always available and m_buffer selected
|
||||
wxDC* m_renderDC;
|
||||
|
||||
bool m_needUpdate;
|
||||
wxList m_updateRects;
|
||||
wxCanvasObjectGroup* m_root;
|
||||
|
||||
wxColour m_background;
|
||||
bool m_frozen;
|
||||
wxCanvasObject *m_lastMouse;
|
||||
wxCanvasObject *m_captureMouse;
|
||||
|
||||
int m_oldDeviceX,m_oldDeviceY;
|
||||
|
||||
wxCanvasAdmin* m_admin;
|
||||
|
||||
private:
|
||||
int m_bufferX,m_bufferY;
|
||||
|
||||
protected:
|
||||
void OnMouse( wxMouseEvent &event );
|
||||
void OnPaint( wxPaintEvent &event );
|
||||
void OnSize( wxSizeEvent &event );
|
||||
void OnIdle( wxIdleEvent &event );
|
||||
void OnSetFocus( wxFocusEvent &event );
|
||||
void OnKillFocus( wxFocusEvent &event );
|
||||
void OnEraseBackground( wxEraseEvent &event );
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxCanvas)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
||||
|
||||
class wxVectorCanvas: public wxCanvas
|
||||
{
|
||||
public:
|
||||
// constructors and destructors
|
||||
wxVectorCanvas( wxCanvasAdmin* admin ,wxWindow *parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
long style = wxScrolledWindowStyle );
|
||||
|
||||
//scroll the window in device coordinates
|
||||
virtual void ScrollWindow( int dx, int dy,
|
||||
const wxRect* rect = (wxRect *) NULL );
|
||||
|
||||
//set if the Yaxis goes up or down
|
||||
void SetYaxis(bool up) { m_yaxis=up; }
|
||||
|
||||
//get currently used Yaxis setting
|
||||
virtual bool GetYaxis() { return m_yaxis; }
|
||||
|
||||
//to set the total area in world coordinates that can be scrolled.
|
||||
// when totaly zoomed out (SetMappingScroll same size as given here),
|
||||
// this will be the area displayed.
|
||||
// To display all of a drawing, set this here to the boundingbox of the root group
|
||||
// of the canvas.
|
||||
void SetScroll(double vx1,double vy1,double vx2,double vy2);
|
||||
|
||||
//given the virtual size to be displayed, the mappingmatrix will be calculated
|
||||
//in such a manner that it fits (same ratio in width and height) to the window size.
|
||||
//The window size is used to intitialize the mapping.
|
||||
//The virtual size is just an indication, it will be ajusted to fit in the client window ratio.
|
||||
//When border is set an extra margin is added so that the drawing will fit nicely.
|
||||
// To display all of a drawing, set this here to the boundingbox of the root group
|
||||
// of the canvas.
|
||||
void SetMappingScroll(double vx1,double vy1,double vx2,double vy2,bool border);
|
||||
|
||||
//matrix for calculating the virtual coordinate given a screen coordinate
|
||||
wxTransformMatrix GetInverseMappingMatrix();
|
||||
|
||||
//matrix for calculating the screen coordinate given a virtual coordinate
|
||||
wxTransformMatrix GetMappingMatrix();
|
||||
|
||||
//get minimum X of the visible part in world coordinates
|
||||
virtual double GetMinX() const;
|
||||
virtual double GetMinY() const;
|
||||
virtual double GetMaxX() const;
|
||||
virtual double GetMaxY() const;
|
||||
|
||||
//convert from window to virtual coordinates and back
|
||||
virtual double DeviceToLogicalX(int x) const;
|
||||
virtual double DeviceToLogicalY(int y) const;
|
||||
virtual double DeviceToLogicalXRel(int x) const;
|
||||
virtual double DeviceToLogicalYRel(int y) const;
|
||||
virtual int LogicalToDeviceX(double x) const;
|
||||
virtual int LogicalToDeviceY(double y) const;
|
||||
virtual int LogicalToDeviceXRel(double x) const;
|
||||
virtual int LogicalToDeviceYRel(double y) const;
|
||||
|
||||
protected:
|
||||
// up or down
|
||||
bool m_yaxis;
|
||||
|
||||
// holds the matrix for mapping from virtual to screen coordinates
|
||||
wxTransformMatrix m_mapping_matrix;
|
||||
|
||||
// holds the inverse of the mapping matrix
|
||||
wxTransformMatrix m_inverse_mapping;
|
||||
|
||||
//virtual coordinates of total drawing
|
||||
double m_virtm_minX, m_virtm_minY, m_virtm_maxX, m_virtm_maxY;
|
||||
|
||||
// virtual coordinates box
|
||||
double m_virt_minX, m_virt_minY, m_virt_maxX, m_virt_maxY;
|
||||
|
||||
// bounding box
|
||||
double m_minX, m_minY, m_maxX, m_maxY;
|
||||
|
||||
//are scroll bars active?
|
||||
bool m_scrolled;
|
||||
|
||||
private:
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnChar( wxKeyEvent &event );
|
||||
void OnSize( wxSizeEvent &event );
|
||||
|
||||
private:
|
||||
DECLARE_CLASS(wxVectorCanvas)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
||||
|
||||
//:defenition
|
||||
//Contains a list of wxCanvas Objects that will be maintained through this class.
|
||||
//Each wxCanvasObject can be displayed on several wxCanvas Objects at the same time.
|
||||
//The active wxCanvas is used to render and convert coordinates from world to device.
|
||||
//So it is important to set the active wxCanvas based on the wxCanvas that has the focus
|
||||
//or is scrolled etc. This is normally done within wxCanvas when appropriate.
|
||||
class wxCanvasAdmin
|
||||
{
|
||||
public:
|
||||
// constructors and destructors
|
||||
wxCanvasAdmin();
|
||||
virtual ~wxCanvasAdmin();
|
||||
|
||||
//convert from window to virtual coordinates
|
||||
double DeviceToLogicalX(int x) const;
|
||||
//convert from window to virtual coordinates
|
||||
double DeviceToLogicalY(int y) const;
|
||||
//convert from window to virtual coordinates relatif
|
||||
double DeviceToLogicalXRel(int x) const;
|
||||
//convert from window to virtual coordinates relatif
|
||||
double DeviceToLogicalYRel(int y) const;
|
||||
//convert from virtual to window coordinates
|
||||
int LogicalToDeviceX(double x) const;
|
||||
//convert from virtual to window coordinates
|
||||
int LogicalToDeviceY(double y) const;
|
||||
//convert from virtual to window coordinates relatif
|
||||
int LogicalToDeviceXRel(double x) const;
|
||||
//convert from virtual to window coordinates relatif
|
||||
int LogicalToDeviceYRel(double y) const;
|
||||
|
||||
//update in the buffer off all canvases, the area given in world coordinates
|
||||
virtual void Update(wxCanvasObject* obj, double x, double y, double width, double height);
|
||||
|
||||
//blit all updated areas now to the screen, else it will happen in idle time.
|
||||
//Use this to support dragging for instance, becuase in such cases idle time
|
||||
//will take to long.
|
||||
virtual void UpdateNow();
|
||||
|
||||
//append another canvas
|
||||
virtual void Append( wxCanvas* canvas );
|
||||
|
||||
//remove a canvas
|
||||
virtual void Remove( wxCanvas* canvas );
|
||||
|
||||
//set the given canvas as active (for rendering, coordinate conversion etc.)
|
||||
void SetActive(wxCanvas* activate);
|
||||
|
||||
//get active canvas
|
||||
inline wxCanvas* GetActive() {return m_active;};
|
||||
|
||||
private:
|
||||
wxList m_canvaslist;
|
||||
wxCanvas* m_active;
|
||||
};
|
||||
|
||||
#endif
|
||||
// WXCANVAS
|
||||
|
@@ -1,58 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: liner.h
|
||||
// Author: Klaas Holwerda
|
||||
// Created: 1/10/2000
|
||||
// Copyright: 2000 (c) Klaas Holwerda
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#ifndef __WXLINER_H
|
||||
#define __WXLINER_H
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "liner.cpp"
|
||||
#endif
|
||||
|
||||
|
||||
#include "wx/geometry.h"
|
||||
|
||||
enum OUTPRODUCT {R_IS_LEFT,R_IS_ON,R_IS_RIGHT};
|
||||
|
||||
// Status of a point to a wxLine
|
||||
enum R_PointStatus {R_LEFT_SIDE, R_RIGHT_SIDE, R_ON_AREA, R_IN_AREA};
|
||||
|
||||
class wxLine
|
||||
{
|
||||
public:
|
||||
// constructors and destructor
|
||||
wxLine( double x1, double y1, double x2, double y2 );
|
||||
wxLine( const wxPoint2DDouble& a, const wxPoint2DDouble& b);
|
||||
~wxLine();
|
||||
|
||||
wxPoint2DDouble GetBeginPoint(); // Get the beginpoint from a wxLine
|
||||
wxPoint2DDouble GetEndPoint(); // Get the endpoint from a wxLine
|
||||
bool CheckIntersect( wxLine&, double Marge); // Check if two wxLines intersects
|
||||
int Intersect( wxLine&, wxPoint2DDouble& bp ,wxPoint2DDouble& ep ,double Marge) ; // Intersects two wxLines
|
||||
bool Intersect( wxLine& lijn, wxPoint2DDouble& crossing); //intersect two (infinit) lines
|
||||
R_PointStatus PointOnLine( const wxPoint2DDouble& a_Point, double& Distance, double Marge ); //For an infinite wxLine
|
||||
R_PointStatus PointInLine( const wxPoint2DDouble& a_Point, double& Distance, double Marge ); //For a non-infinite wxLine
|
||||
OUTPRODUCT OutProduct( const wxLine& two, double accur); // outproduct of two wxLines
|
||||
double Calculate_Y( double X); // Caclulate Y if X is known
|
||||
void Virtual_Point( wxPoint2DDouble& a_point, double distance) const;
|
||||
wxLine& operator=( const wxLine&); // assignment operator
|
||||
void CalculateLineParameters(); // Calculate the parameters if nessecary
|
||||
void OffsetContour( const wxLine& nextline, double factor,wxPoint2DDouble& offsetpoint) const;
|
||||
|
||||
private:
|
||||
|
||||
int ActionOnTable1(R_PointStatus,R_PointStatus); // Function needed for Intersect
|
||||
int ActionOnTable2(R_PointStatus,R_PointStatus); // Function needed for Intersect
|
||||
|
||||
double m_AA;
|
||||
double m_BB;
|
||||
double m_CC;
|
||||
wxPoint2DDouble m_a;
|
||||
wxPoint2DDouble m_b;
|
||||
bool m_valid_parameters;
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,220 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: polygon.h
|
||||
// Author: Klaas Holwerda
|
||||
// Created: XX/XX/XX
|
||||
// Copyright: 2000 (c) Klaas Holwerda
|
||||
// Licence: wxWindows Licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef __WXPOLYGON_H__
|
||||
#define __WXPOLYGON_H__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "polygon.cpp"
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/matrix.h"
|
||||
#include "wx/geometry.h"
|
||||
#include "bbox.h"
|
||||
#include "canvas.h"
|
||||
|
||||
enum INOUTPOLY {OUTSIDE_POLY,INSIDE_POLY,ON_POLY};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasPolygon
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvasPolygon: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasPolygon( int n, wxPoint2DDouble points[], bool spline = FALSE );
|
||||
~wxCanvasPolygon();
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; }
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
|
||||
|
||||
//set colour 1
|
||||
//being the background color if filling with a monochrome bitmap
|
||||
//or in case of gradient filling the starting colour for the fill
|
||||
void SetColour1( const wxColour& fg) { m_textfg=fg;}
|
||||
//set colour 1
|
||||
//being the foreground color if filling with a monochrome bitmap
|
||||
//or in case of gradient filling the ending colour for the fill
|
||||
void SetColour2( const wxColour& bg) { m_textbg=bg;}
|
||||
//transparent filling when bitmapbrush is monochrome
|
||||
void SetTransParent(bool transp) { m_transp=transp;}
|
||||
//gradient filling using lines chnging in colour from colour1 to colour2
|
||||
void SetGradient(bool gradient, const wxPen& gpen, double distance)
|
||||
{ m_gradient=gradient;
|
||||
m_gpen=gpen;
|
||||
m_gdistance=distance;
|
||||
}
|
||||
|
||||
double GetPosX() { return m_points[0].m_x; }
|
||||
double GetPosY() { return m_points[0].m_y; }
|
||||
void SetPosXY( double x, double y);
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
INOUTPOLY PointInPolygon(const wxPoint2DDouble& P, double marge);
|
||||
|
||||
private:
|
||||
|
||||
bool MoveUp(double horline, int& index, int direction);
|
||||
void DetectCriticalPoints();
|
||||
void FillPolygon(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
wxList m_CRlist;
|
||||
wxList m_AETlist;
|
||||
|
||||
|
||||
wxBrush m_brush;
|
||||
wxPen m_pen;
|
||||
wxColour m_textbg;
|
||||
wxColour m_textfg;
|
||||
|
||||
//if brush is of type bitmap with a mask fill with mask transparent
|
||||
bool m_transp;
|
||||
bool m_gradient;
|
||||
wxPen m_gpen;
|
||||
double m_gdistance;
|
||||
|
||||
bool m_spline;
|
||||
|
||||
int m_n;
|
||||
wxPoint2DDouble* m_points;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasPolyline
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvasPolyline: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasPolyline(int n, wxPoint2DDouble points[]);
|
||||
~wxCanvasPolyline();
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
|
||||
|
||||
double GetPosX() { return m_points[0].m_x; }
|
||||
double GetPosY() { return m_points[0].m_y; }
|
||||
void SetPosXY( double x, double y);
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
bool PointOnPolyline(const wxPoint2DDouble& P, double marge);
|
||||
|
||||
private:
|
||||
|
||||
wxPen m_pen;
|
||||
|
||||
int m_n;
|
||||
wxPoint2DDouble* m_points;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasPolygon
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvasPolygonL: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasPolygonL(wxList* points, bool spline = FALSE);
|
||||
~wxCanvasPolygonL();
|
||||
void SetBrush( const wxBrush& brush) { m_brush = brush; }
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
|
||||
void SetColour1( const wxColour& fg) { m_textfg=fg;}
|
||||
void SetColour2( const wxColour& bg) { m_textbg=bg;}
|
||||
void SetTransParent(bool transp) { m_transp=transp;}
|
||||
|
||||
double GetPosX();
|
||||
double GetPosY();
|
||||
void SetPosXY( double x, double y);
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
INOUTPOLY PointInPolygon(const wxPoint2DDouble& P, double marge);
|
||||
|
||||
private:
|
||||
|
||||
wxBrush m_brush;
|
||||
wxPen m_pen;
|
||||
bool m_spline;
|
||||
wxColour m_textbg;
|
||||
wxColour m_textfg;
|
||||
//if brush is of type bitmap with a mask fill with mask transparent
|
||||
bool m_transp;
|
||||
|
||||
wxList* m_lpoints;
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// wxCanvasPolyline
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
class wxCanvasPolylineL: public wxCanvasObject
|
||||
{
|
||||
public:
|
||||
wxCanvasPolylineL(wxList* points, bool spline );
|
||||
~wxCanvasPolylineL();
|
||||
void SetPen( const wxPen& pen) { m_pen = pen; CalcBoundingBox(); }
|
||||
|
||||
double GetPosX();
|
||||
double GetPosY();
|
||||
void SetPosXY( double x, double y);
|
||||
|
||||
void TransLate( double x, double y );
|
||||
void CalcBoundingBox();
|
||||
|
||||
virtual void Render(wxTransformMatrix* cworld, int clip_x, int clip_y, int clip_width, int clip_height );
|
||||
virtual void WriteSVG( wxTextOutputStream &stream );
|
||||
|
||||
wxCanvasObject* IsHitWorld( double x, double y, double margin = 0 );
|
||||
|
||||
bool PointOnPolyline(const wxPoint2DDouble& P, double marge);
|
||||
|
||||
private:
|
||||
wxPen m_pen;
|
||||
bool m_spline;
|
||||
|
||||
wxList* m_lpoints;
|
||||
};
|
||||
|
||||
//active edge table
|
||||
class wxAET
|
||||
{
|
||||
public:
|
||||
inline void CalculateLineParameters( const wxPoint2DDouble& p1 , const wxPoint2DDouble& p2 );
|
||||
inline void CalculateXs( double y );
|
||||
|
||||
//line paramters
|
||||
bool m_horizontal;
|
||||
double m_BdivA;
|
||||
double m_CdivA;
|
||||
int m_index;
|
||||
int m_direction;
|
||||
//intersection point with scanline;
|
||||
double m_xs;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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
@@ -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__ */
|
||||
|
@@ -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,
|
||||
wxBitmapType 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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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;
|
||||
wxBitmapType 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 wxBitmapType 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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
@@ -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__ */
|
||||
|
||||
|
@@ -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__ */
|
||||
|
@@ -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
|
@@ -1,59 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: editlbox.h
|
||||
// Purpose: ListBox with editable items
|
||||
// Author: Vaclav Slavik
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
#ifndef __WX_EDITLBOX_H__
|
||||
#define __WX_EDITLBOX_H__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "editlbox.h"
|
||||
#endif
|
||||
|
||||
#include "wx/panel.h"
|
||||
|
||||
|
||||
class WXDLLEXPORT wxBitmapButton;
|
||||
class WXDLLEXPORT wxListCtrl;
|
||||
class WXDLLEXPORT wxListEvent;
|
||||
|
||||
// This class provides a composite control that lets the
|
||||
// user easily enter list of strings
|
||||
|
||||
class WXDLLEXPORT wxEditableListBox : public wxPanel
|
||||
{
|
||||
DECLARE_CLASS(wxEditableListBox);
|
||||
|
||||
public:
|
||||
wxEditableListBox(wxWindow *parent, wxWindowID id,
|
||||
const wxString& label,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize,
|
||||
const wxString& name = wxT("editableListBox"));
|
||||
|
||||
void SetStrings(const wxArrayString& strings);
|
||||
void GetStrings(wxArrayString& strings);
|
||||
|
||||
protected:
|
||||
wxBitmapButton *m_bDel, *m_bNew, *m_bUp, *m_bDown, *m_bEdit;
|
||||
wxListCtrl *m_listCtrl;
|
||||
int m_selection;
|
||||
bool m_edittingNew;
|
||||
|
||||
void OnItemSelected(wxListEvent& event);
|
||||
void OnEndLabelEdit(wxListEvent& event);
|
||||
void OnNewItem(wxCommandEvent& event);
|
||||
void OnDelItem(wxCommandEvent& event);
|
||||
void OnEditItem(wxCommandEvent& event);
|
||||
void OnUpItem(wxCommandEvent& event);
|
||||
void OnDownItem(wxCommandEvent& event);
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif
|
@@ -1,167 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: multicell.h
|
||||
// Purpose: provide two new classes for layout, wxMultiCellSizer and wxMultiCellCanvas
|
||||
// Author: Jonathan Bayer
|
||||
// Modified by:
|
||||
// Created:
|
||||
// RCS-ID: $Id:
|
||||
// Copyright: (c) Jonathan Bayer
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// This was inspired by the gbsizer class written by Alex Andruschak
|
||||
|
||||
|
||||
#ifndef __WX_MULTICELL_H__
|
||||
#define __WX_MULTICELL_H__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "multicell.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
// The classes are derived from wxSizer
|
||||
#include "wx/sizer.h"
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
enum wxResizable
|
||||
{
|
||||
wxNOT_RESIZABLE = 0x00,
|
||||
wxHORIZENTAL_RESIZABLE = 0x01,
|
||||
wxVERTICAL_RESIZABLE = 0x10,
|
||||
wxRESIZABLE = 0x11
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// classes
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxMultiCellItemHandle
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxMultiCellItemHandle: public wxObject
|
||||
{
|
||||
DECLARE_CLASS(wxMultiCellItemHandle);
|
||||
protected:
|
||||
int m_column;
|
||||
int m_row;
|
||||
int m_width;
|
||||
int m_height;
|
||||
wxResizable m_style;
|
||||
wxSize m_fixedSize;
|
||||
int m_alignment;
|
||||
wxSize m_weight;
|
||||
|
||||
public:
|
||||
wxMultiCellItemHandle( int row, int column, int height = 1, int width = 1, wxSize size = wxDefaultSize, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
|
||||
wxMultiCellItemHandle( int row, int column, wxSize size, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
|
||||
wxMultiCellItemHandle( int row, int column, wxResizable style, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
|
||||
wxMultiCellItemHandle( int row, int column, int align);
|
||||
int GetColumn();
|
||||
int GetRow();
|
||||
int GetWidth();
|
||||
int GetHeight();
|
||||
wxResizable GetStyle();
|
||||
wxSize GetLocalSize();
|
||||
int GetAlignment();
|
||||
wxSize GetWeight();
|
||||
|
||||
private:
|
||||
void Initialize( int row, int column, int height = 1, int width = 1, wxSize size = wxDefaultSize, wxResizable style = wxNOT_RESIZABLE, wxSize weight = wxSize(1,1), int align = wxALIGN_NOT);
|
||||
|
||||
};
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxMultiCellSizer
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxMultiCellSizer : virtual public wxSizer
|
||||
{
|
||||
DECLARE_CLASS(wxMultiCellSizer);
|
||||
|
||||
protected:
|
||||
wxSize m_cell_count;
|
||||
|
||||
public:
|
||||
wxMultiCellSizer(wxSize & size);
|
||||
wxMultiCellSizer(int rows, int cols);
|
||||
~wxMultiCellSizer();
|
||||
|
||||
virtual void RecalcSizes();
|
||||
virtual wxSize CalcMin();
|
||||
bool SetDefaultCellSize(wxSize size);
|
||||
bool SetColumnWidth(int column, int colSize = 5, bool expandable = FALSE);
|
||||
bool SetRowHeight(int row, int rowSize = 5, bool expandable = FALSE);
|
||||
bool EnableGridLines(wxWindow *win);
|
||||
bool SetGridPen(wxPen *pen);
|
||||
void OnPaint(wxDC& dc);
|
||||
|
||||
private:
|
||||
void GetMinimums();
|
||||
int Sum(int *array, int x);
|
||||
|
||||
private:
|
||||
int *m_maxHeight;
|
||||
int *m_maxWidth;
|
||||
int *m_rowStretch;
|
||||
int *m_colStretch;
|
||||
wxSize **m_weights;
|
||||
wxSize **m_minSizes;
|
||||
int m_maxWeights;
|
||||
wxSize m_defaultCellSize;
|
||||
wxWindow *m_win; // usually used for debugging
|
||||
wxPen *m_pen;
|
||||
|
||||
void DrawGridLines(wxDC& dc);
|
||||
void Initialize(wxSize size);
|
||||
};
|
||||
|
||||
|
||||
// wxCell is used internally, so we don't need to declare it here
|
||||
|
||||
class wxCell;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// wxMultiCellCanvas
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
class wxMultiCellCanvas : public wxFlexGridSizer
|
||||
{
|
||||
public:
|
||||
wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2);
|
||||
void Add(wxWindow *win, unsigned int row, unsigned int col);
|
||||
|
||||
void Resize(int numRows, int numCols);
|
||||
int MaxRows()
|
||||
{
|
||||
return m_maxRows;
|
||||
};
|
||||
int MaxCols()
|
||||
{
|
||||
return m_maxCols;
|
||||
};
|
||||
void CalculateConstraints();
|
||||
void SetMinCellSize(const wxSize size)
|
||||
{
|
||||
m_minCellSize = size;
|
||||
};
|
||||
|
||||
private:
|
||||
wxWindow *m_parent;
|
||||
unsigned int m_maxRows, m_maxCols;
|
||||
|
||||
wxSize m_minCellSize;
|
||||
wxCell **m_cells;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*** End of File ***/
|
@@ -1,227 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: splittree.h
|
||||
// Purpose: Classes to achieve a remotely-scrolled tree in a splitter
|
||||
// window that can be scrolled by a scrolled window higher in the
|
||||
// hierarchy
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 8/7/2000
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_SPLITTREE_H_
|
||||
#define _WX_SPLITTREE_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "splittree.h"
|
||||
#endif
|
||||
|
||||
// Set this to 1 to use generic tree control (doesn't yet work properly)
|
||||
#define USE_GENERIC_TREECTRL 0
|
||||
|
||||
#include "wx/wx.h"
|
||||
#include "wx/treectrl.h"
|
||||
#include "wx/splitter.h"
|
||||
#include "wx/scrolwin.h"
|
||||
|
||||
#if USE_GENERIC_TREECTRL
|
||||
#include "wx/generic/treectlg.h"
|
||||
#ifndef wxTreeCtrl
|
||||
#define wxTreeCtrl wxGenericTreeCtrl
|
||||
#define sm_classwxTreeCtrl sm_classwxGenericTreeCtrl
|
||||
#endif
|
||||
#endif
|
||||
|
||||
class wxRemotelyScrolledTreeCtrl;
|
||||
class wxThinSplitterWindow;
|
||||
class wxSplitterScrolledWindow;
|
||||
|
||||
/*
|
||||
* wxRemotelyScrolledTreeCtrl
|
||||
*
|
||||
* This tree control disables its vertical scrollbar and catches scroll
|
||||
* events passed by a scrolled window higher in the hierarchy.
|
||||
* It also updates the scrolled window vertical scrollbar as appropriate.
|
||||
*/
|
||||
|
||||
class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
|
||||
{
|
||||
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
|
||||
public:
|
||||
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
|
||||
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
|
||||
~wxRemotelyScrolledTreeCtrl();
|
||||
|
||||
//// Events
|
||||
void OnSize(wxSizeEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
|
||||
//// Overrides
|
||||
// Override this in case we're using the generic tree control.
|
||||
// Calls to this should disable the vertical scrollbar.
|
||||
|
||||
// Number of pixels per user unit (0 or -1 for no scrollbar)
|
||||
// Length of virtual canvas in user units
|
||||
// Length of page in user units
|
||||
virtual void SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY,
|
||||
int noUnitsX, int noUnitsY,
|
||||
int xPos = 0, int yPos = 0,
|
||||
bool noRefresh = FALSE );
|
||||
|
||||
// In case we're using the generic tree control.
|
||||
// Get the view start
|
||||
virtual void GetViewStart(int *x, int *y) const;
|
||||
|
||||
// In case we're using the generic tree control.
|
||||
virtual void PrepareDC(wxDC& dc);
|
||||
|
||||
// In case we're using the generic tree control.
|
||||
virtual int GetScrollPos(int orient) const;
|
||||
|
||||
//// Helpers
|
||||
void HideVScrollbar();
|
||||
|
||||
// Calculate the tree overall size so we can set the scrollbar
|
||||
// correctly
|
||||
void CalcTreeSize(wxRect& rect);
|
||||
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
|
||||
|
||||
// Adjust the containing wxScrolledWindow's scrollbars appropriately
|
||||
void AdjustRemoteScrollbars();
|
||||
|
||||
// Find the scrolled window that contains this control
|
||||
wxScrolledWindow* GetScrolledWindow() const;
|
||||
|
||||
// Scroll to the given line (in scroll units where each unit is
|
||||
// the height of an item)
|
||||
void ScrollToLine(int posHoriz, int posVert);
|
||||
|
||||
//// Accessors
|
||||
|
||||
// The companion window is one which will get notified when certain
|
||||
// events happen such as node expansion
|
||||
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
|
||||
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
protected:
|
||||
wxWindow* m_companionWindow;
|
||||
};
|
||||
|
||||
/*
|
||||
* wxTreeCompanionWindow
|
||||
*
|
||||
* A window displaying values associated with tree control items.
|
||||
*/
|
||||
|
||||
class wxTreeCompanionWindow: public wxWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_CLASS(wxTreeCompanionWindow)
|
||||
|
||||
wxTreeCompanionWindow(wxWindow* parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& sz = wxDefaultSize,
|
||||
long style = 0);
|
||||
|
||||
//// Overrides
|
||||
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
|
||||
|
||||
//// Events
|
||||
void OnPaint(wxPaintEvent& event);
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnExpand(wxTreeEvent& event);
|
||||
|
||||
//// Operations
|
||||
|
||||
//// Accessors
|
||||
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
|
||||
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
|
||||
|
||||
//// Data members
|
||||
protected:
|
||||
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* wxThinSplitterWindow
|
||||
*
|
||||
* Implements a splitter with a less obvious sash
|
||||
* than the usual one.
|
||||
*/
|
||||
|
||||
class wxThinSplitterWindow: public wxSplitterWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow)
|
||||
|
||||
wxThinSplitterWindow(wxWindow* parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& sz = wxDefaultSize,
|
||||
long style = wxSP_3D | wxCLIP_CHILDREN);
|
||||
|
||||
//// Overrides
|
||||
|
||||
void SizeWindows();
|
||||
// Tests for x, y over sash. Overriding this allows us to increase
|
||||
// the tolerance.
|
||||
bool SashHitTest(int x, int y, int tolerance = 2);
|
||||
void DrawSash(wxDC& dc);
|
||||
|
||||
//// Events
|
||||
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
//// Operations
|
||||
|
||||
//// Accessors
|
||||
|
||||
//// Data members
|
||||
protected:
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
/*
|
||||
* wxSplitterScrolledWindow
|
||||
*
|
||||
* This scrolled window is aware of the fact that one of its
|
||||
* children is a splitter window. It passes on its scroll events
|
||||
* (after some processing) to both splitter children for them
|
||||
* scroll appropriately.
|
||||
*/
|
||||
|
||||
class wxSplitterScrolledWindow: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
|
||||
|
||||
wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id = -1,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& sz = wxDefaultSize,
|
||||
long style = 0);
|
||||
|
||||
//// Overrides
|
||||
|
||||
//// Events
|
||||
|
||||
void OnScroll(wxScrollWinEvent& event);
|
||||
void OnSize(wxSizeEvent& event);
|
||||
|
||||
//// Operations
|
||||
|
||||
//// Accessors
|
||||
|
||||
//// Data members
|
||||
public:
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
#endif
|
||||
// _SPLITTREE_H_
|
@@ -27,7 +27,7 @@ class WXDLLEXPORT wxCDAudio : public wxObject {
|
||||
public:
|
||||
typedef enum { PLAYING, PAUSED, STOPPED } CDstatus;
|
||||
// Table of contents manager
|
||||
class WXDLLEXPORT CDtoc {
|
||||
class CDtoc {
|
||||
protected:
|
||||
wxCDtime *tracks_time, *tracks_pos;
|
||||
wxCDtime total_time;
|
||||
|
@@ -22,7 +22,7 @@
|
||||
// AIFF codec
|
||||
//
|
||||
|
||||
class WXDLLEXPORT wxSoundAiff: public wxSoundFileStream {
|
||||
class wxSoundAiff: public wxSoundFileStream {
|
||||
public:
|
||||
wxSoundAiff(wxInputStream& stream, wxSoundStream& io_sound);
|
||||
wxSoundAiff(wxOutputStream& stream, wxSoundStream& io_sound);
|
||||
|
@@ -112,7 +112,7 @@ class WXDLLEXPORT wxSoundFormatBase {
|
||||
// Base class for sound streams
|
||||
//
|
||||
|
||||
class WXDLLEXPORT wxSoundStream {
|
||||
class wxSoundStream {
|
||||
public:
|
||||
wxSoundStream();
|
||||
virtual ~wxSoundStream();
|
||||
|
@@ -15,7 +15,7 @@
|
||||
#include "wx/defs.h"
|
||||
#include "wx/mmedia/sndbase.h"
|
||||
|
||||
class WXDLLEXPORT wxSoundStreamCodec: public wxSoundStream {
|
||||
class wxSoundStreamCodec: public wxSoundStream {
|
||||
public:
|
||||
wxSoundStreamCodec(wxSoundStream& snd_io);
|
||||
~wxSoundStreamCodec();
|
||||
|
@@ -20,7 +20,7 @@
|
||||
// PCM converter class
|
||||
//
|
||||
|
||||
class WXDLLEXPORT wxSoundStreamPcm: public wxSoundStreamCodec {
|
||||
class wxSoundStreamPcm: public wxSoundStreamCodec {
|
||||
public:
|
||||
typedef void (*ConverterType)(const void *buf_in, void *buf_out,
|
||||
wxUint32 len);
|
||||
|
@@ -5,8 +5,8 @@
|
||||
// Author: Guilhem Lavaux <lavaux@easynet.fr> (C) 2000
|
||||
// CVSID: $Id$
|
||||
// --------------------------------------------------------------------------
|
||||
#ifndef _WX_SNDMSAD_H
|
||||
#define _WX_SNDMSAD_H
|
||||
#ifndef _WX_SNDULAW_H
|
||||
#define _WX_SNDULAW_H
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "sndmsad.h"
|
||||
@@ -17,52 +17,46 @@
|
||||
#include "wx/mmedia/sndcodec.h"
|
||||
#include "wx/mmedia/sndbase.h"
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxInt16, wxMSAdpcmCoeffs);
|
||||
WX_DEFINE_EXPORTED_ARRAY(wxUint16, wxMSAdpcmCoeffs);
|
||||
|
||||
//
|
||||
// MSADPCM format
|
||||
//
|
||||
class WXDLLEXPORT wxSoundFormatMSAdpcm: public wxSoundFormatBase {
|
||||
public:
|
||||
wxSoundFormatMSAdpcm();
|
||||
~wxSoundFormatMSAdpcm();
|
||||
|
||||
void SetSampleRate(wxUint32 srate);
|
||||
wxUint32 GetSampleRate() const;
|
||||
|
||||
void SetCoefs(wxInt16 **coefs, wxUint16 ncoefs, wxUint16 coefs_len);
|
||||
void GetCoefs(wxInt16 **&coefs, wxUint16& ncoefs,
|
||||
wxUint16& coefs_len) const;
|
||||
public:
|
||||
wxSoundFormatMSAdpcm();
|
||||
~wxSoundFormatMSAdpcm();
|
||||
|
||||
void SetBlockSize(wxUint16 block_size);
|
||||
wxUint16 GetBlockSize() const;
|
||||
|
||||
void SetChannels(wxUint16 channels);
|
||||
wxUint16 GetChannels() const;
|
||||
|
||||
wxSoundFormatType GetType() const { return wxSOUND_MSADPCM; }
|
||||
wxSoundFormatBase *Clone() const;
|
||||
|
||||
wxUint32 GetTimeFromBytes(wxUint32 bytes) const;
|
||||
wxUint32 GetBytesFromTime(wxUint32 time) const;
|
||||
|
||||
bool operator !=(const wxSoundFormatBase& frmt2) const;
|
||||
void SetSampleRate(wxUint32 srate);
|
||||
wxUint32 GetSampleRate() const;
|
||||
|
||||
protected:
|
||||
wxUint32 m_srate, m_nchannels;
|
||||
wxInt16 **m_coefs;
|
||||
wxUint16 m_ncoefs, m_coefs_len;
|
||||
wxUint16 m_block_size;
|
||||
void SetSamplesBlock(wxUint16 sampblock);
|
||||
wxUint16 GetSamplesBlock() const;
|
||||
|
||||
void SetCoefs(wxMSAdpcmCoefs& coefs);
|
||||
wxMSAdpcmCoefs& GetCoefs() const;
|
||||
|
||||
wxSoundFormatType GetType() const { return wxSOUND_ULAW; }
|
||||
wxSoundFormatBase *Clone() const;
|
||||
|
||||
wxUint32 GetTimeFromBytes(wxUint32 bytes) const;
|
||||
wxUint32 GetBytesFromTime(wxUint32 time) const;
|
||||
|
||||
bool operator !=(const wxSoundFormatBase& frmt2) const;
|
||||
|
||||
protected:
|
||||
wxUint32 m_srate;
|
||||
wxMSAdpcmCoefs *m_coefs;
|
||||
};
|
||||
|
||||
//
|
||||
// MS ADPCM converter class
|
||||
//
|
||||
class WXDLLEXPORT wxSoundRouterStream;
|
||||
class WXDLLEXPORT wxSoundStreamMSAdpcm: public wxSoundStreamCodec {
|
||||
class WXDLLEXPORT wxSoundStreamAdpcm: public wxSoundStreamCodec {
|
||||
public:
|
||||
wxSoundStreamMSAdpcm(wxSoundStream& sndio);
|
||||
~wxSoundStreamMSAdpcm();
|
||||
wxSoundStreamAdpcm(wxSoundStream& sndio);
|
||||
~wxSoundStreamAdpcm();
|
||||
|
||||
wxSoundStream& Read(void *buffer, wxUint32 len);
|
||||
wxSoundStream& Write(const void *buffer, wxUint32 len);
|
||||
@@ -73,32 +67,6 @@ public:
|
||||
|
||||
protected:
|
||||
wxSoundRouterStream *m_router;
|
||||
|
||||
typedef struct {
|
||||
wxInt32 predictor;
|
||||
wxInt16 samp1;
|
||||
wxInt16 samp2;
|
||||
wxInt16 coeff[2];
|
||||
wxInt32 iDelta;
|
||||
} AdpcmState;
|
||||
|
||||
AdpcmState m_state[1];
|
||||
|
||||
bool m_got_header;
|
||||
bool m_stereo;
|
||||
wxInt16 **m_coefs;
|
||||
wxUint16 m_block_size;
|
||||
wxUint16 m_ncoefs;
|
||||
wxUint16 m_next_block;
|
||||
|
||||
protected:
|
||||
wxUint32 DecodeMonoADPCM(const void *in_buffer, void *out_buffer,
|
||||
wxUint32 in_len);
|
||||
wxUint32 DecodeStereoADPCM(const void *in_buffer, void *out_buffer,
|
||||
wxUint32 in_len);
|
||||
void Nibble(wxInt8 nyb,
|
||||
AdpcmState *state,
|
||||
wxInt16 **out_buffer);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@@ -21,7 +21,7 @@
|
||||
// OSS output class
|
||||
//
|
||||
|
||||
class WXDLLEXPORT wxSoundStreamOSS : public wxSoundStream {
|
||||
class wxSoundStreamOSS : public wxSoundStream {
|
||||
public:
|
||||
wxSoundStreamOSS(const wxString& dev_name = wxT("/dev/dsp"));
|
||||
~wxSoundStreamOSS();
|
||||
|
@@ -42,18 +42,12 @@ protected:
|
||||
wxUint32 GetData(void *buffer, wxUint32 len);
|
||||
wxUint32 PutData(const void *buffer, wxUint32 len);
|
||||
|
||||
bool HandleOutputPCM(wxDataInputStream& data, wxUint32 len,
|
||||
wxUint16 channels, wxUint32 sample_fq,
|
||||
wxUint32 byte_p_sec, wxUint16 byte_p_spl,
|
||||
wxUint16 bits_p_spl);
|
||||
bool HandleOutputMSADPCM(wxDataInputStream& data, wxUint32 len,
|
||||
wxUint16 channels, wxUint32 sample_fq,
|
||||
wxUint32 byte_p_sec, wxUint16 byte_p_spl,
|
||||
wxUint16 bits_p_spl);
|
||||
bool HandleOutputG721(wxDataInputStream& data, wxUint32 len,
|
||||
wxUint16 channels, wxUint32 sample_fq,
|
||||
wxUint32 byte_p_sec, wxUint16 byte_p_spl,
|
||||
wxUint16 bits_p_spl);
|
||||
bool HandleOutputPCM(wxDataInputStream& data, wxUint16 channels,
|
||||
wxUint32 sample_fq, wxUint32 byte_p_sec,
|
||||
wxUint16 byte_p_spl, wxUint16 bits_p_spl);
|
||||
bool HandleOutputG721(wxDataInputStream& data, wxUint16 channels,
|
||||
wxUint32 sample_fq, wxUint32 byte_p_sec,
|
||||
wxUint16 byte_p_spl, wxUint16 bits_p_spl);
|
||||
wxSoundFormatBase *HandleInputPCM(wxDataOutputStream& data);
|
||||
wxSoundFormatBase *HandleInputG72X(wxDataOutputStream& data);
|
||||
|
||||
|
@@ -1,44 +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,
|
||||
const wxString& sendMail = wxT("/usr/lib/sendmail -t"));
|
||||
|
||||
protected:
|
||||
};
|
||||
|
||||
|
||||
#endif //_WX_EMAIL_H_
|
||||
|
@@ -1,71 +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& from = wxEmptyString,
|
||||
const wxString& attachment = wxEmptyString,
|
||||
const wxString& attachmentTitle = wxEmptyString)
|
||||
{
|
||||
m_to.Add(to);
|
||||
m_subject = subject;
|
||||
m_body = body;
|
||||
m_from = from;
|
||||
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; }
|
||||
void SetFrom(const wxString& from) { m_from = from; }
|
||||
|
||||
public:
|
||||
wxArrayString m_to; //The To: Recipients
|
||||
wxString m_from; //The From: email address (optional)
|
||||
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_
|
||||
|
@@ -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_
|
@@ -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_
|
||||
|
@@ -1,428 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: plot.h
|
||||
// Purpose: wxPlotWindow
|
||||
// Author: Robert Roebling
|
||||
// Modified by:
|
||||
// Created: 12/1/2000
|
||||
// Copyright: (c) Robert Roebling
|
||||
// RCS-ID: $Id$
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_PLOT_H_
|
||||
#define _WX_PLOT_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "plot.h"
|
||||
#endif
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#include "wx/scrolwin.h"
|
||||
#include "wx/event.h"
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// classes
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotEvent;
|
||||
class WXDLLEXPORT wxPlotCurve;
|
||||
class WXDLLEXPORT wxPlotValues;
|
||||
class WXDLLEXPORT wxPlotArea;
|
||||
class WXDLLEXPORT wxPlotXAxisArea;
|
||||
class WXDLLEXPORT wxPlotYAxisArea;
|
||||
class WXDLLEXPORT wxPlotWindow;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// consts
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
extern const int wxEVT_PLOT_SEL_CHANGING;
|
||||
extern const int wxEVT_PLOT_SEL_CHANGED;
|
||||
extern const int wxEVT_PLOT_CLICKED;
|
||||
extern const int wxEVT_PLOT_DOUBLECLICKED;
|
||||
extern const int wxEVT_PLOT_ZOOM_IN;
|
||||
extern const int wxEVT_PLOT_ZOOM_OUT;
|
||||
extern const int wxEVT_PLOT_VALUE_SEL_CREATING;
|
||||
extern const int wxEVT_PLOT_VALUE_SEL_CREATED;
|
||||
extern const int wxEVT_PLOT_VALUE_SEL_CHANGING;
|
||||
extern const int wxEVT_PLOT_VALUE_SEL_CHANGED;
|
||||
extern const int wxEVT_PLOT_AREA_SEL_CREATING;
|
||||
extern const int wxEVT_PLOT_AREA_SEL_CREATED;
|
||||
extern const int wxEVT_PLOT_AREA_SEL_CHANGING;
|
||||
extern const int wxEVT_PLOT_AREA_SEL_CHANGED;
|
||||
extern const int wxEVT_PLOT_BEGIN_X_LABEL_EDIT;
|
||||
extern const int wxEVT_PLOT_END_X_LABEL_EDIT;
|
||||
extern const int wxEVT_PLOT_BEGIN_Y_LABEL_EDIT;
|
||||
extern const int wxEVT_PLOT_END_Y_LABEL_EDIT;
|
||||
extern const int wxEVT_PLOT_BEGIN_TITLE_EDIT;
|
||||
extern const int wxEVT_PLOT_END_TITLE_EDIT;
|
||||
extern const int wxEVT_PLOT_AREA_CREATE;
|
||||
|
||||
|
||||
#define wxPLOT_X_AXIS 0x0004
|
||||
#define wxPLOT_Y_AXIS 0x0008
|
||||
#define wxPLOT_BUTTON_MOVE 0x0010
|
||||
#define wxPLOT_BUTTON_ZOOM 0x0020
|
||||
#define wxPLOT_BUTTON_ENLARGE 0x0040
|
||||
|
||||
#define wxPLOT_BUTTON_ALL (wxPLOT_BUTTON_MOVE|wxPLOT_BUTTON_ZOOM|wxPLOT_BUTTON_ENLARGE)
|
||||
#define wxPLOT_DEFAULT (wxPLOT_X_AXIS|wxPLOT_Y_AXIS | wxPLOT_BUTTON_ALL)
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotEvent
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotEvent: public wxNotifyEvent
|
||||
{
|
||||
public:
|
||||
wxPlotEvent( wxEventType commandType = wxEVT_NULL, int id = 0 );
|
||||
|
||||
wxPlotCurve *GetCurve()
|
||||
{ return m_curve; }
|
||||
void SetCurve( wxPlotCurve *curve )
|
||||
{ m_curve = curve; }
|
||||
|
||||
double GetZoom()
|
||||
{ return m_zoom; }
|
||||
void SetZoom( double zoom )
|
||||
{ m_zoom = zoom; }
|
||||
|
||||
wxInt32 GetPosition()
|
||||
{ return m_position; }
|
||||
void SetPosition( wxInt32 pos )
|
||||
{ m_position = pos; }
|
||||
|
||||
private:
|
||||
wxPlotCurve *m_curve;
|
||||
double m_zoom;
|
||||
wxInt32 m_position;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotCurve
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotCurve: public wxObject
|
||||
{
|
||||
public:
|
||||
wxPlotCurve( int offsetY, double startY, double endY );
|
||||
|
||||
virtual wxInt32 GetStartX() = 0;
|
||||
virtual wxInt32 GetEndX() = 0;
|
||||
|
||||
virtual double GetY( wxInt32 x ) = 0;
|
||||
|
||||
void SetStartY( double startY )
|
||||
{ m_startY = startY; }
|
||||
double GetStartY()
|
||||
{ return m_startY; }
|
||||
void SetEndY( double endY )
|
||||
{ m_endY = endY; }
|
||||
double GetEndY()
|
||||
{ return m_endY; }
|
||||
void SetOffsetY( int offsetY )
|
||||
{ m_offsetY = offsetY; }
|
||||
int GetOffsetY()
|
||||
{ return m_offsetY; }
|
||||
|
||||
void SetPenNormal( const wxPen &pen )
|
||||
{ m_penNormal = pen; }
|
||||
void SetPenSelected( const wxPen &pen )
|
||||
{ m_penSelected = pen; }
|
||||
|
||||
private:
|
||||
int m_offsetY;
|
||||
double m_startY;
|
||||
double m_endY;
|
||||
wxPen m_penNormal;
|
||||
wxPen m_penSelected;
|
||||
|
||||
DECLARE_ABSTRACT_CLASS(wxPlotCurve)
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotOnOffCurve
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotOnOff
|
||||
{
|
||||
public:
|
||||
wxPlotOnOff() { }
|
||||
|
||||
wxInt32 m_on;
|
||||
wxInt32 m_off;
|
||||
void *m_clientData;
|
||||
};
|
||||
|
||||
WX_DECLARE_EXPORTED_OBJARRAY(wxPlotOnOff, wxArrayPlotOnOff);
|
||||
|
||||
class WXDLLEXPORT wxPlotOnOffCurve: public wxObject
|
||||
{
|
||||
public:
|
||||
wxPlotOnOffCurve( int offsetY );
|
||||
|
||||
wxInt32 GetStartX()
|
||||
{ return m_minX; }
|
||||
wxInt32 GetEndX()
|
||||
{ return m_maxX; }
|
||||
|
||||
void SetOffsetY( int offsetY )
|
||||
{ m_offsetY = offsetY; }
|
||||
int GetOffsetY()
|
||||
{ return m_offsetY; }
|
||||
|
||||
void Add( wxInt32 on, wxInt32 off, void *clientData = NULL );
|
||||
size_t GetCount();
|
||||
|
||||
wxInt32 GetOn( size_t index );
|
||||
wxInt32 GetOff( size_t index );
|
||||
void* GetClientData( size_t index );
|
||||
wxPlotOnOff *GetAt( size_t index );
|
||||
|
||||
virtual void DrawOnLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end, void *clientData );
|
||||
virtual void DrawOffLine( wxDC &dc, wxCoord y, wxCoord start, wxCoord end );
|
||||
|
||||
private:
|
||||
int m_offsetY;
|
||||
wxInt32 m_minX;
|
||||
wxInt32 m_maxX;
|
||||
|
||||
wxArrayPlotOnOff m_marks;
|
||||
|
||||
DECLARE_CLASS(wxPlotOnOffCurve)
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotArea
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotArea: public wxWindow
|
||||
{
|
||||
public:
|
||||
wxPlotArea() {}
|
||||
wxPlotArea( wxPlotWindow *parent );
|
||||
|
||||
void OnPaint( wxPaintEvent &event );
|
||||
void OnMouse( wxMouseEvent &event );
|
||||
|
||||
void DrawCurve( wxDC *dc, wxPlotCurve *curve, int from = -1, int to = -1 );
|
||||
void DrawOnOffCurve( wxDC *dc, wxPlotOnOffCurve *curve, int from = -1, int to = -1 );
|
||||
void DeleteCurve( wxPlotCurve *curve, int from = -1, int to = -1 );
|
||||
|
||||
virtual void ScrollWindow( int dx, int dy, const wxRect *rect );
|
||||
|
||||
private:
|
||||
wxPlotWindow *m_owner;
|
||||
bool m_zooming;
|
||||
|
||||
DECLARE_CLASS(wxPlotArea)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotXAxisArea
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotXAxisArea: public wxWindow
|
||||
{
|
||||
public:
|
||||
wxPlotXAxisArea() {}
|
||||
wxPlotXAxisArea( wxPlotWindow *parent );
|
||||
|
||||
void OnPaint( wxPaintEvent &event );
|
||||
void OnMouse( wxMouseEvent &event );
|
||||
|
||||
private:
|
||||
wxPlotWindow *m_owner;
|
||||
|
||||
DECLARE_CLASS(wxPlotXAxisArea)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotYAxisArea
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotYAxisArea: public wxWindow
|
||||
{
|
||||
public:
|
||||
wxPlotYAxisArea() {}
|
||||
wxPlotYAxisArea( wxPlotWindow *parent );
|
||||
|
||||
void OnPaint( wxPaintEvent &event );
|
||||
void OnMouse( wxMouseEvent &event );
|
||||
|
||||
private:
|
||||
wxPlotWindow *m_owner;
|
||||
|
||||
DECLARE_CLASS(wxPlotYAxisArea)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxPlotWindow
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxPlotWindow: public wxScrolledWindow
|
||||
{
|
||||
public:
|
||||
wxPlotWindow() {}
|
||||
wxPlotWindow( wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size, int flags = wxPLOT_DEFAULT );
|
||||
~wxPlotWindow();
|
||||
|
||||
// curve accessors
|
||||
// ---------------
|
||||
|
||||
void Add( wxPlotCurve *curve );
|
||||
void Delete( wxPlotCurve* curve );
|
||||
|
||||
size_t GetCount();
|
||||
wxPlotCurve *GetAt( size_t n );
|
||||
|
||||
void SetCurrent( wxPlotCurve* current );
|
||||
wxPlotCurve *GetCurrent();
|
||||
|
||||
// mark list accessors
|
||||
// -------------------
|
||||
|
||||
void Add( wxPlotOnOffCurve *curve );
|
||||
void Delete( wxPlotOnOffCurve* curve );
|
||||
|
||||
size_t GetOnOffCurveCount();
|
||||
wxPlotOnOffCurve *GetOnOffCurveAt( size_t n );
|
||||
|
||||
// vertical representation
|
||||
// -----------------------
|
||||
|
||||
void Move( wxPlotCurve* curve, int pixels_up );
|
||||
void Enlarge( wxPlotCurve *curve, double factor );
|
||||
|
||||
// horizontal representation
|
||||
// -------------------------
|
||||
|
||||
void SetUnitsPerValue( double upv );
|
||||
double GetUnitsPerValue()
|
||||
{ return m_xUnitsPerValue; }
|
||||
|
||||
void SetZoom( double zoom );
|
||||
double GetZoom()
|
||||
{ return m_xZoom; }
|
||||
|
||||
// options
|
||||
// -------
|
||||
|
||||
void SetScrollOnThumbRelease( bool scrollOnThumbRelease = TRUE )
|
||||
{ m_scrollOnThumbRelease = scrollOnThumbRelease; }
|
||||
bool GetScrollOnThumbRelease()
|
||||
{ return m_scrollOnThumbRelease; }
|
||||
|
||||
void SetEnlargeAroundWindowCentre( bool enlargeAroundWindowCentre = TRUE )
|
||||
{ m_enlargeAroundWindowCentre = enlargeAroundWindowCentre; }
|
||||
bool GetEnlargeAroundWindowCentre()
|
||||
{ return m_enlargeAroundWindowCentre; }
|
||||
|
||||
// events (may be overridden)
|
||||
// --------------------------
|
||||
|
||||
void OnMoveUp( wxCommandEvent& event );
|
||||
void OnMoveDown( wxCommandEvent& event );
|
||||
|
||||
void OnEnlarge( wxCommandEvent& event );
|
||||
void OnShrink( wxCommandEvent& event );
|
||||
void OnZoomIn( wxCommandEvent& event );
|
||||
void OnZoomOut( wxCommandEvent& event );
|
||||
|
||||
void OnScroll2( wxScrollWinEvent& event );
|
||||
|
||||
// utilities
|
||||
// ---------
|
||||
|
||||
void RedrawEverything();
|
||||
void RedrawXAxis();
|
||||
void RedrawYAxis();
|
||||
|
||||
void ResetScrollbar();
|
||||
|
||||
private:
|
||||
friend class wxPlotArea;
|
||||
friend class wxPlotXAxisArea;
|
||||
friend class wxPlotYAxisArea;
|
||||
|
||||
double m_xUnitsPerValue;
|
||||
double m_xZoom;
|
||||
|
||||
wxList m_curves;
|
||||
wxList m_onOffCurves;
|
||||
|
||||
wxPlotArea *m_area;
|
||||
wxPlotXAxisArea *m_xaxis;
|
||||
wxPlotYAxisArea *m_yaxis;
|
||||
wxPlotCurve *m_current;
|
||||
|
||||
bool m_scrollOnThumbRelease;
|
||||
bool m_enlargeAroundWindowCentre;
|
||||
|
||||
DECLARE_CLASS(wxPlotWindow)
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// plot event macros
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
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 },
|
||||
#define EVT_PLOT_CLICKED(id, fn) { wxEVT_PLOT_CLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_DOUBLECLICKED(id, fn) { wxEVT_PLOT_DOUBLECLICKED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_ZOOM_IN(id, fn) { wxEVT_PLOT_ZOOM_IN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_ZOOM_OUT(id, fn) { wxEVT_PLOT_ZOOM_OUT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_VALUE_SEL_CREATING(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_VALUE_SEL_CREATED(id, fn) { wxEVT_PLOT_VALUE_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_VALUE_SEL_CHANGING(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_VALUE_SEL_CHANGED(id, fn) { wxEVT_PLOT_VALUE_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_AREA_SEL_CREATING(id, fn) { wxEVT_PLOT_AREA_SEL_CREATING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_AREA_SEL_CREATED(id, fn) { wxEVT_PLOT_AREA_SEL_CREATED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_AREA_SEL_CHANGING(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_AREA_SEL_CHANGED(id, fn) { wxEVT_PLOT_AREA_SEL_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_PLOT_BEGIN_X_LABEL_EDIT(id, fn) { 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) { 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) { 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) { wxEVT_PLOT_END_Y_LABEL_EDIT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxCommandEventFunction) (wxNotifyEventFunction) (wxPlotEventFunction) & fn, (wxObject *) NULL },
|
||||
#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_
|
@@ -1,8 +0,0 @@
|
||||
|
||||
// For /plot.cpp
|
||||
plot_up_bmp BITMAP "wx/plot/plot_up.bmp"
|
||||
plot_dwn_bmp BITMAP "wx/plot/plot_dwn.bmp"
|
||||
plot_enl_bmp BITMAP "wx/plot/plot_enl.bmp"
|
||||
plot_shr_bmp BITMAP "wx/plot/plot_shr.bmp"
|
||||
plot_zin_bmp BITMAP "wx/plot/plot_zin.bmp"
|
||||
plot_zot_bmp BITMAP "wx/plot/plot_zot.bmp"
|
@@ -29,9 +29,6 @@
|
||||
// and regenerate
|
||||
|
||||
#define wxSTC_INVALID_POSITION -1
|
||||
|
||||
// Define start of Scintilla messages to be greater than all edit (EM_*) messages
|
||||
// as many EM_ messages can be used although that use is deprecated.
|
||||
#define wxSTC_START 2000
|
||||
#define wxSTC_OPTIONAL_START 3000
|
||||
#define wxSTC_LEXER_START 4000
|
||||
@@ -57,43 +54,16 @@
|
||||
#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
|
||||
#define wxSTC_MARK_CHARACTER 10000
|
||||
|
||||
// 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
|
||||
#define wxSTC_MARGIN_NUMBER 1
|
||||
|
||||
// Styles in range 32..37 are predefined for parts of the UI and are not used as normal styles.
|
||||
// Styles 38 and 39 are for future use.
|
||||
#define wxSTC_STYLE_DEFAULT 32
|
||||
#define wxSTC_STYLE_LINENUMBER 33
|
||||
#define wxSTC_STYLE_BRACELIGHT 34
|
||||
#define wxSTC_STYLE_BRACEBAD 35
|
||||
#define wxSTC_STYLE_CONTROLCHAR 36
|
||||
#define wxSTC_STYLE_INDENTGUIDE 37
|
||||
#define wxSTC_STYLE_LASTPREDEFINED 39
|
||||
#define wxSTC_STYLE_MAX 127
|
||||
|
||||
// Character set identifiers are used in StyleSetCharacterSet.
|
||||
@@ -117,9 +87,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
|
||||
@@ -129,7 +96,7 @@
|
||||
#define wxSTC_INDIC0_MASK 32
|
||||
#define wxSTC_INDIC1_MASK 64
|
||||
#define wxSTC_INDIC2_MASK 128
|
||||
#define wxSTC_INDICS_MASK 224
|
||||
#define wxSTC_INDICS_MASK 32 | 64 | 128
|
||||
|
||||
// PrintColourMode - use same colours as screen.
|
||||
#define wxSTC_PRINT_NORMAL 0
|
||||
@@ -139,15 +106,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
|
||||
@@ -157,7 +121,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
|
||||
@@ -207,31 +170,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.
|
||||
@@ -291,20 +238,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
|
||||
#define wxSTC_LEX_NNCRONTAB 26
|
||||
|
||||
// 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
|
||||
@@ -337,11 +270,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
|
||||
#define wxSTC_C_COMMENTDOCKEYWORD 17
|
||||
#define wxSTC_C_COMMENTDOCKEYWORDERROR 18
|
||||
|
||||
// Lexical states for SCLEX_HTML, SCLEX_XML
|
||||
#define wxSTC_H_DEFAULT 0
|
||||
@@ -369,22 +297,6 @@
|
||||
// More HTML
|
||||
#define wxSTC_H_VALUE 19
|
||||
|
||||
// X-Code
|
||||
#define wxSTC_H_XCCOMMENT 20
|
||||
|
||||
// SGML
|
||||
#define wxSTC_H_SGML_DEFAULT 21
|
||||
#define wxSTC_H_SGML_COMMAND 22
|
||||
#define wxSTC_H_SGML_1ST_PARAM 23
|
||||
#define wxSTC_H_SGML_DOUBLESTRING 24
|
||||
#define wxSTC_H_SGML_SIMPLESTRING 25
|
||||
#define wxSTC_H_SGML_ERROR 26
|
||||
#define wxSTC_H_SGML_SPECIAL 27
|
||||
#define wxSTC_H_SGML_ENTITY 28
|
||||
#define wxSTC_H_SGML_COMMENT 29
|
||||
#define wxSTC_H_SGML_1ST_PARAM_COMMENT 30
|
||||
#define wxSTC_H_SGML_BLOCK_DEFAULT 31
|
||||
|
||||
// Embedded Javascript
|
||||
#define wxSTC_HJ_START 40
|
||||
#define wxSTC_HJ_DEFAULT 41
|
||||
@@ -398,7 +310,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
|
||||
@@ -413,7 +324,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
|
||||
@@ -474,12 +384,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
|
||||
@@ -494,20 +403,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
|
||||
@@ -530,8 +431,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
|
||||
@@ -539,101 +438,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
|
||||
|
||||
// Lexical states for the SCLEX_NNCRONTAB (nnCron crontab Lexer)
|
||||
#define wxSTC_NNCRONTAB_DEFAULT 0
|
||||
#define wxSTC_NNCRONTAB_COMMENT 1
|
||||
#define wxSTC_NNCRONTAB_TASK 2
|
||||
#define wxSTC_NNCRONTAB_SECTION 3
|
||||
#define wxSTC_NNCRONTAB_KEYWORD 4
|
||||
#define wxSTC_NNCRONTAB_MODIFIER 5
|
||||
#define wxSTC_NNCRONTAB_ASTERISK 6
|
||||
#define wxSTC_NNCRONTAB_NUMBER 7
|
||||
#define wxSTC_NNCRONTAB_STRING 8
|
||||
#define wxSTC_NNCRONTAB_ENVIRONMENT 9
|
||||
#define wxSTC_NNCRONTAB_IDENTIFIER 10
|
||||
|
||||
// END of generated section
|
||||
//----------------------------------------------------------------------
|
||||
@@ -662,8 +466,6 @@ public:
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = 0,
|
||||
const char* name = "styledtext");
|
||||
%pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
|
||||
|
||||
#else
|
||||
wxStyledTextCtrl(wxWindow *parent, wxWindowID id,
|
||||
const wxPoint& pos = wxDefaultPosition,
|
||||
@@ -751,10 +553,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);
|
||||
|
||||
@@ -767,17 +565,13 @@ public:
|
||||
|
||||
// Retrieve the text of the line containing the caret.
|
||||
// Returns the index of the caret on the line.
|
||||
#ifdef SWIG
|
||||
wxString GetCurLine(int* OUTPUT);
|
||||
#else
|
||||
wxString GetCurLine(int* linePos=NULL);
|
||||
#endif
|
||||
wxString GetCurLine(int* OUTPUT=NULL);
|
||||
|
||||
// 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();
|
||||
@@ -896,9 +690,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);
|
||||
|
||||
@@ -969,18 +760,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.
|
||||
@@ -1034,15 +813,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);
|
||||
|
||||
@@ -1150,13 +920,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();
|
||||
@@ -1233,50 +1003,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.
|
||||
// Text is counted so it can contain nulls.
|
||||
// Returns the length of the replacement text.
|
||||
int ReplaceTarget(const wxString& text);
|
||||
|
||||
// Replace the target text with the argument text after \d processing.
|
||||
// Text is counted so it can contain nulls.
|
||||
// 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. Text is counted so it can contain nulls.
|
||||
// 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);
|
||||
|
||||
@@ -1339,31 +1065,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);
|
||||
|
||||
@@ -1415,11 +1116,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.
|
||||
@@ -1455,51 +1154,6 @@ public:
|
||||
// Get which document modification events are sent to the container.
|
||||
int GetModEventMask();
|
||||
|
||||
// Change internal focus flag
|
||||
void SetSTCFocus(bool focus);
|
||||
|
||||
// Get internal focus flag
|
||||
bool GetSTCFocus();
|
||||
|
||||
// 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();
|
||||
|
||||
@@ -1521,9 +1175,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...
|
||||
@@ -1589,10 +1240,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);
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -1605,8 +1252,7 @@ private:
|
||||
void OnMouseLeftDown(wxMouseEvent& evt);
|
||||
void OnMouseMove(wxMouseEvent& evt);
|
||||
void OnMouseLeftUp(wxMouseEvent& evt);
|
||||
void OnContextMenu(wxContextMenuEvent& evt);
|
||||
void OnMouseWheel(wxMouseEvent& evt);
|
||||
void OnMouseRightUp(wxMouseEvent& evt);
|
||||
void OnChar(wxKeyEvent& evt);
|
||||
void OnKeyDown(wxKeyEvent& evt);
|
||||
void OnLoseFocus(wxFocusEvent& evt);
|
||||
@@ -1621,6 +1267,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)
|
||||
@@ -1628,7 +1276,6 @@ private:
|
||||
ScintillaWX* m_swx;
|
||||
wxStopWatch m_stopWatch;
|
||||
|
||||
bool m_lastKeyDownConsumed;
|
||||
|
||||
friend class ScintillaWX;
|
||||
friend class Platform;
|
||||
@@ -1656,9 +1303,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; }
|
||||
@@ -1674,9 +1318,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;
|
||||
@@ -1705,84 +1346,46 @@ 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)
|
||||
END_DECLARE_EVENT_TYPES()
|
||||
#else
|
||||
enum {
|
||||
wxEVT_STC_CHANGE,
|
||||
wxEVT_STC_STYLENEEDED,
|
||||
wxEVT_STC_CHARADDED,
|
||||
wxEVT_STC_SAVEPOINTREACHED,
|
||||
wxEVT_STC_SAVEPOINTLEFT,
|
||||
wxEVT_STC_ROMODIFYATTEMPT,
|
||||
wxEVT_STC_KEY,
|
||||
wxEVT_STC_DOUBLECLICK,
|
||||
wxEVT_STC_UPDATEUI,
|
||||
wxEVT_STC_MODIFIED,
|
||||
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,
|
||||
};
|
||||
#endif
|
||||
|
||||
// Event types
|
||||
enum {
|
||||
wxEVT_STC_CHANGE = 1650,
|
||||
wxEVT_STC_STYLENEEDED,
|
||||
wxEVT_STC_CHARADDED,
|
||||
wxEVT_STC_UPDATEUI,
|
||||
wxEVT_STC_SAVEPOINTREACHED,
|
||||
wxEVT_STC_SAVEPOINTLEFT,
|
||||
wxEVT_STC_ROMODIFYATTEMPT,
|
||||
wxEVT_STC_DOUBLECLICK,
|
||||
wxEVT_STC_MODIFIED,
|
||||
wxEVT_STC_KEY,
|
||||
wxEVT_STC_MACRORECORD,
|
||||
wxEVT_STC_MARGINCLICK,
|
||||
wxEVT_STC_NEEDSHOWN,
|
||||
wxEVT_STC_POSCHANGED
|
||||
};
|
||||
|
||||
|
||||
#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) { wxEVT_STC_CHANGE, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_STYLENEEDED(id, fn) { wxEVT_STC_STYLENEEDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_CHARADDED(id, fn) { wxEVT_STC_CHARADDED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_UPDATEUI(id, fn) { wxEVT_STC_UPDATEUI, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_SAVEPOINTREACHED(id, fn) { wxEVT_STC_SAVEPOINTREACHED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_SAVEPOINTLEFT(id, fn) { wxEVT_STC_SAVEPOINTLEFT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_ROMODIFYATTEMPT(id, fn) { wxEVT_STC_ROMODIFYATTEMPT, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_DOUBLECLICK(id, fn) { wxEVT_STC_DOUBLECLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_MODIFIED(id, fn) { wxEVT_STC_MODIFIED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_KEY(id, fn) { wxEVT_STC_KEY, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_MACRORECORD(id, fn) { wxEVT_STC_MACRORECORD, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_MARGINCLICK(id, fn) { wxEVT_STC_MARGINCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_NEEDSHOWN(id, fn) { wxEVT_STC_NEEDSHOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
#define EVT_STC_POSCHANGED(id, fn) { wxEVT_STC_POSCHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxStyledTextEventFunction) & fn, (wxObject *) NULL },
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -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_
|
@@ -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_
|
@@ -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_
|
@@ -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_
|
@@ -1,29 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_cald.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_CALD_H_
|
||||
#define _WX_XH_CALD_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_cald.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
class WXXMLDLLEXPORT wxCalendarCtrlXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxCalendarCtrlXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_CALD_H_
|
@@ -1,35 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_chckb.h
|
||||
// Purpose: XML resource handler for wxCheckBox
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_CHCKB_H_
|
||||
#define _WX_XH_CHCKB_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_chckb.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_CHECKBOX
|
||||
|
||||
class WXXMLDLLEXPORT wxCheckBoxXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxCheckBoxXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#endif // _WX_XH_CHECKBOX_H_
|
||||
|
@@ -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_
|
@@ -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_
|
@@ -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_
|
@@ -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_
|
@@ -1,29 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_frame.h
|
||||
// Purpose: XML resource handler for dialogs
|
||||
// Author: Vaclav Slavik & Aleks.
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_FRAME_H_
|
||||
#define _WX_XH_FRAME_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_frame.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
class WXXMLDLLEXPORT wxFrameXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxFrameXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_FRAME_H_
|
@@ -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_
|
@@ -1,34 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_html.h
|
||||
// Purpose: XML resource handler for wxHtmlWindow
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_HTML_H_
|
||||
#define _WX_XH_HTML_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_html.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_HTML
|
||||
|
||||
class WXXMLDLLEXPORT wxHtmlWindowXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxHtmlWindowXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_SLIDER_H_
|
@@ -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_
|
@@ -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_
|
@@ -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_
|
@@ -1,37 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_notbk.h
|
||||
// Purpose: XML resource handler for wxNotebook
|
||||
// Author: Vaclav Slavik
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_NOTBK_H_
|
||||
#define _WX_XH_NOTBK_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_notbk.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
#if wxUSE_NOTEBOOK
|
||||
|
||||
class WXDLLEXPORT wxNotebook;
|
||||
|
||||
class WXXMLDLLEXPORT wxNotebookXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxNotebookXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
|
||||
private:
|
||||
bool m_isInside;
|
||||
wxNotebook *m_notebook;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_NOTBK_H_
|
@@ -1,29 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_panel.h
|
||||
// Purpose: XML resource handler for panels
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_PANEL_H_
|
||||
#define _WX_XH_PANEL_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_panel.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
class WXXMLDLLEXPORT wxPanelXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxPanelXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_PANEL_H_
|
@@ -1,33 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_radbt.h
|
||||
// Purpose: XML resource handler for radio buttons
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_RADBT_H_
|
||||
#define _WX_XH_RADBT_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_radbt.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_RADIOBOX
|
||||
|
||||
class WXXMLDLLEXPORT wxRadioButtonXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxRadioButtonXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_RADIOBUTTON_H_
|
@@ -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_
|
@@ -1,39 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_scrol.h
|
||||
// Purpose: XML resource handler for wxScrollBar
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Brian Gavin
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_SCROL_H_
|
||||
#define _WX_XH_SCROL_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_scrol.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
#include "wx/defs.h"
|
||||
|
||||
|
||||
|
||||
class WXXMLDLLEXPORT wxScrollBarXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
enum
|
||||
{
|
||||
wxSL_DEFAULT_VALUE = 0,
|
||||
wxSL_DEFAULT_MIN = 0,
|
||||
wxSL_DEFAULT_MAX = 100
|
||||
};
|
||||
|
||||
public:
|
||||
wxScrollBarXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_SCROL_H_
|
@@ -1,38 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_sizer.h
|
||||
// Purpose: XML resource handler for wxBoxSizer
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/04/24
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_SIZER_H_
|
||||
#define _WX_XH_SIZER_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_sizer.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
|
||||
class WXDLLEXPORT wxSizer;
|
||||
|
||||
class WXXMLDLLEXPORT wxSizerXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxSizerXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
|
||||
private:
|
||||
bool m_isInside;
|
||||
wxSizer *m_parentSizer;
|
||||
|
||||
bool IsSizerNode(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_BOXSIZER_H_
|
@@ -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_
|
@@ -1,55 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_spin.h
|
||||
// Purpose: XML resource handler for wxSpinButton
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Bob Mitchell and Verant Interactive
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_SPIN_H_
|
||||
#define _WX_XH_SPIN_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_spin.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
#include "wx/defs.h"
|
||||
|
||||
#if wxUSE_SPINBTN
|
||||
class WXXMLDLLEXPORT wxSpinButtonXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
enum
|
||||
{
|
||||
wxSP_DEFAULT_VALUE = 0,
|
||||
wxSP_DEFAULT_MIN = 0,
|
||||
wxSP_DEFAULT_MAX = 100
|
||||
};
|
||||
|
||||
public:
|
||||
wxSpinButtonXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
#endif
|
||||
|
||||
#if wxUSE_SPINCTRL
|
||||
class WXXMLDLLEXPORT wxSpinCtrlXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
enum
|
||||
{
|
||||
wxSP_DEFAULT_VALUE = 0,
|
||||
wxSP_DEFAULT_MIN = 0,
|
||||
wxSP_DEFAULT_MAX = 100
|
||||
};
|
||||
|
||||
public:
|
||||
wxSpinCtrlXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_SPIN_H_
|
@@ -1,30 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_stbmp.h
|
||||
// Purpose: XML resource handler for wxStaticBitmap
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/04/22
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_STBMP_H_
|
||||
#define _WX_XH_STBMP_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_stbmp.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
|
||||
class WXXMLDLLEXPORT wxStaticBitmapXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxStaticBitmapXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_STBMP_H_
|
@@ -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_
|
@@ -1,32 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_stlin.h
|
||||
// Purpose: XML resource handler for wxStaticLine
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/09/00
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_STLIN_H_
|
||||
#define _WX_XH_STLIN_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_stlin.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
#if wxUSE_STATLINE
|
||||
|
||||
class WXXMLDLLEXPORT wxStaticLineXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxStaticLineXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_STLIN_H_
|
@@ -1,30 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_sttxt.h
|
||||
// Purpose: XML resource handler for wxStaticBitmap
|
||||
// Author: Bob Mitchell
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Bob Mitchell
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_STTXT_H_
|
||||
#define _WX_XH_STTXT_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_sttxt.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
|
||||
class WXXMLDLLEXPORT wxStaticTextXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxStaticTextXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_STBMP_H_
|
@@ -1,30 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_text.h
|
||||
// Purpose: XML resource handler for wxTextCtrl
|
||||
// Author: Aleksandras Gluchovas
|
||||
// Created: 2000/03/21
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Aleksandras Gluchovas
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_TEXT_H_
|
||||
#define _WX_XH_TEXT_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_text.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
|
||||
class WXXMLDLLEXPORT wxTextCtrlXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxTextCtrlXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_TEXT_H_
|
@@ -1,38 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_toolb.h
|
||||
// Purpose: XML resource handler for wxBoxSizer
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/08/11
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_TOOLB_H_
|
||||
#define _WX_XH_TOOLB_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_toolb.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
#if wxUSE_TOOLBAR
|
||||
|
||||
class WXDLLEXPORT wxToolBar;
|
||||
|
||||
class WXXMLDLLEXPORT wxToolBarXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxToolBarXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
|
||||
private:
|
||||
bool m_isInside;
|
||||
wxToolBar *m_toolbar;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // _WX_XH_TOOLBAR_H_
|
@@ -1,29 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_tree.h
|
||||
// Purpose: XML resource handler for wxTreeCtrl
|
||||
// Author: Brian Gavin
|
||||
// Created: 2000/09/09
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Brian Gavin
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_TREE_H_
|
||||
#define _WX_XH_TREE_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_tree.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
class WXXMLDLLEXPORT wxTreeCtrlXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxTreeCtrlXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_TREE_H_
|
@@ -1,30 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: xh_unkwn.h
|
||||
// Purpose: XML resource handler for unkown widget
|
||||
// Author: Vaclav Slavik
|
||||
// Created: 2000/03/05
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 2000 Vaclav Slavik
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_XH_UNKWN_H_
|
||||
#define _WX_XH_UNKWN_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "xh_unkwn.h"
|
||||
#endif
|
||||
|
||||
#include "wx/xrc/xmlres.h"
|
||||
|
||||
|
||||
class WXXMLDLLEXPORT wxUnknownWidgetXmlHandler : public wxXmlResourceHandler
|
||||
{
|
||||
public:
|
||||
wxUnknownWidgetXmlHandler();
|
||||
virtual wxObject *DoCreateResource();
|
||||
virtual bool CanHandle(wxXmlNode *node);
|
||||
};
|
||||
|
||||
|
||||
#endif // _WX_XH_UNKWN_H_
|
@@ -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_
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user