Compare commits

..

1 Commits

Author SHA1 Message Date
Bryan Petty
3e211ae1b7 This commit was manufactured by cvs2svn to create tag 'COPY_OBJECT'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/COPY_OBJECT@12564 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-21 20:51:16 +00:00
1111 changed files with 42263 additions and 357085 deletions

View File

@@ -125,15 +125,11 @@ Refer to the readme.txt and install.txt files in docs/mac to build
wxWindows under Classic Mac OS using CodeWarrior. wxWindows under Classic Mac OS using CodeWarrior.
If you are checking out the CVS sources using cvs under Mac OS X and If you are checking out the CVS sources using cvs under Mac OS X and
compiling under Classic Mac OS: compiling under Classic Mac OS, make sure that all text files have a
Mac OS type of 'TEXT' otherwise CodeWarrior may ignore them. Checking
- make sure that all text files have a Mac OS type of 'TEXT' otherwise out the CVS sources using cvs under Mac OS X creates untyped files
CodeWarrior may ignore them. Checking out the CVS sources using cvs which can lead to compialtion errors under CodeWarrior which are hard
under Mac OS X creates untyped files which can lead to compilation to track down.
errors under CodeWarrior which are hard to track down.
- convert the xml files to CodeWarrior binary projects using the supplied
AppleScript in docs/mac (M5xml2mcp.applescript for CodeWarrior 5.3)
V) MacOS X using configure and the Developer Tools V) MacOS X using configure and the Developer Tools
---------------------------------------- ----------------------------------------

View File

@@ -114,7 +114,6 @@ INTLDIR = $(WXDIR)/locale
########################## Archive name ############################### ########################## Archive name ###############################
# append a version suffix x.y.z to all file names # append a version suffix x.y.z to all file names
VER_MAJMIN=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER)
VER_SUFFIX=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)$(EXTRA_VER) VER_SUFFIX=$(WX_MAJOR_VERSION_NUMBER).$(WX_MINOR_VERSION_NUMBER).$(WX_RELEASE_NUMBER)$(EXTRA_VER)
WXARCHIVE=@DISTDIR@-$(VER_SUFFIX).tar.gz WXARCHIVE=@DISTDIR@-$(VER_SUFFIX).tar.gz
WXGLARCHIVE=@DISTDIR@-gl-$(VER_SUFFIX).tar.gz WXGLARCHIVE=@DISTDIR@-gl-$(VER_SUFFIX).tar.gz
@@ -395,15 +394,10 @@ CREATE_INSTALLED_LINKS_GL: preinstall_gl
afminstall: preinstall afminstall: preinstall
@if test ! -d $(datadir); then $(INSTALL) -d $(datadir); fi @if test ! -d $(datadir); then $(INSTALL) -d $(datadir); fi
$(INSTALL) -d $(datadir)/wx $(INSTALL) -d $(datadir)/wx
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN) $(INSTALL) -d $(datadir)/wx/afm
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/afm $(INSTALL) -d $(datadir)/wx/gs_afm
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/gs_afm $(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/afm
$(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/$(VER_MAJMIN)/afm $(INSTALL_DATA) $(top_srcdir)/misc/gs_afm/*.afm $(datadir)/wx/gs_afm
$(INSTALL_DATA) $(top_srcdir)/misc/gs_afm/*.afm $(datadir)/wx/$(VER_MAJMIN)/gs_afm
m4datainstall: preinstall
$(INSTALL) -d $(datadir)/aclocal
$(INSTALL_DATA) $(top_srcdir)/wxwin.m4 $(datadir)/aclocal
# this is the real install target: copies the library, wx-config and the # this is the real install target: copies the library, wx-config and the
# headers to the installation directory # headers to the installation directory
@@ -418,7 +412,7 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
$(INSTALL_SCRIPT) $(top_builddir)/wx@TOOLCHAIN_NAME@-config $(bindir)/wx@TOOLCHAIN_NAME@-config $(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 cd $(bindir) && rm -f wx-config && $(LN_S) wx@TOOLCHAIN_NAME@-config wx-config
@INSTALL_LIBRARY@ $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@ $(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY@ $(libdir)/@WX_TARGET_LIBRARY@
@if test "x@WX_LIBRARY_IMPORTLIB@" != "x"; then \ @if test "x@WX_LIBRARY_IMPORTLIB@" != "x"; then \
$(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_IMPORTLIB@ $(libdir)/@WX_LIBRARY_IMPORTLIB@; fi $(INSTALL_PROGRAM) $(top_builddir)/lib/@WX_LIBRARY_IMPORTLIB@ $(libdir)/@WX_LIBRARY_IMPORTLIB@; fi
@@ -436,9 +430,6 @@ preinstall: $(build_libdir)/@WX_TARGET_LIBRARY@ $(top_builddir)/wx@TOOLCHAIN_NAM
@if test "$(USE_GUI)" = 1; then $(INSTALL) -d $(includedir)/wx/generic; 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 @if test "@TOOLKIT_DIR@" = "msw"; then $(INSTALL) -d $(includedir)/wx/msw/ole; fi
@# always install msw headers for wxBase, it's much simpler
@if test "$(USE_GUI)" = 0; then $(INSTALL) -d $(includedir)/wx/msw; fi
$(INSTALL) -d $(includedir)/wx/protocol $(INSTALL) -d $(includedir)/wx/protocol
$(INSTALL) -d $(includedir)/wx/unix $(INSTALL) -d $(includedir)/wx/unix
@list='$(HEADERS)'; for p in $$list; do \ @list='$(HEADERS)'; for p in $$list; do \
@@ -466,9 +457,9 @@ preinstall_gl: $(build_libdir)/@WX_TARGET_LIBRARY_GL@
@echo " Installing wxWindows OpenGl add-on..." @echo " Installing wxWindows OpenGl add-on..."
@echo " " @echo " "
@if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi @if test ! -d $(libdir); then $(INSTALL) -d $(libdir); fi
@INSTALL_LIBRARY@ $(build_libdir)/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@ $(INSTALL_PROGRAM) $(build_libdir)/@WX_TARGET_LIBRARY_GL@ $(libdir)/@WX_TARGET_LIBRARY_GL@
install: @AFMINSTALL@ @WX_ALL_INSTALLED@ m4datainstall install: @AFMINSTALL@ @WX_ALL_INSTALLED@
@echo " " @echo " "
@echo " The installation of wxWindows is finished. On certain" @echo " The installation of wxWindows is finished. On certain"
@echo " platforms (e.g. Linux) you'll now have to run ldconfig" @echo " platforms (e.g. Linux) you'll now have to run ldconfig"
@@ -533,8 +524,9 @@ uninstall:
ALL_DIST: distclean ALL_DIST: distclean
mkdir _dist_dir mkdir _dist_dir
mkdir $(DISTDIR) mkdir $(DISTDIR)
cp $(WXDIR)/wxwin.m4 $(DISTDIR)
cp $(WXDIR)/aclocal.m4 $(DISTDIR) cp $(WXDIR)/aclocal.m4 $(DISTDIR)
cp $(WXDIR)/configure.in $(DISTDIR)
cp $(WXDIR)/configure $(DISTDIR)
cp $(WXDIR)/config.sub $(DISTDIR) cp $(WXDIR)/config.sub $(DISTDIR)
cp $(WXDIR)/config.guess $(DISTDIR) cp $(WXDIR)/config.guess $(DISTDIR)
cp $(WXDIR)/install-sh $(DISTDIR) cp $(WXDIR)/install-sh $(DISTDIR)
@@ -544,11 +536,11 @@ ALL_DIST: distclean
cp $(WXDIR)/setup.h_vms $(DISTDIR) cp $(WXDIR)/setup.h_vms $(DISTDIR)
cp $(WXDIR)/descrip.mms $(DISTDIR) cp $(WXDIR)/descrip.mms $(DISTDIR)
cp $(WXDIR)/Makefile.in $(DISTDIR) cp $(WXDIR)/Makefile.in $(DISTDIR)
cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp $(DOCDIR)/lgpl.txt $(DISTDIR)/COPYING.LIB cp $(DOCDIR)/lgpl.txt $(DISTDIR)/COPYING.LIB
cp $(DOCDIR)/licence.txt $(DISTDIR)/LICENCE.txt cp $(DOCDIR)/licence.txt $(DISTDIR)/LICENCE.txt
cp $(DOCDIR)/symbols.txt $(DISTDIR)/SYMBOLS.txt cp $(DOCDIR)/symbols.txt $(DISTDIR)/SYMBOLS.txt
cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
mkdir $(DISTDIR)/lib mkdir $(DISTDIR)/lib
cp $(WXDIR)/lib/vms.opt $(DISTDIR)/lib cp $(WXDIR)/lib/vms.opt $(DISTDIR)/lib
cp $(WXDIR)/lib/vms_gtk.opt $(DISTDIR)/lib cp $(WXDIR)/lib/vms_gtk.opt $(DISTDIR)/lib
@@ -557,6 +549,7 @@ ALL_DIST: distclean
mkdir $(DISTDIR)/src/zlib mkdir $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.h $(DISTDIR)/src/zlib cp $(ZLIBDIR)/*.h $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.mcp $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.mms $(DISTDIR)/src/zlib cp $(ZLIBDIR)/*.mms $(DISTDIR)/src/zlib
mkdir $(DISTDIR)/src/regex mkdir $(DISTDIR)/src/regex
@@ -573,10 +566,8 @@ ALL_DIST: distclean
# this target is the common part of distribution script for all GUI toolkits, # this target is the common part of distribution script for all GUI toolkits,
# but is not used when building wxBase distribution # but is not used when building wxBase distribution
ALL_GUI_DIST: ALL_DIST ALL_GUI_DIST: ALL_DIST
cp $(WXDIR)/configure.in $(DISTDIR) cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp $(WXDIR)/configure $(DISTDIR) cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
if test -f $(DOCDIR)/$(TOOLKITDIR)/changes.txt ; then \ if test -f $(DOCDIR)/$(TOOLKITDIR)/changes.txt ; then \
cp $(DOCDIR)/$(TOOLKITDIR)/changes.txt $(DISTDIR)/CHANGES-$(TOOLKIT).txt ; fi cp $(DOCDIR)/$(TOOLKITDIR)/changes.txt $(DISTDIR)/CHANGES-$(TOOLKIT).txt ; fi
cp $(DOCDIR)/$(TOOLKITDIR)/readme.txt $(DISTDIR)/README-$(TOOLKIT).txt cp $(DOCDIR)/$(TOOLKITDIR)/readme.txt $(DISTDIR)/README-$(TOOLKIT).txt
@@ -623,12 +614,15 @@ ALL_GUI_DIST: ALL_DIST
cp $(HTMLDIR)/bitmaps/*.xpm $(DISTDIR)/src/html/bitmaps cp $(HTMLDIR)/bitmaps/*.xpm $(DISTDIR)/src/html/bitmaps
cp $(PNGDIR)/*.h $(DISTDIR)/src/png cp $(PNGDIR)/*.h $(DISTDIR)/src/png
cp $(PNGDIR)/*.c $(DISTDIR)/src/png cp $(PNGDIR)/*.c $(DISTDIR)/src/png
cp $(PNGDIR)/*.mcp $(DISTDIR)/src/png
cp $(PNGDIR)/README $(DISTDIR)/src/png cp $(PNGDIR)/README $(DISTDIR)/src/png
cp $(JPEGDIR)/*.h $(DISTDIR)/src/jpeg cp $(JPEGDIR)/*.h $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/*.c $(DISTDIR)/src/jpeg cp $(JPEGDIR)/*.c $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/*.mcp $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/README $(DISTDIR)/src/jpeg cp $(JPEGDIR)/README $(DISTDIR)/src/jpeg
cp $(TIFFDIR)/*.h $(DISTDIR)/src/tiff cp $(TIFFDIR)/*.h $(DISTDIR)/src/tiff
cp $(TIFFDIR)/*.c $(DISTDIR)/src/tiff cp $(TIFFDIR)/*.c $(DISTDIR)/src/tiff
cp $(TIFFDIR)/*.mcp $(DISTDIR)/src/tiff
cp $(TIFFDIR)/README $(DISTDIR)/src/tiff cp $(TIFFDIR)/README $(DISTDIR)/src/tiff
cp $(ODBCDIR)/*.h $(DISTDIR)/src/iodbc cp $(ODBCDIR)/*.h $(DISTDIR)/src/iodbc
cp $(ODBCDIR)/*.c $(DISTDIR)/src/iodbc cp $(ODBCDIR)/*.c $(DISTDIR)/src/iodbc
@@ -639,25 +633,19 @@ ALL_GUI_DIST: ALL_DIST
cp $(ODBCDIR)/Changes.log $(DISTDIR)/src/iodbc cp $(ODBCDIR)/Changes.log $(DISTDIR)/src/iodbc
BASE_DIST: ALL_DIST BASE_DIST: ALL_DIST
# make --disable-gui the default
sed 's/DEFAULT_wxUSE_GUI=yes/DEFAULT_wxUSE_GUI=no/' \
$(WXDIR)/configure.in > $(DISTDIR)/configure.in
sed 's/DEFAULT_wxUSE_GUI=yes/DEFAULT_wxUSE_GUI=no/' \
$(WXDIR)/configure > $(DISTDIR)/configure
chmod +x $(DISTDIR)/configure
mkdir $(DISTDIR)/include mkdir $(DISTDIR)/include
mkdir $(DISTDIR)/include/wx mkdir $(DISTDIR)/include/wx
mkdir $(DISTDIR)/include/wx/protocol mkdir $(DISTDIR)/include/wx/protocol
mkdir $(DISTDIR)/include/wx/unix mkdir $(DISTDIR)/include/wx/unix
mkdir $(DISTDIR)/include/wx/msw
mkdir $(DISTDIR)/src/common mkdir $(DISTDIR)/src/common
mkdir $(DISTDIR)/src/unix mkdir $(DISTDIR)/src/unix
mkdir $(DISTDIR)/src/msw mkdir $(DISTDIR)/src/msw
cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp @PORT_FILES@ $(DISTDIR) cp @PORT_FILES@ $(DISTDIR)
cp $(WXDIR)/src/wxBase*.dsp $(DISTDIR) cp $(WXDIR)/src/wxBase*.dsp $(DISTDIR)
cp $(WXDIR)/src/wxBase*.dsw $(DISTDIR) cp $(WXDIR)/src/wxBase*.dsw $(DISTDIR)
cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt
cp $(DOCDIR)/install.txt $(DISTDIR)/README.txt cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
cp $(SRCDIR)/*.in $(DISTDIR)/src cp $(SRCDIR)/*.in $(DISTDIR)/src
cp $(WXDIR)/src/common/*.inc $(DISTDIR)/src/common cp $(WXDIR)/src/common/*.inc $(DISTDIR)/src/common
cp $(WXDIR)/src/common/base.rc $(DISTDIR)/src/common cp $(WXDIR)/src/common/base.rc $(DISTDIR)/src/common
@@ -678,7 +666,6 @@ BASE_DIST: ALL_DIST
cp $(SAMPDIR)/console/Makefile.in $(DISTDIR)/samples/console cp $(SAMPDIR)/console/Makefile.in $(DISTDIR)/samples/console
cp $(SAMPDIR)/console/makefile.unx $(DISTDIR)/samples/console cp $(SAMPDIR)/console/makefile.unx $(DISTDIR)/samples/console
cp $(SAMPDIR)/console/console.cpp $(DISTDIR)/samples/console cp $(SAMPDIR)/console/console.cpp $(DISTDIR)/samples/console
cp $(SAMPDIR)/console/console.dsp $(DISTDIR)/samples/console
cp $(SAMPDIR)/console/testdata.fc $(DISTDIR)/samples/console cp $(SAMPDIR)/console/testdata.fc $(DISTDIR)/samples/console
GTK_DIST: ALL_GUI_DIST GTK_DIST: ALL_GUI_DIST
@@ -708,6 +695,7 @@ MOTIF_DIST: ALL_GUI_DIST
MACX_DIST: ALL_GUI_DIST MACX_DIST: ALL_GUI_DIST
cp $(INCDIR)/*.* $(DISTDIR)/include cp $(INCDIR)/*.* $(DISTDIR)/include
cp $(INCDIR)/wx/mac/*.h $(DISTDIR)/include/wx/mac cp $(INCDIR)/wx/mac/*.h $(DISTDIR)/include/wx/mac
cp $(SRCDIR)/*.mcp $(DISTDIR)/src
cp $(MACDIR)/files.lst $(DISTDIR)/src/mac cp $(MACDIR)/files.lst $(DISTDIR)/src/mac
cp $(MACDIR)/*.cpp $(DISTDIR)/src/mac cp $(MACDIR)/*.cpp $(DISTDIR)/src/mac
cp $(MACDIR)/*.c $(DISTDIR)/src/mac cp $(MACDIR)/*.c $(DISTDIR)/src/mac
@@ -716,6 +704,14 @@ MACX_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/src/mac/morefile mkdir $(DISTDIR)/src/mac/morefile
cp $(MACDIR)/morefile/*.h $(DISTDIR)/src/mac/morefile cp $(MACDIR)/morefile/*.h $(DISTDIR)/src/mac/morefile
cp $(MACDIR)/morefile/*.c $(DISTDIR)/src/mac/morefile cp $(MACDIR)/morefile/*.c $(DISTDIR)/src/mac/morefile
mkdir $(DISTDIR)/src/mac/cdef
cp $(MACDIR)/cdef/*.h $(DISTDIR)/src/mac/cdef
cp $(MACDIR)/cdef/*.c $(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/*.c $(DISTDIR)/src/mac/ldef
cp $(MACDIR)/ldef/*.mcp $(DISTDIR)/src/mac/cdef
mkdir $(DISTDIR)/src/mac/macsock mkdir $(DISTDIR)/src/mac/macsock
cp $(MACDIR)/macsock/*.lib $(DISTDIR)/src/mac/macsock cp $(MACDIR)/macsock/*.lib $(DISTDIR)/src/mac/macsock
@@ -758,6 +754,8 @@ DEMOS_DIST: ALL_GUI_DIST
cp $(DEMODIR)/configure $(DISTDIR)/demos cp $(DEMODIR)/configure $(DISTDIR)/demos
cp $(DEMODIR)/configure.in $(DISTDIR)/demos cp $(DEMODIR)/configure.in $(DISTDIR)/demos
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
mkdir $(DISTDIR)/demos/bombs mkdir $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/Makefile.in $(DISTDIR)/demos/bombs cp $(DEMODIR)/bombs/Makefile.in $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/makefile.unx $(DISTDIR)/demos/bombs cp $(DEMODIR)/bombs/makefile.unx $(DISTDIR)/demos/bombs
@@ -766,8 +764,6 @@ DEMOS_DIST: ALL_GUI_DIST
cp $(DEMODIR)/bombs/*.xpm $(DISTDIR)/demos/bombs cp $(DEMODIR)/bombs/*.xpm $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/readme.txt $(DISTDIR)/demos/bombs cp $(DEMODIR)/bombs/readme.txt $(DISTDIR)/demos/bombs
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
mkdir $(DISTDIR)/demos/forty mkdir $(DISTDIR)/demos/forty
cp $(DEMODIR)/forty/Makefile.in $(DISTDIR)/demos/forty cp $(DEMODIR)/forty/Makefile.in $(DISTDIR)/demos/forty
cp $(DEMODIR)/forty/makefile.unx $(DISTDIR)/demos/forty cp $(DEMODIR)/forty/makefile.unx $(DISTDIR)/demos/forty
@@ -810,6 +806,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/calendar mkdir $(DISTDIR)/samples/calendar
cp $(SAMPDIR)/calendar/Makefile.in $(DISTDIR)/samples/calendar cp $(SAMPDIR)/calendar/Makefile.in $(DISTDIR)/samples/calendar
cp $(SAMPDIR)/calendar/makefile.unx $(DISTDIR)/samples/calendar cp $(SAMPDIR)/calendar/makefile.unx $(DISTDIR)/samples/calendar
cp $(SAMPDIR)/calendar/*.mcp $(DISTDIR)/samples/calendar
cp $(SAMPDIR)/calendar/*.cpp $(DISTDIR)/samples/calendar cp $(SAMPDIR)/calendar/*.cpp $(DISTDIR)/samples/calendar
mkdir $(DISTDIR)/samples/caret mkdir $(DISTDIR)/samples/caret
@@ -821,6 +818,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/checklst mkdir $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/Makefile.in $(DISTDIR)/samples/checklst cp $(SAMPDIR)/checklst/Makefile.in $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/makefile.unx $(DISTDIR)/samples/checklst cp $(SAMPDIR)/checklst/makefile.unx $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/*.mcp $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/*.cpp $(DISTDIR)/samples/checklst cp $(SAMPDIR)/checklst/*.cpp $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/*.xpm $(DISTDIR)/samples/checklst cp $(SAMPDIR)/checklst/*.xpm $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/*.mms $(DISTDIR)/samples/checklst cp $(SAMPDIR)/checklst/*.mms $(DISTDIR)/samples/checklst
@@ -828,6 +826,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/config mkdir $(DISTDIR)/samples/config
cp $(SAMPDIR)/config/Makefile.in $(DISTDIR)/samples/config cp $(SAMPDIR)/config/Makefile.in $(DISTDIR)/samples/config
cp $(SAMPDIR)/config/makefile.unx $(DISTDIR)/samples/config cp $(SAMPDIR)/config/makefile.unx $(DISTDIR)/samples/config
cp $(SAMPDIR)/config/*.mcp $(DISTDIR)/samples/config
cp $(SAMPDIR)/config/*.cpp $(DISTDIR)/samples/config cp $(SAMPDIR)/config/*.cpp $(DISTDIR)/samples/config
mkdir $(DISTDIR)/samples/console mkdir $(DISTDIR)/samples/console
@@ -839,6 +838,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/controls/icons mkdir $(DISTDIR)/samples/controls/icons
cp $(SAMPDIR)/controls/Makefile.in $(DISTDIR)/samples/controls cp $(SAMPDIR)/controls/Makefile.in $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/makefile.unx $(DISTDIR)/samples/controls cp $(SAMPDIR)/controls/makefile.unx $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/*.mcp $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/*.cpp $(DISTDIR)/samples/controls cp $(SAMPDIR)/controls/*.cpp $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/*.xpm $(DISTDIR)/samples/controls cp $(SAMPDIR)/controls/*.xpm $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/*.mms $(DISTDIR)/samples/controls cp $(SAMPDIR)/controls/*.mms $(DISTDIR)/samples/controls
@@ -854,6 +854,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/dialogs mkdir $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/Makefile.in $(DISTDIR)/samples/dialogs cp $(SAMPDIR)/dialogs/Makefile.in $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/makefile.unx $(DISTDIR)/samples/dialogs cp $(SAMPDIR)/dialogs/makefile.unx $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/*.mcp $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/*.cpp $(DISTDIR)/samples/dialogs cp $(SAMPDIR)/dialogs/*.cpp $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/*.h $(DISTDIR)/samples/dialogs cp $(SAMPDIR)/dialogs/*.h $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/*.txt $(DISTDIR)/samples/dialogs cp $(SAMPDIR)/dialogs/*.txt $(DISTDIR)/samples/dialogs
@@ -1311,7 +1312,6 @@ MANUAL_DIST:
PYTHON_DIST: PYTHON_DIST:
mkdir $(DISTDIR)/wxPython mkdir $(DISTDIR)/wxPython
mkdir $(DISTDIR)/wxPython/contrib mkdir $(DISTDIR)/wxPython/contrib
mkdir $(DISTDIR)/wxPython/contrib/gizmos
mkdir $(DISTDIR)/wxPython/contrib/glcanvas mkdir $(DISTDIR)/wxPython/contrib/glcanvas
mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk
mkdir $(DISTDIR)/wxPython/contrib/ogl mkdir $(DISTDIR)/wxPython/contrib/ogl
@@ -1332,7 +1332,6 @@ PYTHON_DIST:
cp $(WXDIR)/wxPython/*.py $(DISTDIR)/wxPython cp $(WXDIR)/wxPython/*.py $(DISTDIR)/wxPython
cp $(WXDIR)/wxPython/setup.cfg $(DISTDIR)/wxPython cp $(WXDIR)/wxPython/setup.cfg $(DISTDIR)/wxPython
cp $(WXDIR)/wxPython/MANIFEST.in $(DISTDIR)/wxPython cp $(WXDIR)/wxPython/MANIFEST.in $(DISTDIR)/wxPython
cp $(WXDIR)/wxPython/contrib/gizmos/*.{py,cpp,i} $(DISTDIR)/wxPython/contrib/gizmos
-cp $(WXDIR)/wxPython/contrib/glcanvas/* $(DISTDIR)/wxPython/contrib/glcanvas -cp $(WXDIR)/wxPython/contrib/glcanvas/* $(DISTDIR)/wxPython/contrib/glcanvas
cp $(WXDIR)/wxPython/contrib/glcanvas/gtk/glcanvas.* $(DISTDIR)/wxPython/contrib/glcanvas/gtk 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/ogl/* $(DISTDIR)/wxPython/contrib/ogl
@@ -1453,7 +1452,7 @@ cleanall: clean
RPMTOP=_dist_dir/_rpm_top RPMTOP=_dist_dir/_rpm_top
rpm: bzip-dist rpm: dist
@echo "*** Building RPMs ***" @echo "*** Building RPMs ***"
-mkdir $(RPMTOP) -mkdir $(RPMTOP)
-mkdir $(RPMTOP)/SOURCES -mkdir $(RPMTOP)/SOURCES
@@ -1461,7 +1460,7 @@ rpm: bzip-dist
-mkdir $(RPMTOP)/BUILD -mkdir $(RPMTOP)/BUILD
-mkdir $(RPMTOP)/RPMS -mkdir $(RPMTOP)/RPMS
-mkdir $(RPMTOP)/SRPMS -mkdir $(RPMTOP)/SRPMS
cp -f $(WXARCHIVE_BZIP) $(RPMTOP)/SOURCES cp -f $(WXARCHIVE) $(RPMTOP)/SOURCES
rpm -ba --define "_topdir `pwd`/$(RPMTOP)" $(WXDIR)/wx$(TOOLKIT).spec rpm -ba --define "_topdir `pwd`/$(RPMTOP)" $(WXDIR)/wx$(TOOLKIT).spec
mv -f `find $(RPMTOP) -name "wx$(TARGET)*.rpm"` . mv -f `find $(RPMTOP) -name "wx$(TARGET)*.rpm"` .

1477
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -397,6 +397,7 @@ USE_SUN=
USE_SOLARIS= USE_SOLARIS=
USE_SUNOS= USE_SUNOS=
USE_ALPHA= USE_ALPHA=
USE_IA64=
USE_OSF= USE_OSF=
USE_BSD= USE_BSD=
USE_DARWIN= USE_DARWIN=
@@ -461,6 +462,10 @@ case "${host}" in
USE_ALPHA=1 USE_ALPHA=1
AC_DEFINE(__ALPHA__) AC_DEFINE(__ALPHA__)
fi fi
if test "x$TMP" = "xia64"; then
USE_IA64=1
AC_DEFINE(__IA64__)
fi
DEFAULT_DEFAULT_wxUSE_GTK=1 DEFAULT_DEFAULT_wxUSE_GTK=1
;; ;;
*-*-irix5* | *-*-irix6* ) *-*-irix5* | *-*-irix6* )
@@ -651,7 +656,6 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_LOG=yes DEFAULT_wxUSE_LOG=yes
DEFAULT_wxUSE_LOGWINDOW=no DEFAULT_wxUSE_LOGWINDOW=no
DEFAULT_wxUSE_LOGGUI=no DEFAULT_wxUSE_LOGGUI=no
DEFAULT_wxUSE_LOGDIALOG=no
DEFAULT_wxUSE_GUI=yes DEFAULT_wxUSE_GUI=yes
DEFAULT_wxUSE_CONTROLS=no DEFAULT_wxUSE_CONTROLS=no
@@ -780,7 +784,6 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_TREECTRL=no DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
DEFAULT_wxUSE_UNICODE=no DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no DEFAULT_wxUSE_WCSRTOMBS=no
@@ -816,7 +819,6 @@ else
DEFAULT_wxUSE_LOG=yes DEFAULT_wxUSE_LOG=yes
DEFAULT_wxUSE_LOGWINDOW=yes DEFAULT_wxUSE_LOGWINDOW=yes
DEFAULT_wxUSE_LOGGUI=yes DEFAULT_wxUSE_LOGGUI=yes
DEFAULT_wxUSE_LOGDIALOG=yes
DEFAULT_wxUSE_GUI=yes DEFAULT_wxUSE_GUI=yes
@@ -944,7 +946,6 @@ else
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_TREECTRL=yes DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
DEFAULT_wxUSE_UNICODE=no DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no DEFAULT_wxUSE_WCSRTOMBS=no
@@ -1008,7 +1009,7 @@ WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxU
fi fi
dnl for GUI only dnl for GUI only
WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (http://dmalloc.com/)], wxUSE_DMALLOC) WX_ARG_WITH(dmalloc, [ --with-dmalloc use dmalloc library (www.letters.com/dmalloc)], wxUSE_DMALLOC)
WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX) WX_ARG_SYS_WITH(regex, [ --with-regex enable support for wxRegEx class], wxUSE_REGEX)
WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB) WX_ARG_SYS_WITH(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC) WX_ARG_WITH(odbc, [ --with-odbc use the IODBC and wxODBC classes], wxUSE_ODBC)
@@ -1088,7 +1089,7 @@ WX_ARG_ENABLE(zipstream, [ --enable-zipstream use wxZipInputStream], w
WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION) WX_ARG_ENABLE(catch_segvs, [ --enable-catch_segvs catch signals and pass them to wxApp::OnFatalException], wxUSE_ON_FATAL_EXCEPTION)
WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER) WX_ARG_ENABLE(snglinst, [ --enable-snglinst use wxSingleInstanceChecker class], wxUSE_SNGLINST_CHECKER)
WX_ARG_ENABLE(mimetype, [ --enable-mimetype use wxMimeTypesManager], wxUSE_MIMETYPE) WX_ARG_ENABLE(mimetype, [ --enable-mimetypes use wxMimeTypesManager], wxUSE_MIMETYPE)
WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS) WX_ARG_ENABLE(system_options,[ --enable-sysoptions use wxSystemOptions], wxUSE_SYSTEM_OPTIONS)
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
@@ -1114,7 +1115,6 @@ WX_ARG_ENABLE(printarch, [ --enable-printarch use printing architecture]
WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE) WX_ARG_ENABLE(mdi, [ --enable-mdi use multiple document interface architecture], wxUSE_MDI_ARCHITECTURE)
WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI) WX_ARG_ENABLE(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW) WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl PostScript options dnl PostScript options
@@ -1191,7 +1191,6 @@ if test "$wxUSE_CONTROLS" = "yes"; then
DEFAULT_wxUSE_TOOLTIPS=yes DEFAULT_wxUSE_TOOLTIPS=yes
DEFAULT_wxUSE_TREECTRL=yes DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
elif test "$wxUSE_CONTROLS" = "no"; then elif test "$wxUSE_CONTROLS" = "no"; then
DEFAULT_wxUSE_ACCEL=no DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_BMPBUTTON=no DEFAULT_wxUSE_BMPBUTTON=no
@@ -1230,7 +1229,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then
DEFAULT_wxUSE_TOOLTIPS=no DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_TREECTRL=no DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
fi fi
WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL) WX_ARG_ENABLE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL)
@@ -1270,7 +1268,6 @@ WX_ARG_ENABLE(toolbar, [ --enable-toolbar use wxToolBar class], wxUS
WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE) WX_ARG_ENABLE(tbarnative, [ --enable-tbarnative use native wxToolBar class], wxUSE_TOOLBAR_NATIVE)
WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE) WX_ARG_ENABLE(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL) WX_ARG_ENABLE(treectrl, [ --enable-treectrl use wxTreeCtrl class], wxUSE_TREECTRL)
WX_ARG_ENABLE(tipwindow, [ --enable-tipwindow use wxTipWindow class], wxUSE_TIPWINDOW)
WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN) WX_ARG_ENABLE(popupwin, [ --enable-popupwin use wxPopUpWindow class], wxUSE_POPUPWIN)
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
@@ -1281,7 +1278,7 @@ WX_ARG_ENABLE(commondlg, [ --enable-commondlg use all common dialogs], w
WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG) WX_ARG_ENABLE(choicedlg, [ --enable-choicedlg use wxChoiceDialog], wxUSE_CHOICEDLG)
WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG) WX_ARG_ENABLE(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG)
WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG) WX_ARG_ENABLE(filedlg, [ --enable-filedlg use wxFileDialog], wxUSE_FILEDLG)
WX_ARG_ENABLE(finddlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG) WX_ARG_ENABLE(filedlg, [ --enable-finddlg use wxFindReplaceDialog], wxUSE_FINDREPLDLG)
WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG) WX_ARG_ENABLE(fontdlg, [ --enable-fontdlg use wxFontDialog], wxUSE_FONTDLG)
WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG) WX_ARG_ENABLE(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG) WX_ARG_ENABLE(msgdlg, [ --enable-msgdlg use wxMessageDialog], wxUSE_MSGDLG)
@@ -1315,7 +1312,7 @@ WX_ARG_ENABLE(image, [ --enable-image use wxImage class], wxUSE_
WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF) WX_ARG_ENABLE(gif, [ --enable-gif use gif images (GIF file format)], wxUSE_GIF)
WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX) WX_ARG_ENABLE(pcx, [ --enable-pcx use pcx images (PCX file format)], wxUSE_PCX)
WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM) WX_ARG_ENABLE(pnm, [ --enable-pnm use pnm images (PNM file format)], wxUSE_PNM)
WX_ARG_ENABLE(xpm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM) WX_ARG_ENABLE(pnm, [ --enable-xpm use xpm images (XPM file format)], wxUSE_XPM)
fi fi
dnl for GUI only dnl for GUI only
@@ -2446,11 +2443,9 @@ WX_LIBRARY_NAME_STATIC_GL="lib${WX_LIBRARY_GL}.a"
dnl define which libs wx-config should link. dnl define which libs wx-config should link.
WXCONFIG_LIBS="-l${WX_LIBRARY}" WXCONFIG_LIBS="-l${WX_LIBRARY}"
WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
if test "$wxUSE_OPENGL" = "yes"; then if test "$wxUSE_OPENGL" = "yes"; then
WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}" WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
fi fi
@@ -2537,9 +2532,9 @@ if test "$wxUSE_SHARED" = "yes"; then
;; ;;
*-*-darwin* ) *-*-darwin* )
CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT" CFLAGS="$CFLAGS -fno-common"
CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT" CXXFLAGS="$CXXFLAGS -fno-common"
SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o" SHARED_LD="$CXX -dynamiclib -o"
PIC_FLAG="-dynamic -fPIC" PIC_FLAG="-dynamic -fPIC"
;; ;;
@@ -2597,7 +2592,6 @@ if test "$wxUSE_SHARED" = "yes"; then
dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic dnl do not alter the LIBRARY_TYPE strings "so" and "a", they are magic
WX_TARGET_LIBRARY_TYPE="so" WX_TARGET_LIBRARY_TYPE="so"
INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
fi fi
dnl do not 'else' this, it may be changed in the above conditional. dnl do not 'else' this, it may be changed in the above conditional.
@@ -2624,7 +2618,6 @@ if test "$wxUSE_SHARED" = "no"; then
WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}" WX_TARGET_LIBRARY_GL="${WX_LIBRARY_NAME_STATIC_GL}"
WX_TARGET_LIBRARY_TYPE="a" WX_TARGET_LIBRARY_TYPE="a"
INSTALL_LIBRARY='$(INSTALL_DATA)'
fi fi
if test "$wxUSE_MAC" = 1; then if test "$wxUSE_MAC" = 1; then
@@ -2632,7 +2625,7 @@ if test "$wxUSE_MAC" = 1; then
WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r" WX_ALL="${WX_ALL} \$(build_libdir)/lib${WX_LIBRARY}.r"
WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res" WX_ALL_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez) AC_CHECK_PROG(RESCOMP, Rez, Rez, /Developer/Tools/Rez)
AC_CHECK_PROG(DEREZ, DeRez, DeRez, /Developer/Tools/DeRez) AC_CHECK_PROG(DEREZ, Derez, Derez, /Developer/Tools/Derez)
LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r" LIBWXMACRES="\$(top_builddir)/lib/lib${WX_LIBRARY}.r"
LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)" LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o" LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
@@ -2652,16 +2645,12 @@ fi
dnl defines HAVE_STDLIB_H dnl defines HAVE_STDLIB_H
AC_CHECK_HEADERS(stdlib.h) AC_CHECK_HEADERS(stdlib.h)
dnl defines HAVE_MALLOC_H
AC_CHECK_HEADERS(malloc.h)
dnl defines HAVE_UNISTD_H dnl defines HAVE_UNISTD_H
AC_CHECK_HEADERS(unistd.h) AC_CHECK_HEADERS(unistd.h)
dnl defines HAVE_WCHAR_H dnl defines HAVE_WCHAR_H
AC_CHECK_HEADERS(wchar.h) AC_CHECK_HEADERS(wchar.h)
dnl defines HAVE_WCSTR_H dnl defines HAVE_WCSTR_H
AC_CHECK_HEADERS(wcstr.h) AC_CHECK_HEADERS(wcstr.h)
dnl defined HAVE_WCTYPE_H
AC_CHECK_HEADERS(wctype.h)
dnl defines HAVE_FNMATCH_H dnl defines HAVE_FNMATCH_H
AC_CHECK_HEADERS(fnmatch.h) AC_CHECK_HEADERS(fnmatch.h)
dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines) dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines)
@@ -2693,15 +2682,11 @@ AC_TYPE_UID_T
dnl check for wchar_t dnl check for wchar_t
dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD) dnl Mac OS X does not provide wchar.h and wchar_t is defined by stdlib.h (GD)
dnl on Cygwin wchar.h needs stddef.h to be #included by hand
AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t, AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
[ [
AC_TRY_COMPILE( AC_TRY_COMPILE(
[ [
#ifdef HAVE_WCHAR_H #ifdef HAVE_WCHAR_H
# ifdef __CYGWIN__
# include <stddef.h>
# endif
# include <wchar.h> # include <wchar.h>
#endif #endif
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
@@ -2826,9 +2811,6 @@ AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
AC_TRY_RUN( AC_TRY_RUN(
[ [
#ifdef HAVE_WCHAR_H #ifdef HAVE_WCHAR_H
# ifdef __CYGWIN__
# include <stddef.h>
# endif
# include <wchar.h> # include <wchar.h>
#endif #endif
#ifdef HAVE_STDLIB_H #ifdef HAVE_STDLIB_H
@@ -3055,9 +3037,6 @@ fi
dnl check for vfork() (even if it's the same as fork() in modern Unices) dnl check for vfork() (even if it's the same as fork() in modern Unices)
AC_CHECK_FUNCS(vfork) AC_CHECK_FUNCS(vfork)
dnl check for the function for temp files creation
AC_CHECK_FUNCS(mkstemp mktemp, break)
dnl get the library function to use for wxGetDiskSpace(): it is statfs() under dnl get the library function to use for wxGetDiskSpace(): it is statfs() under
dnl Linux and *BSD and statvfs() under Solaris dnl Linux and *BSD and statvfs() under Solaris
AC_CACHE_CHECK(for statfs, wx_cv_func_statfs, AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
@@ -3241,10 +3220,10 @@ if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_THREADS" = "yes" ; then if test "$wxUSE_THREADS" = "yes" ; then
if test "$wxUSE_WINE" = 1 ; then if test "$wxUSE_WINE" = 1 ; then
AC_MSG_WARN([Threads are not supported under WINE... disabled]) AC_MSG_WARN([Threads are not supported under WINE])
wxUSE_THREADS="no" wxUSE_THREADS="no"
elif test "$USE_BEOS" = 1; then elif test "$USE_BEOS" = 1; then
AC_MSG_WARN([BeOS threads are not yet supported... disabled]) AC_MSG_WARN([BeOS threads are not yet supported])
wxUSE_THREADS="no" wxUSE_THREADS="no"
fi fi
fi fi
@@ -3280,7 +3259,7 @@ if test "$TOOLKIT" != "MSW"; then
if test -z "$THREADS_OBJ" ; then if test -z "$THREADS_OBJ" ; then
wxUSE_THREADS=no wxUSE_THREADS=no
AC_MSG_WARN([No thread support on this system... disabled]) AC_MSG_WARN(No thread support on this system)
fi fi
fi fi
@@ -3658,7 +3637,7 @@ fi
if test "$wxUSE_TEXTFILE" = "yes"; then if test "$wxUSE_TEXTFILE" = "yes"; then
if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then if test "$wxUSE_FILE" != "yes" -o "$wxUSE_TEXTBUFFER" != "yes" ; then
AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer... disabled) AC_MSG_WARN(wxTextFile requires wxFile and wxTextBuffer and won't be compiled without them)
else else
AC_DEFINE(wxUSE_TEXTFILE) AC_DEFINE(wxUSE_TEXTFILE)
fi fi
@@ -3666,7 +3645,7 @@ fi
if test "$wxUSE_CONFIG" = "yes" ; then if test "$wxUSE_CONFIG" = "yes" ; then
if test "$wxUSE_TEXTFILE" != "yes"; then if test "$wxUSE_TEXTFILE" != "yes"; then
AC_MSG_WARN(wxConfig requires wxTextFile... disabled) AC_MSG_WARN(wxConfig requires wxTextFile and it won't be compiled without it)
else else
AC_DEFINE(wxUSE_CONFIG) AC_DEFINE(wxUSE_CONFIG)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config" SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
@@ -3675,7 +3654,7 @@ fi
if test "$wxUSE_INTL" = "yes" ; then if test "$wxUSE_INTL" = "yes" ; then
if test "$wxUSE_FILE" != "yes"; then if test "$wxUSE_FILE" != "yes"; then
AC_MSG_WARN(I18n code requires wxFile... disabled) AC_MSG_WARN(I18n code requires wxFile and it won't be compiled without it)
else else
AC_DEFINE(wxUSE_INTL) AC_DEFINE(wxUSE_INTL)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat" SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
@@ -3693,10 +3672,6 @@ if test "$wxUSE_LOG" = "yes"; then
if test "$wxUSE_LOGWINDOW" = "yes"; then if test "$wxUSE_LOGWINDOW" = "yes"; then
AC_DEFINE(wxUSE_LOGWINDOW) AC_DEFINE(wxUSE_LOGWINDOW)
fi fi
if test "$wxUSE_LOGDIALOG" = "yes"; then
AC_DEFINE(wxUSE_LOG_DIALOG)
fi
fi fi
if test "$wxUSE_LONGLONG" = "yes"; then if test "$wxUSE_LONGLONG" = "yes"; then
@@ -3943,15 +3918,6 @@ dnl ---------------------------------------------------------------------------
if test "$wxUSE_GUI" = "yes"; then if test "$wxUSE_GUI" = "yes"; then
if test "$TOOLKIT" = "MAC"; then
AC_MSG_WARN([Joystick not yet supported under Mac OS X... disabled])
wxUSE_JOYSTICK=no
fi
if test "$TOOLKIT" = "MOTIF"; then
AC_MSG_WARN([Joystick not yet supported under Motif... disabled])
wxUSE_JOYSTICK=no
fi
dnl under MSW we always have joystick support dnl under MSW we always have joystick support
if test "$TOOLKIT" != "MSW"; then if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_JOYSTICK" = "yes"; then if test "$wxUSE_JOYSTICK" = "yes"; then
@@ -3959,7 +3925,7 @@ if test "$wxUSE_GUI" = "yes"; then
AC_CHECK_HEADERS(linux/joystick.h) AC_CHECK_HEADERS(linux/joystick.h)
if test "$ac_cv_header_linux_joystick_h" != "yes"; then if test "$ac_cv_header_linux_joystick_h" != "yes"; then
wxUSE_JOYSTICK=no wxUSE_JOYSTICK=no
AC_MSG_WARN(Joystick not supported by this system... disabled) AC_MSG_WARN(Joystick not supported by this system, disabled)
fi fi
fi fi
fi fi
@@ -4101,7 +4067,7 @@ fi
if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then if test "$wxUSE_MDI_ARCHITECTURE" = "yes"; then
if test "$wxUSE_UNIVERSAL" = "yes"; then if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN(MDI not yet supported for wxUNIVERSAL... disabled) AC_MSG_WARN(MDI is not supported for wxUNIVERSAL yet... disabled)
wxUSE_MDI_ARCHITECTURE=no wxUSE_MDI_ARCHITECTURE=no
fi fi
@@ -4208,7 +4174,7 @@ fi
if test "$wxUSE_IPC" = "yes"; then if test "$wxUSE_IPC" = "yes"; then
if test "$wxUSE_SOCKETS" != "yes"; then if test "$wxUSE_SOCKETS" != "yes"; then
AC_MSG_WARN(wxWindows IPC classes require sockets... disabled) AC_MSG_WARN(wxWindows IPC classes require sockets, disabled)
fi fi
AC_DEFINE(wxUSE_IPC) AC_DEFINE(wxUSE_IPC)
@@ -4224,18 +4190,18 @@ fi
if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
if test "$wxUSE_GTK" = 1; then if test "$wxUSE_GTK" = 1; then
if test "$WXGTK12" != 1; then if test "$WXGTK12" != 1; then
AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2... disabled]) AC_MSG_WARN([Drag and drop is only supported under GTK+ 1.2])
wxUSE_DRAG_AND_DROP=no wxUSE_DRAG_AND_DROP=no
fi fi
fi fi
if test "$wxUSE_MOTIF" = 1; then if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([Drag and drop not yet supported under Motif... disabled]) AC_MSG_WARN([Drag and drop is not yet supported under Motif])
wxUSE_DRAG_AND_DROP=no wxUSE_DRAG_AND_DROP=no
fi fi
if test "$wxUSE_MAC" = 1; then if test "$wxUSE_MAC" = 1; then
AC_MSG_WARN([Drag and drop not yet supported under Mac OS X... disabled]) AC_MSG_WARN([Drag and drop is not yet supported under Mac OS X])
wxUSE_DRAG_AND_DROP=no wxUSE_DRAG_AND_DROP=no
fi fi
@@ -4440,12 +4406,8 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
fi fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then if test "$wxUSE_TOGGLEBTN" = "yes"; then
if test "$wxUSE_MAC" = 1; then if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled]) AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
wxUSE_TOGGLEBTN=no
fi
if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
wxUSE_TOGGLEBTN=no wxUSE_TOGGLEBTN=no
fi fi
@@ -4480,16 +4442,12 @@ fi
if test "$wxUSE_TOOLTIPS" = "yes"; then if test "$wxUSE_TOOLTIPS" = "yes"; then
if test "$wxUSE_MOTIF" = 1; then if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([wxTooltip not supported yet under Motif... disabled]) AC_MSG_WARN(wxTooltip not supported yet under Motif)
else else
if test "$wxUSE_WINE" = 1; then if test "$wxUSE_WINE" = 1; then
AC_MSG_WARN([wxTooltip not supported under WINE... disabled]) AC_MSG_WARN(wxTooltip not supported under WINE)
else else
if test "$wxUSE_UNIVERSAL" = "yes"; then AC_DEFINE(wxUSE_TOOLTIPS)
AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
else
AC_DEFINE(wxUSE_TOOLTIPS)
fi
fi fi
fi fi
fi fi
@@ -4506,22 +4464,13 @@ fi
if test "$wxUSE_POPUPWIN" = "yes"; then if test "$wxUSE_POPUPWIN" = "yes"; then
if test "$wxUSE_MAC" = 1; then if test "$wxUSE_MAC" = 1; then
AC_MSG_WARN([Popup window not yet supported under Mac OS X... disabled]) AC_MSG_WARN(Popup window is not yet supported under Mac OS)
else else
if test "$wxUSE_MOTIF" = 1; then AC_DEFINE(wxUSE_POPUPWIN)
AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled]) USES_CONTROLS=1
else
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
fi
fi fi
fi fi
if test "$wxUSE_TIPWINDOW" = "yes"; then
AC_DEFINE(wxUSE_TIPWINDOW)
fi
if test "$USES_CONTROLS" = 1; then if test "$USES_CONTROLS" = 1; then
AC_DEFINE(wxUSE_CONTROLS) AC_DEFINE(wxUSE_CONTROLS)
fi fi
@@ -4834,8 +4783,6 @@ AC_SUBST(host_alias)
AC_SUBST(cross_compiling) AC_SUBST(cross_compiling)
AC_SUBST(WXCONFIG_LIBS) AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(WXCONFIG_LIBS_GL) AC_SUBST(WXCONFIG_LIBS_GL)
AC_SUBST(WXCONFIG_LIBS_STATIC)
AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
AC_SUBST(WXCONFIG_INCLUDE) AC_SUBST(WXCONFIG_INCLUDE)
dnl what to compile dnl what to compile
@@ -4875,10 +4822,10 @@ AC_SUBST(AS)
AC_SUBST(NM) AC_SUBST(NM)
AC_SUBST(LD) AC_SUBST(LD)
AC_SUBST(MAKEINFO) AC_SUBST(MAKEINFO)
AC_SUBST(INSTALL_LIBRARY)
dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE dnl MAKE_SET will be replaced with "MAKE=..." or nothing if make sets MAKE
dnl itself (this macro is required if SUBDIRS variable is used in Makefile.am dnl itself (this is macro is required if SUBDIRS variable is used in Makefile.am
dnl - and we do use it) dnl - and we do use it)
AC_PROG_MAKE_SET AC_PROG_MAKE_SET

View File

@@ -79,7 +79,7 @@ WX_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
#define wxALL_PANES 0x000F #define wxALL_PANES 0x000F
// enumeration of hittest results, see cbDockPane::HitTestPaneItems(..) // enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)
enum CB_HITTEST_RESULT enum CB_HITTEST_RESULT
{ {
@@ -100,7 +100,7 @@ enum CB_HITTEST_RESULT
// helper class, used for spying for not-handled mouse events on control-bars // helper class, used for spying for not-handled mouse events on control-bars
// and forwarding them to the frame layout // and forwarding them to the frame layout
class cbBarSpy : public wxEvtHandler class cbBarSpy : public wxEvtHandler
{ {
public: public:
DECLARE_DYNAMIC_CLASS( cbBarSpy ) DECLARE_DYNAMIC_CLASS( cbBarSpy )
@@ -120,8 +120,8 @@ public:
virtual bool ProcessEvent(wxEvent& event); virtual bool ProcessEvent(wxEvent& event);
}; };
/* wxFrameLayout manages containment and docking of control bars. /* wxFrameLayout manages containment and docking of control bars.
* which can be docked along top, bottom, righ, or left side of the * which can be docked along top, bottom, righ, or left side of the
* parent frame * parent frame
*/ */
@@ -130,8 +130,8 @@ class wxFrameLayout : public wxEvtHandler
public: public:
wxFrameLayout(void); // used only while serializing wxFrameLayout(void); // used only while serializing
wxFrameLayout( wxWindow* pParentFrame, wxFrameLayout( wxWindow* pParentFrame,
wxWindow* pFrameClient = NULL, wxWindow* pFrameClient = NULL,
bool activateNow = TRUE ); bool activateNow = TRUE );
// (doesn't destroy bar windows) // (doesn't destroy bar windows)
@@ -143,7 +143,7 @@ public:
// Can be called after some other layout has been deactivated, // Can be called after some other layout has been deactivated,
// and this one must "take over" the current contents of frame window. // and this one must "take over" the current contents of frame window.
// //
// Effectively hooks itself to the frame window, re-displays all not-hidden // Effectively hooks itself to the frame window, re-displays all not-hidden
// bar-windows and repaints decorations // bar-windows and repaints decorations
virtual void Activate(); virtual void Activate();
@@ -151,7 +151,7 @@ public:
// unhooks itself from frame window, and hides all not-hidden windows // unhooks itself from frame window, and hides all not-hidden windows
// //
// NOTE:: two frame-layouts should not be active at the same time in the // NOTE:: two frame-layouts should not be active at the same time in the
// same frame window, it would cause messy overlapping of bar windows // same frame window, it would cause messy overlapping of bar windows
// from both layouts // from both layouts
virtual void Deactivate(); virtual void Deactivate();
@@ -163,8 +163,8 @@ public:
virtual void DestroyBarWindows(); virtual void DestroyBarWindows();
// passes the client window (e.g. MDI-client frame) to be controled by // passes the client window (e.g. MDI-client frame) to be controled by
// frame layout, the size and position of which should be adjusted to be // frame layout, the size and position of which should be adjusted to be
// surrounded by controlbar panes, whenever frame is resized, or dimensions // surrounded by controlbar panes, whenever frame is resized, or dimensions
// of control panes change // of control panes change
void SetFrameClient( wxWindow* pFrameClient ); void SetFrameClient( wxWindow* pFrameClient );
@@ -176,7 +176,7 @@ public:
// used by updates-managers // used by updates-managers
cbDockPane** GetPanesArray() { return mPanes; } cbDockPane** GetPanesArray() { return mPanes; }
// see pane alignment types // see pane alignment types
cbDockPane* GetPane( int alignment ) cbDockPane* GetPane( int alignment )
{ return mPanes[alignment]; } { return mPanes[alignment]; }
@@ -187,11 +187,11 @@ public:
// NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn // NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn
// around the empty rectangle (filled with default background colour). // around the empty rectangle (filled with default background colour).
// Argument dimInfo, can be re-used for adding any number of bars, since // Argument dimInfo, can be re-used for adding any number of bars, since
// it is not used directly, instead it's members are copied. If dimensions- // it is not used directly, instead it's members are copied. If dimensions-
// handler is present, it's instance shared (reference counted). Dimension // handler is present, it's instance shared (reference counted). Dimension
// handler should always be allocated on the heap!) // handler should always be allocated on the heap!)
virtual void AddBar( wxWindow* pBarWnd, virtual void AddBar( wxWindow* pBarWnd,
const cbDimInfo& dimInfo, const cbDimInfo& dimInfo,
// defaults: // defaults:
@@ -201,13 +201,13 @@ public:
const wxString& name="bar",// name, by which the bar could be referred const wxString& name="bar",// name, by which the bar could be referred
// in layout customization dialogs // in layout customization dialogs
bool spyEvents = FALSE, // if TRUE - input events for the bar should bool spyEvents = FALSE, // if TRUE - input events for the bar should
// be "spyed" in order to forward not-handled // be "spyed" in order to forward not-handled
// mouse clicks to frame layout (e.g. to enable // mouse clicks to frame layout (e.g. to enable
// easy-draggablity of toolbars just by clicking // easy-draggablity of toolbars just by clicking
// on their interior regions). For widgets like // on their interior regions). For widgets like
// text/tree control this value should be FALSE // text/tree control this value should be FALSE
// (since there's _no_ certain way to detect // (since there's _no_ certain way to detect
// whether the event was actually handled...) // whether the event was actually handled...)
int state = wxCBAR_DOCKED_HORIZONTALLY // e.g. wxCBAR_FLOATING int state = wxCBAR_DOCKED_HORIZONTALLY // e.g. wxCBAR_FLOATING
@@ -217,10 +217,10 @@ public:
// can be used for repositioning already existing bars. The given bar is first removed // can be used for repositioning already existing bars. The given bar is first removed
// from the pane it currently belongs to, and inserted into the pane, which "matches" // from the pane it currently belongs to, and inserted into the pane, which "matches"
// the given recantular area. If pToPane is not NULL, bar is docked to this given pane // the given recantular area. If pToPane is not NULL, bar is docked to this given pane
// to dock the bar which is floated, use wxFrameLayout::DockBar(..) method // to dock the bar which is floated, use wxFrameLayout::DockBar(..) method
virtual bool RedockBar( cbBarInfo* pBar, const wxRect& shapeInParent, virtual bool RedockBar( cbBarInfo* pBar, const wxRect& shapeInParent,
cbDockPane* pToPane = NULL, bool updateNow = TRUE ); cbDockPane* pToPane = NULL, bool updateNow = TRUE );
// methods for access and modification of bars in frame layout // methods for access and modification of bars in frame layout
@@ -255,9 +255,9 @@ public:
wxRect& GetClientRect() { return mClntWndBounds; } wxRect& GetClientRect() { return mClntWndBounds; }
// NOTE:: in future ubdates-manager will become a normal plugin // NOTE:: in future ubdates-manager will become a normal plugin
cbUpdatesManagerBase& GetUpdatesManager(); cbUpdatesManagerBase& GetUpdatesManager();
// destroys the previous manager if any, set the new one // destroys the previous manager if any, set the new one
void SetUpdatesManager( cbUpdatesManagerBase* pUMgr ); void SetUpdatesManager( cbUpdatesManagerBase* pUMgr );
@@ -266,7 +266,7 @@ public:
virtual void GetPaneProperties( cbCommonPaneProperties& props, int alignment = FL_ALIGN_TOP ); virtual void GetPaneProperties( cbCommonPaneProperties& props, int alignment = FL_ALIGN_TOP );
virtual void SetPaneProperties( const cbCommonPaneProperties& props, virtual void SetPaneProperties( const cbCommonPaneProperties& props,
int paneMask = wxALL_PANES ); int paneMask = wxALL_PANES );
// TODO:: margins should go into cbCommonPaneProperties in the future // TODO:: margins should go into cbCommonPaneProperties in the future
@@ -295,11 +295,11 @@ public:
/*** plugin-related methods ***/ /*** plugin-related methods ***/
// should be used, instead of passing the event to ProcessEvent(..) method // should be used, instead of passing the event to ProcessEvent(..) method
// of the top-plugin directly. This method checks if events are currently // of the top-plugin directly. This method checks if events are currently
// captured and ensures that plugin-event is routed correctly. // captured and ensures that plugin-event is routed correctly.
virtual void FirePluginEvent( cbPluginEvent& event ); virtual void FirePluginEvent( cbPluginEvent& event );
// captures/releases user-input event's for the given plugin // captures/releases user-input event's for the given plugin
// Input events are: mouse movement, mouse clicks, keyboard input // Input events are: mouse movement, mouse clicks, keyboard input
@@ -312,7 +312,7 @@ public:
// returns current top-level plugin (the one which receives events first, // returns current top-level plugin (the one which receives events first,
// with an exception if input-events are currently captured by some other plugin) // with an exception if input-events are currently captured by some other plugin)
virtual cbPluginBase& GetTopPlugin(); virtual cbPluginBase& GetTopPlugin();
// hooking custom plugins to frame layout // hooking custom plugins to frame layout
@@ -340,7 +340,7 @@ public:
// default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin, // default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin,
// cbAntiflickerPlugin, cbSimpleCustomizePlugin // cbAntiflickerPlugin, cbSimpleCustomizePlugin
// //
// this method is automatically invoked, if no plugins were found upon // this method is automatically invoked, if no plugins were found upon
// fireing of the first plugin-event, i.e. wxFrameLayout *CONFIGURES* itself // fireing of the first plugin-event, i.e. wxFrameLayout *CONFIGURES* itself
virtual void PushDefaultPlugins(); virtual void PushDefaultPlugins();
@@ -348,7 +348,7 @@ public:
/* "Advanced" methods for plugin-configuration using their */ /* "Advanced" methods for plugin-configuration using their */
/* dynamic class information (e.g. CLASSINFO(pluginClass) ) */ /* dynamic class information (e.g. CLASSINFO(pluginClass) ) */
// first checks if plugin of the given class is already "hooked up", // first checks if plugin of the given class is already "hooked up",
// if not, adds it to the top of plugins chain // if not, adds it to the top of plugins chain
virtual void AddPlugin( wxClassInfo* pPlInfo, int paneMask = wxALL_PANES ); virtual void AddPlugin( wxClassInfo* pPlInfo, int paneMask = wxALL_PANES );
@@ -363,14 +363,14 @@ public:
// thefore the former should be hooked before the one // thefore the former should be hooked before the one
// who's functionality is being overriden // who's functionality is being overriden
virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo, virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
int paneMask = wxALL_PANES ); int paneMask = wxALL_PANES );
// checks if plugin of the given class is hooked, removes // checks if plugin of the given class is hooked, removes
// it if found // it if found
// //
// @param pPlInfo class information structure for the plugin // @param pPlInfo class information structure for the plugin
// @note // @note
// @see wxFrameLayout::Method // @see wxFrameLayout::Method
@@ -417,7 +417,7 @@ public: /* protected really, acessed only by plugins and serializers */
// pane, from which mouse pointer had just left // pane, from which mouse pointer had just left
cbDockPane* mpLRUPane; cbDockPane* mpLRUPane;
// bounds of client window in parent frame's coordinates // bounds of client window in parent frame's coordinates
@@ -432,11 +432,11 @@ public: /* protected really, acessed only by plugins and serializers */
cbPluginBase* mpTopPlugin; cbPluginBase* mpTopPlugin;
// plugin, which currently has captured all input events, otherwise NULL // plugin, which currently has captured all input events, otherwise NULL
cbPluginBase* mpCaputesInput; cbPluginBase* mpCaputesInput;
// list of event handlers which are "pushed" onto each bar, to catch // list of event handlers which are "pushed" onto each bar, to catch
// mouse events which are not handled by bars, and froward them to the , // mouse events which are not handled by bars, and froward them to the ,
// frome-layout and further to plugins // frome-layout and further to plugins
@@ -457,7 +457,7 @@ public: /* protected really, acessed only by plugins and serializers */
public: /* protected really (accessed only by plugins) */ public: /* protected really (accessed only by plugins) */
// refrence to custom updates manager // refrence to custom updates manager
cbUpdatesManagerBase* mpUpdatesMgr; cbUpdatesManagerBase* mpUpdatesMgr;
// called to set calculated layout to window objects // called to set calculated layout to window objects
@@ -468,7 +468,7 @@ public: /* protected really (accessed only by plugins) */
void RepositionFloatedBar( cbBarInfo* pBar ); void RepositionFloatedBar( cbBarInfo* pBar );
void DoSetBarState( cbBarInfo* pBar ); void DoSetBarState( cbBarInfo* pBar );
bool LocateBar( cbBarInfo* pBarInfo, bool LocateBar( cbBarInfo* pBarInfo,
cbRowInfo** ppRow, cbRowInfo** ppRow,
cbDockPane** ppPane ); cbDockPane** ppPane );
@@ -481,7 +481,7 @@ public: /* protected really (accessed only by plugins) */
cbDockPane* GetBarPane( cbBarInfo* pBar ); cbDockPane* GetBarPane( cbBarInfo* pBar );
// delegated from "bar-spy" // delegated from "bar-spy"
void ForwardMouseEvent( wxMouseEvent& event, void ForwardMouseEvent( wxMouseEvent& event,
cbDockPane* pToPane, cbDockPane* pToPane,
int eventType ); int eventType );
@@ -513,8 +513,8 @@ public: /* protected really (accessed only by plugins) */
/* structure, which is present in each item of layout, /* structure, which is present in each item of layout,
* it used by any specific updates-manager to store * it used by any specific updates-manager to store
* auxilary information to be used by it's specific * auxilary information to be used by it's specific
* updating algorithm * updating algorithm
*/ */
class cbUpdateMgrData : public wxObject class cbUpdateMgrData : public wxObject
@@ -525,7 +525,7 @@ public:
bool mIsDirty; // overrides result of current-against-previous bounds comparison, bool mIsDirty; // overrides result of current-against-previous bounds comparison,
// i.e. requires item to be updated, regardless of it's current area // i.e. requires item to be updated, regardless of it's current area
wxObject* mpCustomData; // any custom data stored by specific updates mgr. wxObject* mpCustomData; // any custom data stored by specific updates mgr.
cbUpdateMgrData(); // is-dirty flag is set TRUE initially cbUpdateMgrData(); // is-dirty flag is set TRUE initially
@@ -540,8 +540,8 @@ public:
}; };
/* Abstract interface for bar-size handler classes. /* Abstract interface for bar-size handler classes.
* These objects receive notifications, whenever the docking * These objects receive notifications, whenever the docking
* state of the bar is changed, thus they have a possibility * state of the bar is changed, thus they have a possibility
* to adjust the values in cbDimInfo::mSizes accordingly. * to adjust the values in cbDimInfo::mSizes accordingly.
* Specific handlers can be hooked to specific types of bars. * Specific handlers can be hooked to specific types of bars.
*/ */
@@ -590,7 +590,7 @@ public:
// from the bar's actual window, filled // from the bar's actual window, filled
// with frame's beckground color, default: 0 // with frame's beckground color, default: 0
int mVertGap; int mVertGap;
// left/right gap, separates decorations // left/right gap, separates decorations
// from the bar's actual window, filled // from the bar's actual window, filled
@@ -604,7 +604,7 @@ public:
bool mIsFixed; bool mIsFixed;
cbBarDimHandlerBase* mpHandler; // NULL, if no handler present cbBarDimHandlerBase* mpHandler; // NULL, if no handler present
public: public:
@@ -625,18 +625,18 @@ public:
cbBarDimHandlerBase* pDimHandler = NULL cbBarDimHandlerBase* pDimHandler = NULL
); );
cbDimInfo( int x, int y, cbDimInfo( int x, int y,
bool isFixed = TRUE, bool isFixed = TRUE,
int gap = 6, int gap = 6,
cbBarDimHandlerBase* pDimHandler = NULL cbBarDimHandlerBase* pDimHandler = NULL
); );
const cbDimInfo& operator=( const cbDimInfo& other ); const cbDimInfo& operator=( const cbDimInfo& other );
// destroys handler automatically, if present // destroys handler automatically, if present
~cbDimInfo(); ~cbDimInfo();
inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; } inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; }
}; };
WX_DEFINE_ARRAY(float, cbArrayFloat); WX_DEFINE_ARRAY(float, cbArrayFloat);
@@ -679,7 +679,7 @@ public:
// convenience method // convenience method
inline cbBarInfo* GetFirstBar() inline cbBarInfo* GetFirstBar()
{ return mBars.GetCount() ? mBars[0] : NULL; } { return mBars.GetCount() ? mBars[0] : NULL; }
}; };
@@ -692,20 +692,20 @@ public:
wxString mName; wxString mName;
// stores bar's bounds in pane's coordinates // stores bar's bounds in pane's coordinates
wxRect mBounds; wxRect mBounds;
// stores precalculated bar's bounds in parent frame's coordinates // stores precalculated bar's bounds in parent frame's coordinates
wxRect mBoundsInParent; wxRect mBoundsInParent;
// back-ref to the row, which contains this bar // back-ref to the row, which contains this bar
cbRowInfo* mpRow; cbRowInfo* mpRow;
// are set up according to the types of the surrounding bars in the row // are set up according to the types of the surrounding bars in the row
bool mHasLeftHandle; bool mHasLeftHandle;
bool mHasRightHandle; bool mHasRightHandle;
cbDimInfo mDimInfo; // preferred sizes for each, control bar state cbDimInfo mDimInfo; // preferred sizes for each, control bar state
int mState; // (see definition of controlbar states) int mState; // (see definition of controlbar states)
int mAlignment; // alignment of the pane to which this int mAlignment; // alignment of the pane to which this
@@ -721,7 +721,7 @@ public:
wxPoint mPosIfFloated; // stored last position when bar was in "floated" state wxPoint mPosIfFloated; // stored last position when bar was in "floated" state
// poistion is stored in parent-window's coordinates // poistion is stored in parent-window's coordinates
cbUpdateMgrData mUMgrData; // info stored for updates-manager cbUpdateMgrData mUMgrData; // info stored for updates-manager
cbBarInfo* mpNext; // next. bar in the row cbBarInfo* mpNext; // next. bar in the row
@@ -760,14 +760,14 @@ public:
void Reset(); void Reset();
bool Next(); // TRUE, if next bar is available bool Next(); // TRUE, if next bar is available
cbBarInfo& BarInfo(); cbBarInfo& BarInfo();
// returns reference to currently traversed row // returns reference to currently traversed row
cbRowInfo& RowInfo(); cbRowInfo& RowInfo();
}; };
/* structure holds configuration options, /* structure holds configuration options,
* which are usually the same for all panes in * which are usually the same for all panes in
* frame layout * frame layout
*/ */
@@ -795,16 +795,16 @@ class cbCommonPaneProperties : public wxObject
// minimal dimensions for not-fixed bars in this pane (16x16 default) // minimal dimensions for not-fixed bars in this pane (16x16 default)
wxSize mMinCBarDim; wxSize mMinCBarDim;
// width/height of resizing sash // width/height of resizing sash
int mResizeHandleSize; int mResizeHandleSize;
cbCommonPaneProperties(void); cbCommonPaneProperties(void);
}; };
/* class manages containment and control of control-bars /* class manages containment and control of control-bars
* along one of the four edges of the parent frame * along one of the four edges of the parent frame
*/ */
@@ -822,10 +822,10 @@ public:
int mRightMargin; // default: 2 pixels int mRightMargin; // default: 2 pixels
int mTopMargin; // default: 2 pixels int mTopMargin; // default: 2 pixels
int mBottomMargin; // default: 2 pixels int mBottomMargin; // default: 2 pixels
public: public:
// position of the pane in frame's coordinates // position of the pane in frame's coordinates
wxRect mBoundsInParent; wxRect mBoundsInParent;
// pane width and height in pane's coordinates // pane width and height in pane's coordinates
int mPaneWidth; int mPaneWidth;
@@ -843,7 +843,7 @@ public: /* protected really */
// transient properties // transient properties
wxList mRowShapeData; // shapes of bars of recently modified row, wxList mRowShapeData; // shapes of bars of recently modified row,
// stored when in "non-destructive-firction" mode // stored when in "non-destructive-firction" mode
cbRowInfo* mpStoredRow; // row-info for which the shapes are stored cbRowInfo* mpStoredRow; // row-info for which the shapes are stored
@@ -859,8 +859,8 @@ public: /* protected really (accessed only by plugins) */
int GetRowAt( int paneY ); int GetRowAt( int paneY );
int GetRowAt( int upperY, int lowerY ); int GetRowAt( int upperY, int lowerY );
// re-setups flags in the row-information structure, so that // re-setups flags in the row-information structure, so that
// the would match the changed state of row-items correctly // the would match the changed state of row-items correctly
void SyncRowFlags( cbRowInfo* pRow ); void SyncRowFlags( cbRowInfo* pRow );
// layout "AI" helpers: // layout "AI" helpers:
@@ -886,7 +886,7 @@ public: /* protected really (accessed only by plugins) */
void InitLinksForRow( cbRowInfo* pRow ); void InitLinksForRow( cbRowInfo* pRow );
void InitLinksForRows(); void InitLinksForRows();
// coordinate translation between parent's frame and this pane // coordinate translation between parent's frame and this pane
void FrameToPane( int* x, int* y ); void FrameToPane( int* x, int* y );
void PaneToFrame( int* x, int* y ); void PaneToFrame( int* x, int* y );
@@ -904,7 +904,7 @@ public: /* protected really (accessed only by plugins) */
public: /* protected really (accessed only by plugins) */ public: /* protected really (accessed only by plugins) */
// methods for incramental on-screen refreshing of the pane // methods for incramental on-screen refreshing of the pane
// (simply, they are wrappers around corresponding plugin-events) // (simply, they are wrappers around corresponding plugin-events)
virtual void PaintBarDecorations( cbBarInfo* pBar, wxDC& dc ); virtual void PaintBarDecorations( cbBarInfo* pBar, wxDC& dc );
@@ -941,7 +941,7 @@ public: /* public members */
virtual void RemoveBar( cbBarInfo* pBar ); virtual void RemoveBar( cbBarInfo* pBar );
// rect given in the parent frame's coordinates // rect given in the parent frame's coordinates
virtual void InsertBar( cbBarInfo* pBar, const wxRect& atRect ); virtual void InsertBar( cbBarInfo* pBar, const wxRect& atRect );
// inserts bar into the given row, with dimensions and position // inserts bar into the given row, with dimensions and position
@@ -949,7 +949,7 @@ public: /* public members */
virtual void InsertBar( cbBarInfo* pBar, cbRowInfo* pIntoRow ); virtual void InsertBar( cbBarInfo* pBar, cbRowInfo* pIntoRow );
// inserts bar, sets its position according to the preferred settings // inserts bar, sets its position according to the preferred settings
// given in (*pBarInfo) structure // given in (*pBarInfo) structure
virtual void InsertBar( cbBarInfo* pBarInfo ); virtual void InsertBar( cbBarInfo* pBarInfo );
@@ -957,7 +957,7 @@ public: /* public members */
// does not destroy the row object, only removes the corresponding // does not destroy the row object, only removes the corresponding
// node from this pane // node from this pane
virtual void RemoveRow( cbRowInfo* pRow ); virtual void RemoveRow( cbRowInfo* pRow );
// does not refresh the inserted row immediately, // does not refresh the inserted row immediately,
// if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list // if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list
virtual void InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow ); virtual void InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow );
@@ -975,8 +975,8 @@ public: /* public members */
// convenience method // convenience method
inline cbRowInfo* GetFirstRow() inline cbRowInfo* GetFirstRow()
{ return mRows.GetCount() ? mRows[0] : NULL; } { return mRows.GetCount() ? mRows[0] : NULL; }
// TRUE, if the given bar node presents in this pane // TRUE, if the given bar node presents in this pane
@@ -1053,7 +1053,7 @@ public:
: mpLayout( pPanel ) {} : mpLayout( pPanel ) {}
virtual ~cbUpdatesManagerBase() {} virtual ~cbUpdatesManagerBase() {}
void SetLayout( wxFrameLayout* pLayout ) { mpLayout = pLayout; } void SetLayout( wxFrameLayout* pLayout ) { mpLayout = pLayout; }
// notificiactions received from frame-layout (in the order, in which // notificiactions received from frame-layout (in the order, in which
@@ -1089,7 +1089,7 @@ public:
cbDockPane* mpPane; // NULL, if event is not addressed to any specific pane cbDockPane* mpPane; // NULL, if event is not addressed to any specific pane
/* OLD STUFF:: /* OLD STUFF::
// FOR NOW FOR NOW:: all-in-one plugin event structure // FOR NOW FOR NOW:: all-in-one plugin event structure
wxNode* mpObjNode; wxNode* mpObjNode;
wxNode* mpObjNodeAux; wxNode* mpObjNodeAux;
wxPoint mPos; wxPoint mPos;
@@ -1098,18 +1098,15 @@ public:
bool mAuxBoolVal; bool mAuxBoolVal;
*/ */
// Not used, but required
virtual wxEvent* Clone() const { return NULL; }
#if wxCHECK_VERSION(2,3,0) #if wxCHECK_VERSION(2,3,0)
cbPluginEvent( wxEventType eventType, cbDockPane* pPane ) cbPluginEvent( wxEventType eventType, cbDockPane* pPane )
: mpPane( pPane ) : mpPane( pPane )
{ m_eventType = eventType; } { m_eventType = eventType; }
#else #else
cbPluginEvent( int eventType, cbDockPane* pPane ) cbPluginEvent( int eventType, cbDockPane* pPane )
: mpPane( pPane ) : mpPane( pPane )
{ m_eventType = eventType; } { m_eventType = eventType; }
#endif #endif
}; };
@@ -1163,7 +1160,7 @@ public:
#define cbEVT_PL_LEFT_DCLICK 5 #define cbEVT_PL_LEFT_DCLICK 5
#define cbEVT_PL_LAYOUT_ROW 6 #define cbEVT_PL_LAYOUT_ROW 6
#define cbEVT_PL_RESIZE_ROW 7 #define cbEVT_PL_RESIZE_ROW 7
#define cbEVT_PL_LAYOUT_ROWS 8 #define cbEVT_PL_LAYOUT_ROWS 8
#define cbEVT_PL_INSERT_BAR 9 #define cbEVT_PL_INSERT_BAR 9
@@ -1227,7 +1224,7 @@ class cbCustomizeBarEvent;
class cbCustomizeLayoutEvent; class cbCustomizeLayoutEvent;
// defs. for handler-methods // defs. for handler-methods
typedef void (wxEvtHandler::*cbLeftDownHandler )(cbLeftDownEvent&); typedef void (wxEvtHandler::*cbLeftDownHandler )(cbLeftDownEvent&);
typedef void (wxEvtHandler::*cbLeftUpHandler )(cbLeftUpEvent&); typedef void (wxEvtHandler::*cbLeftUpHandler )(cbLeftUpEvent&);
typedef void (wxEvtHandler::*cbRightDownHandler )(cbRightDownEvent&); typedef void (wxEvtHandler::*cbRightDownHandler )(cbRightDownEvent&);
@@ -1269,7 +1266,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_RIGHT_UP(func) wxEventTableEntry( cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func, (wxObject *) NULL ), #define EVT_PL_RIGHT_UP(func) wxEventTableEntry( cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_MOTION(func) wxEventTableEntry( cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func, (wxObject *) NULL ), #define EVT_PL_MOTION(func) wxEventTableEntry( cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_LEFT_DCLICK(func) wxEventTableEntry( cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func, (wxObject *) NULL ), #define EVT_PL_LEFT_DCLICK(func) wxEventTableEntry( cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_LAYOUT_ROW(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func, (wxObject *) NULL ), #define EVT_PL_LAYOUT_ROW(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_RESIZE_ROW(func) wxEventTableEntry( cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func, (wxObject *) NULL ), #define EVT_PL_RESIZE_ROW(func) wxEventTableEntry( cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_LAYOUT_ROWS(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func, (wxObject *) NULL ), #define EVT_PL_LAYOUT_ROWS(func) wxEventTableEntry( cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func, (wxObject *) NULL ),
@@ -1277,7 +1274,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_RESIZE_BAR(func) wxEventTableEntry( cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func, (wxObject *) NULL ), #define EVT_PL_RESIZE_BAR(func) wxEventTableEntry( cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_REMOVE_BAR(func) wxEventTableEntry( cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func, (wxObject *) NULL ), #define EVT_PL_REMOVE_BAR(func) wxEventTableEntry( cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_SIZE_BAR_WND(func) wxEventTableEntry( cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func, (wxObject *) NULL ), #define EVT_PL_SIZE_BAR_WND(func) wxEventTableEntry( cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_BAR_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_BAR_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_ROW_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_ROW_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_PANE_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_PANE_DECOR(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func, (wxObject *) NULL ),
@@ -1285,7 +1282,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_DRAW_ROW_HANDLES(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_ROW_HANDLES(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_ROW_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_ROW_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_PANE_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_PANE_BKGROUND(func) wxEventTableEntry( cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func, (wxObject *) NULL ),
#define EVT_PL_START_BAR_DRAGGING(func) wxEventTableEntry( cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func, (wxObject *) NULL ), #define EVT_PL_START_BAR_DRAGGING(func) wxEventTableEntry( cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func, (wxObject *) NULL ),
#define EVT_PL_DRAW_HINT_RECT(func) wxEventTableEntry( cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func, (wxObject *) NULL ), #define EVT_PL_DRAW_HINT_RECT(func) wxEventTableEntry( cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func, (wxObject *) NULL ),
@@ -1302,7 +1299,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_RIGHT_UP(func) { cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func }, #define EVT_PL_RIGHT_UP(func) { cbEVT_PL_RIGHT_UP, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRightUpHandler ) & func },
#define EVT_PL_MOTION(func) { cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func }, #define EVT_PL_MOTION(func) { cbEVT_PL_MOTION, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbMotionHandler ) & func },
#define EVT_PL_LEFT_DCLICK(func) { cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func }, #define EVT_PL_LEFT_DCLICK(func) { cbEVT_PL_LEFT_DCLICK, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLeftDClickHandler ) & func },
#define EVT_PL_LAYOUT_ROW(func) { cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func }, #define EVT_PL_LAYOUT_ROW(func) { cbEVT_PL_LAYOUT_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowHandler ) & func },
#define EVT_PL_RESIZE_ROW(func) { cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func }, #define EVT_PL_RESIZE_ROW(func) { cbEVT_PL_RESIZE_ROW, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeRowHandler ) & func },
#define EVT_PL_LAYOUT_ROWS(func) { cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func }, #define EVT_PL_LAYOUT_ROWS(func) { cbEVT_PL_LAYOUT_ROWS, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbLayoutRowsHandler ) & func },
@@ -1310,7 +1307,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_RESIZE_BAR(func) { cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func }, #define EVT_PL_RESIZE_BAR(func) { cbEVT_PL_RESIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbResizeBarHandler ) & func },
#define EVT_PL_REMOVE_BAR(func) { cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func }, #define EVT_PL_REMOVE_BAR(func) { cbEVT_PL_REMOVE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbRemoveBarHandler ) & func },
#define EVT_PL_SIZE_BAR_WND(func) { cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func }, #define EVT_PL_SIZE_BAR_WND(func) { cbEVT_PL_SIZE_BAR_WND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbSizeBarWndHandler ) & func },
#define EVT_PL_DRAW_BAR_DECOR(func) { cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func }, #define EVT_PL_DRAW_BAR_DECOR(func) { cbEVT_PL_DRAW_BAR_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawBarDecorHandler ) & func },
#define EVT_PL_DRAW_ROW_DECOR(func) { cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func }, #define EVT_PL_DRAW_ROW_DECOR(func) { cbEVT_PL_DRAW_ROW_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowDecorHandler ) & func },
#define EVT_PL_DRAW_PANE_DECOR(func) { cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func }, #define EVT_PL_DRAW_PANE_DECOR(func) { cbEVT_PL_DRAW_PANE_DECOR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneDecorHandler ) & func },
@@ -1318,7 +1315,7 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_DRAW_ROW_HANDLES(func) { cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func }, #define EVT_PL_DRAW_ROW_HANDLES(func) { cbEVT_PL_DRAW_ROW_HANDLES, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowHandlesHandler ) & func },
#define EVT_PL_DRAW_ROW_BKGROUND(func) { cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func }, #define EVT_PL_DRAW_ROW_BKGROUND(func) { cbEVT_PL_DRAW_ROW_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawRowBkGroundHandler ) & func },
#define EVT_PL_DRAW_PANE_BKGROUND(func) { cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func }, #define EVT_PL_DRAW_PANE_BKGROUND(func) { cbEVT_PL_DRAW_PANE_BKGROUND, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawPaneBkGroundHandler) & func },
#define EVT_PL_START_BAR_DRAGGING(func) { cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func }, #define EVT_PL_START_BAR_DRAGGING(func) { cbEVT_PL_START_BAR_DRAGGING, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbStartBarDraggingHandler) & func },
#define EVT_PL_DRAW_HINT_RECT(func) { cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func }, #define EVT_PL_DRAW_HINT_RECT(func) { cbEVT_PL_DRAW_HINT_RECT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbDrawHintRectHandler ) & func },
@@ -1328,8 +1325,8 @@ typedef void (wxEvtHandler::*cbCustomizeLayoutHandler )(cbCustomizeLayoutEvent&)
#define EVT_PL_CUSTOMIZE_BAR(func) { cbEVT_PL_CUSTOMIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeBarHandler) & func }, #define EVT_PL_CUSTOMIZE_BAR(func) { cbEVT_PL_CUSTOMIZE_BAR, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeBarHandler) & func },
#define EVT_PL_CUSTOMIZE_LAYOUT(func) { cbEVT_PL_CUSTOMIZE_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeLayoutHandler) & func }, #define EVT_PL_CUSTOMIZE_LAYOUT(func) { cbEVT_PL_CUSTOMIZE_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeLayoutHandler) & func },
#endif #endif
/* /*
* abstract base class for all control-bar related plugins * abstract base class for all control-bar related plugins
*/ */
class cbPluginBase : public wxEvtHandler class cbPluginBase : public wxEvtHandler
@@ -1337,23 +1334,23 @@ class cbPluginBase : public wxEvtHandler
DECLARE_ABSTRACT_CLASS( cbPluginBase ) DECLARE_ABSTRACT_CLASS( cbPluginBase )
public: public:
wxFrameLayout* mpLayout; // back-reference to the frame layout wxFrameLayout* mpLayout; // back-reference to the frame layout
// specifies panes, for which this plugin receives events // specifies panes, for which this plugin receives events
// (see pane masks definitions) // (see pane masks definitions)
int mPaneMask; int mPaneMask;
bool mIsReady; // is TRUE, when plugin is ready to handle events bool mIsReady; // is TRUE, when plugin is ready to handle events
public: public:
cbPluginBase(void) cbPluginBase(void)
: mpLayout ( 0 ), : mpLayout ( 0 ),
mPaneMask( wxALL_PANES ), mPaneMask( wxALL_PANES ),
mIsReady ( FALSE ) mIsReady ( FALSE )
{} {}
cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES ) cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES )
: mpLayout ( pPanel ), : mpLayout ( pPanel ),
mPaneMask( paneMask ), mPaneMask( paneMask ),

View File

@@ -13,13 +13,6 @@
#ifndef _WX_DYNAMICSASH_H_ #ifndef _WX_DYNAMICSASH_H_
#define _WX_DYNAMICSASH_H_ #define _WX_DYNAMICSASH_H_
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
/* /*
wxDynamicSashWindow wxDynamicSashWindow
@@ -51,7 +44,7 @@
for instance, you wish to scroll a subwindow of the view you add to for instance, you wish to scroll a subwindow of the view you add to
your wxDynamicSashWindow object, rather than scrolling the whole view.) your wxDynamicSashWindow object, rather than scrolling the whole view.)
In this case, you will need to construct your wxDynamicSashWindow without In this case, you will need to construct your wxDynamicSashWindow without
the wxDS_MANAGE_SCROLLBARS style and you will need to use the the wxMANAGE_SCROLLBARS style and you will need to use the
GetHScrollBar() and GetVScrollBar() methods to retrieve the scrollbar GetHScrollBar() and GetVScrollBar() methods to retrieve the scrollbar
controls and call SetEventHanler() on them to redirect the scrolling controls and call SetEventHanler() on them to redirect the scrolling
events whenever your window is reparented by wxDyanmicSashWindow. events whenever your window is reparented by wxDyanmicSashWindow.
@@ -80,19 +73,11 @@ class wxScrollBar;
/* /*
wxDS_MANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which wxMANAGE_SCROLLBARS is a default style of wxDynamicSashWindow which
will cause it to respond to scrollbar events for your application by will cause it to respond to scrollbar events for your application by
automatically scrolling the child view. automatically scrolling the child view.
*/ */
#define wxDS_MANAGE_SCROLLBARS 0x0010 #define wxMANAGE_SCROLLBARS 0x00800000
/*
wxDS_DRAG_CORNER style indicates that the views can also be resized by
dragging the corner piece between the scrollbars, and which is reflected up
to the frame if necessary.
*/
#define wxDS_DRAG_CORNER 0x0020
/* /*
@@ -102,14 +87,11 @@ class wxScrollBar;
a child of the wxDynamicSashWindow. wxDynamicSashWindow will a child of the wxDynamicSashWindow. wxDynamicSashWindow will
automatically reparent it to the proper place in its window hierarchy. automatically reparent it to the proper place in its window hierarchy.
*/ */
class GIZMODLLEXPORT wxDynamicSashSplitEvent : public wxCommandEvent { class wxDynamicSashSplitEvent : public wxCommandEvent {
public: public:
wxDynamicSashSplitEvent(); wxDynamicSashSplitEvent();
wxDynamicSashSplitEvent(const wxDynamicSashSplitEvent& event): wxCommandEvent(event) { }
wxDynamicSashSplitEvent(wxObject *target); wxDynamicSashSplitEvent(wxObject *target);
virtual wxEvent* Clone() const { return new wxDynamicSashSplitEvent(*this); }
private: private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent) DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent)
}; };
@@ -124,14 +106,11 @@ private:
the scrollbars' event handlers connected to your view's event handler the scrollbars' event handlers connected to your view's event handler
class. class.
*/ */
class GIZMODLLEXPORT wxDynamicSashUnifyEvent : public wxCommandEvent { class wxDynamicSashUnifyEvent : public wxCommandEvent {
public: public:
wxDynamicSashUnifyEvent(); wxDynamicSashUnifyEvent();
wxDynamicSashUnifyEvent(const wxDynamicSashUnifyEvent& event): wxCommandEvent(event) {}
wxDynamicSashUnifyEvent(wxObject *target); wxDynamicSashUnifyEvent(wxObject *target);
virtual wxEvent* Clone() const { return new wxDynamicSashUnifyEvent(*this); }
private: private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent); DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent);
}; };
@@ -139,18 +118,18 @@ private:
/* /*
wxDynamicSashWindow. See above. wxDynamicSashWindow. See above.
*/ */
class GIZMODLLEXPORT wxDynamicSashWindow : public wxWindow { class wxDynamicSashWindow : public wxWindow {
public: public:
wxDynamicSashWindow(); wxDynamicSashWindow();
wxDynamicSashWindow(wxWindow *parent, wxWindowID id, wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER, long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow"); const wxString& name = "dynamicSashWindow");
virtual ~wxDynamicSashWindow(); virtual ~wxDynamicSashWindow();
virtual bool Create(wxWindow *parent, wxWindowID id, virtual bool Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
long style = wxCLIP_CHILDREN | wxDS_MANAGE_SCROLLBARS | wxDS_DRAG_CORNER, long style = wxCLIP_CHILDREN | wxMANAGE_SCROLLBARS,
const wxString& name = "dynamicSashWindow"); const wxString& name = "dynamicSashWindow");
virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const; virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const;
virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const; virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const;

View File

@@ -17,21 +17,15 @@
#include "wx/panel.h" #include "wx/panel.h"
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
class WXDLLEXPORT wxBitmapButton; class WXDLLEXPORT wxBitmapButton;
class WXDLLEXPORT wxListCtrl; class WXDLLEXPORT wxListCtrl;
class WXDLLEXPORT wxListEvent; class WXDLLEXPORT wxListEvent;
// This class provides a composite control that lets the // This class provides a composite control that lets the
// user easily enter list of strings // user easily enter list of strings
class GIZMODLLEXPORT wxEditableListBox : public wxPanel class WXDLLEXPORT wxEditableListBox : public wxPanel
{ {
DECLARE_CLASS(wxEditableListBox); DECLARE_CLASS(wxEditableListBox);

View File

@@ -1,89 +0,0 @@
#ifndef _WX_LEDNUMBERCTRL_H_
#define _WX_LEDNUMBERCTRL_H_
#ifdef __GNUG__
#pragma interface "wxLEDNumberCtrl.h"
#endif
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
#include <wx/window.h>
#include <wx/control.h>
class wxEraseEvent;
class wxPaintEvent;
class wxSizeEvent;
// ----------------------------------------------------------------------------
// enum and styles
// ----------------------------------------------------------------------------
enum wxLEDValueAlign
{
wxLED_ALIGN_LEFT = 0x01,
wxLED_ALIGN_RIGHT = 0x02,
wxLED_ALIGN_CENTER = 0x04,
wxLED_ALIGN_MASK = 0x04
};
#define wxLED_DRAW_FADED 0x08
// ----------------------------------------------------------------------------
// wxLEDNumberCtrl
// ----------------------------------------------------------------------------
class GIZMODLLEXPORT wxLEDNumberCtrl : public wxControl
{
public:
// Constructors.
wxLEDNumberCtrl();
wxLEDNumberCtrl(wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxLED_ALIGN_LEFT | wxLED_DRAW_FADED);
// Create functions.
bool Create(wxWindow *parent, wxWindowID id = -1,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0);
wxLEDValueAlign GetAlignment() const { return m_Alignment; }
bool GetDrawFaded() const { return m_DrawFaded; }
const wxString &GetValue() const { return m_Value; }
void SetAlignment(wxLEDValueAlign Alignment, bool Redraw = TRUE);
void SetDrawFaded(bool DrawFaded, bool Redraw = TRUE);
void SetValue(const wxString &Value, bool Redraw = TRUE);
private:
// Members.
wxString m_Value;
wxLEDValueAlign m_Alignment;
int m_LineMargin;
int m_DigitMargin;
int m_LineLength;
int m_LineWidth;
bool m_DrawFaded;
int m_LeftStartPos;
// Functions.
void DrawDigit(wxDC &Dc, int Digit, int Column);
void RecalcInternals(const wxSize &CurrentSize);
// Events.
DECLARE_EVENT_TABLE()
void OnEraseBackground(wxEraseEvent &Event);
void OnPaint(wxPaintEvent &Event);
void OnSize(wxSizeEvent &Event);
};
#endif

View File

@@ -19,14 +19,6 @@
#pragma interface "multicell.h" #pragma interface "multicell.h"
#endif #endif
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// headers // headers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -53,7 +45,7 @@ enum wxResizable
// wxMultiCellItemHandle // wxMultiCellItemHandle
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellItemHandle: public wxObject class WXDLLEXPORT wxMultiCellItemHandle: public wxObject
{ {
DECLARE_CLASS(wxMultiCellItemHandle); DECLARE_CLASS(wxMultiCellItemHandle);
protected: protected:
@@ -89,7 +81,7 @@ private:
// wxMultiCellSizer // wxMultiCellSizer
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellSizer : virtual public wxSizer class WXDLLEXPORT wxMultiCellSizer : virtual public wxSizer
{ {
DECLARE_CLASS(wxMultiCellSizer); DECLARE_CLASS(wxMultiCellSizer);
@@ -139,7 +131,7 @@ class wxCell;
// wxMultiCellCanvas // wxMultiCellCanvas
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellCanvas : public wxFlexGridSizer class wxMultiCellCanvas : public wxFlexGridSizer
{ {
public: public:
wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2); wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2);

View File

@@ -15,13 +15,7 @@
#define _WX_SPLITTREE_H_ #define _WX_SPLITTREE_H_
#ifdef __GNUG__ #ifdef __GNUG__
#pragma interface "splittree.h" #pragma interface "splittree.h"
#endif
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif #endif
// Set this to 1 to use generic tree control (doesn't yet work properly) // Set this to 1 to use generic tree control (doesn't yet work properly)
@@ -52,19 +46,18 @@ class wxSplitterScrolledWindow;
* It also updates the scrolled window vertical scrollbar as appropriate. * It also updates the scrolled window vertical scrollbar as appropriate.
*/ */
class GIZMODLLEXPORT wxRemotelyScrolledTreeCtrl: public wxTreeCtrl class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
{ {
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl) DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
public: public:
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition, wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS); const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
~wxRemotelyScrolledTreeCtrl(); ~wxRemotelyScrolledTreeCtrl();
//// Events //// Events
void OnSize(wxSizeEvent& event); void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event); void OnExpand(wxTreeEvent& event);
void OnScroll(wxScrollWinEvent& event); void OnScroll(wxScrollWinEvent& event);
void OnPaint(wxPaintEvent& event);
//// Overrides //// Overrides
// Override this in case we're using the generic tree control. // Override this in case we're using the generic tree control.
@@ -89,18 +82,18 @@ public:
virtual int GetScrollPos(int orient) const; virtual int GetScrollPos(int orient) const;
//// Helpers //// Helpers
void HideVScrollbar(); void HideVScrollbar();
// Calculate the tree overall size so we can set the scrollbar // Calculate the tree overall size so we can set the scrollbar
// correctly // correctly
void CalcTreeSize(wxRect& rect); void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect); void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Adjust the containing wxScrolledWindow's scrollbars appropriately // Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars(); void AdjustRemoteScrollbars();
// Find the scrolled window that contains this control // Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const; wxScrolledWindow* GetScrolledWindow() const;
// Scroll to the given line (in scroll units where each unit is // Scroll to the given line (in scroll units where each unit is
// the height of an item) // the height of an item)
@@ -108,16 +101,15 @@ public:
//// Accessors //// Accessors
// The companion window is one which will get notified when certain // The companion window is one which will get notified when certain
// events happen such as node expansion // events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; } void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; } wxWindow* GetCompanionWindow() const { return m_companionWindow; }
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
protected: protected:
wxWindow* m_companionWindow; wxWindow* m_companionWindow;
bool m_drawRowLines;
}; };
/* /*
@@ -126,7 +118,7 @@ protected:
* A window displaying values associated with tree control items. * A window displaying values associated with tree control items.
*/ */
class GIZMODLLEXPORT wxTreeCompanionWindow: public wxWindow class wxTreeCompanionWindow: public wxWindow
{ {
public: public:
DECLARE_CLASS(wxTreeCompanionWindow) DECLARE_CLASS(wxTreeCompanionWindow)
@@ -137,22 +129,22 @@ public:
long style = 0); long style = 0);
//// Overrides //// Overrides
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect); virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
//// Events //// Events
void OnPaint(wxPaintEvent& event); void OnPaint(wxPaintEvent& event);
void OnScroll(wxScrollWinEvent& event); void OnScroll(wxScrollWinEvent& event);
void OnExpand(wxTreeEvent& event); void OnExpand(wxTreeEvent& event);
//// Operations //// Operations
//// Accessors //// Accessors
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; }; wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; } void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
//// Data members //// Data members
protected: protected:
wxRemotelyScrolledTreeCtrl* m_treeCtrl; wxRemotelyScrolledTreeCtrl* m_treeCtrl;
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
}; };
@@ -165,7 +157,7 @@ protected:
* than the usual one. * than the usual one.
*/ */
class GIZMODLLEXPORT wxThinSplitterWindow: public wxSplitterWindow class wxThinSplitterWindow: public wxSplitterWindow
{ {
public: public:
DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow) DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow)
@@ -181,10 +173,10 @@ public:
// Tests for x, y over sash. Overriding this allows us to increase // Tests for x, y over sash. Overriding this allows us to increase
// the tolerance. // the tolerance.
bool SashHitTest(int x, int y, int tolerance = 2); bool SashHitTest(int x, int y, int tolerance = 2);
void DrawSash(wxDC& dc); void DrawSash(wxDC& dc);
//// Events //// Events
void OnSize(wxSizeEvent& event); void OnSize(wxSizeEvent& event);
//// Operations //// Operations
@@ -205,7 +197,7 @@ protected:
* scroll appropriately. * scroll appropriately.
*/ */
class GIZMODLLEXPORT wxSplitterScrolledWindow: public wxScrolledWindow class wxSplitterScrolledWindow: public wxScrolledWindow
{ {
public: public:
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow) DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
@@ -218,7 +210,7 @@ public:
//// Overrides //// Overrides
//// Events //// Events
void OnScroll(wxScrollWinEvent& event); void OnScroll(wxScrollWinEvent& event);
void OnSize(wxSizeEvent& event); void OnSize(wxSizeEvent& event);

View File

@@ -124,7 +124,7 @@ class WXDLLEXPORT wxExprDatabase;
class wxShapeEvtHandler: public wxObject, public wxClientDataContainer class wxShapeEvtHandler: public wxObject
{ {
DECLARE_DYNAMIC_CLASS(wxShapeEvtHandler) DECLARE_DYNAMIC_CLASS(wxShapeEvtHandler)
@@ -299,6 +299,8 @@ class wxShape: public wxShapeEvtHandler
void SetPen(wxPen *pen); void SetPen(wxPen *pen);
void SetBrush(wxBrush *brush); void SetBrush(wxBrush *brush);
inline void SetClientData(wxObject *client_data) { m_clientData = client_data; };
inline wxObject *GetClientData() const { return m_clientData; };
virtual void Show(bool show); virtual void Show(bool show);
virtual bool IsShown() const { return m_visible; } virtual bool IsShown() const { return m_visible; }
@@ -513,10 +515,8 @@ class wxShape: public wxShapeEvtHandler
// Clears points from a list of wxRealPoints // Clears points from a list of wxRealPoints
void ClearPointList(wxList& list); void ClearPointList(wxList& list);
// Return pen or brush of the right colour for the background private:
wxPen GetBackgroundPen(); wxObject* m_clientData;
wxBrush GetBackgroundBrush();
protected: protected:
wxShapeEvtHandler* m_eventHandler; wxShapeEvtHandler* m_eventHandler;

View File

@@ -53,20 +53,20 @@ void oglDrawFormattedText(wxDC& context, wxList *text_list,
// Give it a list of points, finds the centre. // Give it a list of points, finds the centre.
void oglFindPolylineCentroid(wxList *points, double *x, double *y); void oglFindPolylineCentroid(wxList *points, double *x, double *y);
void oglCheckLineIntersection(double x1, double y1, double x2, double y2, void oglCheckLineIntersection(double x1, double y1, double x2, double y2,
double x3, double y3, double x4, double y4, double x3, double y3, double x4, double y4,
double *ratio1, double *ratio2); double *ratio1, double *ratio2);
void oglFindEndForPolyline(double n, double xvec[], double yvec[], void oglFindEndForPolyline(double n, double xvec[], double yvec[],
double x1, double y1, double x2, double y2, double *x3, double *y3); double x1, double y1, double x2, double y2, double *x3, double *y3);
void oglFindEndForBox(double width, double height, void oglFindEndForBox(double width, double height,
double x1, double y1, // Centre of box (possibly) double x1, double y1, // Centre of box (possibly)
double x2, double y2, // other end of line double x2, double y2, // other end of line
double *x3, double *y3); // End on box edge double *x3, double *y3); // End on box edge
void oglFindEndForCircle(double radius, void oglFindEndForCircle(double radius,
double x1, double y1, // Centre of circle double x1, double y1, // Centre of circle
double x2, double y2, // Other end of line double x2, double y2, // Other end of line
double *x3, double *y3); double *x3, double *y3);
@@ -83,7 +83,7 @@ void oglGetArrowPoints(double x1, double y1, double x2, double y2,
* This function assumes that the centre of the ellipse is at x1, y1, and the * This function assumes that the centre of the ellipse is at x1, y1, and the
* ellipse has a width of a1 and a height of b1. It also assumes you are * ellipse has a width of a1 and a height of b1. It also assumes you are
* wanting to draw an arc FROM point x2, y2 TOWARDS point x3, y3. * wanting to draw an arc FROM point x2, y2 TOWARDS point x3, y3.
* This function calculates the x,y coordinates of the intersection point of * This function calculates the x,y coordinates of the intersection point of
* the arc with the ellipse. * the arc with the ellipse.
* Author: Ian Harrison * Author: Ian Harrison
*/ */
@@ -99,6 +99,7 @@ extern wxPen* g_oglWhiteBackgroundPen;
extern wxPen* g_oglTransparentPen; extern wxPen* g_oglTransparentPen;
extern wxBrush* g_oglWhiteBackgroundBrush; extern wxBrush* g_oglWhiteBackgroundBrush;
extern wxPen* g_oglBlackForegroundPen; extern wxPen* g_oglBlackForegroundPen;
extern wxCursor* g_oglBullseyeCursor;
extern wxFont* oglMatchFont(int point_size); extern wxFont* oglMatchFont(int point_size);

View File

@@ -1594,14 +1594,6 @@ public:
// Send a message to Scintilla // Send a message to Scintilla
long SendMsg(int msg, long wp=0, long lp=0); long SendMsg(int msg, long wp=0, long lp=0);
// Set the vertical scrollbar to use instead of the ont that's built-in.
void SetVScrollBar(wxScrollBar* bar) { m_vScrollBar = bar; }
// Set the horizontal scrollbar to use instead of the ont that's built-in.
void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@@ -1610,12 +1602,10 @@ private:
// Event handlers // Event handlers
void OnPaint(wxPaintEvent& evt); void OnPaint(wxPaintEvent& evt);
void OnScrollWin(wxScrollWinEvent& evt); void OnScrollWin(wxScrollWinEvent& evt);
void OnScroll(wxScrollEvent& evt);
void OnSize(wxSizeEvent& evt); void OnSize(wxSizeEvent& evt);
void OnMouseLeftDown(wxMouseEvent& evt); void OnMouseLeftDown(wxMouseEvent& evt);
void OnMouseMove(wxMouseEvent& evt); void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt); void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
void OnContextMenu(wxContextMenuEvent& evt); void OnContextMenu(wxContextMenuEvent& evt);
void OnMouseWheel(wxMouseEvent& evt); void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt); void OnChar(wxKeyEvent& evt);
@@ -1639,8 +1629,6 @@ private:
ScintillaWX* m_swx; ScintillaWX* m_swx;
wxStopWatch m_stopWatch; wxStopWatch m_stopWatch;
wxScrollBar* m_vScrollBar;
wxScrollBar* m_hScrollBar;
bool m_lastKeyDownConsumed; bool m_lastKeyDownConsumed;
@@ -1654,9 +1642,6 @@ private:
class wxStyledTextEvent : public wxCommandEvent { class wxStyledTextEvent : public wxCommandEvent {
public: public:
wxStyledTextEvent(wxEventType commandType=0, int id=0); wxStyledTextEvent(wxEventType commandType=0, int id=0);
#ifndef SWIG
wxStyledTextEvent(const wxStyledTextEvent& event);
#endif
~wxStyledTextEvent() {} ~wxStyledTextEvent() {}
void SetPosition(int pos) { m_position = pos; } void SetPosition(int pos) { m_position = pos; }
@@ -1709,7 +1694,7 @@ public:
bool GetControl() const; bool GetControl() const;
bool GetAlt() const; bool GetAlt() const;
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); } void CopyObject(wxObject& obj) const;
#ifndef SWIG #ifndef SWIG
private: private:

View File

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

View File

@@ -1,7 +1,7 @@
# Purpose: makefile for multicell example (Unix) # Purpose: makefile for multicell example (Unix)
# Created 2000-07-28 # Created 2000-07-28
CXX = $(shell wx-config --cxx) CC = gcc
PROGRAM = mtest PROGRAM = mtest
@@ -13,12 +13,12 @@ EXTRAINC=-I../include
.SUFFIXES: .o .cpp .SUFFIXES: .o .cpp
.cpp.o : .cpp.o :
$(CXX) -c `wx-config --cxxflags` -o $@ $< $(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM) all: $(PROGRAM)
$(PROGRAM): $(OBJECTS) $(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs` $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean: clean:
rm -f *.o $(PROGRAM) rm -f *.o $(PROGRAM)

View File

@@ -13,7 +13,7 @@
# under Linux. # under Linux.
# #
CXX = $(shell wx-config --cxx) CC = gcc
PROGRAM = minimal PROGRAM = minimal
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o
.SUFFIXES: .o .cpp .SUFFIXES: .o .cpp
.cpp.o : .cpp.o :
$(CXX) -c `wx-config --cxxflags` -o $@ $< $(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM) all: $(PROGRAM)
$(PROGRAM): $(OBJECTS) $(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs` $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean: clean:
rm -f *.o $(PROGRAM) rm -f *.o $(PROGRAM)

View File

@@ -169,10 +169,8 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
m_splitter = new wxThinSplitterWindow(m_scrolledWindow, idSPLITTER_WINDOW, wxDefaultPosition, m_splitter = new wxThinSplitterWindow(m_scrolledWindow, idSPLITTER_WINDOW, wxDefaultPosition,
wxDefaultSize, wxSP_3DBORDER | wxCLIP_CHILDREN /* | wxSP_LIVE_UPDATE */); wxDefaultSize, wxSP_3DBORDER | wxCLIP_CHILDREN /* | wxSP_LIVE_UPDATE */);
m_splitter->SetSashSize(2); m_splitter->SetSashSize(2);
m_tree = new TestTree(m_splitter, idTREE_CTRL, wxDefaultPosition,
/* Note the wxTR_ROW_LINES style: draws horizontal lines between items */ wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER );
m_tree = new TestTree(m_splitter , idTREE_CTRL, wxDefaultPosition,
wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER | wxTR_ROW_LINES );
m_valueWindow = new TestValueWindow(m_splitter, idVALUE_WINDOW, wxDefaultPosition, m_valueWindow = new TestValueWindow(m_splitter, idVALUE_WINDOW, wxDefaultPosition,
wxDefaultSize, wxNO_BORDER); wxDefaultSize, wxNO_BORDER);
m_splitter->SplitVertically(m_tree, m_valueWindow); m_splitter->SplitVertically(m_tree, m_valueWindow);
@@ -232,6 +230,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
IMPLEMENT_CLASS(TestTree, wxRemotelyScrolledTreeCtrl) IMPLEMENT_CLASS(TestTree, wxRemotelyScrolledTreeCtrl)
BEGIN_EVENT_TABLE(TestTree, wxRemotelyScrolledTreeCtrl) BEGIN_EVENT_TABLE(TestTree, wxRemotelyScrolledTreeCtrl)
EVT_PAINT(TestTree::OnPaint)
END_EVENT_TABLE() END_EVENT_TABLE()
TestTree::TestTree(wxWindow* parent, wxWindowID id, const wxPoint& pt, TestTree::TestTree(wxWindow* parent, wxWindowID id, const wxPoint& pt,
@@ -274,6 +273,39 @@ TestTree::~TestTree()
delete m_imageList; delete m_imageList;
} }
void TestTree::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
wxTreeCtrl::OnPaint(event);
// Reset the device origin since it may have been set
dc.SetDeviceOrigin(0, 0);
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxSize clientSize = GetClientSize();
wxRect itemRect;
int cy=0;
wxTreeItemId h, lastH;
for(h=GetFirstVisibleItem();h;h=GetNextVisible(h))
{
if (GetBoundingRect(h, itemRect))
{
cy = itemRect.GetTop();
dc.DrawLine(0, cy, clientSize.x, cy);
lastH = h;
}
}
if (GetBoundingRect(lastH, itemRect))
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
/* /*
* TestValueWindow * TestValueWindow
*/ */

View File

@@ -45,7 +45,6 @@ protected:
wxRemotelyScrolledTreeCtrl* m_tree; wxRemotelyScrolledTreeCtrl* m_tree;
wxThinSplitterWindow* m_splitter; wxThinSplitterWindow* m_splitter;
wxSplitterScrolledWindow* m_scrolledWindow; wxSplitterScrolledWindow* m_scrolledWindow;
//wxScrolledWindow* m_scrolledWindow;
TestValueWindow* m_valueWindow; TestValueWindow* m_valueWindow;
private: private:
@@ -79,6 +78,7 @@ public:
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS); const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
~TestTree(); ~TestTree();
void OnPaint(wxPaintEvent& event);
DECLARE_EVENT_TABLE() DECLARE_EVENT_TABLE()
protected: protected:
wxImageList* m_imageList; wxImageList* m_imageList;

View File

@@ -12,7 +12,8 @@
# on your system. # on your system.
# #
CXX = $(shell wx-config --cxx) CPP = gcc -g
CC = gcc
WXCONFIG=../../../../wx-config WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include -I../../../include WXINCLUDE=-I../../../../include -I../../../include
WXLIB=-L../../../../lib -L../../../src/ogl WXLIB=-L../../../../lib -L../../../src/ogl
@@ -20,19 +21,19 @@ WXLIB=-L../../../../lib -L../../../src/ogl
OBJECTS=ogledit.o palette.o doc.o view.o OBJECTS=ogledit.o palette.o doc.o view.o
ogledit: $(OBJECTS) ogledit: $(OBJECTS)
$(CXX) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl $(CPP) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
ogledit.o: ogledit.cpp ogledit.o: ogledit.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c ogledit.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c ogledit.cpp
palette.o: palette.cpp palette.o: palette.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c palette.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c palette.cpp
doc.o: doc.cpp doc.o: doc.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c doc.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
view.o: view.cpp view.o: view.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
clean: clean:
rm -f *.o ogledit rm -f *.o ogledit

View File

@@ -12,7 +12,8 @@
# on your system. # on your system.
# #
CXX = $(shell wx-config --cxx) CPP = gcc -g
CC = gcc
WXCONFIG=../../../../wx-config WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include -I../../../include WXINCLUDE=-I../../../../include -I../../../include
WXLIB=-L../../../../lib -L../../../src/ogl WXLIB=-L../../../../lib -L../../../src/ogl
@@ -20,37 +21,37 @@ WXLIB=-L../../../../lib -L../../../src/ogl
OBJECTS=studio.o cspalette.o csprint.o dialogs.o doc.o mainfrm.o project.o shapes.o symbols.o view.o OBJECTS=studio.o cspalette.o csprint.o dialogs.o doc.o mainfrm.o project.o shapes.o symbols.o view.o
studio: $(OBJECTS) studio: $(OBJECTS)
$(CXX) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl $(CPP) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
studio.o: studio.cpp studio.o: studio.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c studio.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c studio.cpp
cspalette.o: cspalette.cpp cspalette.o: cspalette.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c cspalette.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c cspalette.cpp
doc.o: doc.cpp doc.o: doc.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c doc.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c doc.cpp
view.o: view.cpp view.o: view.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
dialogs.o: dialogs.cpp dialogs.o: dialogs.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c dialogs.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c dialogs.cpp
mainfrm.o: mainfrm.cpp mainfrm.o: mainfrm.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp
project.o: project.cpp project.o: project.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c project.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c project.cpp
shapes.o: shapes.cpp shapes.o: shapes.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c shapes.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c shapes.cpp
symbols.o: symbols.cpp symbols.o: symbols.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c symbols.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c symbols.cpp
csprint.o: csprint.cpp csprint.o: csprint.cpp
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c csprint.cpp $(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c csprint.cpp
clean: clean:
rm -f *.o studio rm -f *.o studio

View File

@@ -56,7 +56,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wx.lib png.lib zlib.lib jpeg.lib tiff.lib regex.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /nodefaultlib:"msvcrtd.lib" /out:"Release/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug" !ELSEIF "$(CFG)" == "PlotVC - Win32 Debug"
@@ -83,7 +83,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmswd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxd.lib pngd.lib zlibd.lib jpegd.lib tiffd.lib regexd.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrt.lib" /out:"Debug/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
!ELSEIF "$(CFG)" == "PlotVC - Win32 Debug DLL" !ELSEIF "$(CFG)" == "PlotVC - Win32 Debug DLL"
@@ -109,7 +109,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw232d.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdlld.lib plotd.lib /nologo /subsystem:windows /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /out:"DebugDLL/plot.exe" /pdbtype:sept /libpath:"../../../lib" /libpath:"../../../contrib/lib"
!ELSEIF "$(CFG)" == "PlotVC - Win32 Release DLL" !ELSEIF "$(CFG)" == "PlotVC - Win32 Release DLL"
@@ -136,7 +136,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo # ADD BSC32 /nologo
LINK32=link.exe LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386 # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxmsw232.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib" # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib wxdll.lib plot.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libc.lib" /nodefaultlib:"libci.lib" /out:"ReleaseDLL/plot.exe" /libpath:"../../../lib" /libpath:"../../../contrib/lib"
!ENDIF !ENDIF
@@ -169,7 +169,7 @@ SOURCE=.\plot.cpp
SOURCE=.\plot.rc SOURCE=.\plot.rc
# ADD BASE RSC /l 0x809 # ADD BASE RSC /l 0x809
# ADD RSC /l 0x809 /i "..\..\..\include" /i "..\..\..\contrib\include" # ADD RSC /l 0x809 /i "..\..\..\include"
# End Source File # End Source File
# End Target # End Target
# End Project # End Project

View File

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

View File

@@ -371,7 +371,7 @@ void cbBarDragPlugin::UnstickFromPane( cbDockPane* pPane, wxPoint& mousePos )
if ( pPane->IsHorizontal() && fromLowerEdge ) if ( pPane->IsHorizontal() && fromLowerEdge )
{ {
// bool fromLowerEdge = mousePos.y > bounds.y; bool fromLowerEdge = mousePos.y > bounds.y;
mHintRect.y = wxMax( bounds.y + bounds.height + 1, mousePos.y - newHeight ); mHintRect.y = wxMax( bounds.y + bounds.height + 1, mousePos.y - newHeight );

View File

@@ -6,7 +6,7 @@
// Created: 30/11/98 (my 22th birthday :-) // Created: 30/11/98 (my 22th birthday :-)
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas // Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license // Licence: wxWindows license
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -49,42 +49,42 @@ IMPLEMENT_DYNAMIC_CLASS( cbBarHintsPlugin, cbPluginBase )
BEGIN_EVENT_TABLE( cbBarHintsPlugin, cbPluginBase ) BEGIN_EVENT_TABLE( cbBarHintsPlugin, cbPluginBase )
EVT_PL_SIZE_BAR_WND ( cbBarHintsPlugin::OnSizeBarWindow ) EVT_PL_SIZE_BAR_WND ( cbBarHintsPlugin::OnSizeBarWindow )
EVT_PL_DRAW_BAR_DECOR( cbBarHintsPlugin::OnDrawBarDecorations ) EVT_PL_DRAW_BAR_DECOR( cbBarHintsPlugin::OnDrawBarDecorations )
EVT_PL_LEFT_DOWN( cbBarHintsPlugin::OnLeftDown ) EVT_PL_LEFT_DOWN( cbBarHintsPlugin::OnLeftDown )
EVT_PL_LEFT_UP ( cbBarHintsPlugin::OnLeftUp ) EVT_PL_LEFT_UP ( cbBarHintsPlugin::OnLeftUp )
EVT_PL_MOTION ( cbBarHintsPlugin::OnMotion ) EVT_PL_MOTION ( cbBarHintsPlugin::OnMotion )
END_EVENT_TABLE() END_EVENT_TABLE()
cbBarHintsPlugin::cbBarHintsPlugin(void) cbBarHintsPlugin::cbBarHintsPlugin(void)
: mpPane( 0 ), : mpPane( 0 ),
mBtnPressed ( FALSE ), mBtnPressed ( FALSE ),
mCloseBoxOn ( TRUE ), mCloseBoxOn ( TRUE ),
mCollapseBoxOn( TRUE ), mCollapseBoxOn( TRUE ),
mGrooveCount ( 2 ), mGrooveCount ( 2 ),
mHintGap ( 4 ), mHintGap ( 4 ),
mXWeight ( 2 ) mXWeight ( 2 )
{ {
mBoxes[CLOSE_BOX_IDX] = NULL; mBoxes[CLOSE_BOX_IDX] = NULL;
mBoxes[COLLAPSE_BOX_IDX] = NULL; mBoxes[COLLAPSE_BOX_IDX] = NULL;
} }
cbBarHintsPlugin::cbBarHintsPlugin( wxFrameLayout* pLayout, int paneMask ) cbBarHintsPlugin::cbBarHintsPlugin( wxFrameLayout* pLayout, int paneMask )
: cbPluginBase( pLayout, paneMask ), : cbPluginBase( pLayout, paneMask ),
mpPane( 0 ), mpPane( 0 ),
mBtnPressed ( FALSE ), mBtnPressed ( FALSE ),
mCloseBoxOn ( TRUE ), mCloseBoxOn ( TRUE ),
mCollapseBoxOn( TRUE ), mCollapseBoxOn( TRUE ),
mGrooveCount ( 2 ), mGrooveCount ( 2 ),
mHintGap ( 5 ), mHintGap ( 5 ),
mXWeight ( 2 ) mXWeight ( 2 )
{ {
mBoxes[CLOSE_BOX_IDX] = NULL; mBoxes[CLOSE_BOX_IDX] = NULL;
mBoxes[COLLAPSE_BOX_IDX] = NULL; mBoxes[COLLAPSE_BOX_IDX] = NULL;
} }
@@ -93,31 +93,31 @@ cbBarHintsPlugin::~cbBarHintsPlugin()
if (mBoxes[CLOSE_BOX_IDX]) if (mBoxes[CLOSE_BOX_IDX])
delete mBoxes[CLOSE_BOX_IDX]; delete mBoxes[CLOSE_BOX_IDX];
if (mBoxes[COLLAPSE_BOX_IDX]) if (mBoxes[COLLAPSE_BOX_IDX])
delete mBoxes[COLLAPSE_BOX_IDX]; delete mBoxes[COLLAPSE_BOX_IDX];
} // cbBarHintsPlugin destructor } // cbBarHintsPlugin destructor
void cbBarHintsPlugin::SetGrooveCount( int nGrooves ) void cbBarHintsPlugin::SetGrooveCount( int nGrooves )
{ {
mGrooveCount = nGrooves; mGrooveCount = nGrooves;
} }
void cbBarHintsPlugin::CreateBoxes() void cbBarHintsPlugin::CreateBoxes()
{ {
cbCloseBox* box1 = new cbCloseBox(); cbCloseBox* box1 = new cbCloseBox();
cbCollapseBox* box2 = new cbCollapseBox(); cbCollapseBox* box2 = new cbCollapseBox();
mBoxes[CLOSE_BOX_IDX] = box1; mBoxes[CLOSE_BOX_IDX] = box1;
mBoxes[COLLAPSE_BOX_IDX] = box2; mBoxes[COLLAPSE_BOX_IDX] = box2;
int i; int i;
for ( i = 0; i != BOXES_IN_HINT; ++i ) for( i = 0; i != BOXES_IN_HINT; ++i )
{ {
mBoxes[i]->mpLayout = mpLayout; mBoxes[i]->mpLayout = mpLayout;
mBoxes[i]->mpPlugin = this; mBoxes[i]->mpPlugin = this;
mBoxes[i]->mpWnd = NULL; mBoxes[i]->mpWnd = NULL;
} }
} }
@@ -130,434 +130,431 @@ void cbBarHintsPlugin::DrawCloseBox( wxDC& dc, const wxPoint& pos, bool pressed
} }
void cbBarHintsPlugin::DrawCollapseBox( wxDC& dc, const wxPoint& pos, void cbBarHintsPlugin::DrawCollapseBox( wxDC& dc, const wxPoint& pos,
bool atLeft, bool disabled, bool pressed ) bool atLeft, bool disabled, bool pressed )
{ {
} }
void cbBarHintsPlugin::DrawGrooves( wxDC& dc, const wxPoint& pos, int length ) void cbBarHintsPlugin::DrawGrooves( wxDC& dc, const wxPoint& pos, int length )
{ {
int ofs = 0; int ofs = 0;
int i; int i;
for ( i = 0; i != mGrooveCount; ++i, ofs += ( GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP ) ) for( i = 0; i != mGrooveCount; ++i, ofs += ( GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP ) )
{
if ( mpPane->IsHorizontal() ) if ( mpPane->IsHorizontal() )
{ {
dc.SetPen( mpLayout->mLightPen ); dc.SetPen( mpLayout->mLightPen );
dc.DrawLine( pos.x + ofs, pos.y, pos.x + ofs, pos.y + length - 1 ); dc.DrawLine( pos.x + ofs, pos.y, pos.x + ofs, pos.y + length - 1 );
dc.DrawPoint( pos.x + ofs + 1, pos.y ); dc.DrawPoint( pos.x + ofs + 1, pos.y );
dc.SetPen( mpLayout->mDarkPen ); dc.SetPen( mpLayout->mDarkPen );
dc.DrawLine( pos.x + ofs + 2, pos.y, pos.x + ofs + 2, pos.y + length ); dc.DrawLine( pos.x + ofs + 2, pos.y, pos.x + ofs + 2, pos.y + length );
dc.DrawPoint( pos.x + ofs + 1, pos.y + length - 1 ); dc.DrawPoint( pos.x + ofs + 1, pos.y + length - 1 );
dc.DrawPoint( pos.x + ofs, pos.y + length - 1 ); dc.DrawPoint( pos.x + ofs, pos.y + length - 1 );
} }
else else
{ {
dc.SetPen( mpLayout->mLightPen ); dc.SetPen( mpLayout->mLightPen );
dc.DrawLine( pos.x, pos.y + ofs, pos.x + length - 1, pos.y + ofs ); dc.DrawLine( pos.x, pos.y + ofs, pos.x + length - 1, pos.y + ofs );
dc.DrawPoint( pos.x, pos.y + ofs + 1 ); dc.DrawPoint( pos.x, pos.y + ofs + 1 );
dc.SetPen( mpLayout->mDarkPen ); dc.SetPen( mpLayout->mDarkPen );
dc.DrawLine( pos.x, pos.y + ofs + 2, pos.x + length, pos.y + ofs + 2 ); dc.DrawLine( pos.x, pos.y + ofs + 2, pos.x + length, pos.y + ofs + 2 );
dc.DrawPoint( pos.x + length - 1, pos.y + ofs + 1 ); dc.DrawPoint( pos.x + length - 1, pos.y + ofs + 1 );
dc.DrawPoint( pos.x + length - 1, pos.y + ofs ); dc.DrawPoint( pos.x + length - 1, pos.y + ofs );
} }
}
} }
void cbBarHintsPlugin::ExcludeHints( wxRect& rect, cbBarInfo& info ) void cbBarHintsPlugin::ExcludeHints( wxRect& rect, cbBarInfo& info )
{ {
int boxHeight = BTN_BOX_HEIGHT; int boxHeight = BTN_BOX_HEIGHT;
// collapse and close box are not placed on fixed bars // collapse and close box are not placed on fixed bars
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) ) if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
boxHeight = 0; boxHeight = 0;
int height = wxMax( mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP) int height = wxMax( mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
- GROOVE_TO_GROOVE_GAP, - GROOVE_TO_GROOVE_GAP,
boxHeight boxHeight
); );
if ( mpPane->IsHorizontal() ) if ( mpPane->IsHorizontal() )
{ {
rect.x += ( mHintGap*2 + height ); rect.x += ( mHintGap*2 + height );
rect.width -= (height + 2*mHintGap); rect.width -= (height + 2*mHintGap);
rect.x -= info.mDimInfo.mHorizGap + 2; rect.x -= info.mDimInfo.mHorizGap + 2;
rect.width += info.mDimInfo.mHorizGap + 2; rect.width += info.mDimInfo.mHorizGap + 2;
} }
else else
{ {
rect.y += (mHintGap*2 + height); rect.y += (mHintGap*2 + height);
rect.height -= (height + 2*mHintGap); rect.height -= (height + 2*mHintGap);
rect.y -= info.mDimInfo.mVertGap + 2; rect.y -= info.mDimInfo.mVertGap + 2;
rect.height += info.mDimInfo.mVertGap + 2; rect.height += info.mDimInfo.mVertGap + 2;
} }
} }
void cbBarHintsPlugin::DoDrawHint( wxDC& dc, wxRect& rect, void cbBarHintsPlugin::DoDrawHint( wxDC& dc, wxRect& rect,
int pos, int boxOfs, int grooveOfs, int pos, int boxOfs, int grooveOfs,
bool isFixed ) bool isFixed )
{ {
if ( !isFixed ) if ( !isFixed )
{ {
if ( mpPane->IsHorizontal() ) if ( mpPane->IsHorizontal() )
{ {
if ( mCloseBoxOn ) if ( mCloseBoxOn )
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
mBoxes[CLOSE_BOX_IDX]->Draw( dc ); if ( mCollapseBoxOn )
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
}
else
{
if ( mCloseBoxOn )
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
if ( mCollapseBoxOn ) if ( mCollapseBoxOn )
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc ); mBoxes[COLLAPSE_BOX_IDX]->Draw( dc );
} }
else }
{
if ( mCloseBoxOn )
mBoxes[CLOSE_BOX_IDX]->Draw( dc );
if ( mCollapseBoxOn ) if ( mpPane->IsHorizontal() )
mBoxes[COLLAPSE_BOX_IDX]->Draw( dc ); DrawGrooves( dc, wxPoint( rect.x + mHintGap + grooveOfs, pos ),
} rect.height - (pos - rect.y) - mHintGap );
} else
DrawGrooves( dc, wxPoint( rect.x + mHintGap, rect.y + mHintGap + grooveOfs ),
if ( mpPane->IsHorizontal() ) (pos - rect.x) - mHintGap );
DrawGrooves( dc, wxPoint( rect.x + mHintGap + grooveOfs, pos ),
rect.height - (pos - rect.y) - mHintGap );
else
DrawGrooves( dc, wxPoint( rect.x + mHintGap, rect.y + mHintGap + grooveOfs ),
(pos - rect.x) - mHintGap );
} }
void cbBarHintsPlugin::GetHintsLayout( wxRect& rect, cbBarInfo& info, void cbBarHintsPlugin::GetHintsLayout( wxRect& rect, cbBarInfo& info,
int& boxOfs, int& grooveOfs, int& pos ) int& boxOfs, int& grooveOfs, int& pos )
{ {
int boxHeight = BTN_BOX_HEIGHT; int boxHeight = BTN_BOX_HEIGHT;
// int boxWidth = BTN_BOX_WIDTH + BOX_TO_GROOVE_GAP + BTN_BOX_WIDTH; int boxWidth = BTN_BOX_WIDTH + BOX_TO_GROOVE_GAP + BTN_BOX_WIDTH;
// collapse and close box are not placed on fixed bars // collapse and close box are not placed on fixed bars
if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) ) if ( info.IsFixed() || ( !mCloseBoxOn && !mCollapseBoxOn ) )
{ {
boxHeight = 0; boxHeight = 0;
// boxWidth = 0; boxWidth = 0;
} }
/* else
else if ( !mCloseBoxOn || !mCollapseBoxOn )
if ( !mCloseBoxOn || !mCollapseBoxOn )
boxWidth = BTN_BOX_WIDTH; boxWidth = BTN_BOX_WIDTH;
*/
int grooveHeight = mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
- GROOVE_TO_GROOVE_GAP;
int height = wxMax( grooveHeight, boxHeight ); int grooveHeight = mGrooveCount*(GROOVE_WIDTH + GROOVE_TO_GROOVE_GAP)
- GROOVE_TO_GROOVE_GAP;
// center boxs and groves with respect to each other int height = wxMax( grooveHeight, boxHeight );
boxOfs = ( height - boxHeight ) / 2; // center boxs and groves with respect to each other
grooveOfs = ( height - grooveHeight ) / 2;
pos = ( mpPane->IsHorizontal() ) ? rect.y + mHintGap boxOfs = ( height - boxHeight ) / 2;
: rect.x + rect.width - mHintGap; grooveOfs = ( height - grooveHeight ) / 2;
// setup positions for boxes pos = ( mpPane->IsHorizontal() ) ? rect.y + mHintGap
: rect.x + rect.width - mHintGap;
if ( !info.IsFixed() ) // setup positions for boxes
{
// what direction "collapse-triangle" should look at?
bool& isAtLeft = ((cbCollapseBox*)(mBoxes[COLLAPSE_BOX_IDX]))->mIsAtLeft; if ( !info.IsFixed() )
{
isAtLeft= info.mBounds.x <= mpPane->mPaneWidth - ( info.mBounds.x + info.mBounds.width ); // what direction "collapse-triangle" should look at?
if ( info.IsExpanded() ) bool& isAtLeft = ((cbCollapseBox*)(mBoxes[COLLAPSE_BOX_IDX]))->mIsAtLeft;
{
isAtLeft = FALSE; isAtLeft= info.mBounds.x <= mpPane->mPaneWidth - ( info.mBounds.x + info.mBounds.width );
cbBarInfo* pCur = info.mpPrev; if ( info.IsExpanded() )
{
isAtLeft = FALSE;
while( pCur ) cbBarInfo* pCur = info.mpPrev;
{
if ( !pCur->IsFixed() )
{
isAtLeft = TRUE; break;
}
pCur = pCur->mpPrev; while( pCur )
} {
} if ( !pCur->IsFixed() )
{
isAtLeft = TRUE; break;
}
// collapse/expand works only when more not-fixed bars are present in the same row pCur = pCur->mpPrev;
}
}
mBoxes[COLLAPSE_BOX_IDX]->Enable( info.mpRow->mNotFixedBarsCnt > 1 ); // collapse/expand works only when more not-fixed bars are present in the same row
int i; mBoxes[COLLAPSE_BOX_IDX]->Enable( info.mpRow->mNotFixedBarsCnt > 1 );
for ( i = 0; i != BOXES_IN_HINT; ++i )
{
mBoxes[i]->mpPane = mpPane;
}
if ( mpPane->IsHorizontal() ) int i;
{ for( i = 0; i != BOXES_IN_HINT; ++i )
if ( mCloseBoxOn )
{
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
pos += BTN_BOX_HEIGHT; mBoxes[i]->mpPane = mpPane;
}
if ( mCollapseBoxOn )
{
if ( mCloseBoxOn ) pos += BOX_T_BOX_GAP;
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos ); if ( mpPane->IsHorizontal() )
{
if ( mCloseBoxOn )
{
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
pos += BTN_BOX_HEIGHT; pos += BTN_BOX_HEIGHT;
}
pos += BOX_TO_GROOVE_GAP; if ( mCollapseBoxOn )
} {
} if ( mCloseBoxOn ) pos += BOX_T_BOX_GAP;
else
{
if ( mCloseBoxOn )
{
pos -= BTN_BOX_WIDTH;
mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( pos , rect.y + mHintGap + boxOfs ); mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( rect.x + mHintGap + boxOfs, pos );
}
if ( mCollapseBoxOn ) pos += BTN_BOX_HEIGHT;
{
if ( mCloseBoxOn ) pos -= BOX_T_BOX_GAP;
pos -= BTN_BOX_WIDTH; pos += BOX_TO_GROOVE_GAP;
}
}
else
{
if ( mCloseBoxOn )
{
pos -= BTN_BOX_WIDTH;
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( pos, rect.y + mHintGap + boxOfs ); mBoxes[CLOSE_BOX_IDX]->mPos = wxPoint( pos , rect.y + mHintGap + boxOfs );
}
pos -= BOX_TO_GROOVE_GAP; if ( mCollapseBoxOn )
} {
} if ( mCloseBoxOn ) pos -= BOX_T_BOX_GAP;
}
pos -= BTN_BOX_WIDTH;
mBoxes[COLLAPSE_BOX_IDX]->mPos = wxPoint( pos, rect.y + mHintGap + boxOfs );
pos -= BOX_TO_GROOVE_GAP;
}
}
}
} }
static inline bool is_in_box( const wxPoint& rectPos, const wxPoint& mousePos ) static inline bool is_in_box( const wxPoint& rectPos, const wxPoint& mousePos )
{ {
return ( mousePos.x >= rectPos.x && return ( mousePos.x >= rectPos.x &&
mousePos.y >= rectPos.y && mousePos.y >= rectPos.y &&
mousePos.x < rectPos.x + BTN_BOX_WIDTH && mousePos.x < rectPos.x + BTN_BOX_WIDTH &&
mousePos.y < rectPos.y + BTN_BOX_HEIGHT ); mousePos.y < rectPos.y + BTN_BOX_HEIGHT );
} }
int cbBarHintsPlugin::HitTestHints( cbBarInfo& info, const wxPoint& pos ) int cbBarHintsPlugin::HitTestHints( cbBarInfo& info, const wxPoint& pos )
{ {
wxPoint inPane = pos; wxPoint inPane = pos;
mpPane->PaneToFrame( &inPane.x, &inPane.y ); mpPane->PaneToFrame( &inPane.x, &inPane.y );
wxRect& rect = info.mBoundsInParent; wxRect& rect = info.mBoundsInParent;
if ( info.IsFixed() ) return FALSE; if ( info.IsFixed() ) return FALSE;
int boxOfs, grooveOfs, coord; int boxOfs, grooveOfs, coord;
GetHintsLayout( rect, info, boxOfs, grooveOfs, coord ); GetHintsLayout( rect, info, boxOfs, grooveOfs, coord );
if ( mpPane->IsHorizontal() ) if ( mpPane->IsHorizontal() )
{ {
if ( mCloseBoxOn ) if ( mCloseBoxOn )
{ {
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) ) if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
return CLOSE_BOX_HITTED; return CLOSE_BOX_HITTED;
coord += BTN_BOX_HEIGHT; coord += BTN_BOX_HEIGHT;
} }
if ( mCollapseBoxOn ) if ( mCollapseBoxOn )
{ {
if ( mCloseBoxOn ) coord += BOX_T_BOX_GAP; if ( mCloseBoxOn ) coord += BOX_T_BOX_GAP;
if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) ) if ( is_in_box( wxPoint( rect.x + mHintGap + boxOfs, coord ), inPane ) )
return COLLAPSE_BOX_HITTED; return COLLAPSE_BOX_HITTED;
coord += BTN_BOX_HEIGHT; coord += BTN_BOX_HEIGHT;
} }
} }
else else
{ {
if ( mCloseBoxOn ) if ( mCloseBoxOn )
{ {
coord -= BTN_BOX_WIDTH; coord -= BTN_BOX_WIDTH;
if ( is_in_box( wxPoint( coord , rect.y + mHintGap + boxOfs ), inPane ) ) if ( is_in_box( wxPoint( coord , rect.y + mHintGap + boxOfs ), inPane ) )
return CLOSE_BOX_HITTED; return CLOSE_BOX_HITTED;
} }
if ( mCollapseBoxOn ) if ( mCollapseBoxOn )
{ {
if ( mCloseBoxOn ) coord -= BOX_T_BOX_GAP; if ( mCloseBoxOn ) coord -= BOX_T_BOX_GAP;
coord -= BTN_BOX_WIDTH; coord -= BTN_BOX_WIDTH;
if ( is_in_box( wxPoint( coord, rect.y + mHintGap + boxOfs ), inPane ) ) if ( is_in_box( wxPoint( coord, rect.y + mHintGap + boxOfs ), inPane ) )
return COLLAPSE_BOX_HITTED; return COLLAPSE_BOX_HITTED;
} }
} }
return FALSE; return FALSE;
} }
// handlers for plugin-events // handlers for plugin-events
void cbBarHintsPlugin::OnSizeBarWindow( cbSizeBarWndEvent& event ) void cbBarHintsPlugin::OnSizeBarWindow( cbSizeBarWndEvent& event )
{ {
wxRect& rect = event.mBoundsInParent; wxRect& rect = event.mBoundsInParent;
mpPane = event.mpPane; mpPane = event.mpPane;
ExcludeHints( rect, *event.mpBar ); ExcludeHints( rect, *event.mpBar );
event.Skip(); // pass event to the next plugin in the chain event.Skip(); // pass event to the next plugin in the chain
} }
void cbBarHintsPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event ) void cbBarHintsPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event )
{ {
wxRect& rect = event.mBoundsInParent; wxRect& rect = event.mBoundsInParent;
mpPane = event.mpPane; mpPane = event.mpPane;
int boxOfs, grooveOfs, pos; int boxOfs, grooveOfs, pos;
GetHintsLayout( rect, *event.mpBar, boxOfs, grooveOfs, pos ); GetHintsLayout( rect, *event.mpBar, boxOfs, grooveOfs, pos );
DoDrawHint( *event.mpDc, rect, pos, boxOfs, grooveOfs, event.mpBar->IsFixed() ); DoDrawHint( *event.mpDc, rect, pos, boxOfs, grooveOfs, event.mpBar->IsFixed() );
// let other plugins add on their decorations // let other plugins add on their decorations
event.Skip(); event.Skip();
} }
void cbBarHintsPlugin::OnLeftDown( cbLeftDownEvent& event ) void cbBarHintsPlugin::OnLeftDown( cbLeftDownEvent& event )
{ {
mpPane = event.mpPane; mpPane = event.mpPane;
wxPoint inFrame = event.mPos;
mpPane->PaneToFrame( &inFrame.x, &inFrame.y ); wxPoint inFrame = event.mPos;
mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
wxBarIterator iter( mpPane->GetRowList() ); wxBarIterator iter( mpPane->GetRowList() );
mpClickedBar = NULL; mpClickedBar = NULL;
while ( iter.Next() ) while ( iter.Next() )
{ {
cbBarInfo& bar = iter.BarInfo(); cbBarInfo& bar = iter.BarInfo();
int boxOfs, grooveOfs, pos; int boxOfs, grooveOfs, pos;
GetHintsLayout( bar.mBoundsInParent, bar, boxOfs, grooveOfs, pos ); GetHintsLayout( bar.mBoundsInParent, bar, boxOfs, grooveOfs, pos );
if ( !bar.IsFixed() ) if ( !bar.IsFixed() )
{ {
int i; int i;
for ( i = 0; i != BOXES_IN_HINT; ++i ) for( i = 0; i != BOXES_IN_HINT; ++i )
{ {
mBoxes[i]->OnLeftDown( inFrame ); mBoxes[i]->OnLeftDown( inFrame );
if ( mBoxes[i]->mPressed ) if ( mBoxes[i]->mPressed )
{ {
mBtnPressed = TRUE; mBtnPressed = TRUE;
mpClickedBar = &bar; mpClickedBar = &bar;
return; // event handled return; // event handled
} }
} }
} }
} }
event.Skip(); event.Skip();
} }
void cbBarHintsPlugin::OnLeftUp( cbLeftUpEvent& event ) void cbBarHintsPlugin::OnLeftUp( cbLeftUpEvent& event )
{ {
if ( mBtnPressed ) if ( mBtnPressed )
{ {
wxPoint inFrame = event.mPos; wxPoint inFrame = event.mPos;
mpPane->PaneToFrame( &inFrame.x, &inFrame.y ); mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
int boxOfs, grooveOfs, pos; int boxOfs, grooveOfs, pos;
GetHintsLayout( mpClickedBar->mBoundsInParent, *mpClickedBar, boxOfs, grooveOfs, pos ); GetHintsLayout( mpClickedBar->mBoundsInParent, *mpClickedBar, boxOfs, grooveOfs, pos );
int result = HitTestHints( *mpClickedBar, event.mPos ); int result = HitTestHints( *mpClickedBar, event.mPos );
int i; int i;
for ( i = 0; i != BOXES_IN_HINT; ++i ) for( i = 0; i != BOXES_IN_HINT; ++i )
{ {
mBoxes[i]->OnLeftUp( inFrame ); mBoxes[i]->OnLeftUp( inFrame );
if ( mBoxes[i]->WasClicked() ) if ( mBoxes[i]->WasClicked() )
{ {
if ( i == 0 ) if ( i == 0 )
{
mpLayout->SetBarState( mpClickedBar, wxCBAR_HIDDEN, TRUE );
}
else
{
if ( mpClickedBar->IsExpanded() )
mpPane->ContractBar( mpClickedBar );
else
mpPane->ExpandBar( mpClickedBar );
}
}
}
mBtnPressed = FALSE; mpLayout->SetBarState( mpClickedBar, wxCBAR_HIDDEN, TRUE );
return; else
} {
else if ( mpClickedBar->IsExpanded() )
event.Skip();
mpPane->ContractBar( mpClickedBar );
else
mpPane->ExpandBar( mpClickedBar );
}
}
}
mBtnPressed = FALSE;
return;
}
else
event.Skip();
} }
void cbBarHintsPlugin::OnMotion( cbMotionEvent& event ) void cbBarHintsPlugin::OnMotion( cbMotionEvent& event )
{ {
if ( mBtnPressed ) if ( mBtnPressed )
{ {
wxPoint inFrame = event.mPos; wxPoint inFrame = event.mPos;
mpPane->PaneToFrame( &inFrame.x, &inFrame.y ); mpPane->PaneToFrame( &inFrame.x, &inFrame.y );
mpPane = event.mpPane; mpPane = event.mpPane;
int i; int i;
for ( i = 0; i != BOXES_IN_HINT; ++i ) for( i = 0; i != BOXES_IN_HINT; ++i )
{
mBoxes[i]->OnMotion( inFrame ); mBoxes[i]->OnMotion( inFrame );
} }
} else
else event.Skip();
event.Skip();
} }
void cbBarHintsPlugin::OnInitPlugin() void cbBarHintsPlugin::OnInitPlugin()
{ {
cbPluginBase::OnInitPlugin(); cbPluginBase::OnInitPlugin();
cbDockPane** panes = mpLayout->GetPanesArray(); cbDockPane** panes = mpLayout->GetPanesArray();
int i; int i;
for ( i = 0; i != MAX_PANES; ++i ) for( i = 0; i != MAX_PANES; ++i )
{ {
if ( panes[i]->MatchesMask( mPaneMask ) ) if ( panes[i]->MatchesMask( mPaneMask ) )
{ {
panes[i]->mProps.mMinCBarDim.x = 25; panes[i]->mProps.mMinCBarDim.x = 25;
panes[i]->mProps.mMinCBarDim.y = 16; panes[i]->mProps.mMinCBarDim.y = 16;
} }
} }
CreateBoxes(); CreateBoxes();
} }

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@
// Created: 02/01/99 // Created: 02/01/99
// RCS-ID: $Id$ // RCS-ID: $Id$
// Copyright: (c) Aleksandras Gluchovas // Copyright: (c) Aleksandras Gluchovas
// Licence: wxWindows license // Licence: wxWindows license
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__ #ifdef __GNUG__
@@ -31,86 +31,86 @@
BEGIN_EVENT_TABLE( wxFrameView, wxEvtHandler ) BEGIN_EVENT_TABLE( wxFrameView, wxEvtHandler )
EVT_IDLE( wxFrameView::OnIdle ) EVT_IDLE( wxFrameView::OnIdle )
END_EVENT_TABLE() END_EVENT_TABLE()
void wxFrameView::OnIdle( wxIdleEvent& event) void wxFrameView::OnIdle( wxIdleEvent& event)
{ {
event.Skip(); event.Skip();
if ( mDoToolUpdates ) if ( mDoToolUpdates )
{ {
int o = 0; //glt int o = 0; //glt
++o; ++o;
// TBD:: // TBD::
} }
} }
/*** public methods ***/ /*** public methods ***/
wxFrameView::wxFrameView() wxFrameView::wxFrameView()
: mpLayout( NULL ), : mpLayout( NULL ),
mpFrameMgr( NULL ) mpFrameMgr( NULL )
{} {}
wxFrameView::~wxFrameView() wxFrameView::~wxFrameView()
{ {
if ( mpLayout ) delete mpLayout; if ( mpLayout ) delete mpLayout;
} }
wxFrame* wxFrameView::GetParentFrame() wxFrame* wxFrameView::GetParentFrame()
{ {
return mpFrameMgr->GetParentFrame(); return mpFrameMgr->GetParentFrame();
} }
wxWindow* wxFrameView::GetClientWindow() wxWindow* wxFrameView::GetClientWindow()
{ {
return mpFrameMgr->GetClientWindow(); return mpFrameMgr->GetClientWindow();
} }
void wxFrameView::Activate() void wxFrameView::Activate()
{ {
mpFrameMgr->ActivateView( this ); mpFrameMgr->ActivateView( this );
} }
void wxFrameView::Deactivate() void wxFrameView::Deactivate()
{ {
mpFrameMgr->DeactivateCurrentView(); mpFrameMgr->DeactivateCurrentView();
} }
void wxFrameView::CreateLayout() void wxFrameView::CreateLayout()
{ {
mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE ); mpLayout = new wxFrameLayout( GetParentFrame(), mpFrameMgr->GetClientWindow(), FALSE );
} }
wxFrameLayout* wxFrameView::GetLayout() wxFrameLayout* wxFrameView::GetLayout()
{ {
return mpLayout; return mpLayout;
} }
void wxFrameView::SetToolUpdates( bool doToolUpdates ) void wxFrameView::SetToolUpdates( bool doToolUpdates )
{ {
mDoToolUpdates = doToolUpdates; mDoToolUpdates = doToolUpdates;
} }
void wxFrameView::SetLayout( wxFrameLayout* pLayout ) void wxFrameView::SetLayout( wxFrameLayout* pLayout )
{ {
if ( mpLayout ) delete mpLayout; if ( mpLayout ) delete mpLayout;
mpLayout = pLayout; mpLayout = pLayout;
} }
wxFrameManager& wxFrameView::GetFrameManager() wxFrameManager& wxFrameView::GetFrameManager()
{ {
return *mpFrameMgr; return *mpFrameMgr;
} }
void wxFrameView::RegisterMenu( const wxString& topMenuName ) void wxFrameView::RegisterMenu( const wxString& topMenuName )
{ {
mTopMenus.Add( topMenuName ); mTopMenus.Add( topMenuName );
} }
#if 0 #if 0
@@ -121,32 +121,32 @@ void wxFrameView::RegisterMenu( const wxString& topMenuName )
class wxFrameViewSerializer : public wxEvtHandlerSerializer class wxFrameViewSerializer : public wxEvtHandlerSerializer
{ {
DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer ); DECLARE_SERIALIZER_CLASS( wxFrameViewSerializer );
static void Serialize( wxObject* pObj, wxObjectStorage& store ); static void Serialize( wxObject* pObj, wxObjectStorage& store );
}; };
IMPLEMENT_SERIALIZER_CLASS( wxFrameView, IMPLEMENT_SERIALIZER_CLASS( wxFrameView,
wxFrameViewSerializer, wxFrameViewSerializer,
wxFrameViewSerializer::Serialize, wxFrameViewSerializer::Serialize,
NO_CLASS_INIT ) NO_CLASS_INIT )
void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store ) void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
{ {
// wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of // wxFrameViewSerializer is a kind of wxEvtHandler - peform serialization of
// the base class first // the base class first
info.SerializeInherited( pObj, store ); info.SerializeInherited( pObj, store );
wxFrameView* pView = (wxFrameView*)pObj; wxFrameView* pView = (wxFrameView*)pObj;
store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr ); store.XchgObjPtr( (wxObject**) &pView->mpFrameMgr );
store.XchgObjPtr( (wxObject**) &pView->mpLayout ); store.XchgObjPtr( (wxObject**) &pView->mpLayout );
store.XchgBool ( pView->mDoToolUpdates ); store.XchgBool ( pView->mDoToolUpdates );
// serialize members in derived classes // serialize members in derived classes
pView->OnSerialize( store ); pView->OnSerialize( store );
} }
#endif #endif
@@ -156,262 +156,263 @@ void wxFrameViewSerializer::Serialize( wxObject* pObj, wxObjectStorage& store )
void wxFrameManager::DoSerialize( wxObjectStorage& store ) void wxFrameManager::DoSerialize( wxObjectStorage& store )
{ {
#if 0 #if 0
store.AddInitialRef( mpFrameWnd ); store.AddInitialRef( mpFrameWnd );
store.AddInitialRef( this ); store.AddInitialRef( this );
if ( mpClientWnd ) store.AddInitialRef( mpClientWnd ); if ( mpClientWnd ) store.AddInitialRef( mpClientWnd );
store.XchgObj( (wxObject*) &mViews ); store.XchgObj( (wxObject*) &mViews );
store.XchgInt( mActiveViewNo ); store.XchgInt( mActiveViewNo );
store.Finalize(); // finish serialization store.Finalize(); // finish serialization
#endif #endif
} }
void wxFrameManager::DestroyViews() void wxFrameManager::DestroyViews()
{ {
DeactivateCurrentView(); DeactivateCurrentView();
wxNode* pNode = mViews.First(); wxNode* pNode = mViews.First();
while ( pNode ) while( pNode )
{ {
delete (wxFrameView*)pNode->Data(); delete (wxFrameView*)pNode->Data();
pNode = pNode->Next(); pNode = pNode->Next();
} }
if ( mActiveViewNo != -1 && GetParentFrame() ) if ( mActiveViewNo != -1 && GetParentFrame() )
GetParentFrame()->SetNextHandler( NULL ); GetParentFrame()->SetNextHandler( NULL );
} }
int wxFrameManager::GetViewNo( wxFrameView* pView ) int wxFrameManager::GetViewNo( wxFrameView* pView )
{ {
wxNode* pNode = mViews.First(); wxNode* pNode = mViews.First();
int n = 0; int n = 0;
while ( pNode ) while( pNode )
{ {
if ( (wxFrameView*)pNode->Data() == pView ) if ( (wxFrameView*)pNode->Data() == pView )
return n; return n;
++n; ++n;
pNode = pNode->Next(); pNode = pNode->Next();
} }
return -1; return -1;
} }
void wxFrameManager::EnableMenusForView( wxFrameView* pView, bool enable ) void wxFrameManager::EnableMenusForView( wxFrameView* pView, bool enable )
{ {
wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar(); wxMenuBar* pMenuBar = GetParentFrame()->GetMenuBar();
int count = pMenuBar->GetMenuCount(); int count = pMenuBar->GetMenuCount();
if ( !pMenuBar ) if ( !pMenuBar ) return;
return;
wxStringListNode* pNode = pView->mTopMenus.GetFirst(); wxStringListNode* pNode = pView->mTopMenus.GetFirst();
int i; while( pNode )
while ( pNode ) {
{ for( int i = 0; i != count; ++i )
for ( i = 0; i != count; ++i ) {
{ if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
if ( pMenuBar->GetMenu(i)->GetTitle() == pNode->GetData() )
pMenuBar->EnableTop( i, enable );
}
pNode = pNode->GetNext(); pMenuBar->EnableTop( i, enable );
} }
pNode = pNode->GetNext();
}
} }
void wxFrameManager::SyncAllMenus() void wxFrameManager::SyncAllMenus()
{ {
wxNode* pNode = mViews.First(); wxNode* pNode = mViews.First();
int i = 0; int i = 0;
while ( pNode ) while( pNode )
{ {
if ( i != mActiveViewNo ) if ( i != mActiveViewNo )
EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE ); EnableMenusForView( (wxFrameView*)pNode->GetData(), FALSE );
pNode = pNode->Next(); pNode = pNode->Next();
} }
EnableMenusForView( GetView( mActiveViewNo ), TRUE ); EnableMenusForView( GetView( mActiveViewNo ), TRUE );
} }
/*** public methods ***/ /*** public methods ***/
wxFrameManager::wxFrameManager() wxFrameManager::wxFrameManager()
: mpFrameWnd( NULL ), : mpFrameWnd( NULL ),
mActiveViewNo( -1 ), mActiveViewNo( -1 ),
mpClientWnd( NULL ) mpClientWnd( NULL )
{ {
} }
wxFrameManager::~wxFrameManager() wxFrameManager::~wxFrameManager()
{ {
SaveViewsNow(); SaveViewsNow();
DestroyViews(); DestroyViews();
} }
void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile ) void wxFrameManager::Init( wxWindow* pMainFrame, const wxString& settingsFile )
{ {
mSettingsFile = settingsFile; mSettingsFile = settingsFile;
mpFrameWnd = pMainFrame; mpFrameWnd = pMainFrame;
wxNode* pNode = mViews.First(); wxNode* pNode = mViews.First();
while ( pNode ) while( pNode )
{ {
wxFrameView* pView = (wxFrameView*)pNode->Data(); wxFrameView* pView = (wxFrameView*)pNode->Data();
pView->OnInit(); pView->OnInit();
pView->OnInitMenus(); pView->OnInitMenus();
pNode = pNode->Next(); pNode = pNode->Next();
} }
if ( !ReloadViews() ) if ( !ReloadViews() )
{ {
// if loading of settings file failed (e.g. was not found), // if loading of settings file failed (e.g. was not found),
// do recreation of items in each view // do recreation of items in each view
pNode = mViews.First(); pNode = mViews.First();
while ( pNode ) while( pNode )
{ {
wxFrameView* pView = (wxFrameView*)pNode->Data(); wxFrameView* pView = (wxFrameView*)pNode->Data();
pView->OnRecreate(); pView->OnRecreate();
pNode = pNode->Next(); pNode = pNode->Next();
} }
} }
if ( mActiveViewNo >= mViews.Number() ) if ( mActiveViewNo >= mViews.Number() )
mActiveViewNo = -1;
mActiveViewNo = -1;
ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) ); ActivateView( GetView( ( mActiveViewNo == -1 ) ? 0 : mActiveViewNo ) );
SyncAllMenus(); SyncAllMenus();
} }
void wxFrameManager::AddView( wxFrameView* pFrmView ) void wxFrameManager::AddView( wxFrameView* pFrmView )
{ {
mViews.Append( pFrmView ); mViews.Append( pFrmView );
pFrmView->mpFrameMgr = this; // back ref. pFrmView->mpFrameMgr = this; // back ref.
} }
void wxFrameManager::RemoveView( wxFrameView* pFrmView ) void wxFrameManager::RemoveView( wxFrameView* pFrmView )
{ {
// TBD:: // TBD::
wxFAIL_MSG("wxFrameManager::RemoveView() has not been implemented yet."); int avoidCompilerWarning = 0;
wxASSERT(avoidCompilerWarning);
} }
int wxFrameManager::GetActiveViewNo() int wxFrameManager::GetActiveViewNo()
{ {
return mActiveViewNo; return mActiveViewNo;
} }
wxFrameView* wxFrameManager::GetActiveView() wxFrameView* wxFrameManager::GetActiveView()
{ {
wxNode* pNode = mViews.Nth( mActiveViewNo ); wxNode* pNode = mViews.Nth( mActiveViewNo );
if ( pNode ) return (wxFrameView*)pNode->Data(); if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL; else return NULL;
} }
wxNode* wxFrameManager::GetActiveViewNode() wxNode* wxFrameManager::GetActiveViewNode()
{ {
return mViews.Nth( mActiveViewNo ); return mViews.Nth( mActiveViewNo );
} }
wxFrame* wxFrameManager::GetParentFrame() wxFrame* wxFrameManager::GetParentFrame()
{ {
return ((wxFrame*)mpFrameWnd); return ((wxFrame*)mpFrameWnd);
} }
wxWindow* wxFrameManager::GetParentWindow() wxWindow* wxFrameManager::GetParentWindow()
{ {
return mpFrameWnd; return mpFrameWnd;
} }
wxFrameView* wxFrameManager::GetView( int viewNo ) wxFrameView* wxFrameManager::GetView( int viewNo )
{ {
wxNode* pNode = mViews.Nth( viewNo ); wxNode* pNode = mViews.Nth( viewNo );
if ( pNode ) return (wxFrameView*)pNode->Data(); if ( pNode ) return (wxFrameView*)pNode->Data();
else return NULL; else return NULL;
} }
void wxFrameManager::ActivateView( int viewNo ) void wxFrameManager::ActivateView( int viewNo )
{ {
ActivateView( GetView( viewNo ) ); ActivateView( GetView( viewNo ) );
} }
void wxFrameManager::ActivateView( wxFrameView* pFrmView ) void wxFrameManager::ActivateView( wxFrameView* pFrmView )
{ {
DeactivateCurrentView(); DeactivateCurrentView();
mActiveViewNo = GetViewNo( pFrmView ); mActiveViewNo = GetViewNo( pFrmView );
if ( pFrmView->mpLayout ) if ( pFrmView->mpLayout )
pFrmView->mpLayout->Activate(); pFrmView->mpLayout->Activate();
// FIXME:: we would have used PushEventHandler(), // FIXME:: we would have used PushEventHandler(),
// but wxFrame bypasses attached handlers when // but wxFrame bypasses attached handlers when
// handling wxCommand events! // handling wxCommand events!
GetParentFrame()->PushEventHandler( pFrmView ); GetParentFrame()->PushEventHandler( pFrmView );
EnableMenusForView( pFrmView, TRUE ); EnableMenusForView( pFrmView, TRUE );
} }
void wxFrameManager::SetClinetWindow( wxWindow* pFrameClient ) void wxFrameManager::SetClinetWindow( wxWindow* pFrameClient )
{ {
if ( mpClientWnd ) mpClientWnd->Destroy(); if ( mpClientWnd ) mpClientWnd->Destroy();
mpClientWnd = pFrameClient; mpClientWnd = pFrameClient;
} }
wxWindow* wxFrameManager::GetClientWindow() wxWindow* wxFrameManager::GetClientWindow()
{ {
if ( !mpClientWnd ) if ( !mpClientWnd )
mpClientWnd = new wxWindow( GetParentFrame(), -1 ); mpClientWnd = new wxWindow( GetParentFrame(), -1 );
return mpClientWnd; return mpClientWnd;
} }
void wxFrameManager::DeactivateCurrentView() void wxFrameManager::DeactivateCurrentView()
{ {
if ( mActiveViewNo == -1 ) if ( mActiveViewNo == -1 ) return;
return;
wxFrameView* pView = GetActiveView(); wxFrameView* pView = GetActiveView();
// FOR NOW:: // FOR NOW::
wxASSERT( GetParentFrame()->GetEventHandler() == pView ); wxASSERT( GetParentFrame()->GetEventHandler() == pView );
GetParentFrame()->PopEventHandler(); GetParentFrame()->PopEventHandler();
if ( pView->mpLayout ) if ( pView->mpLayout )
pView->mpLayout->Deactivate();
EnableMenusForView( pView, FALSE ); pView->mpLayout->Deactivate();
EnableMenusForView( pView, FALSE );
} }
void wxFrameManager::SaveViewsNow() void wxFrameManager::SaveViewsNow()
{ {
#if 0 #if 0
if ( mSettingsFile == "" ) return; if ( mSettingsFile == "" ) return;
wxIOStreamWrapper stm; wxIOStreamWrapper stm;
stm.CreateForOutput( mSettingsFile ); stm.CreateForOutput( mSettingsFile );
@@ -423,14 +424,15 @@ void wxFrameManager::SaveViewsNow()
bool wxFrameManager::ReloadViews() bool wxFrameManager::ReloadViews()
{ {
return FALSE; return FALSE;
// TBD: ???? // TBD: ????
#if 0 #if 0
if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) ) if ( mSettingsFile == "" || !wxFileExists( mSettingsFile ) )
return FALSE;
return FALSE;
DestroyViews(); DestroyViews();
wxIOStreamWrapper stm; wxIOStreamWrapper stm;
stm.CreateForInput( mSettingsFile ); stm.CreateForInput( mSettingsFile );
@@ -438,12 +440,12 @@ bool wxFrameManager::ReloadViews()
mStore.SetDataStream( stm ); mStore.SetDataStream( stm );
DoSerialize( mStore ); DoSerialize( mStore );
return TRUE; return TRUE;
#endif #endif
} }
bool wxFrameManager::ViewsAreLoaded() bool wxFrameManager::ViewsAreLoaded()
{ {
return ( mViews.Number() != 0 ); return ( mViews.Number() != 0 );
} }

View File

@@ -141,8 +141,7 @@ void cbGCUpdatesMgr::UpdateNow()
wxList mBarsToResize; wxList mBarsToResize;
int n; for( int n = 0; n != MAX_PANES; ++n )
for ( n = 0; n != MAX_PANES; ++n )
{ {
cbDockPane& pane = *(panes[n]); cbDockPane& pane = *(panes[n]);
@@ -165,7 +164,7 @@ void cbGCUpdatesMgr::UpdateNow()
cbBarInfo* pBar = pRow->GetFirstBar(); cbBarInfo* pBar = pRow->GetFirstBar();
bool rowChanged = FALSE; bool rowChanged = FALSE;
// bool rowBkPainted = FALSE; bool rowBkPainted = FALSE;
// FIXME:: the below should not be fixed // FIXME:: the below should not be fixed
cbBarInfo* barsToRepaint[128]; cbBarInfo* barsToRepaint[128];
@@ -208,7 +207,7 @@ void cbGCUpdatesMgr::UpdateNow()
cbBarInfo* pCurBar = pRow->GetFirstBar(); cbBarInfo* pCurBar = pRow->GetFirstBar();
while ( pCurBar ) while( pCurBar )
{ {
if ( WasChanged( pCurBar->mUMgrData, if ( WasChanged( pCurBar->mUMgrData,
pCurBar->mBoundsInParent ) ) pCurBar->mBoundsInParent ) )
@@ -227,7 +226,7 @@ void cbGCUpdatesMgr::UpdateNow()
else else
if ( nBars != 0 ) if ( nBars != 0 )
{ {
for ( int i = 0; i != nBars; ++i ) for( int i = 0; i != nBars; ++i )
// postphone the resizement and refreshing the changed // postphone the resizement and refreshing the changed
// bar windows // bar windows

File diff suppressed because it is too large Load Diff

View File

@@ -381,7 +381,14 @@ void cbPaneDrawPlugin::OnLDblClick( cbLeftDClickEvent& event )
&pBarToFloat ) == CB_BAR_CONTENT_HITTED &pBarToFloat ) == CB_BAR_CONTENT_HITTED
) )
{ {
return; // TBD: ????
return;
mpLayout->SetBarState( pBarToFloat, wxCBAR_FLOATING, TRUE );
mpLayout->RepositionFloatedBar( pBarToFloat );
return; // event is "eaten" by this plugin
} }
event.Skip(); event.Skip();
@@ -432,7 +439,7 @@ void cbPaneDrawPlugin::OnLButtonDown( cbLeftDownEvent& event )
{ {
// otehrwise if bar handle dragged // otehrwise if bar handle dragged
// cbRowInfo& rowInfo = *mpDraggedBar->mpRow; cbRowInfo& rowInfo = *mpDraggedBar->mpRow;
wxRect& bounds = mpDraggedBar->mBounds; wxRect& bounds = mpDraggedBar->mBounds;
mHandleIsVertical = ( event.mpPane->IsHorizontal() ) ? TRUE : FALSE; mHandleIsVertical = ( event.mpPane->IsHorizontal() ) ? TRUE : FALSE;
@@ -728,27 +735,27 @@ void cbPaneDrawPlugin::OnDrawRowBackground ( cbDrawRowBkGroundEvent& event )
wxRect rowBounds = pRow->mBoundsInParent; wxRect rowBounds = pRow->mBoundsInParent;
bool isHorizontal = event.mpPane->IsHorizontal(); bool isHorizontal = event.mpPane->IsHorizontal();
// int prevPos; int prevPos;
if ( isHorizontal ) if ( isHorizontal )
{ {
// prevPos = rowBounds.x; prevPos = rowBounds.x;
// include one line above and below the row // include one line obove and below the row
--rowBounds.y; --rowBounds.y;
rowBounds.height += 2; rowBounds.height +=2;
--rowBounds.x; --rowBounds.x;
rowBounds.width += 2; rowBounds.width += 2;
} }
else else
{ {
// prevPos = rowBounds.y; prevPos = rowBounds.y;
// include one line above and below the row // include one line obove and below the row
--rowBounds.x; --rowBounds.x;
rowBounds.width += 2; rowBounds.width += 2;
--rowBounds.y; --rowBounds.y;
rowBounds.height += 2; rowBounds.height +=2;
} }
//#define TEST_BK_ERASING //#define TEST_BK_ERASING
@@ -1163,7 +1170,7 @@ void cbPaneDrawPlugin::OnDrawPaneDecorations( cbDrawPaneDecorEvent& event )
void cbPaneDrawPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event ) void cbPaneDrawPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event )
{ {
// cbBarInfo* pBar = event.mpBar; cbBarInfo* pBar = event.mpBar;
wxDC& dc = *event.mpDc; wxDC& dc = *event.mpDc;
// draw brick borders // draw brick borders

View File

@@ -229,7 +229,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
// DBG:: // DBG::
wxPoint p = event.mPos; wxPoint p = event.mPos;
wxPoint d = mDragOrigin; wxPoint d = mDragOrigin;
// int dif = event.mPos.x - mDragOrigin.x; int dif = event.mPos.x - mDragOrigin.x;
// row is dragged up or down; // row is dragged up or down;
ShowDraggedRow( pos.y - mDragOrigin.y ); ShowDraggedRow( pos.y - mDragOrigin.y );
@@ -239,7 +239,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
// DBG:: // DBG::
wxPoint p = event.mPos; wxPoint p = event.mPos;
wxPoint d = mDragOrigin; wxPoint d = mDragOrigin;
// int dif = event.mPos.x - mDragOrigin.x; int dif = event.mPos.x - mDragOrigin.x;
// row is dragged left or right // row is dragged left or right
ShowDraggedRow( pos.x - mDragOrigin.x ); ShowDraggedRow( pos.x - mDragOrigin.x );

File diff suppressed because it is too large Load Diff

View File

@@ -496,7 +496,8 @@ void wxToolWindow::CalcResizedRect( wxRect& rect, wxPoint& delta, const wxSize&
} }
else else
{ {
wxFAIL( _T("what did the cursor hit?") ); int avoidCompilerWarning = 0;
wxASSERT(avoidCompilerWarning); // DBG::
} }
rect.x = left; rect.x = left;

View File

@@ -289,4 +289,3 @@ void cbSimpleUpdatesMgr::UpdateNow()
} }
} }

View File

@@ -7,19 +7,19 @@
CFG=GizmosVC - Win32 Debug CFG=GizmosVC - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run !MESSAGE use the Export Makefile command and run
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "GizmosVC.mak". !MESSAGE NMAKE /f "GizmosVC.mak".
!MESSAGE !MESSAGE
!MESSAGE You can specify a configuration when running NMAKE !MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE !MESSAGE
!MESSAGE NMAKE /f "GizmosVC.mak" CFG="GizmosVC - Win32 Debug" !MESSAGE NMAKE /f "GizmosVC.mak" CFG="GizmosVC - Win32 Debug"
!MESSAGE !MESSAGE
!MESSAGE Possible choices for configuration are: !MESSAGE Possible choices for configuration are:
!MESSAGE !MESSAGE
!MESSAGE "GizmosVC - Win32 Release" (based on "Win32 (x86) Static Library") !MESSAGE "GizmosVC - Win32 Release" (based on "Win32 (x86) Static Library")
!MESSAGE "GizmosVC - Win32 Debug" (based on "Win32 (x86) Static Library") !MESSAGE "GizmosVC - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE !MESSAGE
# Begin Project # Begin Project
# PROP AllowPerConfigDependencies 0 # PROP AllowPerConfigDependencies 0
@@ -76,7 +76,7 @@ LIB32=link.exe -lib
# ADD BASE LIB32 /nologo # ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"..\..\..\lib\gizmosd.lib" # ADD LIB32 /nologo /out:"..\..\..\lib\gizmosd.lib"
!ENDIF !ENDIF
# Begin Target # Begin Target
@@ -118,9 +118,5 @@ SOURCE=.\multicell.cpp
SOURCE=.\splittree.cpp SOURCE=.\splittree.cpp
# End Source File # End Source File
# Begin Source File
SOURCE=.\ledctrl.cpp
# End Source File
# End Target # End Target
# End Project # End Project

View File

@@ -13,9 +13,9 @@ LIBVERSION_AGE=0
HEADER_PATH=$(top_srcdir)/contrib/include/wx HEADER_PATH=$(top_srcdir)/contrib/include/wx
HEADER_SUBDIR=gizmos HEADER_SUBDIR=gizmos
HEADERS=multicell.h splittree.h editlbox.h dynamicsash.h ledctrl.h HEADERS=multicell.h splittree.h editlbox.h dynamicsash.h
OBJECTS=multicell.o splittree.o editlbox.o dynamicsash.o ledctrl.o OBJECTS=multicell.o splittree.o editlbox.o dynamicsash.o
DEPFILES=$(OBJECTS:.o=.d) DEPFILES=$(OBJECTS:.o=.d)
APPEXTRADEFS=-I$(top_srcdir)/contrib/include APPEXTRADEFS=-I$(top_srcdir)/contrib/include

View File

@@ -10,23 +10,6 @@
// Licence: wxWindows licence // Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#ifdef __GNUG__
#pragma implementation "splittree.h"
#endif
// For compilers that support precompilation, includes "wx/wx.h".
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif
// for all others, include the necessary headers (this file is usually all you
// need because it includes almost all "standard" wxWindows headers)
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/gizmos/dynamicsash.h" #include "wx/gizmos/dynamicsash.h"
/* /*
@@ -100,9 +83,6 @@ class wxDynamicSashReparentEvent : public wxEvent {
public: public:
wxDynamicSashReparentEvent(); wxDynamicSashReparentEvent();
wxDynamicSashReparentEvent(wxObject *object); wxDynamicSashReparentEvent(wxObject *object);
wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt);
virtual wxEvent* Clone() const { return new wxDynamicSashReparentEvent(*this); }
DECLARE_DYNAMIC_CLASS(wxDynamicSashReparentEvent); DECLARE_DYNAMIC_CLASS(wxDynamicSashReparentEvent);
}; };
@@ -348,8 +328,7 @@ void wxDynamicSashWindowImpl::DrawSash(int x, int y) const {
dc.SetBrush(brush); dc.SetBrush(brush);
dc.SetLogicalFunction(wxXOR); dc.SetLogicalFunction(wxXOR);
if ((m_dragging == DSR_CORNER) && if (m_dragging == DSR_CORNER) {
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
int cx = 0; int cx = 0;
int cy = 0; int cy = 0;
@@ -551,6 +530,7 @@ void wxDynamicSashWindowImpl::Unify(int panel) {
} }
void wxDynamicSashWindowImpl::Split(int px, int py) { void wxDynamicSashWindowImpl::Split(int px, int py) {
m_window->Hide();
m_add_child_target = NULL; m_add_child_target = NULL;
@@ -597,8 +577,9 @@ void wxDynamicSashWindowImpl::Split(int px, int py) {
m_leaf = NULL; m_leaf = NULL;
m_container->Layout(); m_container->Layout();
}
m_window->Show();
}
/* This code is called when you finish resizing a view by dragging the /* This code is called when you finish resizing a view by dragging the
corner tab, but I think this implementation is lousy and will surprise corner tab, but I think this implementation is lousy and will surprise
@@ -791,8 +772,7 @@ void wxDynamicSashWindowImpl::OnPress(wxMouseEvent &event) {
} }
void wxDynamicSashWindowImpl::OnRelease(wxMouseEvent &event) { void wxDynamicSashWindowImpl::OnRelease(wxMouseEvent &event) {
if ((m_dragging == DSR_CORNER) && if (m_dragging == DSR_CORNER) {
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
DrawSash(m_drag_x, m_drag_y); DrawSash(m_drag_x, m_drag_y);
m_container->ReleaseMouse(); m_container->ReleaseMouse();
@@ -894,7 +874,7 @@ bool wxDynamicSashWindowLeaf::Create() {
m_viewport->SetEventHandler(this); m_viewport->SetEventHandler(this);
Connect(-1, wxEVT_DYNAMIC_SASH_REPARENT, (wxObjectEventFunction)&wxDynamicSashWindowLeaf::OnReparent); Connect(-1, wxEVT_DYNAMIC_SASH_REPARENT, (wxObjectEventFunction)&wxDynamicSashWindowLeaf::OnReparent);
if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) { if (m_impl->m_window->GetWindowStyle() & wxMANAGE_SCROLLBARS) {
m_hscroll->SetEventHandler(this); m_hscroll->SetEventHandler(this);
m_vscroll->SetEventHandler(this); m_vscroll->SetEventHandler(this);
@@ -991,7 +971,7 @@ DynamicSashRegion wxDynamicSashWindowLeaf::GetRegion(int x, int y) {
void wxDynamicSashWindowLeaf::ResizeChild(wxSize size) { void wxDynamicSashWindowLeaf::ResizeChild(wxSize size) {
if (m_child) { if (m_child) {
if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) { if (m_impl->m_window->GetWindowStyle() & wxMANAGE_SCROLLBARS) {
m_child->SetSize(size); m_child->SetSize(size);
wxSize best_size = m_child->GetBestSize(); wxSize best_size = m_child->GetBestSize();
if (best_size.GetWidth() < size.GetWidth()) { if (best_size.GetWidth() < size.GetWidth()) {
@@ -1102,6 +1082,7 @@ void wxDynamicSashWindowLeaf::OnPaint(wxPaintEvent &event) {
dc.DrawLine(9, h - sh - 3, 9, h - 4); dc.DrawLine(9, h - sh - 3, 9, h - 4);
dc.DrawLine(9, h - 4, 3, h - 4); dc.DrawLine(9, h - 4, 3, h - 4);
int cy = (h - sh + h - 6) / 2 + 1; int cy = (h - sh + h - 6) / 2 + 1;
int cx = (w - sw + w - 6) / 2 + 1; int cx = (w - sw + w - 6) / 2 + 1;
int sy = cy; int sy = cy;
@@ -1154,8 +1135,7 @@ void wxDynamicSashWindowLeaf::OnMouseMove(wxMouseEvent &event) {
cursor = wxCursor(wxCURSOR_SIZENS); cursor = wxCursor(wxCURSOR_SIZENS);
} else if (region == DSR_VERTICAL_TAB) { } else if (region == DSR_VERTICAL_TAB) {
cursor = wxCursor(wxCURSOR_SIZEWE); cursor = wxCursor(wxCURSOR_SIZEWE);
} else if ((region == DSR_CORNER) && } else if (region == DSR_CORNER) {
(m_impl->m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
cursor = wxCursor(wxCURSOR_SIZENWSE); cursor = wxCursor(wxCURSOR_SIZENWSE);
} else if (region == DSR_LEFT_EDGE || region == DSR_TOP_EDGE } else if (region == DSR_LEFT_EDGE || region == DSR_TOP_EDGE
|| region == DSR_RIGHT_EDGE || region == DSR_BOTTOM_EDGE) { || region == DSR_RIGHT_EDGE || region == DSR_BOTTOM_EDGE) {
@@ -1180,9 +1160,6 @@ void wxDynamicSashWindowLeaf::OnLeave(wxMouseEvent &event) {
void wxDynamicSashWindowLeaf::OnPress(wxMouseEvent &event) { void wxDynamicSashWindowLeaf::OnPress(wxMouseEvent &event) {
DynamicSashRegion region = GetRegion(event.m_x, event.m_y); DynamicSashRegion region = GetRegion(event.m_x, event.m_y);
if ((region == DSR_CORNER) && (m_impl->m_window->GetWindowStyle() & wxDS_DRAG_CORNER) == 0)
return;
if (region == DSR_HORIZONTAL_TAB || region == DSR_VERTICAL_TAB || region == DSR_CORNER) { if (region == DSR_HORIZONTAL_TAB || region == DSR_VERTICAL_TAB || region == DSR_CORNER) {
m_impl->m_dragging = region; m_impl->m_dragging = region;
m_impl->m_drag_x = event.m_x; m_impl->m_drag_x = event.m_x;
@@ -1260,11 +1237,6 @@ wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(wxObject *object) {
m_eventType = wxEVT_DYNAMIC_SASH_REPARENT; m_eventType = wxEVT_DYNAMIC_SASH_REPARENT;
} }
wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt)
: wxEvent(evt)
{
}
IMPLEMENT_DYNAMIC_CLASS(wxDynamicSashReparentEvent, wxEvent) IMPLEMENT_DYNAMIC_CLASS(wxDynamicSashReparentEvent, wxEvent)
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

View File

@@ -82,7 +82,7 @@ END_EVENT_TABLE()
IMPLEMENT_CLASS(wxEditableListBox, wxPanel) IMPLEMENT_CLASS(wxEditableListBox, wxPanel)
enum enum
{ {
// ID value doesn't matter, it won't propagate out of wxEditableListBox // ID value doesn't matter, it won't propagate out of wxEditableListBox
// instance // instance
@@ -111,7 +111,7 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id,
: wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL, name), m_edittingNew(FALSE) : wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL, name), m_edittingNew(FALSE)
{ {
wxSizer *sizer = new wxBoxSizer(wxVERTICAL); wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
wxPanel *subp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxPanel *subp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
wxSUNKEN_BORDER | wxTAB_TRAVERSAL); wxSUNKEN_BORDER | wxTAB_TRAVERSAL);
wxSizer *subsizer = new wxBoxSizer(wxHORIZONTAL); wxSizer *subsizer = new wxBoxSizer(wxHORIZONTAL);
@@ -121,32 +121,25 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id,
m_bDel = new wxBitmapButton(subp, wxID_ELB_DELETE, wxBitmap(eldel_xpm)); m_bDel = new wxBitmapButton(subp, wxID_ELB_DELETE, wxBitmap(eldel_xpm));
m_bUp = new wxBitmapButton(subp, wxID_ELB_UP, wxBitmap(elup_xpm)); m_bUp = new wxBitmapButton(subp, wxID_ELB_UP, wxBitmap(elup_xpm));
m_bDown = new wxBitmapButton(subp, wxID_ELB_DOWN, wxBitmap(eldown_xpm)); m_bDown = new wxBitmapButton(subp, wxID_ELB_DOWN, wxBitmap(eldown_xpm));
m_bEdit->SetToolTip(wxT("Edit item"));
m_bNew->SetToolTip(wxT("New item"));
m_bDel->SetToolTip(wxT("Delete item"));
m_bUp->SetToolTip(wxT("Move up"));
m_bDown->SetToolTip(wxT("Move down"));
subsizer->Add(m_bEdit, 0, wxALIGN_CENTRE_VERTICAL); subsizer->Add(m_bEdit, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bNew, 0, wxALIGN_CENTRE_VERTICAL); subsizer->Add(m_bNew, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bDel, 0, wxALIGN_CENTRE_VERTICAL); subsizer->Add(m_bDel, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bUp, 0, wxALIGN_CENTRE_VERTICAL); subsizer->Add(m_bUp, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bDown, 0, wxALIGN_CENTRE_VERTICAL); subsizer->Add(m_bDown, 0, wxALIGN_CENTRE_VERTICAL);
subp->SetAutoLayout(TRUE); subp->SetAutoLayout(TRUE);
subp->SetSizer(subsizer); subp->SetSizer(subsizer);
subsizer->Fit(subp); subsizer->Fit(subp);
sizer->Add(subp, 0, wxEXPAND); sizer->Add(subp, 0, wxEXPAND);
m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL, m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL,
wxDefaultPosition, wxDefaultSize, wxDefaultPosition, wxDefaultSize,
wxLC_REPORT | wxLC_NO_HEADER | wxLC_REPORT | wxLC_NO_HEADER |
wxLC_SINGLE_SEL | wxSUNKEN_BORDER | wxLC_SINGLE_SEL | wxSUNKEN_BORDER |
wxLC_EDIT_LABELS); wxLC_EDIT_LABELS);
wxArrayString empty_ar; wxArrayString empty_ar;
SetStrings(empty_ar); SetStrings(empty_ar);
sizer->Add(m_listCtrl, 1, wxEXPAND); sizer->Add(m_listCtrl, 1, wxEXPAND);
SetAutoLayout(TRUE); SetAutoLayout(TRUE);
@@ -158,11 +151,11 @@ void wxEditableListBox::SetStrings(const wxArrayString& strings)
{ {
m_listCtrl->DeleteAllItems(); m_listCtrl->DeleteAllItems();
size_t i; size_t i;
for (i = 0; i < strings.GetCount(); i++) for (i = 0; i < strings.GetCount(); i++)
m_listCtrl->InsertItem(i, strings[i]); m_listCtrl->InsertItem(i, strings[i]);
m_listCtrl->InsertItem(strings.GetCount(), _T("")); m_listCtrl->InsertItem(strings.GetCount(), _T(""));
m_listCtrl->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); m_listCtrl->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
} }
@@ -185,7 +178,7 @@ void wxEditableListBox::OnItemSelected(wxListEvent& event)
void wxEditableListBox::OnNewItem(wxCommandEvent& event) void wxEditableListBox::OnNewItem(wxCommandEvent& event)
{ {
m_listCtrl->SetItemState(m_listCtrl->GetItemCount()-1, m_listCtrl->SetItemState(m_listCtrl->GetItemCount()-1,
wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
m_edittingNew = TRUE; m_edittingNew = TRUE;
m_listCtrl->EditLabel(m_selection); m_listCtrl->EditLabel(m_selection);
@@ -204,7 +197,7 @@ void wxEditableListBox::OnEndLabelEdit(wxListEvent& event)
void wxEditableListBox::OnDelItem(wxCommandEvent& event) void wxEditableListBox::OnDelItem(wxCommandEvent& event)
{ {
m_listCtrl->DeleteItem(m_selection); m_listCtrl->DeleteItem(m_selection);
m_listCtrl->SetItemState(m_selection, m_listCtrl->SetItemState(m_selection,
wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED); wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
} }
@@ -216,7 +209,7 @@ void wxEditableListBox::OnEditItem(wxCommandEvent& event)
void wxEditableListBox::OnUpItem(wxCommandEvent& event) void wxEditableListBox::OnUpItem(wxCommandEvent& event)
{ {
wxString t1, t2; wxString t1, t2;
t1 = m_listCtrl->GetItemText(m_selection - 1); t1 = m_listCtrl->GetItemText(m_selection - 1);
t2 = m_listCtrl->GetItemText(m_selection); t2 = m_listCtrl->GetItemText(m_selection);
m_listCtrl->SetItemText(m_selection - 1, t2); m_listCtrl->SetItemText(m_selection - 1, t2);
@@ -228,7 +221,7 @@ void wxEditableListBox::OnUpItem(wxCommandEvent& event)
void wxEditableListBox::OnDownItem(wxCommandEvent& event) void wxEditableListBox::OnDownItem(wxCommandEvent& event)
{ {
wxString t1, t2; wxString t1, t2;
t1 = m_listCtrl->GetItemText(m_selection + 1); t1 = m_listCtrl->GetItemText(m_selection + 1);
t2 = m_listCtrl->GetItemText(m_selection); t2 = m_listCtrl->GetItemText(m_selection);
m_listCtrl->SetItemText(m_selection + 1, t2); m_listCtrl->SetItemText(m_selection + 1, t2);

View File

@@ -1,358 +0,0 @@
// ============================================================================
// headers
// ============================================================================
#ifdef __GNUG__
#pragma implementation "wxLEDNumberCtrl.h"
#endif
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#pragma hdrstop
#endif //__BORLANDC__
#ifndef WX_PRECOMP
#include "wx/dcclient.h"
#include "wx/dcmemory.h"
#include "wx/intl.h"
#endif
#include "wx/gizmos/ledctrl.h"
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// A LED digit is build up like this, with maximum 7 Lines :
//
// 111
// 6 2
// 777
// 5 3
// 444
//
// Each number contains combinations of the lines, and they are set up below.
const int LINE1 = 1;
const int LINE2 = 2;
const int LINE3 = 4;
const int LINE4 = 8;
const int LINE5 = 16;
const int LINE6 = 32;
const int LINE7 = 64;
const int DIGIT0 = LINE1 | LINE2 | LINE3 | LINE4 | LINE5 | LINE6;
const int DIGIT1 = LINE2 | LINE3;
const int DIGIT2 = LINE1 | LINE2 | LINE4 | LINE5 | LINE7;
const int DIGIT3 = LINE1 | LINE2 | LINE3 | LINE4 | LINE7;
const int DIGIT4 = LINE2 | LINE3 | LINE6 | LINE7;
const int DIGIT5 = LINE1 | LINE3 | LINE4 | LINE6 | LINE7;
const int DIGIT6 = LINE1 | LINE3 | LINE4 | LINE5 | LINE6 | LINE7;
const int DIGIT7 = LINE1 | LINE2 | LINE3;
const int DIGIT8 = LINE1 | LINE2 | LINE3 | LINE4 | LINE5 | LINE6 | LINE7;
const int DIGIT9 = LINE1 | LINE2 | LINE3 | LINE6 | LINE7;
const int DASH = LINE7;
const int DIGITALL = -1;
// ============================================================================
// wxLEDNumberCtrl class implementation
// ============================================================================
wxLEDNumberCtrl::wxLEDNumberCtrl()
: m_Alignment(wxLED_ALIGN_LEFT),
m_LineMargin(-1),
m_DigitMargin(-1),
m_LineLength(-1),
m_LineWidth(-1),
m_DrawFaded(FALSE),
m_LeftStartPos(-1)
{
}
wxLEDNumberCtrl::wxLEDNumberCtrl(wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style)
: m_Alignment(wxLED_ALIGN_LEFT),
m_LineMargin(-1),
m_DigitMargin(-1),
m_LineLength(-1),
m_LineWidth(-1),
m_DrawFaded(FALSE),
m_LeftStartPos(-1)
{
Create(parent, id, pos, size, style);
}
bool wxLEDNumberCtrl::Create(wxWindow *parent, wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style)
{
bool RetVal = wxControl::Create(parent, id, pos, size, style);
if ((style & wxLED_DRAW_FADED) != 0)
SetDrawFaded(TRUE);
if ((style & wxLED_ALIGN_MASK) != 0)
SetAlignment((wxLEDValueAlign)(style & wxLED_ALIGN_MASK));
SetBackgroundColour(*wxBLACK);
SetForegroundColour(*wxGREEN);
return RetVal;
}
void wxLEDNumberCtrl::SetAlignment(wxLEDValueAlign Alignment, bool Redraw)
{
if (Alignment != m_Alignment)
{
m_Alignment = Alignment;
RecalcInternals(GetClientSize());
if (Redraw)
Refresh(FALSE);
}
}
void wxLEDNumberCtrl::SetDrawFaded(bool DrawFaded, bool Redraw)
{
if (DrawFaded != m_DrawFaded)
{
m_DrawFaded = DrawFaded;
if (Redraw)
Refresh(FALSE);
}
}
void wxLEDNumberCtrl::SetValue(wxString const &Value, bool Redraw)
{
if (Value != m_Value)
{
if (!Value.IsEmpty())
{
for(size_t i=0; i<Value.Length(); i++) {
wxChar ch = Value[i];
wxASSERT_MSG((ch>='0' && ch<='9') || ch=='-' || ch==' ',
wxT("wxLEDNumberCtrl can only display numeric string values."));
}
}
m_Value = Value;
RecalcInternals(GetClientSize());
if (Redraw)
Refresh(FALSE);
}
}
BEGIN_EVENT_TABLE(wxLEDNumberCtrl, wxControl)
EVT_ERASE_BACKGROUND(wxLEDNumberCtrl::OnEraseBackground)
EVT_PAINT(wxLEDNumberCtrl::OnPaint)
EVT_SIZE(wxLEDNumberCtrl::OnSize)
END_EVENT_TABLE()
void wxLEDNumberCtrl::OnEraseBackground(wxEraseEvent &Event)
{
}
void wxLEDNumberCtrl::OnPaint(wxPaintEvent &Event)
{
wxPaintDC Dc(this);
int Width, Height;
GetClientSize(&Width, &Height);
wxBitmap *pMemoryBitmap = new wxBitmap(Width, Height);
wxMemoryDC MemDc;
MemDc.SelectObject(*pMemoryBitmap);
MemDc.BeginDrawing();
// Draw background.
MemDc.SetBrush(wxBrush(GetBackgroundColour(), wxSOLID));
MemDc.DrawRectangle(wxRect(0, 0, Width, Height));
MemDc.SetBrush(wxNullBrush);
// Iterate each digit in the value, and draw.
const int DigitCount = m_Value.Len();
for (int i = 0; i < DigitCount; ++i)
{
// Draw faded lines if wanted.
if (m_DrawFaded)
DrawDigit(MemDc, DIGITALL, i);
// Draw the digits.
switch (m_Value[i])
{
case '0' :
DrawDigit(MemDc, DIGIT0, i);
break;
case '1' :
DrawDigit(MemDc, DIGIT1, i);
break;
case '2' :
DrawDigit(MemDc, DIGIT2, i);
break;
case '3' :
DrawDigit(MemDc, DIGIT3, i);
break;
case '4' :
DrawDigit(MemDc, DIGIT4, i);
break;
case '5' :
DrawDigit(MemDc, DIGIT5, i);
break;
case '6' :
DrawDigit(MemDc, DIGIT6, i);
break;
case '7' :
DrawDigit(MemDc, DIGIT7, i);
break;
case '8' :
DrawDigit(MemDc, DIGIT8, i);
break;
case '9' :
DrawDigit(MemDc, DIGIT9, i);
break;
case '-' :
DrawDigit(MemDc, DASH, i);
break;
case ' ' :
// just skip it
break;
default :
wxFAIL_MSG(_("Unknown digit value"));
break;
}
}
MemDc.EndDrawing();
// Blit the memory dc to screen.
Dc.Blit(0, 0, Width, Height, &MemDc, 0, 0, wxCOPY);
delete pMemoryBitmap;
}
void wxLEDNumberCtrl::DrawDigit(wxDC &Dc, int Digit, int Column)
{
wxColour LineColor(GetForegroundColour());
if (Digit == DIGITALL)
{
const int R = LineColor.Red() / 3;
const int G = LineColor.Green() / 3;
const int B = LineColor.Blue() / 3;
LineColor.Set(R, G, B);
}
int XPos = m_LeftStartPos;
if (Column > 0)
XPos += (Column * m_LineLength) + (m_DigitMargin) * Column;
// Create a pen and draw the lines.
wxPen Pen(LineColor, m_LineWidth, wxSOLID);
Dc.SetPen(Pen);
if ((Digit & LINE1))
{
Dc.DrawLine(XPos + m_LineMargin*2, m_LineMargin,
XPos + m_LineLength, m_LineMargin);
}
if (Digit & LINE2)
{
Dc.DrawLine(XPos + m_LineLength + m_LineMargin, m_LineMargin*2,
XPos + m_LineLength + m_LineMargin, m_LineLength + (m_LineMargin*2));
}
if (Digit & LINE3)
{
Dc.DrawLine(XPos + m_LineLength + m_LineMargin, m_LineLength + (m_LineMargin*4),
XPos + m_LineLength + m_LineMargin, m_LineLength*2 + (m_LineMargin*3));
}
if (Digit & LINE4)
{
Dc.DrawLine(XPos + m_LineMargin*2, m_LineLength*2 + (m_LineMargin*4),
XPos + m_LineLength, m_LineLength*2 + (m_LineMargin*4));
}
if (Digit & LINE5)
{
Dc.DrawLine(XPos + m_LineMargin, m_LineLength + (m_LineMargin*4),
XPos + m_LineMargin, m_LineLength*2 + (m_LineMargin*3));
}
if (Digit & LINE6)
{
Dc.DrawLine(XPos + m_LineMargin, m_LineMargin*2,
XPos + m_LineMargin, m_LineLength + (m_LineMargin*2));
}
if (Digit & LINE7)
{
Dc.DrawLine(XPos + m_LineMargin*2, m_LineLength + (m_LineMargin*3),
XPos + m_LineMargin + m_LineLength - m_LineMargin, m_LineLength + (m_LineMargin*3));
}
Dc.SetPen(wxNullPen);
}
void wxLEDNumberCtrl::RecalcInternals(const wxSize &CurrentSize)
{
const int Height = CurrentSize.GetHeight();
if ((Height * 0.07) < 1)
m_LineMargin = 1;
else
m_LineMargin = Height * 0.07;
if ((Height * 0.35) < 1)
m_LineLength = 1;
else
m_LineLength = Height * 0.35;
m_LineWidth = m_LineMargin;
m_DigitMargin = m_LineMargin * 4;
const int ValueWidth = (m_LineLength + m_DigitMargin) * m_Value.Len();
const int ClientWidth = CurrentSize.GetWidth();
switch (m_Alignment)
{
case wxLED_ALIGN_LEFT :
m_LeftStartPos = 0;
break;
case wxLED_ALIGN_RIGHT :
m_LeftStartPos = ClientWidth - ValueWidth;
break;
case wxLED_ALIGN_CENTER :
m_LeftStartPos = (ClientWidth - ValueWidth) / 2;
break;
default :
wxFAIL_MSG(_("Unknown alignent value for wxLEDNumberCtrl."));
break;
}
}
void wxLEDNumberCtrl::OnSize(wxSizeEvent &Event)
{
RecalcInternals(Event.GetSize());
Event.Skip();
}

View File

@@ -2,7 +2,7 @@
# File: makefile.b32 # File: makefile.b32
# Author: Julian Smart # Author: Julian Smart
# Created: 1999 # Created: 1999
# Updated: # Updated:
# Copyright: # Copyright:
# #
# Makefile : Builds Gizmos library for 32-bit BC++ # Makefile : Builds Gizmos library for 32-bit BC++
@@ -11,7 +11,7 @@ WXDIR = $(WXWIN)
LIBTARGET=$(WXDIR)\lib\gizmos.lib LIBTARGET=$(WXDIR)\lib\gizmos.lib
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
!include $(WXDIR)\src\makelib.b32 !include $(WXDIR)\src\makelib.b32

View File

@@ -2,7 +2,7 @@
# File: makefile.bcc # File: makefile.bcc
# Author: Julian Smart # Author: Julian Smart
# Created: 1998 # Created: 1998
# Updated: # Updated:
# #
# Builds Gizmos library for BC++, 16-bit # Builds Gizmos library for BC++, 16-bit
@@ -14,7 +14,7 @@ WXDIR = $(WXWIN)
LIBTARGET=$(WXDIR)\lib\gizmos.lib LIBTARGET=$(WXDIR)\lib\gizmos.lib
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
!include $(WXDIR)\src\makelib.bcc !include $(WXDIR)\src\makelib.bcc

View File

@@ -10,7 +10,7 @@
WXDIR = ../../.. WXDIR = ../../..
LIBTARGET=$(WXDIR)/lib/libgizmos.a LIBTARGET=$(WXDIR)/lib/libgizmos.a
OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o ledctrl.o OBJECTS = multicell.o splittree.o editlbox.o dynamicsash.o
include $(WXDIR)/src/makelib.g95 include $(WXDIR)/src/makelib.g95

View File

@@ -23,7 +23,7 @@ LOCALDOCDIR=$(WXDIR)\contrib\docs\latex\gizmos
!include $(WXDIR)\src\makevc.env !include $(WXDIR)\src\makevc.env
OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj $(D)\ledctrl.obj OBJECTS = $(D)\multicell.obj $(D)\splittree.obj $(D)\editlbox.obj $(D)\dynamicsash.obj
LIBTARGET=$(WXDIR)\lib\gizmos$(LIBEXT).lib LIBTARGET=$(WXDIR)\lib\gizmos$(LIBEXT).lib

View File

@@ -10,7 +10,7 @@ THISDIR = $(WXDIR)\contrib\src\gizmos
NAME = gizmos NAME = gizmos
LNK = $(name).lnk LNK = $(name).lnk
OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj ledctrl.obj OBJECTS = multicell.obj splittree.obj editlbox.obj dynamicsash.obj
all: $(GIZMOSLIB) all: $(GIZMOSLIB)

View File

@@ -58,25 +58,17 @@ BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxGenericTreeCtrl)
#else #else
BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxTreeCtrl) BEGIN_EVENT_TABLE(wxRemotelyScrolledTreeCtrl, wxTreeCtrl)
#endif #endif
EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize) EVT_SIZE(wxRemotelyScrolledTreeCtrl::OnSize)
EVT_PAINT(wxRemotelyScrolledTreeCtrl::OnPaint) EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_TREE_ITEM_EXPANDED(-1, wxRemotelyScrolledTreeCtrl::OnExpand) EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxRemotelyScrolledTreeCtrl::OnExpand) EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
EVT_SCROLLWIN(wxRemotelyScrolledTreeCtrl::OnScroll)
END_EVENT_TABLE() END_EVENT_TABLE()
wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl( wxRemotelyScrolledTreeCtrl::wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt,
wxWindow* parent, wxWindowID id, const wxPoint& pt, const wxSize& sz, long style):
const wxSize& sz, long style) wxTreeCtrl(parent, id, pt, sz, style)
: wxTreeCtrl(parent, id, pt, sz, style & ~wxTR_ROW_LINES)
{ {
m_companionWindow = NULL; m_companionWindow = NULL;
// We draw the row lines ourself so they match what's done
// by the companion window. That is why the flag is turned
// off above, so wxGenericTreeCtrl doesn't draw them in a
// different colour.
m_drawRowLines = (style & wxTR_ROW_LINES) != 0;
} }
wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl() wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
@@ -85,20 +77,16 @@ wxRemotelyScrolledTreeCtrl::~wxRemotelyScrolledTreeCtrl()
void wxRemotelyScrolledTreeCtrl::HideVScrollbar() void wxRemotelyScrolledTreeCtrl::HideVScrollbar()
{ {
#if defined(__WXMSW__) #if defined(__WXMSW__) && USE_GENERIC_TREECTRL
#if USE_GENERIC_TREECTRL
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl))) if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
#endif
{ {
::ShowScrollBar((HWND) GetHWND(), SB_VERT, FALSE); ::ShowScrollBar((HWND) GetHWND(), SB_VERT, FALSE);
} }
#if USE_GENERIC_TREECTRL
else else
#endif
{ {
// Implicit in overriding SetScrollbars // Implicit in overriding SetScrollbars
} }
#endif
#endif
} }
// Number of pixels per user unit (0 or -1 for no scrollbar) // Number of pixels per user unit (0 or -1 for no scrollbar)
@@ -115,9 +103,9 @@ void wxRemotelyScrolledTreeCtrl::SetScrollbars(int pixelsPerUnitX, int pixelsPer
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this; wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
win->wxGenericTreeCtrl::SetScrollbars(pixelsPerUnitX, 0, noUnitsX, 0, xPos, 0, noRefresh); win->wxGenericTreeCtrl::SetScrollbars(pixelsPerUnitX, 0, noUnitsX, 0, xPos, 0, noRefresh);
wxScrolledWindow* scrolledWindow = GetScrolledWindow(); wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow) if (scrolledWindow)
{ {
scrolledWindow->SetScrollbars(0, pixelsPerUnitY, 0, noUnitsY, 0, yPos, noRefresh); scrolledWindow->SetScrollbars(0, pixelsPerUnitY, 0, noUnitsY, 0, yPos, noRefresh);
} }
} }
@@ -166,13 +154,13 @@ void wxRemotelyScrolledTreeCtrl::GetViewStart(int *x, int *y) const
scrolledWindow->GetViewStart(& x2, & y2); scrolledWindow->GetViewStart(& x2, & y2);
* y = y2; * y = y2;
} }
else else
#endif #endif
{ {
// x is wrong since the horizontal scrollbar is controlled by the // x is wrong since the horizontal scrollbar is controlled by the
// tree control, but we probably don't need it. // tree control, but we probably don't need it.
scrolledWindow->GetViewStart(x, y); scrolledWindow->GetViewStart(x, y);
} }
} }
// In case we're using the generic tree control. // In case we're using the generic tree control.
@@ -181,7 +169,7 @@ void wxRemotelyScrolledTreeCtrl::PrepareDC(wxDC& dc)
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__) #if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl))) if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
{ {
wxScrolledWindow* scrolledWindow = GetScrolledWindow(); wxScrolledWindow* scrolledWindow = GetScrolledWindow();
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this; wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
@@ -207,9 +195,9 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl))) if (!IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
#endif #endif
{ {
UINT sbCode = SB_THUMBPOSITION; UINT sbCode = SB_THUMBPOSITION;
HWND vertScrollBar = 0; HWND vertScrollBar = 0;
MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar); MSWDefWindowProc((WXUINT) WM_VSCROLL, MAKELONG(sbCode, posVert), (WXHWND) vertScrollBar);
} }
#if USE_GENERIC_TREECTRL #if USE_GENERIC_TREECTRL
else else
@@ -218,127 +206,90 @@ void wxRemotelyScrolledTreeCtrl::ScrollToLine(int posHoriz, int posVert)
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__) #if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
{ {
wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this; wxGenericTreeCtrl* win = (wxGenericTreeCtrl*) this;
win->Refresh(); win->Refresh();
/* Doesn't work yet because scrolling is ignored by Scroll /* Doesn't work yet because scrolling is ignored by Scroll
int xppu, yppu; int xppu, yppu;
wxScrolledWindow* scrolledWindow = GetScrolledWindow(); wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow) if (scrolledWindow)
{ {
scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu); scrolledWindow->GetScrollPixelsPerUnit(& xppu, & yppu);
win->Scroll(-1, posVert*yppu); win->Scroll(-1, posVert*yppu);
} }
*/ */
} }
#endif #endif
} }
void wxRemotelyScrolledTreeCtrl::OnSize(wxSizeEvent& event) void wxRemotelyScrolledTreeCtrl::OnSize(wxSizeEvent& event)
{ {
HideVScrollbar(); HideVScrollbar();
AdjustRemoteScrollbars(); AdjustRemoteScrollbars();
event.Skip(); event.Skip();
} }
void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event) void wxRemotelyScrolledTreeCtrl::OnExpand(wxTreeEvent& event)
{ {
AdjustRemoteScrollbars(); AdjustRemoteScrollbars();
event.Skip(); event.Skip();
// If we don't have this, we get some bits of lines still remaining // If we don't have this, we get some bits of lines still remaining
if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_COLLAPSED) if (event.GetEventType() == wxEVT_COMMAND_TREE_ITEM_COLLAPSED)
Refresh(); Refresh();
// Pass on the event // Pass on the event
if (m_companionWindow) if (m_companionWindow)
m_companionWindow->GetEventHandler()->ProcessEvent(event); m_companionWindow->GetEventHandler()->ProcessEvent(event);
} }
void wxRemotelyScrolledTreeCtrl::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
wxTreeCtrl::OnPaint(event);
if (! m_drawRowLines)
return;
// Reset the device origin since it may have been set
dc.SetDeviceOrigin(0, 0);
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxSize clientSize = GetClientSize();
wxRect itemRect;
int cy=0;
wxTreeItemId h, lastH;
for(h=GetFirstVisibleItem();h;h=GetNextVisible(h))
{
if (GetBoundingRect(h, itemRect))
{
cy = itemRect.GetTop();
dc.DrawLine(0, cy, clientSize.x, cy);
lastH = h;
}
}
if (GetBoundingRect(lastH, itemRect))
{
cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy);
}
}
// Adjust the containing wxScrolledWindow's scrollbars appropriately // Adjust the containing wxScrolledWindow's scrollbars appropriately
void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars() void wxRemotelyScrolledTreeCtrl::AdjustRemoteScrollbars()
{ {
#if USE_GENERIC_TREECTRL || !defined(__WXMSW__) #if USE_GENERIC_TREECTRL || !defined(__WXMSW__)
if (IsKindOf(CLASSINFO(wxGenericTreeCtrl))) if (IsKindOf(CLASSINFO(wxGenericTreeCtrl)))
{ {
// This is for the generic tree control. // This is for the generic tree control.
// It calls SetScrollbars which has been overridden // It calls SetScrollbars which has been overridden
// to adjust the parent scrolled window vertical // to adjust the parent scrolled window vertical
// scrollbar. // scrollbar.
((wxGenericTreeCtrl*) this)->AdjustMyScrollbars(); ((wxGenericTreeCtrl*) this)->AdjustMyScrollbars();
return; return;
} }
else else
#endif #endif
{ {
// This is for the wxMSW tree control // This is for the wxMSW tree control
wxScrolledWindow* scrolledWindow = GetScrolledWindow(); wxScrolledWindow* scrolledWindow = GetScrolledWindow();
if (scrolledWindow) if (scrolledWindow)
{ {
wxRect itemRect; wxRect itemRect;
if (GetBoundingRect(GetRootItem(), itemRect)) if (GetBoundingRect(GetRootItem(), itemRect))
{ {
// Actually, the real height seems to be 1 less than reported // Actually, the real height seems to be 1 less than reported
// (e.g. 16 instead of 16) // (e.g. 16 instead of 16)
int itemHeight = itemRect.GetHeight() - 1; int itemHeight = itemRect.GetHeight() - 1;
int w, h; int w, h;
GetClientSize(&w, &h); GetClientSize(&w, &h);
wxRect rect(0, 0, 0, 0); wxRect rect(0, 0, 0, 0);
CalcTreeSize(rect); CalcTreeSize(rect);
double f = ((double) (rect.GetHeight()) / (double) itemHeight) ; double f = ((double) (rect.GetHeight()) / (double) itemHeight) ;
int treeViewHeight = (int) ceil(f); int treeViewHeight = (int) ceil(f);
int scrollPixelsPerLine = itemHeight; int scrollPixelsPerLine = itemHeight;
int scrollPos = - (itemRect.y / itemHeight); int scrollPos = - (itemRect.y / itemHeight);
scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos); scrolledWindow->SetScrollbars(0, scrollPixelsPerLine, 0, treeViewHeight, 0, scrollPos);
// Ensure that when a scrollbar becomes hidden or visible, // Ensure that when a scrollbar becomes hidden or visible,
// the contained window sizes are right. // the contained window sizes are right.
// Problem: this is called too early (?) // Problem: this is called too early (?)
wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId()); wxSizeEvent event(scrolledWindow->GetSize(), scrolledWindow->GetId());
scrolledWindow->GetEventHandler()->ProcessEvent(event); scrolledWindow->GetEventHandler()->ProcessEvent(event);
} }
} }
} }
} }
@@ -351,10 +302,10 @@ static wxRect CombineRectangles(const wxRect& rect1, const wxRect& rect2)
int bottom1 = rect1.GetBottom(); int bottom1 = rect1.GetBottom();
int right2 = rect2.GetRight(); int right2 = rect2.GetRight();
int bottom2 = rect2.GetBottom(); int bottom2 = rect2.GetBottom();
wxPoint topLeft = wxPoint(wxMin(rect1.x, rect2.x), wxMin(rect1.y, rect2.y)); wxPoint topLeft = wxPoint(wxMin(rect1.x, rect2.x), wxMin(rect1.y, rect2.y));
wxPoint bottomRight = wxPoint(wxMax(right1, right2), wxMax(bottom1, bottom2)); wxPoint bottomRight = wxPoint(wxMax(right1, right2), wxMax(bottom1, bottom2));
rect.x = topLeft.x; rect.y = topLeft.y; rect.x = topLeft.x; rect.y = topLeft.y;
rect.SetRight(bottomRight.x); rect.SetRight(bottomRight.x);
rect.SetBottom(bottomRight.y); rect.SetBottom(bottomRight.y);
@@ -367,40 +318,40 @@ static wxRect CombineRectangles(const wxRect& rect1, const wxRect& rect2)
// correctly // correctly
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(wxRect& rect) void wxRemotelyScrolledTreeCtrl::CalcTreeSize(wxRect& rect)
{ {
CalcTreeSize(GetRootItem(), rect); CalcTreeSize(GetRootItem(), rect);
} }
void wxRemotelyScrolledTreeCtrl::CalcTreeSize(const wxTreeItemId& id, wxRect& rect) void wxRemotelyScrolledTreeCtrl::CalcTreeSize(const wxTreeItemId& id, wxRect& rect)
{ {
// More efficient implementation would be to find the last item (but how?) // More efficient implementation would be to find the last item (but how?)
// Q: is the bounding rect relative to the top of the virtual tree workspace // Q: is the bounding rect relative to the top of the virtual tree workspace
// or the top of the window? How would we convert? // or the top of the window? How would we convert?
wxRect itemSize; wxRect itemSize;
if (GetBoundingRect(id, itemSize)) if (GetBoundingRect(id, itemSize))
{ {
rect = CombineRectangles(rect, itemSize); rect = CombineRectangles(rect, itemSize);
} }
long cookie; long cookie;
wxTreeItemId childId = GetFirstChild(id, cookie); wxTreeItemId childId = GetFirstChild(id, cookie);
while (childId != 0) while (childId != 0)
{ {
CalcTreeSize(childId, rect); CalcTreeSize(childId, rect);
childId = GetNextChild(childId, cookie); childId = GetNextChild(childId, cookie);
} }
} }
// Find the scrolled window that contains this control // Find the scrolled window that contains this control
wxScrolledWindow* wxRemotelyScrolledTreeCtrl::GetScrolledWindow() const wxScrolledWindow* wxRemotelyScrolledTreeCtrl::GetScrolledWindow() const
{ {
wxWindow* parent = wxWindow::GetParent(); wxWindow* parent = wxWindow::GetParent();
while (parent) while (parent)
{ {
if (parent->IsKindOf(CLASSINFO(wxScrolledWindow))) if (parent->IsKindOf(CLASSINFO(wxScrolledWindow)))
return (wxScrolledWindow*) parent; return (wxScrolledWindow*) parent;
parent = parent->GetParent(); parent = parent->GetParent();
} }
return NULL; return NULL;
} }
void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event) void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
@@ -430,78 +381,78 @@ void wxRemotelyScrolledTreeCtrl::OnScroll(wxScrollWinEvent& event)
IMPLEMENT_CLASS(wxTreeCompanionWindow, wxWindow) IMPLEMENT_CLASS(wxTreeCompanionWindow, wxWindow)
BEGIN_EVENT_TABLE(wxTreeCompanionWindow, wxWindow) BEGIN_EVENT_TABLE(wxTreeCompanionWindow, wxWindow)
EVT_PAINT(wxTreeCompanionWindow::OnPaint) EVT_PAINT(wxTreeCompanionWindow::OnPaint)
EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll) EVT_SCROLLWIN(wxTreeCompanionWindow::OnScroll)
EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand) EVT_TREE_ITEM_EXPANDED(-1, wxTreeCompanionWindow::OnExpand)
EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand) EVT_TREE_ITEM_COLLAPSED(-1, wxTreeCompanionWindow::OnExpand)
END_EVENT_TABLE() END_EVENT_TABLE()
wxTreeCompanionWindow::wxTreeCompanionWindow(wxWindow* parent, wxWindowID id, wxTreeCompanionWindow::wxTreeCompanionWindow(wxWindow* parent, wxWindowID id,
const wxPoint& pos, const wxPoint& pos,
const wxSize& sz, const wxSize& sz,
long style): long style):
wxWindow(parent, id, pos, sz, style) wxWindow(parent, id, pos, sz, style)
{ {
m_treeCtrl = NULL; m_treeCtrl = NULL;
} }
void wxTreeCompanionWindow::DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect) void wxTreeCompanionWindow::DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect)
{ {
// TEST CODE // TEST CODE
#if 1 #if 1
if (m_treeCtrl) if (m_treeCtrl)
{ {
wxString text = m_treeCtrl->GetItemText(id); wxString text = m_treeCtrl->GetItemText(id);
dc.SetTextForeground(* wxBLACK); dc.SetTextForeground(* wxBLACK);
dc.SetBackgroundMode(wxTRANSPARENT); dc.SetBackgroundMode(wxTRANSPARENT);
int textW, textH; int textW, textH;
dc.GetTextExtent(text, & textW, & textH); dc.GetTextExtent(text, & textW, & textH);
int x = 5; int x = 5;
int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2); int y = rect.GetY() + wxMax(0, (rect.GetHeight() - textH) / 2);
dc.DrawText(text, x, y); dc.DrawText(text, x, y);
} }
#endif #endif
} }
void wxTreeCompanionWindow::OnPaint(wxPaintEvent& event) void wxTreeCompanionWindow::OnPaint(wxPaintEvent& event)
{ {
wxPaintDC dc(this); wxPaintDC dc(this);
if (!m_treeCtrl) if (!m_treeCtrl)
return; return;
wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID); wxPen pen(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_3DLIGHT), 1, wxSOLID);
dc.SetPen(pen); dc.SetPen(pen);
dc.SetBrush(* wxTRANSPARENT_BRUSH); dc.SetBrush(* wxTRANSPARENT_BRUSH);
wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT)); wxFont font(wxSystemSettings::GetSystemFont(wxSYS_DEFAULT_GUI_FONT));
dc.SetFont(font); dc.SetFont(font);
wxSize clientSize = GetClientSize(); wxSize clientSize = GetClientSize();
wxRect itemRect; wxRect itemRect;
int cy=0; int cy=0;
wxTreeItemId h, lastH; wxTreeItemId h, lastH;
for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h)) for(h=m_treeCtrl->GetFirstVisibleItem();h;h=m_treeCtrl->GetNextVisible(h))
{ {
if (m_treeCtrl->GetBoundingRect(h, itemRect)) if (m_treeCtrl->GetBoundingRect(h, itemRect))
{ {
cy = itemRect.GetTop(); cy = itemRect.GetTop();
wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight()); wxRect drawItemRect(0, cy, clientSize.x, itemRect.GetHeight());
lastH = h; lastH = h;
// Draw the actual item // Draw the actual item
DrawItem(dc, h, drawItemRect); DrawItem(dc, h, drawItemRect);
dc.DrawLine(0, cy, clientSize.x, cy); dc.DrawLine(0, cy, clientSize.x, cy);
} }
} }
if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect)) if (lastH.IsOk() && m_treeCtrl->GetBoundingRect(lastH, itemRect))
{ {
cy = itemRect.GetBottom(); cy = itemRect.GetBottom();
dc.DrawLine(0, cy, clientSize.x, cy); dc.DrawLine(0, cy, clientSize.x, cy);
} }
} }
void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event) void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
@@ -515,15 +466,15 @@ void wxTreeCompanionWindow::OnScroll(wxScrollWinEvent& event)
if (!m_treeCtrl) if (!m_treeCtrl)
return; return;
// TODO: scroll the window physically instead of just refreshing. // TODO: scroll the window physically instead of just refreshing.
Refresh(TRUE); Refresh(TRUE);
} }
void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event) void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
{ {
// TODO: something more optimized than simply refresh the whole // TODO: something more optimized than simply refresh the whole
// window when the tree is expanded/collapsed. Tricky. // window when the tree is expanded/collapsed. Tricky.
Refresh(); Refresh();
} }
/* /*
@@ -533,7 +484,7 @@ void wxTreeCompanionWindow::OnExpand(wxTreeEvent& event)
IMPLEMENT_CLASS(wxThinSplitterWindow, wxSplitterWindow) IMPLEMENT_CLASS(wxThinSplitterWindow, wxSplitterWindow)
BEGIN_EVENT_TABLE(wxThinSplitterWindow, wxSplitterWindow) BEGIN_EVENT_TABLE(wxThinSplitterWindow, wxSplitterWindow)
EVT_SIZE(wxThinSplitterWindow::OnSize) EVT_SIZE(wxThinSplitterWindow::OnSize)
END_EVENT_TABLE() END_EVENT_TABLE()
wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id, wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
@@ -546,9 +497,9 @@ wxThinSplitterWindow::wxThinSplitterWindow(wxWindow* parent, wxWindowID id,
void wxThinSplitterWindow::SizeWindows() void wxThinSplitterWindow::SizeWindows()
{ {
// The client size may have changed inbetween // The client size may have changed inbetween
// the sizing of the first window and the sizing of // the sizing of the first window and the sizing of
// the second. So repeat SizeWindows. // the second. So repeat SizeWindows.
wxSplitterWindow::SizeWindows(); wxSplitterWindow::SizeWindows();
wxSplitterWindow::SizeWindows(); wxSplitterWindow::SizeWindows();
} }
@@ -556,7 +507,7 @@ void wxThinSplitterWindow::SizeWindows()
// Tests for x, y over sash // Tests for x, y over sash
bool wxThinSplitterWindow::SashHitTest(int x, int y, int tolerance) bool wxThinSplitterWindow::SashHitTest(int x, int y, int tolerance)
{ {
return wxSplitterWindow::SashHitTest(x, y, 4); return wxSplitterWindow::SashHitTest(x, y, 4);
} }
void wxThinSplitterWindow::DrawSash(wxDC& dc) void wxThinSplitterWindow::DrawSash(wxDC& dc)
@@ -569,42 +520,42 @@ void wxThinSplitterWindow::DrawSash(wxDC& dc)
int w, h; int w, h;
GetClientSize(&w, &h); GetClientSize(&w, &h);
if ( m_splitMode == wxSPLIT_VERTICAL ) if ( m_splitMode == wxSPLIT_VERTICAL )
{ {
dc.SetPen(* m_facePen); dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush); dc.SetBrush(* m_faceBrush);
int h1 = h-1; int h1 = h-1;
int y1 = 0; int y1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER ) if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
h1 += 1; // Not sure why this is necessary... h1 += 1; // Not sure why this is necessary...
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER) if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{ {
y1 = 2; h1 -= 3; y1 = 2; h1 -= 3;
} }
dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1); dc.DrawRectangle(m_sashPosition, y1, m_sashSize, h1);
} }
else else
{ {
dc.SetPen(* m_facePen); dc.SetPen(* m_facePen);
dc.SetBrush(* m_faceBrush); dc.SetBrush(* m_faceBrush);
int w1 = w-1; int w1 = w-1;
int x1 = 0; int x1 = 0;
if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER ) if ( (GetWindowStyleFlag() & wxSP_BORDER) != wxSP_BORDER && (GetWindowStyleFlag() & wxSP_3DBORDER) != wxSP_3DBORDER )
w1 ++; w1 ++;
if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER) if ( (GetWindowStyleFlag() & wxSP_3DBORDER) == wxSP_3DBORDER)
{ {
x1 = 2; w1 -= 3; x1 = 2; w1 -= 3;
} }
dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize); dc.DrawRectangle(x1, m_sashPosition, w1, m_sashSize);
} }
dc.SetPen(wxNullPen); dc.SetPen(wxNullPen);
dc.SetBrush(wxNullBrush); dc.SetBrush(wxNullBrush);
} }
void wxThinSplitterWindow::OnSize(wxSizeEvent& event) void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
{ {
wxSplitterWindow::OnSize(event); wxSplitterWindow::OnSize(event);
} }
/* /*
@@ -614,8 +565,8 @@ void wxThinSplitterWindow::OnSize(wxSizeEvent& event)
IMPLEMENT_CLASS(wxSplitterScrolledWindow, wxScrolledWindow) IMPLEMENT_CLASS(wxSplitterScrolledWindow, wxScrolledWindow)
BEGIN_EVENT_TABLE(wxSplitterScrolledWindow, wxScrolledWindow) BEGIN_EVENT_TABLE(wxSplitterScrolledWindow, wxScrolledWindow)
EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll) EVT_SCROLLWIN(wxSplitterScrolledWindow::OnScroll)
EVT_SIZE(wxSplitterScrolledWindow::OnSize) EVT_SIZE(wxSplitterScrolledWindow::OnSize)
END_EVENT_TABLE() END_EVENT_TABLE()
wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id, wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID id,
@@ -628,11 +579,11 @@ wxSplitterScrolledWindow::wxSplitterScrolledWindow(wxWindow* parent, wxWindowID
void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event) void wxSplitterScrolledWindow::OnSize(wxSizeEvent& event)
{ {
wxSize sz = GetClientSize(); wxSize sz = GetClientSize();
if (GetChildren().First()) if (GetChildren().First())
{ {
((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y); ((wxWindow*) GetChildren().First()->Data())->SetSize(0, 0, sz.x, sz.y);
} }
} }
void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event) void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)
@@ -646,7 +597,7 @@ void wxSplitterScrolledWindow::OnScroll(wxScrollWinEvent& event)
return; return;
} }
inOnScroll = TRUE; inOnScroll = TRUE;
int orient = event.GetOrientation(); int orient = event.GetOrientation();
int nScrollInc = CalcScrollInc(event); int nScrollInc = CalcScrollInc(event);

View File

@@ -134,10 +134,6 @@ SOURCE=.\sndg72x.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File
SOURCE=.\sndmsad.cpp
# End Source File
# Begin Source File
SOURCE=.\sndpcm.cpp SOURCE=.\sndpcm.cpp
# End Source File # End Source File
# Begin Source File # Begin Source File

View File

@@ -77,7 +77,7 @@ void wxSoundFormatMSAdpcm::SetCoefs(wxInt16 **coefs, wxUint16 ncoefs,
delete[] m_coefs; delete[] m_coefs;
} }
// TODO: Add some memory checking here // TODO: Add some memory checking here
m_coefs = new wxInt16 *[ncoefs]; m_coefs = new (wxInt16 *)[ncoefs];
for (i=0;i<ncoefs;i++) for (i=0;i<ncoefs;i++)
m_coefs[i] = new wxInt16[coefs_len]; m_coefs[i] = new wxInt16[coefs_len];

View File

@@ -288,6 +288,7 @@ wxShape::wxShape(wxShapeCanvas *can)
m_textColour = wxBLACK; m_textColour = wxBLACK;
m_textColourName = "BLACK"; m_textColourName = "BLACK";
m_visible = FALSE; m_visible = FALSE;
m_clientData = NULL;
m_selected = FALSE; m_selected = FALSE;
m_attachmentMode = ATTACHMENT_MODE_NONE; m_attachmentMode = ATTACHMENT_MODE_NONE;
m_spaceAttachments = TRUE; m_spaceAttachments = TRUE;
@@ -337,6 +338,11 @@ wxShape::~wxShape()
if (m_canvas) if (m_canvas)
m_canvas->RemoveShape(this); m_canvas->RemoveShape(this);
if (m_clientData) {
delete m_clientData;
m_clientData = NULL;
}
GetEventHandler()->OnDelete(); GetEventHandler()->OnDelete();
} }
@@ -991,9 +997,8 @@ void wxShape::OnEraseContents(wxDC& dc)
if (m_pen) if (m_pen)
penWidth = m_pen->GetWidth(); penWidth = m_pen->GetWidth();
dc.SetPen(GetBackgroundPen()); dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(GetBackgroundBrush()); dc.SetBrush(* g_oglWhiteBackgroundBrush);
dc.DrawRectangle(WXROUND(topLeftX - penWidth), WXROUND(topLeftY - penWidth), dc.DrawRectangle(WXROUND(topLeftX - penWidth), WXROUND(topLeftY - penWidth),
WXROUND(maxX + penWidth*2.0 + 4.0), WXROUND(maxY + penWidth*2.0 + 4.0)); WXROUND(maxX + penWidth*2.0 + 4.0), WXROUND(maxY + penWidth*2.0 + 4.0));
} }
@@ -3276,25 +3281,3 @@ void wxShape::Rotate(double WXUNUSED(x), double WXUNUSED(y), double theta)
} }
} }
wxPen wxShape::GetBackgroundPen()
{
if (GetCanvas())
{
wxColour c = GetCanvas()->GetBackgroundColour();
return wxPen(c, 1, wxSOLID);
}
return * g_oglWhiteBackgroundPen;
}
wxBrush wxShape::GetBackgroundBrush()
{
if (GetCanvas())
{
wxColour c = GetCanvas()->GetBackgroundColour();
return wxBrush(c, wxSOLID);
}
return * g_oglWhiteBackgroundBrush;
}

View File

@@ -61,6 +61,8 @@
#define CONTROL_POINT_ENDPOINT_FROM 5 #define CONTROL_POINT_ENDPOINT_FROM 5
#define CONTROL_POINT_LINE 6 #define CONTROL_POINT_LINE 6
extern wxCursor *g_oglBullseyeCursor;
IMPLEMENT_DYNAMIC_CLASS(wxShapeCanvas, wxScrolledWindow) IMPLEMENT_DYNAMIC_CLASS(wxShapeCanvas, wxScrolledWindow)
BEGIN_EVENT_TABLE(wxShapeCanvas, wxScrolledWindow) BEGIN_EVENT_TABLE(wxShapeCanvas, wxScrolledWindow)
@@ -92,11 +94,10 @@ void wxShapeCanvas::OnPaint(wxPaintEvent& event)
PrepareDC(dc); PrepareDC(dc);
dc.SetBackground(wxBrush(GetBackgroundColour(), wxSOLID));
dc.Clear(); dc.Clear();
if (GetDiagram()) if (GetDiagram())
GetDiagram()->Redraw(dc); GetDiagram()->Redraw(dc);
} }
void wxShapeCanvas::OnMouseEvent(wxMouseEvent& event) void wxShapeCanvas::OnMouseEvent(wxMouseEvent& event)

View File

@@ -288,8 +288,8 @@ void wxLineShape::DrawRegion(wxDC& dc, wxShapeRegion *region, double x, double y
// First, clear a rectangle for the text IF there is any // First, clear a rectangle for the text IF there is any
if (region->GetFormattedText().Number() > 0) if (region->GetFormattedText().Number() > 0)
{ {
dc.SetPen(GetBackgroundPen()); dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(GetBackgroundBrush()); dc.SetBrush(* g_oglWhiteBackgroundBrush);
// Now draw the text // Now draw the text
if (region->GetFont()) dc.SetFont(* region->GetFont()); if (region->GetFont()) dc.SetFont(* region->GetFont());
@@ -300,7 +300,7 @@ void wxLineShape::DrawRegion(wxDC& dc, wxShapeRegion *region, double x, double y
dc.SetTextForeground(* region->GetActualColourObject()); dc.SetTextForeground(* region->GetActualColourObject());
#ifdef __WXMSW__ #ifdef __WXMSW__
dc.SetTextBackground(GetBackgroundBrush().GetColour()); dc.SetTextBackground(g_oglWhiteBackgroundBrush->GetColour());
#endif #endif
oglDrawFormattedText(dc, &(region->GetFormattedText()), xp, yp, w, h, region->GetFormatMode()); oglDrawFormattedText(dc, &(region->GetFormattedText()), xp, yp, w, h, region->GetFormatMode());
@@ -324,8 +324,8 @@ void wxLineShape::EraseRegion(wxDC& dc, wxShapeRegion *region, double x, double
if (region->GetFormattedText().Number() > 0) if (region->GetFormattedText().Number() > 0)
{ {
dc.SetPen(GetBackgroundPen()); dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(GetBackgroundBrush()); dc.SetBrush(* g_oglWhiteBackgroundBrush);
dc.DrawRectangle((long)(xp - w/2.0), (long)(yp - h/2.0), (long)w, (long)h); dc.DrawRectangle((long)(xp - w/2.0), (long)(yp - h/2.0), (long)w, (long)h);
} }
@@ -853,10 +853,8 @@ void wxLineShape::OnErase(wxDC& dc)
{ {
wxPen *old_pen = m_pen; wxPen *old_pen = m_pen;
wxBrush *old_brush = m_brush; wxBrush *old_brush = m_brush;
wxPen bg_pen = GetBackgroundPen(); SetPen(g_oglWhiteBackgroundPen);
wxBrush bg_brush = GetBackgroundBrush(); SetBrush(g_oglWhiteBackgroundBrush);
SetPen(&bg_pen);
SetBrush(&bg_brush);
double bound_x, bound_y; double bound_x, bound_y;
GetBoundingBoxMax(&bound_x, &bound_y); GetBoundingBoxMax(&bound_x, &bound_y);
@@ -876,8 +874,8 @@ void wxLineShape::OnErase(wxDC& dc)
} }
// Undraw line // Undraw line
dc.SetPen(GetBackgroundPen()); dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(GetBackgroundBrush()); dc.SetBrush(* g_oglWhiteBackgroundBrush);
// Drawing over the line only seems to work if the line has a thickness // Drawing over the line only seems to work if the line has a thickness
// of 1. // of 1.
@@ -1819,7 +1817,7 @@ void wxLineShape::OnSizingBeginDragLeft(wxControlPoint* pt, double x, double y,
if (lpt->m_type == CONTROL_POINT_ENDPOINT_FROM || lpt->m_type == CONTROL_POINT_ENDPOINT_TO) if (lpt->m_type == CONTROL_POINT_ENDPOINT_FROM || lpt->m_type == CONTROL_POINT_ENDPOINT_TO)
{ {
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE)); m_canvas->SetCursor(* g_oglBullseyeCursor);
lpt->m_oldCursor = wxSTANDARD_CURSOR; lpt->m_oldCursor = wxSTANDARD_CURSOR;
} }
} }
@@ -1935,7 +1933,7 @@ void wxLineControlPoint::OnBeginDragRight(double x, double y, int keys, int atta
lineShape->GetTo()->GetEventHandler()->OnDraw(dc); lineShape->GetTo()->GetEventHandler()->OnDraw(dc);
lineShape->GetTo()->GetEventHandler()->OnDrawContents(dc); lineShape->GetTo()->GetEventHandler()->OnDrawContents(dc);
} }
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE)); m_canvas->SetCursor(g_oglBullseyeCursor);
m_oldCursor = wxSTANDARD_CURSOR; m_oldCursor = wxSTANDARD_CURSOR;
} }
} }

View File

@@ -49,10 +49,11 @@
wxFont* g_oglNormalFont; wxFont* g_oglNormalFont;
wxPen* g_oglBlackPen; wxPen* g_oglBlackPen;
wxPen* g_oglTransparentPen;
wxPen* g_oglBlackForegroundPen;
wxPen* g_oglWhiteBackgroundPen; wxPen* g_oglWhiteBackgroundPen;
wxPen* g_oglTransparentPen;
wxBrush* g_oglWhiteBackgroundBrush; wxBrush* g_oglWhiteBackgroundBrush;
wxPen* g_oglBlackForegroundPen;
wxCursor* g_oglBullseyeCursor = NULL;
char* oglBuffer = NULL; char* oglBuffer = NULL;
@@ -62,12 +63,16 @@ wxList oglObjectCopyMapping(wxKEY_INTEGER);
void wxOGLInitialize() void wxOGLInitialize()
{ {
g_oglNormalFont = wxTheFontList->FindOrCreateFont(10, wxSWISS, wxNORMAL, wxNORMAL); g_oglBullseyeCursor = new wxCursor(wxCURSOR_BULLSEYE);
g_oglBlackPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
g_oglTransparentPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxTRANSPARENT); g_oglNormalFont = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL);
g_oglBlackForegroundPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
g_oglWhiteBackgroundPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxSOLID); g_oglBlackPen = new wxPen("BLACK", 1, wxSOLID);
g_oglWhiteBackgroundBrush = wxTheBrushList->FindOrCreateBrush("WHITE", wxSOLID);
g_oglWhiteBackgroundPen = new wxPen("WHITE", 1, wxSOLID);
g_oglTransparentPen = new wxPen("WHITE", 1, wxTRANSPARENT);
g_oglWhiteBackgroundBrush = new wxBrush("WHITE", wxSOLID);
g_oglBlackForegroundPen = new wxPen("BLACK", 1, wxSOLID);
OGLInitializeConstraintTypes(); OGLInitializeConstraintTypes();
@@ -84,13 +89,42 @@ void wxOGLCleanUp()
oglBuffer = NULL; oglBuffer = NULL;
} }
oglBuffer = NULL; oglBuffer = NULL;
if (g_oglBullseyeCursor)
{
delete g_oglBullseyeCursor;
g_oglBullseyeCursor = NULL;
}
g_oglNormalFont = NULL; // These will be cleaned up by their GDI list if (g_oglNormalFont)
g_oglBlackPen = NULL; {
g_oglTransparentPen = NULL; delete g_oglNormalFont;
g_oglBlackForegroundPen = NULL; g_oglNormalFont = NULL;
g_oglWhiteBackgroundPen = NULL; }
g_oglWhiteBackgroundBrush = NULL; if (g_oglBlackPen)
{
delete g_oglBlackPen;
g_oglBlackPen = NULL;
}
if (g_oglWhiteBackgroundPen)
{
delete g_oglWhiteBackgroundPen;
g_oglWhiteBackgroundPen = NULL;
}
if (g_oglTransparentPen)
{
delete g_oglTransparentPen;
g_oglTransparentPen = NULL;
}
if (g_oglWhiteBackgroundBrush)
{
delete g_oglWhiteBackgroundBrush;
g_oglWhiteBackgroundBrush = NULL;
}
if (g_oglBlackForegroundPen)
{
delete g_oglBlackForegroundPen;
g_oglBlackForegroundPen = NULL;
}
OGLCleanUpConstraintTypes(); OGLCleanUpConstraintTypes();
} }

View File

@@ -22,7 +22,7 @@
//---------------------------------------------------------------------- //----------------------------------------------------------------------
const int H_SCROLL_MAX = 4000; const int H_SCROLL_MAX = 2000;
const int H_SCROLL_STEP = 20; const int H_SCROLL_STEP = 20;
const int H_SCROLL_PAGE = 200; const int H_SCROLL_PAGE = 200;
@@ -138,7 +138,7 @@ void ScintillaWX::StartDrag() {
dragText = evt.GetDragText(); dragText = evt.GetDragText();
if (dragText.Length()) { if (dragText.Length()) {
wxDropSource source(stc); wxDropSource source(wMain.GetID());
wxTextDataObject data(dragText); wxTextDataObject data(dragText);
wxDragResult result; wxDragResult result;
@@ -175,9 +175,9 @@ void ScintillaWX::SetTicking(bool on) {
void ScintillaWX::SetMouseCapture(bool on) { void ScintillaWX::SetMouseCapture(bool on) {
if (on && !capturedMouse) if (on && !capturedMouse)
stc->CaptureMouse(); wMain.GetID()->CaptureMouse();
else if (!on && capturedMouse) else if (!on && capturedMouse)
stc->ReleaseMouse(); wMain.GetID()->ReleaseMouse();
capturedMouse = on; capturedMouse = on;
} }
@@ -189,69 +189,36 @@ bool ScintillaWX::HaveMouseCapture() {
void ScintillaWX::ScrollText(int linesToMove) { void ScintillaWX::ScrollText(int linesToMove) {
int dy = vs.lineHeight * (linesToMove); int dy = vs.lineHeight * (linesToMove);
stc->ScrollWindow(0, dy); wMain.GetID()->ScrollWindow(0, dy);
stc->Update(); wMain.GetID()->Update();
} }
void ScintillaWX::SetVerticalScrollPos() { void ScintillaWX::SetVerticalScrollPos() {
if (stc->m_vScrollBar == NULL) { // Use built-in scrollbar wMain.GetID()->SetScrollPos(wxVERTICAL, topLine);
stc->SetScrollPos(wxVERTICAL, topLine);
}
else { // otherwise use the one that's been given to us
stc->m_vScrollBar->SetThumbPosition(topLine);
}
} }
void ScintillaWX::SetHorizontalScrollPos() { void ScintillaWX::SetHorizontalScrollPos() {
if (stc->m_hScrollBar == NULL) { // Use built-in scrollbar wMain.GetID()->SetScrollPos(wxHORIZONTAL, xOffset);
stc->SetScrollPos(wxHORIZONTAL, xOffset);
}
else { // otherwise use the one that's been given to us
stc->m_hScrollBar->SetThumbPosition(xOffset);
}
} }
bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) { bool ScintillaWX::ModifyScrollBars(int nMax, int nPage) {
bool modified = false; bool modified = false;
int sbMax = wMain.GetID()->GetScrollRange(wxVERTICAL);
int sbThumb = wMain.GetID()->GetScrollThumb(wxVERTICAL);
int sbPos = wMain.GetID()->GetScrollPos(wxVERTICAL);
if (stc->m_vScrollBar == NULL) { // Use built-in scrollbar
int sbMax = stc->GetScrollRange(wxVERTICAL); if (sbMax != nMax || sbThumb != nPage) {
int sbThumb = stc->GetScrollThumb(wxVERTICAL); wMain.GetID()->SetScrollbar(wxVERTICAL, sbPos, nPage, nMax);
int sbPos = stc->GetScrollPos(wxVERTICAL); modified = true;
if (sbMax != nMax || sbThumb != nPage) {
stc->SetScrollbar(wxVERTICAL, sbPos, nPage, nMax);
modified = true;
}
}
else { // otherwise use the one that's been given to us
int sbMax = stc->m_vScrollBar->GetRange();
int sbPage = stc->m_vScrollBar->GetPageSize();
int sbPos = stc->m_vScrollBar->GetThumbPosition();
if (sbMax != nMax || sbPage != nPage) {
stc->m_vScrollBar->SetScrollbar(sbPos, nPage, nMax, nPage);
modified = true;
}
} }
sbMax = wMain.GetID()->GetScrollRange(wxHORIZONTAL);
if (horizontalScrollBarVisible) { sbThumb = wMain.GetID()->GetScrollThumb(wxHORIZONTAL);
if (stc->m_hScrollBar == NULL) { // Use built-in scrollbar if ((sbMax != H_SCROLL_MAX) || (sbThumb != H_SCROLL_STEP)) {
int sbMax = stc->GetScrollRange(wxHORIZONTAL); wMain.GetID()->SetScrollbar(wxHORIZONTAL, 0, H_SCROLL_STEP, H_SCROLL_MAX);
int sbThumb = stc->GetScrollThumb(wxHORIZONTAL); modified = true;
if ((sbMax != H_SCROLL_MAX) || (sbThumb != H_SCROLL_STEP)) {
stc->SetScrollbar(wxHORIZONTAL, 0, H_SCROLL_STEP, H_SCROLL_MAX);
modified = true;
}
}
else { // otherwise use the one that's been given to us
int sbMax = stc->m_hScrollBar->GetRange();
int sbPage = stc->m_hScrollBar->GetPageSize();
if ((sbMax != H_SCROLL_MAX) || (sbPage != H_SCROLL_STEP)) {
stc->m_hScrollBar->SetScrollbar(0, H_SCROLL_STEP, H_SCROLL_MAX, H_SCROLL_STEP);
modified = true;
}
}
} }
return modified; return modified;
} }
@@ -313,7 +280,7 @@ bool ScintillaWX::CanPaste() {
} }
void ScintillaWX::CreateCallTipWindow(PRectangle) { void ScintillaWX::CreateCallTipWindow(PRectangle) {
ct.wCallTip = new wxSTCCallTip(stc, -1, &ct); ct.wCallTip = new wxSTCCallTip(wMain.GetID(), -1, &ct);
ct.wDraw = ct.wCallTip; ct.wDraw = ct.wCallTip;
} }
@@ -378,19 +345,19 @@ void ScintillaWX::DoPaint(wxDC* dc, wxRect rect) {
void ScintillaWX::DoHScroll(int type, int pos) { void ScintillaWX::DoHScroll(int type, int pos) {
int xPos = xOffset; int xPos = xOffset;
if (type == wxEVT_SCROLLWIN_LINEUP || type == wxEVT_SCROLL_LINEUP) if (type == wxEVT_SCROLLWIN_LINEUP)
xPos -= H_SCROLL_STEP; xPos -= H_SCROLL_STEP;
else if (type == wxEVT_SCROLLWIN_LINEDOWN || type == wxEVT_SCROLL_LINEDOWN) else if (type == wxEVT_SCROLLWIN_LINEDOWN)
xPos += H_SCROLL_STEP; xPos += H_SCROLL_STEP;
else if (type == wxEVT_SCROLLWIN_PAGEUP || type == wxEVT_SCROLL_PAGEUP) else if (type == wxEVT_SCROLLWIN_PAGEUP)
xPos -= H_SCROLL_PAGE; xPos -= H_SCROLL_PAGE;
else if (type == wxEVT_SCROLLWIN_PAGEDOWN || type == wxEVT_SCROLL_PAGEDOWN) else if (type == wxEVT_SCROLLWIN_PAGEDOWN)
xPos += H_SCROLL_PAGE; xPos += H_SCROLL_PAGE;
else if (type == wxEVT_SCROLLWIN_TOP || type == wxEVT_SCROLL_TOP) else if (type == wxEVT_SCROLLWIN_TOP)
xPos = 0; xPos = 0;
else if (type == wxEVT_SCROLLWIN_BOTTOM || type == wxEVT_SCROLL_BOTTOM) else if (type == wxEVT_SCROLLWIN_BOTTOM)
xPos = H_SCROLL_MAX; xPos = H_SCROLL_MAX;
else if (type == wxEVT_SCROLLWIN_THUMBTRACK || type == wxEVT_SCROLL_THUMBTRACK) else if (type == wxEVT_SCROLLWIN_THUMBTRACK)
xPos = pos; xPos = pos;
HorizontalScrollTo(xPos); HorizontalScrollTo(xPos);
@@ -398,19 +365,19 @@ void ScintillaWX::DoHScroll(int type, int pos) {
void ScintillaWX::DoVScroll(int type, int pos) { void ScintillaWX::DoVScroll(int type, int pos) {
int topLineNew = topLine; int topLineNew = topLine;
if (type == wxEVT_SCROLLWIN_LINEUP || type == wxEVT_SCROLL_LINEUP) if (type == wxEVT_SCROLLWIN_LINEUP)
topLineNew -= 1; topLineNew -= 1;
else if (type == wxEVT_SCROLLWIN_LINEDOWN || type == wxEVT_SCROLL_LINEDOWN) else if (type == wxEVT_SCROLLWIN_LINEDOWN)
topLineNew += 1; topLineNew += 1;
else if (type == wxEVT_SCROLLWIN_PAGEUP || type == wxEVT_SCROLL_PAGEUP) else if (type == wxEVT_SCROLLWIN_PAGEUP)
topLineNew -= LinesToScroll(); topLineNew -= LinesToScroll();
else if (type == wxEVT_SCROLLWIN_PAGEDOWN || type == wxEVT_SCROLL_PAGEDOWN) else if (type == wxEVT_SCROLLWIN_PAGEDOWN)
topLineNew += LinesToScroll(); topLineNew += LinesToScroll();
else if (type == wxEVT_SCROLLWIN_TOP || type == wxEVT_SCROLL_TOP) else if (type == wxEVT_SCROLLWIN_TOP)
topLineNew = 0; topLineNew = 0;
else if (type == wxEVT_SCROLLWIN_BOTTOM || type == wxEVT_SCROLL_BOTTOM) else if (type == wxEVT_SCROLLWIN_BOTTOM)
topLineNew = MaxScrollPos(); topLineNew = MaxScrollPos();
else if (type == wxEVT_SCROLLWIN_THUMBTRACK || type == wxEVT_SCROLL_THUMBTRACK) else if (type == wxEVT_SCROLLWIN_THUMBTRACK)
topLineNew = pos; topLineNew = pos;
ScrollTo(topLineNew); ScrollTo(topLineNew);
@@ -598,13 +565,13 @@ void ScintillaWX::FullPaint() {
paintState = painting; paintState = painting;
rcPaint = GetTextRectangle(); rcPaint = GetTextRectangle();
paintingAllText = true; paintingAllText = true;
wxClientDC dc(stc); wxClientDC dc(wMain.GetID());
Surface surfaceWindow; Surface surfaceWindow;
surfaceWindow.Init(&dc); surfaceWindow.Init(&dc);
Paint(&surfaceWindow, rcPaint); Paint(&surfaceWindow, rcPaint);
surfaceWindow.Release(); surfaceWindow.Release();
// stc->Refresh(FALSE); // wMain.GetID()->Refresh(FALSE);
paintState = notPainting; paintState = notPainting;
} }

View File

@@ -103,7 +103,6 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl) BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
EVT_PAINT (wxStyledTextCtrl::OnPaint) EVT_PAINT (wxStyledTextCtrl::OnPaint)
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin) EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
EVT_SIZE (wxStyledTextCtrl::OnSize) EVT_SIZE (wxStyledTextCtrl::OnSize)
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown) EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
#ifdef __WXMSW__ #ifdef __WXMSW__
@@ -112,11 +111,7 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
#endif #endif
EVT_MOTION (wxStyledTextCtrl::OnMouseMove) EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp) EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
#ifdef __WXGTK__
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
#else
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu) EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
#endif
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel) EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar) EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown) EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
@@ -148,8 +143,6 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
m_swx = new ScintillaWX(this); m_swx = new ScintillaWX(this);
m_stopWatch.Start(); m_stopWatch.Start();
m_lastKeyDownConsumed = FALSE; m_lastKeyDownConsumed = FALSE;
m_vScrollBar = NULL;
m_hScrollBar = NULL;
} }
@@ -1808,16 +1801,6 @@ void wxStyledTextCtrl::OnScrollWin(wxScrollWinEvent& evt) {
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition()); m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
} }
void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) {
wxScrollBar* sb = wxDynamicCast(evt.GetEventObject(), wxScrollBar);
if (sb) {
if (sb->IsVertical())
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
else
m_swx->DoHScroll(evt.GetEventType(), evt.GetPosition());
}
}
void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) { void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) {
wxSize sz = GetClientSize(); wxSize sz = GetClientSize();
m_swx->DoSize(sz.x, sz.y); m_swx->DoSize(sz.x, sz.y);
@@ -1841,12 +1824,6 @@ void wxStyledTextCtrl::OnMouseLeftUp(wxMouseEvent& evt) {
} }
void wxStyledTextCtrl::OnMouseRightUp(wxMouseEvent& evt) {
wxPoint pt = evt.GetPosition();
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) { void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) {
wxPoint pt = evt.GetPosition(); wxPoint pt = evt.GetPosition();
ScreenToClient(&pt.x, &pt.y); ScreenToClient(&pt.x, &pt.y);
@@ -1879,7 +1856,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
bool alt = evt.AltDown(); bool alt = evt.AltDown();
bool skip = ((ctrl || alt) && ! (ctrl && alt)); bool skip = ((ctrl || alt) && ! (ctrl && alt));
if (key <= 0xff && key >= 32 && !m_lastKeyDownConsumed && !skip) { if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
m_swx->DoAddChar(key); m_swx->DoAddChar(key);
return; return;
} }
@@ -2087,35 +2064,35 @@ bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0
bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; } bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; }
bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; } bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
wxCommandEvent::CopyObject(obj);
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event): wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
wxCommandEvent(event) o->m_position = m_position;
{ o->m_key = m_key;
m_position = event.m_position; o->m_modifiers = m_modifiers;
m_key = event.m_key; o->m_modificationType = m_modificationType;
m_modifiers = event.m_modifiers; o->m_text = m_text;
m_modificationType = event.m_modificationType; o->m_length = m_length;
m_text = event.m_text; o->m_linesAdded = m_linesAdded;
m_length = event.m_length; o->m_line = m_line;
m_linesAdded = event.m_linesAdded; o->m_foldLevelNow = m_foldLevelNow;
m_line = event.m_line; o->m_foldLevelPrev = m_foldLevelPrev;
m_foldLevelNow = event.m_foldLevelNow;
m_foldLevelPrev = event.m_foldLevelPrev;
m_margin = event.m_margin; o->m_margin = m_margin;
m_message = event.m_message; o->m_message = m_message;
m_wParam = event.m_wParam; o->m_wParam = m_wParam;
m_lParam = event.m_lParam; o->m_lParam = m_lParam;
m_listType = event.m_listType; o->m_listType = m_listType;
m_x = event.m_x; o->m_x = m_x;
m_y = event.m_y; o->m_y = m_y;
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
m_dragText = event.m_dragText; o->m_dragText = m_dragText;
m_dragAllowMove =event.m_dragAllowMove; o->m_dragAllowMove =m_dragAllowMove;
m_dragResult = event.m_dragResult; o->m_dragResult = m_dragResult;
#endif #endif
} }
@@ -2125,8 +2102,3 @@ wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):

View File

@@ -103,7 +103,6 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl) BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
EVT_PAINT (wxStyledTextCtrl::OnPaint) EVT_PAINT (wxStyledTextCtrl::OnPaint)
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin) EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
EVT_SIZE (wxStyledTextCtrl::OnSize) EVT_SIZE (wxStyledTextCtrl::OnSize)
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown) EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
#ifdef __WXMSW__ #ifdef __WXMSW__
@@ -112,11 +111,7 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
#endif #endif
EVT_MOTION (wxStyledTextCtrl::OnMouseMove) EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp) EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
#ifdef __WXGTK__
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
#else
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu) EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
#endif
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel) EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar) EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown) EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
@@ -148,8 +143,6 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
m_swx = new ScintillaWX(this); m_swx = new ScintillaWX(this);
m_stopWatch.Start(); m_stopWatch.Start();
m_lastKeyDownConsumed = FALSE; m_lastKeyDownConsumed = FALSE;
m_vScrollBar = NULL;
m_hScrollBar = NULL;
} }
@@ -352,16 +345,6 @@ void wxStyledTextCtrl::OnScrollWin(wxScrollWinEvent& evt) {
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition()); m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
} }
void wxStyledTextCtrl::OnScroll(wxScrollEvent& evt) {
wxScrollBar* sb = wxDynamicCast(evt.GetEventObject(), wxScrollBar);
if (sb) {
if (sb->IsVertical())
m_swx->DoVScroll(evt.GetEventType(), evt.GetPosition());
else
m_swx->DoHScroll(evt.GetEventType(), evt.GetPosition());
}
}
void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) { void wxStyledTextCtrl::OnSize(wxSizeEvent& evt) {
wxSize sz = GetClientSize(); wxSize sz = GetClientSize();
m_swx->DoSize(sz.x, sz.y); m_swx->DoSize(sz.x, sz.y);
@@ -385,12 +368,6 @@ void wxStyledTextCtrl::OnMouseLeftUp(wxMouseEvent& evt) {
} }
void wxStyledTextCtrl::OnMouseRightUp(wxMouseEvent& evt) {
wxPoint pt = evt.GetPosition();
m_swx->DoContextMenu(Point(pt.x, pt.y));
}
void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) { void wxStyledTextCtrl::OnContextMenu(wxContextMenuEvent& evt) {
wxPoint pt = evt.GetPosition(); wxPoint pt = evt.GetPosition();
ScreenToClient(&pt.x, &pt.y); ScreenToClient(&pt.x, &pt.y);
@@ -423,7 +400,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
bool alt = evt.AltDown(); bool alt = evt.AltDown();
bool skip = ((ctrl || alt) && ! (ctrl && alt)); bool skip = ((ctrl || alt) && ! (ctrl && alt));
if (key <= 0xff && key >= 32 && !m_lastKeyDownConsumed && !skip) { if (key <= 0xff && !iscntrl(key) && !m_lastKeyDownConsumed && !skip) {
m_swx->DoAddChar(key); m_swx->DoAddChar(key);
return; return;
} }
@@ -631,35 +608,35 @@ bool wxStyledTextEvent::GetShift() const { return (m_modifiers & SCI_SHIFT) != 0
bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; } bool wxStyledTextEvent::GetControl() const { return (m_modifiers & SCI_CTRL) != 0; }
bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; } bool wxStyledTextEvent::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
wxCommandEvent::CopyObject(obj);
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event): wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
wxCommandEvent(event) o->m_position = m_position;
{ o->m_key = m_key;
m_position = event.m_position; o->m_modifiers = m_modifiers;
m_key = event.m_key; o->m_modificationType = m_modificationType;
m_modifiers = event.m_modifiers; o->m_text = m_text;
m_modificationType = event.m_modificationType; o->m_length = m_length;
m_text = event.m_text; o->m_linesAdded = m_linesAdded;
m_length = event.m_length; o->m_line = m_line;
m_linesAdded = event.m_linesAdded; o->m_foldLevelNow = m_foldLevelNow;
m_line = event.m_line; o->m_foldLevelPrev = m_foldLevelPrev;
m_foldLevelNow = event.m_foldLevelNow;
m_foldLevelPrev = event.m_foldLevelPrev;
m_margin = event.m_margin; o->m_margin = m_margin;
m_message = event.m_message; o->m_message = m_message;
m_wParam = event.m_wParam; o->m_wParam = m_wParam;
m_lParam = event.m_lParam; o->m_lParam = m_lParam;
m_listType = event.m_listType; o->m_listType = m_listType;
m_x = event.m_x; o->m_x = m_x;
m_y = event.m_y; o->m_y = m_y;
#if wxUSE_DRAG_AND_DROP #if wxUSE_DRAG_AND_DROP
m_dragText = event.m_dragText; o->m_dragText = m_dragText;
m_dragAllowMove =event.m_dragAllowMove; o->m_dragAllowMove =m_dragAllowMove;
m_dragResult = event.m_dragResult; o->m_dragResult = m_dragResult;
#endif #endif
} }
@@ -669,8 +646,3 @@ wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):

View File

@@ -148,14 +148,6 @@ public:
// Send a message to Scintilla // Send a message to Scintilla
long SendMsg(int msg, long wp=0, long lp=0); long SendMsg(int msg, long wp=0, long lp=0);
// Set the vertical scrollbar to use instead of the ont that's built-in.
void SetVScrollBar(wxScrollBar* bar) { m_vScrollBar = bar; }
// Set the horizontal scrollbar to use instead of the ont that's built-in.
void SetHScrollBar(wxScrollBar* bar) { m_hScrollBar = bar; }
//---------------------------------------------------------------------- //----------------------------------------------------------------------
@@ -164,12 +156,10 @@ private:
// Event handlers // Event handlers
void OnPaint(wxPaintEvent& evt); void OnPaint(wxPaintEvent& evt);
void OnScrollWin(wxScrollWinEvent& evt); void OnScrollWin(wxScrollWinEvent& evt);
void OnScroll(wxScrollEvent& evt);
void OnSize(wxSizeEvent& evt); void OnSize(wxSizeEvent& evt);
void OnMouseLeftDown(wxMouseEvent& evt); void OnMouseLeftDown(wxMouseEvent& evt);
void OnMouseMove(wxMouseEvent& evt); void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt); void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
void OnContextMenu(wxContextMenuEvent& evt); void OnContextMenu(wxContextMenuEvent& evt);
void OnMouseWheel(wxMouseEvent& evt); void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt); void OnChar(wxKeyEvent& evt);
@@ -193,8 +183,6 @@ private:
ScintillaWX* m_swx; ScintillaWX* m_swx;
wxStopWatch m_stopWatch; wxStopWatch m_stopWatch;
wxScrollBar* m_vScrollBar;
wxScrollBar* m_hScrollBar;
bool m_lastKeyDownConsumed; bool m_lastKeyDownConsumed;
@@ -208,9 +196,6 @@ private:
class wxStyledTextEvent : public wxCommandEvent { class wxStyledTextEvent : public wxCommandEvent {
public: public:
wxStyledTextEvent(wxEventType commandType=0, int id=0); wxStyledTextEvent(wxEventType commandType=0, int id=0);
#ifndef SWIG
wxStyledTextEvent(const wxStyledTextEvent& event);
#endif
~wxStyledTextEvent() {} ~wxStyledTextEvent() {}
void SetPosition(int pos) { m_position = pos; } void SetPosition(int pos) { m_position = pos; }
@@ -263,7 +248,7 @@ public:
bool GetControl() const; bool GetControl() const;
bool GetAlt() const; bool GetAlt() const;
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); } void CopyObject(wxObject& obj) const;
#ifndef SWIG #ifndef SWIG
private: private:

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_bmp.cpp // Name: xh_bmp.cpp
// Purpose: XRC resource for wxBitmap and wxIcon // Purpose: XML resource for wxBitmap and wxIcon
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_bmpbt.cpp // Name: xh_bmpbt.cpp
// Purpose: XRC resource for bitmap buttons // Purpose: XML resource for bitmap buttons
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_bttn.cpp // Name: xh_bttn.cpp
// Purpose: XRC resource for buttons // Purpose: XML resource for buttons
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_cald.cpp // Name: xh_cald.cpp
// Purpose: XRC resource for wxCalendarCtrl // Purpose: XML resource for wxCalendarCtrl
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_chckb.cpp // Name: xh_chckb.cpp
// Purpose: XRC resource for wxCheckBox // Purpose: XML resource for wxCheckBox
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_chckl.cpp // Name: xh_chckl.cpp
// Purpose: XRC resource for wxCheckList // Purpose: XML resource for wxCheckList
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_choic.cpp // Name: xh_choic.cpp
// Purpose: XRC resource for wxChoice // Purpose: XML resource for wxChoice
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_combo.cpp // Name: xh_combo.cpp
// Purpose: XRC resource for wxRadioBox // Purpose: XML resource for wxRadioBox
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_dlg.cpp // Name: xh_dlg.cpp
// Purpose: XRC resource for dialogs // Purpose: XML resource for dialogs
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$
@@ -50,7 +50,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
{ {
wxDialog *dlg = wxDynamicCast(m_instance, wxDialog); wxDialog *dlg = wxDynamicCast(m_instance, wxDialog);
wxASSERT_MSG(dlg, _("XRC resource: Cannot create dialog without instance.")); wxASSERT_MSG(dlg, _("XML resource: Cannot create dialog without instance."));
dlg->Create(m_parentAsWindow, dlg->Create(m_parentAsWindow,
GetID(), GetID(),
@@ -64,7 +64,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
CreateChildren(dlg); CreateChildren(dlg);
if (GetBool(wxT("centered"), FALSE)) if (GetBool(_("centered"), FALSE))
dlg->Centre(); dlg->Centre();
return dlg; return dlg;

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_frame.cpp // Name: xh_frame.cpp
// Purpose: XRC resource for dialogs // Purpose: XML resource for dialogs
// Author: Vaclav Slavik & Aleks. // Author: Vaclav Slavik & Aleks.
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$
@@ -55,7 +55,7 @@ wxObject *wxFrameXmlHandler::DoCreateResource()
{ {
wxFrame *frame = wxDynamicCast(m_instance, wxFrame); wxFrame *frame = wxDynamicCast(m_instance, wxFrame);
wxASSERT_MSG(frame, _("XRC resource: Cannot create dialog without instance.")); wxASSERT_MSG(frame, _("XML resource: Cannot create dialog without instance."));
frame->Create(m_parentAsWindow, frame->Create(m_parentAsWindow,
GetID(), GetID(),

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_gauge.cpp // Name: xh_gauge.cpp
// Purpose: XRC resource for wxGauge // Purpose: XML resource for wxGauge
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_html.cpp // Name: xh_html.cpp
// Purpose: XRC resource for wxHtmlWindow // Purpose: XML resource for wxHtmlWindow
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_listb.cpp // Name: xh_listb.cpp
// Purpose: XRC resource for wxListBox // Purpose: XML resource for wxListBox
// Author: Bob Mitchell & Vaclav Slavik // Author: Bob Mitchell & Vaclav Slavik
// Created: 2000/07/29 // Created: 2000/07/29
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_listc.cpp // Name: xh_listc.cpp
// Purpose: XRC resource for wxListCtrl // Purpose: XML resource for wxListCtrl
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_menu.cpp // Name: xh_menu.cpp
// Purpose: XRC resource for menus and menubars // Purpose: XML resource for menus and menubars
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_notbk.cpp // Name: xh_notbk.cpp
// Purpose: XRC resource for wxNotebook // Purpose: XML resource for wxNotebook
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_panel.cpp // Name: xh_panel.cpp
// Purpose: XRC resource for panels // Purpose: XML resource for panels
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_radbt.cpp // Name: xh_radbt.cpp
// Purpose: XRC resource for wxRadioButton // Purpose: XML resource for wxRadioButton
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_radbx.cpp // Name: xh_radbx.cpp
// Purpose: XRC resource for wxRadioBox // Purpose: XML resource for wxRadioBox
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_scrol.cpp // Name: xh_scrol.cpp
// Purpose: XRC resource for wxScrollBar // Purpose: XML resource for wxScrollBar
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_sizer.cpp // Name: xh_sizer.cpp
// Purpose: XRC resource for wxBoxSizer // Purpose: XML resource for wxBoxSizer
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$
@@ -119,7 +119,7 @@ wxObject *wxSizerXmlHandler::DoCreateResource()
else if (m_class == wxT("spacer")) else if (m_class == wxT("spacer"))
{ {
wxCHECK_MSG(m_parentSizer, NULL, wxT("Incorrect syntax of XRC resource: spacer not within sizer!")); wxCHECK_MSG(m_parentSizer, NULL, wxT("Incorrect syntax of XML resource: spacer not within sizer!"));
wxSize sz = GetSize(); wxSize sz = GetSize();
m_parentSizer->Add(sz.x, sz.y, m_parentSizer->Add(sz.x, sz.y,
GetLong(wxT("option")), GetStyle(wxT("flag")), GetDimension(wxT("border"))); GetLong(wxT("option")), GetStyle(wxT("flag")), GetDimension(wxT("border")));

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_slidr.cpp // Name: xh_slidr.cpp
// Purpose: XRC resource for wxSlider // Purpose: XML resource for wxSlider
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_spin.cpp // Name: xh_spin.cpp
// Purpose: XRC resource for wxSpinButton // Purpose: XML resource for wxSpinButton
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_stbmp.cpp // Name: xh_stbmp.cpp
// Purpose: XRC resource for wxStaticBitmap // Purpose: XML resource for wxStaticBitmap
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/04/22 // Created: 2000/04/22
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_stbox.cpp // Name: xh_stbox.cpp
// Purpose: XRC resource for wxStaticBox // Purpose: XML resource for wxStaticBox
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_stbox.cpp // Name: xh_stbox.cpp
// Purpose: XRC resource for wxStaticLine // Purpose: XML resource for wxStaticLine
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_sttxt.cpp // Name: xh_sttxt.cpp
// Purpose: XRC resource for wxStaticText // Purpose: XML resource for wxStaticText
// Author: Bob Mitchell // Author: Bob Mitchell
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_text.cpp // Name: xh_text.cpp
// Purpose: XRC resource for wxTextCtrl // Purpose: XML resource for wxTextCtrl
// Author: Aleksandras Gluchovas // Author: Aleksandras Gluchovas
// Created: 2000/03/21 // Created: 2000/03/21
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_toolb.cpp // Name: xh_toolb.cpp
// Purpose: XRC resource for wxBoxSizer // Purpose: XML resource for wxBoxSizer
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/08/11 // Created: 2000/08/11
// RCS-ID: $Id$ // RCS-ID: $Id$
@@ -40,7 +40,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
{ {
if (m_class == wxT("tool")) if (m_class == wxT("tool"))
{ {
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: tool not within a toolbar!")); wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XML resource: tool not within a toolbar!"));
m_toolbar->AddTool(GetID(), m_toolbar->AddTool(GetID(),
GetBitmap(wxT("bitmap")), GetBitmap(wxT("bitmap")),
GetBitmap(wxT("bitmap2")), GetBitmap(wxT("bitmap2")),
@@ -55,7 +55,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
else if (m_class == wxT("separator")) else if (m_class == wxT("separator"))
{ {
wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XRC resource: separator not within a toolbar!")); wxCHECK_MSG(m_toolbar, NULL, wxT("Incorrect syntax of XML resource: separator not within a toolbar!"));
m_toolbar->AddSeparator(); m_toolbar->AddSeparator();
return m_toolbar; // must return non-NULL return m_toolbar; // must return non-NULL
} }

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_tree.cpp // Name: xh_tree.cpp
// Purpose: XRC resource for wxTreeCtrl // Purpose: XML resource for wxTreeCtrl
// Author: Brian Gavin // Author: Brian Gavin
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xh_unkwn.cpp // Name: xh_unkwn.cpp
// Purpose: XRC resource for unknown widget // Purpose: XML resource for unknown widget
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/09/09 // Created: 2000/09/09
// RCS-ID: $Id$ // RCS-ID: $Id$

View File

@@ -33,7 +33,7 @@
- handle unknown encodings - handle unknown encodings
- process all elements, including CDATA - process all elements, including CDATA
- XRC resources should automatically select desired encoding based on - XML resources should automatically select desired encoding based on
runtime environment (?) (would need BIN and BINZ formats modification, runtime environment (?) (would need BIN and BINZ formats modification,
too) too)

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: xmlres.cpp // Name: xmlres.cpp
// Purpose: XRC resources // Purpose: XML resources
// Author: Vaclav Slavik // Author: Vaclav Slavik
// Created: 2000/03/05 // Created: 2000/03/05
// RCS-ID: $Id$ // RCS-ID: $Id$
@@ -310,7 +310,7 @@ void wxXmlResource::UpdateResources()
} }
else if (m_data[i].Doc->GetRoot()->GetName() != wxT("resource")) else if (m_data[i].Doc->GetRoot()->GetName() != wxT("resource"))
{ {
wxLogError(_("Invalid XRC resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str()); wxLogError(_("Invalid XML resource '%s': doesn't have root node 'resource'."), m_data[i].File.c_str());
wxDELETE(m_data[i].Doc); wxDELETE(m_data[i].Doc);
} }
else else
@@ -368,7 +368,7 @@ wxXmlNode *wxXmlResource::FindResource(const wxString& name, const wxString& cla
} }
} }
wxLogError(_("XRC resource '%s' (class '%s') not found!"), wxLogError(_("XML resource '%s' (class '%s') not found!"),
name.c_str(), classname.c_str()); name.c_str(), classname.c_str());
return NULL; return NULL;
} }
@@ -499,7 +499,7 @@ wxString wxXmlResourceHandler::GetText(const wxString& param)
const wxChar *dt; const wxChar *dt;
wxChar amp_char; wxChar amp_char;
// VS: First version of XRC resources used $ instead of & (which is illegal in XML), // VS: First version of XML resources used $ instead of & (which is illegal in XML),
// but later I realized that '_' fits this purpose much better (because // but later I realized that '_' fits this purpose much better (because
// &File means "File with F underlined"). // &File means "File with F underlined").
if (m_resource->CompareVersion(2,3,0,1) < 0) if (m_resource->CompareVersion(2,3,0,1) < 0)
@@ -601,7 +601,7 @@ wxColour wxXmlResourceHandler::GetColour(const wxString& param)
if (v.Length() != 7 || v[0u] != wxT('#') || if (v.Length() != 7 || v[0u] != wxT('#') ||
wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1) wxSscanf(v.c_str(), wxT("#%lX"), &tmp) != 1)
{ {
wxLogError(_("XRC resource: Incorrect colour specification '%s' for property '%s'."), wxLogError(_("XML resource: Incorrect colour specification '%s' for property '%s'."),
v.c_str(), param.c_str()); v.c_str(), param.c_str());
return wxNullColour; return wxNullColour;
} }
@@ -621,7 +621,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name); wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
if (fsfile == NULL) if (fsfile == NULL)
{ {
wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str()); wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
return wxNullBitmap; return wxNullBitmap;
} }
wxImage img(*(fsfile->GetStream())); wxImage img(*(fsfile->GetStream()));
@@ -631,7 +631,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
#endif #endif
if (!img.Ok()) if (!img.Ok())
{ {
wxLogError(_("XRC resource: Cannot create bitmap from '%s'."), param.c_str()); wxLogError(_("XML resource: Cannot create bitmap from '%s'."), param.c_str());
return wxNullBitmap; return wxNullBitmap;
} }
if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y); if (!(size == wxDefaultSize)) img.Rescale(size.x, size.y);

19
debian/changelog vendored
View File

@@ -22,25 +22,6 @@ wxwindows2.3 (2.3.0) unstable; urgency=low
-- Ron Lee <ron@debian.org> Sat, 27 Jan 2001 01:51:24 -0800 -- Ron Lee <ron@debian.org> Sat, 27 Jan 2001 01:51:24 -0800
wxwindows2.2 (2.2.8.4) unstable; urgency=low
* Put the (modified) size_t == ulong kludge back into sndwav.cpp
it's still needed until wxDataOutputStream is made 64 bit
friendly, which may not happen for 2.2 since it will probably
not be binary compatible.
* caps a memory leak in the jpeg handler.
-- Ron Lee <ron@debian.org> Sun, 25 Nov 2001 11:53:59 -0800
wxwindows2.2 (2.2.8.3) unstable; urgency=low
* Backported size_t test from 2.3 tree, removes the need for
specific tests for various 64 bit platforms including now
S/390 (thanks to Gerhard Tonn for the report).
Closes: #120768
-- Ron Lee <ron@debian.org> Fri, 23 Nov 2001 20:53:49 -0800
wxwindows2.2 (2.2.8.2) unstable; urgency=low wxwindows2.2 (2.2.8.2) unstable; urgency=low
* python-dev doesn't get me python? More bytes in Build-Dep then * python-dev doesn't get me python? More bytes in Build-Dep then

View File

@@ -1,5 +1,4 @@
bombsM5.mcp BombsM*Data
bombsM*Data
*Classic?Debug* *Classic?Debug*
*Classic?Release* *Classic?Release*
*Carbon?Debug* *Carbon?Debug*

BIN
demos/bombs/BombsM5.mcp Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -13,7 +13,7 @@
# under Linux. # under Linux.
# #
CXX = $(shell wx-config --cxx) CC = gcc
PROGRAM = bombs PROGRAM = bombs
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o game.o bombs1.o
.SUFFIXES: .o .cpp .SUFFIXES: .o .cpp
.cpp.o : .cpp.o :
$(CXX) -c `wx-config --cxxflags` -o $@ $< $(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM) all: $(PROGRAM)
$(PROGRAM): $(OBJECTS) $(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs` $(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean: clean:
rm -f *.o $(PROGRAM) rm -f *.o $(PROGRAM)

View File

@@ -1,5 +1,4 @@
dbbrowseM5.mcp DbbrowseM*Data
dbbrowseM*Data
*Classic?Debug* *Classic?Debug*
*Classic?Release* *Classic?Release*
*Carbon?Debug* *Carbon?Debug*

Binary file not shown.

View File

@@ -0,0 +1,29 @@
Microsoft Developer Studio Workspace File, Format Version 6.00
# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GEL<45>SCHT WERDEN!
###############################################################################
Project: "dbbrowse"=".\dbbrowse.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
}}}
###############################################################################
Global:
Package=<5>
{{{
}}}
Package=<3>
{{{
}}}
###############################################################################

File diff suppressed because it is too large Load Diff

View File

@@ -1,15 +0,0 @@
# Top dir of wxWindows
top_builddir = /gtm/bart/wxGTK
PROGRAM=dbbrowser_gtk
OBJECTS= dbbrowse.o doc.o pgmctrl.o tabpgwin.o\
browsedb.o dbtree.o dbgrid.o dlguser.o
include $(top_builddir)/src/makeprog.env

View File

@@ -1,5 +1,4 @@
fortyM5.mcp FortyM*Data
fortyM*Data
*Classic?Debug* *Classic?Debug*
*Classic?Release* *Classic?Release*
*Carbon?Debug* *Carbon?Debug*

BIN
demos/forty/FortyM5.mcp Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

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