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.
If you are checking out the CVS sources using cvs under Mac OS X and
compiling under Classic Mac OS:
- make sure that all text files have a Mac OS type of 'TEXT' otherwise
CodeWarrior may ignore them. Checking out the CVS sources using cvs
under Mac OS X creates untyped files which can lead to compilation
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)
compiling under Classic Mac OS, make sure that all text files have a
Mac OS type of 'TEXT' otherwise CodeWarrior may ignore them. Checking
out the CVS sources using cvs under Mac OS X creates untyped files
which can lead to compialtion errors under CodeWarrior which are hard
to track down.
V) MacOS X using configure and the Developer Tools
----------------------------------------

View File

@@ -114,7 +114,6 @@ INTLDIR = $(WXDIR)/locale
########################## Archive name ###############################
# 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)
WXARCHIVE=@DISTDIR@-$(VER_SUFFIX).tar.gz
WXGLARCHIVE=@DISTDIR@-gl-$(VER_SUFFIX).tar.gz
@@ -395,15 +394,10 @@ CREATE_INSTALLED_LINKS_GL: preinstall_gl
afminstall: preinstall
@if test ! -d $(datadir); then $(INSTALL) -d $(datadir); fi
$(INSTALL) -d $(datadir)/wx
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/afm
$(INSTALL) -d $(datadir)/wx/$(VER_MAJMIN)/gs_afm
$(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/$(VER_MAJMIN)/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
$(INSTALL) -d $(datadir)/wx/afm
$(INSTALL) -d $(datadir)/wx/gs_afm
$(INSTALL_DATA) $(top_srcdir)/misc/afm/*.afm $(datadir)/wx/afm
$(INSTALL_DATA) $(top_srcdir)/misc/gs_afm/*.afm $(datadir)/wx/gs_afm
# this is the real install target: copies the library, wx-config and the
# 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
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 \
$(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 "@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/unix
@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 " "
@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 " The installation of wxWindows is finished. On certain"
@echo " platforms (e.g. Linux) you'll now have to run ldconfig"
@@ -533,8 +524,9 @@ uninstall:
ALL_DIST: distclean
mkdir _dist_dir
mkdir $(DISTDIR)
cp $(WXDIR)/wxwin.m4 $(DISTDIR)
cp $(WXDIR)/aclocal.m4 $(DISTDIR)
cp $(WXDIR)/configure.in $(DISTDIR)
cp $(WXDIR)/configure $(DISTDIR)
cp $(WXDIR)/config.sub $(DISTDIR)
cp $(WXDIR)/config.guess $(DISTDIR)
cp $(WXDIR)/install-sh $(DISTDIR)
@@ -544,11 +536,11 @@ ALL_DIST: distclean
cp $(WXDIR)/setup.h_vms $(DISTDIR)
cp $(WXDIR)/descrip.mms $(DISTDIR)
cp $(WXDIR)/Makefile.in $(DISTDIR)
cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp $(DOCDIR)/lgpl.txt $(DISTDIR)/COPYING.LIB
cp $(DOCDIR)/licence.txt $(DISTDIR)/LICENCE.txt
cp $(DOCDIR)/symbols.txt $(DISTDIR)/SYMBOLS.txt
cp $(DOCDIR)/changes.txt $(DISTDIR)/CHANGES.txt
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
mkdir $(DISTDIR)/lib
cp $(WXDIR)/lib/vms.opt $(DISTDIR)/lib
cp $(WXDIR)/lib/vms_gtk.opt $(DISTDIR)/lib
@@ -557,6 +549,7 @@ ALL_DIST: distclean
mkdir $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.h $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.c $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.mcp $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/README $(DISTDIR)/src/zlib
cp $(ZLIBDIR)/*.mms $(DISTDIR)/src/zlib
mkdir $(DISTDIR)/src/regex
@@ -573,10 +566,8 @@ ALL_DIST: distclean
# this target is the common part of distribution script for all GUI toolkits,
# but is not used when building wxBase distribution
ALL_GUI_DIST: ALL_DIST
cp $(WXDIR)/configure.in $(DISTDIR)
cp $(WXDIR)/configure $(DISTDIR)
cp $(DOCDIR)/readme.txt $(DISTDIR)/README.txt
cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp $(DOCDIR)/$(TOOLKITDIR)/install.txt $(DISTDIR)/INSTALL.txt
if test -f $(DOCDIR)/$(TOOLKITDIR)/changes.txt ; then \
cp $(DOCDIR)/$(TOOLKITDIR)/changes.txt $(DISTDIR)/CHANGES-$(TOOLKIT).txt ; fi
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 $(PNGDIR)/*.h $(DISTDIR)/src/png
cp $(PNGDIR)/*.c $(DISTDIR)/src/png
cp $(PNGDIR)/*.mcp $(DISTDIR)/src/png
cp $(PNGDIR)/README $(DISTDIR)/src/png
cp $(JPEGDIR)/*.h $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/*.c $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/*.mcp $(DISTDIR)/src/jpeg
cp $(JPEGDIR)/README $(DISTDIR)/src/jpeg
cp $(TIFFDIR)/*.h $(DISTDIR)/src/tiff
cp $(TIFFDIR)/*.c $(DISTDIR)/src/tiff
cp $(TIFFDIR)/*.mcp $(DISTDIR)/src/tiff
cp $(TIFFDIR)/README $(DISTDIR)/src/tiff
cp $(ODBCDIR)/*.h $(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
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/wx
mkdir $(DISTDIR)/include/wx/protocol
mkdir $(DISTDIR)/include/wx/unix
mkdir $(DISTDIR)/include/wx/msw
mkdir $(DISTDIR)/src/common
mkdir $(DISTDIR)/src/unix
mkdir $(DISTDIR)/src/msw
cp $(WXDIR)/wxBase.spec $(DISTDIR)
cp @PORT_FILES@ $(DISTDIR)
cp $(WXDIR)/src/wxBase*.dsp $(DISTDIR)
cp $(WXDIR)/src/wxBase*.dsw $(DISTDIR)
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 $(WXDIR)/src/common/*.inc $(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.unx $(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
GTK_DIST: ALL_GUI_DIST
@@ -708,6 +695,7 @@ MOTIF_DIST: ALL_GUI_DIST
MACX_DIST: ALL_GUI_DIST
cp $(INCDIR)/*.* $(DISTDIR)/include
cp $(INCDIR)/wx/mac/*.h $(DISTDIR)/include/wx/mac
cp $(SRCDIR)/*.mcp $(DISTDIR)/src
cp $(MACDIR)/files.lst $(DISTDIR)/src/mac
cp $(MACDIR)/*.cpp $(DISTDIR)/src/mac
cp $(MACDIR)/*.c $(DISTDIR)/src/mac
@@ -716,6 +704,14 @@ MACX_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/src/mac/morefile
cp $(MACDIR)/morefile/*.h $(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
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.in $(DISTDIR)/demos
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
mkdir $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/Makefile.in $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/makefile.unx $(DISTDIR)/demos/bombs
@@ -766,8 +764,6 @@ DEMOS_DIST: ALL_GUI_DIST
cp $(DEMODIR)/bombs/*.xpm $(DISTDIR)/demos/bombs
cp $(DEMODIR)/bombs/readme.txt $(DISTDIR)/demos/bombs
cp -R $(DEMODIR)/dbbrowse $(DISTDIR)/demos/dbbrowse
mkdir $(DISTDIR)/demos/forty
cp $(DEMODIR)/forty/Makefile.in $(DISTDIR)/demos/forty
cp $(DEMODIR)/forty/makefile.unx $(DISTDIR)/demos/forty
@@ -810,6 +806,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/calendar
cp $(SAMPDIR)/calendar/Makefile.in $(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
mkdir $(DISTDIR)/samples/caret
@@ -821,6 +818,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/Makefile.in $(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/*.xpm $(DISTDIR)/samples/checklst
cp $(SAMPDIR)/checklst/*.mms $(DISTDIR)/samples/checklst
@@ -828,6 +826,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/config
cp $(SAMPDIR)/config/Makefile.in $(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
mkdir $(DISTDIR)/samples/console
@@ -839,6 +838,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/controls/icons
cp $(SAMPDIR)/controls/Makefile.in $(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/*.xpm $(DISTDIR)/samples/controls
cp $(SAMPDIR)/controls/*.mms $(DISTDIR)/samples/controls
@@ -854,6 +854,7 @@ SAMPLES_DIST: ALL_GUI_DIST
mkdir $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/Makefile.in $(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/*.h $(DISTDIR)/samples/dialogs
cp $(SAMPDIR)/dialogs/*.txt $(DISTDIR)/samples/dialogs
@@ -1311,7 +1312,6 @@ MANUAL_DIST:
PYTHON_DIST:
mkdir $(DISTDIR)/wxPython
mkdir $(DISTDIR)/wxPython/contrib
mkdir $(DISTDIR)/wxPython/contrib/gizmos
mkdir $(DISTDIR)/wxPython/contrib/glcanvas
mkdir $(DISTDIR)/wxPython/contrib/glcanvas/gtk
mkdir $(DISTDIR)/wxPython/contrib/ogl
@@ -1332,7 +1332,6 @@ PYTHON_DIST:
cp $(WXDIR)/wxPython/*.py $(DISTDIR)/wxPython
cp $(WXDIR)/wxPython/setup.cfg $(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/gtk/glcanvas.* $(DISTDIR)/wxPython/contrib/glcanvas/gtk
-cp $(WXDIR)/wxPython/contrib/ogl/* $(DISTDIR)/wxPython/contrib/ogl
@@ -1453,7 +1452,7 @@ cleanall: clean
RPMTOP=_dist_dir/_rpm_top
rpm: bzip-dist
rpm: dist
@echo "*** Building RPMs ***"
-mkdir $(RPMTOP)
-mkdir $(RPMTOP)/SOURCES
@@ -1461,7 +1460,7 @@ rpm: bzip-dist
-mkdir $(RPMTOP)/BUILD
-mkdir $(RPMTOP)/RPMS
-mkdir $(RPMTOP)/SRPMS
cp -f $(WXARCHIVE_BZIP) $(RPMTOP)/SOURCES
cp -f $(WXARCHIVE) $(RPMTOP)/SOURCES
rpm -ba --define "_topdir `pwd`/$(RPMTOP)" $(WXDIR)/wx$(TOOLKIT).spec
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_SUNOS=
USE_ALPHA=
USE_IA64=
USE_OSF=
USE_BSD=
USE_DARWIN=
@@ -461,6 +462,10 @@ case "${host}" in
USE_ALPHA=1
AC_DEFINE(__ALPHA__)
fi
if test "x$TMP" = "xia64"; then
USE_IA64=1
AC_DEFINE(__IA64__)
fi
DEFAULT_DEFAULT_wxUSE_GTK=1
;;
*-*-irix5* | *-*-irix6* )
@@ -651,7 +656,6 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_LOG=yes
DEFAULT_wxUSE_LOGWINDOW=no
DEFAULT_wxUSE_LOGGUI=no
DEFAULT_wxUSE_LOGDIALOG=no
DEFAULT_wxUSE_GUI=yes
DEFAULT_wxUSE_CONTROLS=no
@@ -780,7 +784,6 @@ if test $DEBUG_CONFIGURE = 1; then
DEFAULT_wxUSE_TOOLBAR_SIMPLE=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
@@ -816,7 +819,6 @@ else
DEFAULT_wxUSE_LOG=yes
DEFAULT_wxUSE_LOGWINDOW=yes
DEFAULT_wxUSE_LOGGUI=yes
DEFAULT_wxUSE_LOGDIALOG=yes
DEFAULT_wxUSE_GUI=yes
@@ -944,7 +946,6 @@ else
DEFAULT_wxUSE_TOOLBAR_SIMPLE=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
DEFAULT_wxUSE_UNICODE=no
DEFAULT_wxUSE_WCSRTOMBS=no
@@ -1008,7 +1009,7 @@ WX_ARG_WITH(opengl, [ --with-opengl use OpenGL (or Mesa)], wxU
fi
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(zlib, [ --with-zlib use zlib for LZW compression], wxUSE_ZLIB)
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(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)
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(loggui, [ --enable-loggui use standard GUI logger], wxUSE_LOGGUI)
WX_ARG_ENABLE(logwin, [ --enable-logwin use wxLogWindow], wxUSE_LOGWINDOW)
WX_ARG_ENABLE(logdialog, [ --enable-logdialog use wxLogDialog], wxUSE_LOGDIALOG)
dnl ---------------------------------------------------------------------------
dnl PostScript options
@@ -1191,7 +1191,6 @@ if test "$wxUSE_CONTROLS" = "yes"; then
DEFAULT_wxUSE_TOOLTIPS=yes
DEFAULT_wxUSE_TREECTRL=yes
DEFAULT_wxUSE_POPUPWIN=yes
DEFAULT_wxUSE_TIPWINDOW=yes
elif test "$wxUSE_CONTROLS" = "no"; then
DEFAULT_wxUSE_ACCEL=no
DEFAULT_wxUSE_BMPBUTTON=no
@@ -1230,7 +1229,6 @@ elif test "$wxUSE_CONTROLS" = "no"; then
DEFAULT_wxUSE_TOOLTIPS=no
DEFAULT_wxUSE_TREECTRL=no
DEFAULT_wxUSE_POPUPWIN=no
DEFAULT_wxUSE_TIPWINDOW=no
fi
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(tbarsmpl, [ --enable-tbarsmpl use wxToolBarSimple class], wxUSE_TOOLBAR_SIMPLE)
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)
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(coldlg, [ --enable-coldlg use wxColourDialog], wxUSE_COLOURDLG)
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(dirdlg, [ --enable-dirdlg use wxDirDialog], wxUSE_DIRDLG)
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(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(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
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.
WXCONFIG_LIBS="-l${WX_LIBRARY}"
WXCONFIG_LIBS_STATIC="lib${WX_LIBRARY}.a"
if test "$wxUSE_OPENGL" = "yes"; then
WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} ${OPENGL_LIBS}"
WXCONFIG_LIBS_STATIC_GL="lib${WX_LIBRARY_GL}.a ${OPENGL_LIBS}"
WXCONFIG_LIBS_GL="-l${WX_LIBRARY_GL} $OPENGL_LIBS"
fi
@@ -2537,9 +2532,9 @@ if test "$wxUSE_SHARED" = "yes"; then
;;
*-*-darwin* )
CFLAGS="$CFLAGS -fno-common -DDYLIB_INIT"
CXXFLAGS="$CXXFLAGS -fno-common -DDYLIB_INIT"
SHARED_LD="$CXX -dynamiclib -init _wxWindowsDylibInit -o"
CFLAGS="$CFLAGS -fno-common"
CXXFLAGS="$CXXFLAGS -fno-common"
SHARED_LD="$CXX -dynamiclib -o"
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
WX_TARGET_LIBRARY_TYPE="so"
INSTALL_LIBRARY='$(INSTALL_PROGRAM)'
fi
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_TYPE="a"
INSTALL_LIBRARY='$(INSTALL_DATA)'
fi
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_INSTALLED="${WX_ALL_INSTALLED} preinstall_res"
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"
LIBWXMACRESCOMP="\$(RESCOMP) Carbon.r -t APPL ${LIBWXMACRES} -o \$(BIN_PROGRAM)"
LIBWXMACRESWXCONFIG="${RESCOMP} Carbon.r -t APPL \${prefix}/lib/${WX_RESOURCES_MACOSX_COMPILED} -o"
@@ -2652,16 +2645,12 @@ fi
dnl defines HAVE_STDLIB_H
AC_CHECK_HEADERS(stdlib.h)
dnl defines HAVE_MALLOC_H
AC_CHECK_HEADERS(malloc.h)
dnl defines HAVE_UNISTD_H
AC_CHECK_HEADERS(unistd.h)
dnl defines HAVE_WCHAR_H
AC_CHECK_HEADERS(wchar.h)
dnl defines HAVE_WCSTR_H
AC_CHECK_HEADERS(wcstr.h)
dnl defined HAVE_WCTYPE_H
AC_CHECK_HEADERS(wctype.h)
dnl defines HAVE_FNMATCH_H
AC_CHECK_HEADERS(fnmatch.h)
dnl defines HAVE_ICONV_H (Unix98 encoding conversion routines)
@@ -2693,15 +2682,11 @@ AC_TYPE_UID_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 on Cygwin wchar.h needs stddef.h to be #included by hand
AC_CACHE_CHECK([for wchar_t], wx_cv_type_wchar_t,
[
AC_TRY_COMPILE(
[
#ifdef HAVE_WCHAR_H
# ifdef __CYGWIN__
# include <stddef.h>
# endif
# include <wchar.h>
#endif
#ifdef HAVE_STDLIB_H
@@ -2826,9 +2811,6 @@ AC_CACHE_CHECK([size of wchar_t], wx_cv_sizeof_wchar_t,
AC_TRY_RUN(
[
#ifdef HAVE_WCHAR_H
# ifdef __CYGWIN__
# include <stddef.h>
# endif
# include <wchar.h>
#endif
#ifdef HAVE_STDLIB_H
@@ -3055,9 +3037,6 @@ fi
dnl check for vfork() (even if it's the same as fork() in modern Unices)
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 Linux and *BSD and statvfs() under Solaris
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_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"
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"
fi
fi
@@ -3280,7 +3259,7 @@ if test "$TOOLKIT" != "MSW"; then
if test -z "$THREADS_OBJ" ; then
wxUSE_THREADS=no
AC_MSG_WARN([No thread support on this system... disabled])
AC_MSG_WARN(No thread support on this system)
fi
fi
@@ -3658,7 +3637,7 @@ fi
if test "$wxUSE_TEXTFILE" = "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
AC_DEFINE(wxUSE_TEXTFILE)
fi
@@ -3666,7 +3645,7 @@ fi
if test "$wxUSE_CONFIG" = "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
AC_DEFINE(wxUSE_CONFIG)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS config"
@@ -3675,7 +3654,7 @@ fi
if test "$wxUSE_INTL" = "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
AC_DEFINE(wxUSE_INTL)
SAMPLES_SUBDIRS="$SAMPLES_SUBDIRS internat"
@@ -3693,10 +3672,6 @@ if test "$wxUSE_LOG" = "yes"; then
if test "$wxUSE_LOGWINDOW" = "yes"; then
AC_DEFINE(wxUSE_LOGWINDOW)
fi
if test "$wxUSE_LOGDIALOG" = "yes"; then
AC_DEFINE(wxUSE_LOG_DIALOG)
fi
fi
if test "$wxUSE_LONGLONG" = "yes"; then
@@ -3943,15 +3918,6 @@ dnl ---------------------------------------------------------------------------
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
if test "$TOOLKIT" != "MSW"; then
if test "$wxUSE_JOYSTICK" = "yes"; then
@@ -3959,7 +3925,7 @@ if test "$wxUSE_GUI" = "yes"; then
AC_CHECK_HEADERS(linux/joystick.h)
if test "$ac_cv_header_linux_joystick_h" != "yes"; then
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
@@ -4101,7 +4067,7 @@ fi
if test "$wxUSE_MDI_ARCHITECTURE" = "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
fi
@@ -4208,7 +4174,7 @@ fi
if test "$wxUSE_IPC" = "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
AC_DEFINE(wxUSE_IPC)
@@ -4224,18 +4190,18 @@ fi
if test "$wxUSE_DRAG_AND_DROP" = "yes" ; then
if test "$wxUSE_GTK" = 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
fi
fi
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
fi
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
fi
@@ -4440,12 +4406,8 @@ if test "$wxUSE_TEXTCTRL" = "yes"; then
fi
if test "$wxUSE_TOGGLEBTN" = "yes"; then
if test "$wxUSE_MAC" = 1; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X... disabled])
wxUSE_TOGGLEBTN=no
fi
if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under wxUNIVERSAL... disabled])
if test "$wxUSE_MAC" = 1 -o "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([Toggle button not yet supported under Mac OS X or wxUNIVERSAL... disabled])
wxUSE_TOGGLEBTN=no
fi
@@ -4480,16 +4442,12 @@ fi
if test "$wxUSE_TOOLTIPS" = "yes"; 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
if test "$wxUSE_WINE" = 1; then
AC_MSG_WARN([wxTooltip not supported under WINE... disabled])
AC_MSG_WARN(wxTooltip not supported under WINE)
else
if test "$wxUSE_UNIVERSAL" = "yes"; then
AC_MSG_WARN([wxTooltip not supported yet in wxUNIVERSAL... disabled])
else
AC_DEFINE(wxUSE_TOOLTIPS)
fi
AC_DEFINE(wxUSE_TOOLTIPS)
fi
fi
fi
@@ -4506,22 +4464,13 @@ fi
if test "$wxUSE_POPUPWIN" = "yes"; 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
if test "$wxUSE_MOTIF" = 1; then
AC_MSG_WARN([wxPopupWindow not yet supported under Motif... disabled])
else
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
fi
AC_DEFINE(wxUSE_POPUPWIN)
USES_CONTROLS=1
fi
fi
if test "$wxUSE_TIPWINDOW" = "yes"; then
AC_DEFINE(wxUSE_TIPWINDOW)
fi
if test "$USES_CONTROLS" = 1; then
AC_DEFINE(wxUSE_CONTROLS)
fi
@@ -4834,8 +4783,6 @@ AC_SUBST(host_alias)
AC_SUBST(cross_compiling)
AC_SUBST(WXCONFIG_LIBS)
AC_SUBST(WXCONFIG_LIBS_GL)
AC_SUBST(WXCONFIG_LIBS_STATIC)
AC_SUBST(WXCONFIG_LIBS_STATIC_GL)
AC_SUBST(WXCONFIG_INCLUDE)
dnl what to compile
@@ -4875,10 +4822,10 @@ AC_SUBST(AS)
AC_SUBST(NM)
AC_SUBST(LD)
AC_SUBST(MAKEINFO)
AC_SUBST(INSTALL_LIBRARY)
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)
AC_PROG_MAKE_SET

View File

@@ -79,7 +79,7 @@ WX_DEFINE_ARRAY( RowInfoPtrT, RowArrayT );
#define wxALL_PANES 0x000F
// enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)
// enumeration of hittest results, see cbDockPane::HitTestPaneItems(..)
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
// and forwarding them to the frame layout
class cbBarSpy : public wxEvtHandler
class cbBarSpy : public wxEvtHandler
{
public:
DECLARE_DYNAMIC_CLASS( cbBarSpy )
@@ -120,8 +120,8 @@ public:
virtual bool ProcessEvent(wxEvent& event);
};
/* wxFrameLayout manages containment and docking of control bars.
* which can be docked along top, bottom, righ, or left side of the
/* wxFrameLayout manages containment and docking of control bars.
* which can be docked along top, bottom, righ, or left side of the
* parent frame
*/
@@ -130,8 +130,8 @@ class wxFrameLayout : public wxEvtHandler
public:
wxFrameLayout(void); // used only while serializing
wxFrameLayout( wxWindow* pParentFrame,
wxWindow* pFrameClient = NULL,
wxFrameLayout( wxWindow* pParentFrame,
wxWindow* pFrameClient = NULL,
bool activateNow = TRUE );
// (doesn't destroy bar windows)
@@ -143,7 +143,7 @@ public:
// Can be called after some other layout has been deactivated,
// 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
virtual void Activate();
@@ -151,7 +151,7 @@ public:
// 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
// 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
virtual void Deactivate();
@@ -163,8 +163,8 @@ public:
virtual void DestroyBarWindows();
// 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
// surrounded by controlbar panes, whenever frame is resized, or dimensions
// frame layout, the size and position of which should be adjusted to be
// surrounded by controlbar panes, whenever frame is resized, or dimensions
// of control panes change
void SetFrameClient( wxWindow* pFrameClient );
@@ -176,7 +176,7 @@ public:
// used by updates-managers
cbDockPane** GetPanesArray() { return mPanes; }
// see pane alignment types
// see pane alignment types
cbDockPane* GetPane( int alignment )
{ return mPanes[alignment]; }
@@ -187,11 +187,11 @@ public:
// NOTES:: argument pBarWnd can by NULL, resulting bar decorations to be drawn
// around the empty rectangle (filled with default background colour).
// 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-
// handler is present, it's instance shared (reference counted). Dimension
// it is not used directly, instead it's members are copied. If dimensions-
// handler is present, it's instance shared (reference counted). Dimension
// handler should always be allocated on the heap!)
virtual void AddBar( wxWindow* pBarWnd,
virtual void AddBar( wxWindow* pBarWnd,
const cbDimInfo& dimInfo,
// defaults:
@@ -201,13 +201,13 @@ public:
const wxString& name="bar",// name, by which the bar could be referred
// in layout customization dialogs
bool spyEvents = FALSE, // if TRUE - input events for the bar should
// be "spyed" in order to forward not-handled
// mouse clicks to frame layout (e.g. to enable
// easy-draggablity of toolbars just by clicking
// on their interior regions). For widgets like
// text/tree control this value should be FALSE
// (since there's _no_ certain way to detect
bool spyEvents = FALSE, // if TRUE - input events for the bar should
// be "spyed" in order to forward not-handled
// mouse clicks to frame layout (e.g. to enable
// easy-draggablity of toolbars just by clicking
// on their interior regions). For widgets like
// text/tree control this value should be FALSE
// (since there's _no_ certain way to detect
// whether the event was actually handled...)
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
// 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
// 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 );
// methods for access and modification of bars in frame layout
@@ -255,9 +255,9 @@ public:
wxRect& GetClientRect() { return mClntWndBounds; }
// NOTE:: in future ubdates-manager will become a normal plugin
cbUpdatesManagerBase& GetUpdatesManager();
// destroys the previous manager if any, set the new one
void SetUpdatesManager( cbUpdatesManagerBase* pUMgr );
@@ -266,7 +266,7 @@ public:
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 );
// TODO:: margins should go into cbCommonPaneProperties in the future
@@ -295,11 +295,11 @@ public:
/*** plugin-related methods ***/
// 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.
virtual void FirePluginEvent( cbPluginEvent& event );
// captures/releases user-input event's for the given plugin
// 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,
// with an exception if input-events are currently captured by some other plugin)
virtual cbPluginBase& GetTopPlugin();
// hooking custom plugins to frame layout
@@ -340,7 +340,7 @@ public:
// default plugins are : cbPaneDrawPlugin, cbRowLayoutPlugin, cbBarDragPlugin,
// 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
virtual void PushDefaultPlugins();
@@ -348,7 +348,7 @@ public:
/* "Advanced" methods for plugin-configuration using their */
/* 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
virtual void AddPlugin( wxClassInfo* pPlInfo, int paneMask = wxALL_PANES );
@@ -363,14 +363,14 @@ public:
// thefore the former should be hooked before the one
// who's functionality is being overriden
virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
virtual void AddPluginBefore( wxClassInfo* pNextPlInfo, wxClassInfo* pPlInfo,
int paneMask = wxALL_PANES );
// checks if plugin of the given class is hooked, removes
// it if found
//
// @param pPlInfo class information structure for the plugin
// @note
// @note
// @see wxFrameLayout::Method
@@ -417,7 +417,7 @@ public: /* protected really, acessed only by plugins and serializers */
// pane, from which mouse pointer had just left
cbDockPane* mpLRUPane;
cbDockPane* mpLRUPane;
// bounds of client window in parent frame's coordinates
@@ -432,11 +432,11 @@ public: /* protected really, acessed only by plugins and serializers */
cbPluginBase* mpTopPlugin;
// plugin, which currently has captured all input events, otherwise NULL
// plugin, which currently has captured all input events, otherwise NULL
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 ,
// 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) */
// refrence to custom updates manager
// refrence to custom updates manager
cbUpdatesManagerBase* mpUpdatesMgr;
// called to set calculated layout to window objects
@@ -468,7 +468,7 @@ public: /* protected really (accessed only by plugins) */
void RepositionFloatedBar( cbBarInfo* pBar );
void DoSetBarState( cbBarInfo* pBar );
bool LocateBar( cbBarInfo* pBarInfo,
bool LocateBar( cbBarInfo* pBarInfo,
cbRowInfo** ppRow,
cbDockPane** ppPane );
@@ -481,7 +481,7 @@ public: /* protected really (accessed only by plugins) */
cbDockPane* GetBarPane( cbBarInfo* pBar );
// delegated from "bar-spy"
void ForwardMouseEvent( wxMouseEvent& event,
void ForwardMouseEvent( wxMouseEvent& event,
cbDockPane* pToPane,
int eventType );
@@ -513,8 +513,8 @@ public: /* protected really (accessed only by plugins) */
/* structure, which is present in each item of layout,
* it used by any specific updates-manager to store
* auxilary information to be used by it's specific
* updating algorithm
* auxilary information to be used by it's specific
* updating algorithm
*/
class cbUpdateMgrData : public wxObject
@@ -525,7 +525,7 @@ public:
bool mIsDirty; // overrides result of current-against-previous bounds comparison,
// i.e. requires item to be updated, regardless of it's current area
wxObject* mpCustomData; // any custom data stored by specific updates mgr.
cbUpdateMgrData(); // is-dirty flag is set TRUE initially
@@ -540,8 +540,8 @@ public:
};
/* Abstract interface for bar-size handler classes.
* These objects receive notifications, whenever the docking
* state of the bar is changed, thus they have a possibility
* These objects receive notifications, whenever the docking
* state of the bar is changed, thus they have a possibility
* to adjust the values in cbDimInfo::mSizes accordingly.
* Specific handlers can be hooked to specific types of bars.
*/
@@ -590,7 +590,7 @@ public:
// from the bar's actual window, filled
// with frame's beckground color, default: 0
int mVertGap;
int mVertGap;
// left/right gap, separates decorations
// from the bar's actual window, filled
@@ -604,7 +604,7 @@ public:
bool mIsFixed;
cbBarDimHandlerBase* mpHandler; // NULL, if no handler present
cbBarDimHandlerBase* mpHandler; // NULL, if no handler present
public:
@@ -625,18 +625,18 @@ public:
cbBarDimHandlerBase* pDimHandler = NULL
);
cbDimInfo( int x, int y,
bool isFixed = TRUE,
int gap = 6,
cbDimInfo( int x, int y,
bool isFixed = TRUE,
int gap = 6,
cbBarDimHandlerBase* pDimHandler = NULL
);
);
const cbDimInfo& operator=( const cbDimInfo& other );
// destroys handler automatically, if present
~cbDimInfo();
inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; }
inline cbBarDimHandlerBase* GetDimHandler() { return mpHandler; }
};
WX_DEFINE_ARRAY(float, cbArrayFloat);
@@ -679,7 +679,7 @@ public:
// convenience method
inline cbBarInfo* GetFirstBar()
inline cbBarInfo* GetFirstBar()
{ return mBars.GetCount() ? mBars[0] : NULL; }
};
@@ -692,20 +692,20 @@ public:
wxString mName;
// stores bar's bounds in pane's coordinates
wxRect mBounds;
wxRect mBounds;
// stores precalculated bar's bounds in parent frame's coordinates
wxRect mBoundsInParent;
wxRect mBoundsInParent;
// 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
bool mHasLeftHandle;
bool mHasRightHandle;
cbDimInfo mDimInfo; // preferred sizes for each, control bar state
int mState; // (see definition of controlbar states)
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
// poistion is stored in parent-window's coordinates
cbUpdateMgrData mUMgrData; // info stored for updates-manager
cbBarInfo* mpNext; // next. bar in the row
@@ -760,14 +760,14 @@ public:
void Reset();
bool Next(); // TRUE, if next bar is available
cbBarInfo& BarInfo();
// returns reference to currently traversed row
cbRowInfo& RowInfo();
};
/* structure holds configuration options,
/* structure holds configuration options,
* which are usually the same for all panes in
* frame layout
*/
@@ -795,16 +795,16 @@ class cbCommonPaneProperties : public wxObject
// minimal dimensions for not-fixed bars in this pane (16x16 default)
wxSize mMinCBarDim;
wxSize mMinCBarDim;
// width/height of resizing sash
int mResizeHandleSize;
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
*/
@@ -822,10 +822,10 @@ public:
int mRightMargin; // default: 2 pixels
int mTopMargin; // default: 2 pixels
int mBottomMargin; // default: 2 pixels
public:
// position of the pane in frame's coordinates
wxRect mBoundsInParent;
wxRect mBoundsInParent;
// pane width and height in pane's coordinates
int mPaneWidth;
@@ -843,7 +843,7 @@ public: /* protected really */
// 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
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 upperY, int lowerY );
// re-setups flags in the row-information structure, so that
// the would match the changed state of row-items correctly
// re-setups flags in the row-information structure, so that
// the would match the changed state of row-items correctly
void SyncRowFlags( cbRowInfo* pRow );
// layout "AI" helpers:
@@ -886,7 +886,7 @@ public: /* protected really (accessed only by plugins) */
void InitLinksForRow( cbRowInfo* pRow );
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 PaneToFrame( int* x, int* y );
@@ -904,7 +904,7 @@ 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)
virtual void PaintBarDecorations( cbBarInfo* pBar, wxDC& dc );
@@ -941,7 +941,7 @@ public: /* public members */
virtual void RemoveBar( cbBarInfo* pBar );
// rect given in the parent frame's coordinates
virtual void InsertBar( cbBarInfo* pBar, const wxRect& atRect );
// inserts bar into the given row, with dimensions and position
@@ -949,7 +949,7 @@ public: /* public members */
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
virtual void InsertBar( cbBarInfo* pBarInfo );
@@ -957,7 +957,7 @@ public: /* public members */
// does not destroy the row object, only removes the corresponding
// node from this pane
virtual void RemoveRow( cbRowInfo* pRow );
// does not refresh the inserted row immediately,
// if pBeforeRowNode arg. is NULL, row is appended to the end of pane's row list
virtual void InsertRow( cbRowInfo* pRow, cbRowInfo* pBeforeRow );
@@ -975,8 +975,8 @@ public: /* public members */
// convenience method
inline cbRowInfo* GetFirstRow()
inline cbRowInfo* GetFirstRow()
{ return mRows.GetCount() ? mRows[0] : NULL; }
// TRUE, if the given bar node presents in this pane
@@ -1053,7 +1053,7 @@ public:
: mpLayout( pPanel ) {}
virtual ~cbUpdatesManagerBase() {}
void SetLayout( wxFrameLayout* pLayout ) { mpLayout = pLayout; }
// 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
/* 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* mpObjNodeAux;
wxPoint mPos;
@@ -1098,18 +1098,15 @@ public:
bool mAuxBoolVal;
*/
// Not used, but required
virtual wxEvent* Clone() const { return NULL; }
#if wxCHECK_VERSION(2,3,0)
cbPluginEvent( wxEventType eventType, cbDockPane* pPane )
: mpPane( pPane )
{ m_eventType = eventType; }
#else
cbPluginEvent( int eventType, cbDockPane* pPane )
: mpPane( pPane )
{ m_eventType = eventType; }
#endif
};
@@ -1163,7 +1160,7 @@ public:
#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_LAYOUT_ROWS 8
#define cbEVT_PL_INSERT_BAR 9
@@ -1227,7 +1224,7 @@ class cbCustomizeBarEvent;
class cbCustomizeLayoutEvent;
// defs. for handler-methods
typedef void (wxEvtHandler::*cbLeftDownHandler )(cbLeftDownEvent&);
typedef void (wxEvtHandler::*cbLeftUpHandler )(cbLeftUpEvent&);
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_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_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_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_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_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_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_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_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 ),
@@ -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_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_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_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_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_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_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_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_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 },
@@ -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_LAYOUT(func) { cbEVT_PL_CUSTOMIZE_LAYOUT, -1, -1, (wxObjectEventFunction) (wxEventFunction) (cbCustomizeLayoutHandler) & func },
#endif
/*
* abstract base class for all control-bar related plugins
/*
* abstract base class for all control-bar related plugins
*/
class cbPluginBase : public wxEvtHandler
@@ -1337,23 +1334,23 @@ class cbPluginBase : public wxEvtHandler
DECLARE_ABSTRACT_CLASS( cbPluginBase )
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
// (see pane masks definitions)
int mPaneMask;
int mPaneMask;
bool mIsReady; // is TRUE, when plugin is ready to handle events
public:
cbPluginBase(void)
cbPluginBase(void)
: mpLayout ( 0 ),
mPaneMask( wxALL_PANES ),
mIsReady ( FALSE )
{}
cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES )
cbPluginBase( wxFrameLayout* pPanel, int paneMask = wxALL_PANES )
: mpLayout ( pPanel ),
mPaneMask( paneMask ),

View File

@@ -13,13 +13,6 @@
#ifndef _WX_DYNAMICSASH_H_
#define _WX_DYNAMICSASH_H_
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
/*
wxDynamicSashWindow
@@ -51,7 +44,7 @@
for instance, you wish to scroll a subwindow of the view you add to
your wxDynamicSashWindow object, rather than scrolling the whole view.)
In this case, you will need to construct your wxDynamicSashWindow without
the 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
controls and call SetEventHanler() on them to redirect the scrolling
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
automatically scrolling the child view.
*/
#define wxDS_MANAGE_SCROLLBARS 0x0010
/*
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
#define wxMANAGE_SCROLLBARS 0x00800000
/*
@@ -102,14 +87,11 @@ class wxScrollBar;
a child of the wxDynamicSashWindow. wxDynamicSashWindow will
automatically reparent it to the proper place in its window hierarchy.
*/
class GIZMODLLEXPORT wxDynamicSashSplitEvent : public wxCommandEvent {
class wxDynamicSashSplitEvent : public wxCommandEvent {
public:
wxDynamicSashSplitEvent();
wxDynamicSashSplitEvent(const wxDynamicSashSplitEvent& event): wxCommandEvent(event) { }
wxDynamicSashSplitEvent(wxObject *target);
virtual wxEvent* Clone() const { return new wxDynamicSashSplitEvent(*this); }
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashSplitEvent)
};
@@ -124,14 +106,11 @@ private:
the scrollbars' event handlers connected to your view's event handler
class.
*/
class GIZMODLLEXPORT wxDynamicSashUnifyEvent : public wxCommandEvent {
class wxDynamicSashUnifyEvent : public wxCommandEvent {
public:
wxDynamicSashUnifyEvent();
wxDynamicSashUnifyEvent(const wxDynamicSashUnifyEvent& event): wxCommandEvent(event) {}
wxDynamicSashUnifyEvent(wxObject *target);
virtual wxEvent* Clone() const { return new wxDynamicSashUnifyEvent(*this); }
private:
DECLARE_DYNAMIC_CLASS(wxDynamicSashUnifyEvent);
};
@@ -139,18 +118,18 @@ private:
/*
wxDynamicSashWindow. See above.
*/
class GIZMODLLEXPORT wxDynamicSashWindow : public wxWindow {
class wxDynamicSashWindow : public wxWindow {
public:
wxDynamicSashWindow();
wxDynamicSashWindow(wxWindow *parent, wxWindowID id,
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");
virtual ~wxDynamicSashWindow();
virtual bool Create(wxWindow *parent, wxWindowID id,
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");
virtual wxScrollBar *GetHScrollBar(const wxWindow *child) const;
virtual wxScrollBar *GetVScrollBar(const wxWindow *child) const;

View File

@@ -17,21 +17,15 @@
#include "wx/panel.h"
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
class WXDLLEXPORT wxBitmapButton;
class WXDLLEXPORT wxListCtrl;
class WXDLLEXPORT wxListEvent;
// This class provides a composite control that lets the
// user easily enter list of strings
class GIZMODLLEXPORT wxEditableListBox : public wxPanel
class WXDLLEXPORT wxEditableListBox : public wxPanel
{
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"
#endif
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#endif
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
@@ -53,7 +45,7 @@ enum wxResizable
// wxMultiCellItemHandle
//---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellItemHandle: public wxObject
class WXDLLEXPORT wxMultiCellItemHandle: public wxObject
{
DECLARE_CLASS(wxMultiCellItemHandle);
protected:
@@ -89,7 +81,7 @@ private:
// wxMultiCellSizer
//---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellSizer : virtual public wxSizer
class WXDLLEXPORT wxMultiCellSizer : virtual public wxSizer
{
DECLARE_CLASS(wxMultiCellSizer);
@@ -139,7 +131,7 @@ class wxCell;
// wxMultiCellCanvas
//---------------------------------------------------------------------------
class GIZMODLLEXPORT wxMultiCellCanvas : public wxFlexGridSizer
class wxMultiCellCanvas : public wxFlexGridSizer
{
public:
wxMultiCellCanvas(wxWindow *parent, int numRows = 2, int numCols = 2);

View File

@@ -15,13 +15,7 @@
#define _WX_SPLITTREE_H_
#ifdef __GNUG__
#pragma interface "splittree.h"
#endif
#ifdef GIZMOISDLL
#define GIZMODLLEXPORT WXDLLEXPORT
#else
#define GIZMODLLEXPORT
#pragma interface "splittree.h"
#endif
// 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.
*/
class GIZMODLLEXPORT wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
class wxRemotelyScrolledTreeCtrl: public wxTreeCtrl
{
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
DECLARE_CLASS(wxRemotelyScrolledTreeCtrl)
public:
wxRemotelyScrolledTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pt = wxDefaultPosition,
const wxSize& sz = wxDefaultSize, long style = wxTR_HAS_BUTTONS);
~wxRemotelyScrolledTreeCtrl();
~wxRemotelyScrolledTreeCtrl();
//// Events
void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event);
void OnSize(wxSizeEvent& event);
void OnExpand(wxTreeEvent& event);
void OnScroll(wxScrollWinEvent& event);
void OnPaint(wxPaintEvent& event);
//// Overrides
// Override this in case we're using the generic tree control.
@@ -89,18 +82,18 @@ public:
virtual int GetScrollPos(int orient) const;
//// Helpers
void HideVScrollbar();
void HideVScrollbar();
// Calculate the tree overall size so we can set the scrollbar
// correctly
void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Calculate the tree overall size so we can set the scrollbar
// correctly
void CalcTreeSize(wxRect& rect);
void CalcTreeSize(const wxTreeItemId& id, wxRect& rect);
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars();
// Adjust the containing wxScrolledWindow's scrollbars appropriately
void AdjustRemoteScrollbars();
// Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const;
// Find the scrolled window that contains this control
wxScrolledWindow* GetScrolledWindow() const;
// Scroll to the given line (in scroll units where each unit is
// the height of an item)
@@ -108,16 +101,15 @@ public:
//// Accessors
// The companion window is one which will get notified when certain
// events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
// The companion window is one which will get notified when certain
// events happen such as node expansion
void SetCompanionWindow(wxWindow* companion) { m_companionWindow = companion; }
wxWindow* GetCompanionWindow() const { return m_companionWindow; }
DECLARE_EVENT_TABLE()
protected:
wxWindow* m_companionWindow;
bool m_drawRowLines;
wxWindow* m_companionWindow;
};
/*
@@ -126,7 +118,7 @@ protected:
* A window displaying values associated with tree control items.
*/
class GIZMODLLEXPORT wxTreeCompanionWindow: public wxWindow
class wxTreeCompanionWindow: public wxWindow
{
public:
DECLARE_CLASS(wxTreeCompanionWindow)
@@ -137,22 +129,22 @@ public:
long style = 0);
//// Overrides
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
virtual void DrawItem(wxDC& dc, wxTreeItemId id, const wxRect& rect);
//// Events
void OnPaint(wxPaintEvent& event);
void OnPaint(wxPaintEvent& event);
void OnScroll(wxScrollWinEvent& event);
void OnExpand(wxTreeEvent& event);
void OnExpand(wxTreeEvent& event);
//// Operations
//// Accessors
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
wxRemotelyScrolledTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; };
void SetTreeCtrl(wxRemotelyScrolledTreeCtrl* treeCtrl) { m_treeCtrl = treeCtrl; }
//// Data members
protected:
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
wxRemotelyScrolledTreeCtrl* m_treeCtrl;
DECLARE_EVENT_TABLE()
};
@@ -165,7 +157,7 @@ protected:
* than the usual one.
*/
class GIZMODLLEXPORT wxThinSplitterWindow: public wxSplitterWindow
class wxThinSplitterWindow: public wxSplitterWindow
{
public:
DECLARE_DYNAMIC_CLASS(wxThinSplitterWindow)
@@ -181,10 +173,10 @@ public:
// Tests for x, y over sash. Overriding this allows us to increase
// the tolerance.
bool SashHitTest(int x, int y, int tolerance = 2);
void DrawSash(wxDC& dc);
void DrawSash(wxDC& dc);
//// Events
void OnSize(wxSizeEvent& event);
//// Operations
@@ -205,7 +197,7 @@ protected:
* scroll appropriately.
*/
class GIZMODLLEXPORT wxSplitterScrolledWindow: public wxScrolledWindow
class wxSplitterScrolledWindow: public wxScrolledWindow
{
public:
DECLARE_DYNAMIC_CLASS(wxSplitterScrolledWindow)
@@ -218,7 +210,7 @@ public:
//// Overrides
//// Events
void OnScroll(wxScrollWinEvent& 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)
@@ -299,6 +299,8 @@ class wxShape: public wxShapeEvtHandler
void SetPen(wxPen *pen);
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 bool IsShown() const { return m_visible; }
@@ -513,10 +515,8 @@ class wxShape: public wxShapeEvtHandler
// Clears points from a list of wxRealPoints
void ClearPointList(wxList& list);
// Return pen or brush of the right colour for the background
wxPen GetBackgroundPen();
wxBrush GetBackgroundBrush();
private:
wxObject* m_clientData;
protected:
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.
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 *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);
void oglFindEndForBox(double width, double height,
void oglFindEndForBox(double width, double height,
double x1, double y1, // Centre of box (possibly)
double x2, double y2, // other end of line
double *x3, double *y3); // End on box edge
void oglFindEndForCircle(double radius,
void oglFindEndForCircle(double radius,
double x1, double y1, // Centre of circle
double x2, double y2, // Other end of line
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
* 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.
* 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.
* Author: Ian Harrison
*/
@@ -99,6 +99,7 @@ extern wxPen* g_oglWhiteBackgroundPen;
extern wxPen* g_oglTransparentPen;
extern wxBrush* g_oglWhiteBackgroundBrush;
extern wxPen* g_oglBlackForegroundPen;
extern wxCursor* g_oglBullseyeCursor;
extern wxFont* oglMatchFont(int point_size);

View File

@@ -1594,14 +1594,6 @@ public:
// Send a message to Scintilla
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
void OnPaint(wxPaintEvent& evt);
void OnScrollWin(wxScrollWinEvent& evt);
void OnScroll(wxScrollEvent& evt);
void OnSize(wxSizeEvent& evt);
void OnMouseLeftDown(wxMouseEvent& evt);
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
void OnContextMenu(wxContextMenuEvent& evt);
void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
@@ -1639,8 +1629,6 @@ private:
ScintillaWX* m_swx;
wxStopWatch m_stopWatch;
wxScrollBar* m_vScrollBar;
wxScrollBar* m_hScrollBar;
bool m_lastKeyDownConsumed;
@@ -1654,9 +1642,6 @@ private:
class wxStyledTextEvent : public wxCommandEvent {
public:
wxStyledTextEvent(wxEventType commandType=0, int id=0);
#ifndef SWIG
wxStyledTextEvent(const wxStyledTextEvent& event);
#endif
~wxStyledTextEvent() {}
void SetPosition(int pos) { m_position = pos; }
@@ -1709,7 +1694,7 @@ public:
bool GetControl() const;
bool GetAlt() const;
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); }
void CopyObject(wxObject& obj) const;
#ifndef SWIG
private:

View File

@@ -1,6 +1,6 @@
# $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:
@for d in $(CONTRIB_SAMPLES); do (cd $$d && $(MAKE)); done

View File

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

View File

@@ -13,7 +13,7 @@
# under Linux.
#
CXX = $(shell wx-config --cxx)
CC = gcc
PROGRAM = minimal
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o
.SUFFIXES: .o .cpp
.cpp.o :
$(CXX) -c `wx-config --cxxflags` -o $@ $<
$(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM)
$(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean:
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,
wxDefaultSize, wxSP_3DBORDER | wxCLIP_CHILDREN /* | wxSP_LIVE_UPDATE */);
m_splitter->SetSashSize(2);
/* Note the wxTR_ROW_LINES style: draws horizontal lines between items */
m_tree = new TestTree(m_splitter , idTREE_CTRL, wxDefaultPosition,
wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER | wxTR_ROW_LINES );
m_tree = new TestTree(m_splitter, idTREE_CTRL, wxDefaultPosition,
wxDefaultSize, wxTR_HAS_BUTTONS | wxTR_NO_LINES | wxNO_BORDER );
m_valueWindow = new TestValueWindow(m_splitter, idVALUE_WINDOW, wxDefaultPosition,
wxDefaultSize, wxNO_BORDER);
m_splitter->SplitVertically(m_tree, m_valueWindow);
@@ -232,6 +230,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
IMPLEMENT_CLASS(TestTree, wxRemotelyScrolledTreeCtrl)
BEGIN_EVENT_TABLE(TestTree, wxRemotelyScrolledTreeCtrl)
EVT_PAINT(TestTree::OnPaint)
END_EVENT_TABLE()
TestTree::TestTree(wxWindow* parent, wxWindowID id, const wxPoint& pt,
@@ -274,6 +273,39 @@ TestTree::~TestTree()
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
*/

View File

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

View File

@@ -12,7 +12,8 @@
# on your system.
#
CXX = $(shell wx-config --cxx)
CPP = gcc -g
CC = gcc
WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include -I../../../include
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
ogledit: $(OBJECTS)
$(CXX) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
$(CPP) -o ogledit $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c palette.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c palette.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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.cpp
clean:
rm -f *.o ogledit

View File

@@ -12,7 +12,8 @@
# on your system.
#
CXX = $(shell wx-config --cxx)
CPP = gcc -g
CC = gcc
WXCONFIG=../../../../wx-config
WXINCLUDE=-I../../../../include -I../../../include
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
studio: $(OBJECTS)
$(CXX) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
$(CPP) -o studio $(OBJECTS) `$(WXCONFIG) --libs` $(WXLIB) -logl
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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c cspalette.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c cspalette.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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c view.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c view.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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c mainfrm.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c mainfrm.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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c shapes.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c shapes.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
$(CXX) `$(WXCONFIG) --cxxflags` -I../../src $(WXINCLUDE) -c csprint.cpp
$(CPP) `$(WXCONFIG) --cflags` -I../../src $(WXINCLUDE) -c csprint.cpp
clean:
rm -f *.o studio

View File

@@ -56,7 +56,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib 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"
@@ -83,7 +83,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib 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"
@@ -109,7 +109,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib 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"
@@ -136,7 +136,7 @@ BSC32=bscmake.exe
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib winmm.lib /nologo /subsystem:windows /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib rpcrt4.lib wsock32.lib winmm.lib 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
@@ -169,7 +169,7 @@ SOURCE=.\plot.cpp
SOURCE=.\plot.rc
# ADD BASE RSC /l 0x809
# ADD RSC /l 0x809 /i "..\..\..\include" /i "..\..\..\contrib\include"
# ADD RSC /l 0x809 /i "..\..\..\include"
# End Source File
# End Target
# End Project

View File

@@ -1,6 +1,6 @@
# $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:
@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 )
{
// bool fromLowerEdge = mousePos.y > bounds.y;
bool fromLowerEdge = mousePos.y > bounds.y;
mHintRect.y = wxMax( bounds.y + bounds.height + 1, mousePos.y - newHeight );

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -141,8 +141,7 @@ void cbGCUpdatesMgr::UpdateNow()
wxList mBarsToResize;
int n;
for ( n = 0; n != MAX_PANES; ++n )
for( int n = 0; n != MAX_PANES; ++n )
{
cbDockPane& pane = *(panes[n]);
@@ -165,7 +164,7 @@ void cbGCUpdatesMgr::UpdateNow()
cbBarInfo* pBar = pRow->GetFirstBar();
bool rowChanged = FALSE;
// bool rowBkPainted = FALSE;
bool rowBkPainted = FALSE;
// FIXME:: the below should not be fixed
cbBarInfo* barsToRepaint[128];
@@ -208,7 +207,7 @@ void cbGCUpdatesMgr::UpdateNow()
cbBarInfo* pCurBar = pRow->GetFirstBar();
while ( pCurBar )
while( pCurBar )
{
if ( WasChanged( pCurBar->mUMgrData,
pCurBar->mBoundsInParent ) )
@@ -227,7 +226,7 @@ void cbGCUpdatesMgr::UpdateNow()
else
if ( nBars != 0 )
{
for ( int i = 0; i != nBars; ++i )
for( int i = 0; i != nBars; ++i )
// postphone the resizement and refreshing the changed
// 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
)
{
return;
// TBD: ????
return;
mpLayout->SetBarState( pBarToFloat, wxCBAR_FLOATING, TRUE );
mpLayout->RepositionFloatedBar( pBarToFloat );
return; // event is "eaten" by this plugin
}
event.Skip();
@@ -432,7 +439,7 @@ void cbPaneDrawPlugin::OnLButtonDown( cbLeftDownEvent& event )
{
// otehrwise if bar handle dragged
// cbRowInfo& rowInfo = *mpDraggedBar->mpRow;
cbRowInfo& rowInfo = *mpDraggedBar->mpRow;
wxRect& bounds = mpDraggedBar->mBounds;
mHandleIsVertical = ( event.mpPane->IsHorizontal() ) ? TRUE : FALSE;
@@ -728,27 +735,27 @@ void cbPaneDrawPlugin::OnDrawRowBackground ( cbDrawRowBkGroundEvent& event )
wxRect rowBounds = pRow->mBoundsInParent;
bool isHorizontal = event.mpPane->IsHorizontal();
// int prevPos;
int prevPos;
if ( isHorizontal )
{
// prevPos = rowBounds.x;
// include one line above and below the row
prevPos = rowBounds.x;
// include one line obove and below the row
--rowBounds.y;
rowBounds.height += 2;
rowBounds.height +=2;
--rowBounds.x;
rowBounds.width += 2;
rowBounds.width += 2;
}
else
{
// prevPos = rowBounds.y;
// include one line above and below the row
prevPos = rowBounds.y;
// include one line obove and below the row
--rowBounds.x;
rowBounds.width += 2;
rowBounds.width += 2;
--rowBounds.y;
rowBounds.height += 2;
rowBounds.height +=2;
}
//#define TEST_BK_ERASING
@@ -1163,7 +1170,7 @@ void cbPaneDrawPlugin::OnDrawPaneDecorations( cbDrawPaneDecorEvent& event )
void cbPaneDrawPlugin::OnDrawBarDecorations( cbDrawBarDecorEvent& event )
{
// cbBarInfo* pBar = event.mpBar;
cbBarInfo* pBar = event.mpBar;
wxDC& dc = *event.mpDc;
// draw brick borders

View File

@@ -229,7 +229,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
// DBG::
wxPoint p = event.mPos;
wxPoint d = mDragOrigin;
// int dif = event.mPos.x - mDragOrigin.x;
int dif = event.mPos.x - mDragOrigin.x;
// row is dragged up or down;
ShowDraggedRow( pos.y - mDragOrigin.y );
@@ -239,7 +239,7 @@ void cbRowDragPlugin::OnMouseMove( cbMotionEvent& event )
// DBG::
wxPoint p = event.mPos;
wxPoint d = mDragOrigin;
// int dif = event.mPos.x - mDragOrigin.x;
int dif = event.mPos.x - mDragOrigin.x;
// row is dragged left or right
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
{
wxFAIL( _T("what did the cursor hit?") );
int avoidCompilerWarning = 0;
wxASSERT(avoidCompilerWarning); // DBG::
}
rect.x = left;

View File

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

View File

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

View File

@@ -13,9 +13,9 @@ LIBVERSION_AGE=0
HEADER_PATH=$(top_srcdir)/contrib/include/wx
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)
APPEXTRADEFS=-I$(top_srcdir)/contrib/include

View File

@@ -10,23 +10,6 @@
// 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"
/*
@@ -100,9 +83,6 @@ class wxDynamicSashReparentEvent : public wxEvent {
public:
wxDynamicSashReparentEvent();
wxDynamicSashReparentEvent(wxObject *object);
wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt);
virtual wxEvent* Clone() const { return new wxDynamicSashReparentEvent(*this); }
DECLARE_DYNAMIC_CLASS(wxDynamicSashReparentEvent);
};
@@ -348,8 +328,7 @@ void wxDynamicSashWindowImpl::DrawSash(int x, int y) const {
dc.SetBrush(brush);
dc.SetLogicalFunction(wxXOR);
if ((m_dragging == DSR_CORNER) &&
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
if (m_dragging == DSR_CORNER) {
int cx = 0;
int cy = 0;
@@ -551,6 +530,7 @@ void wxDynamicSashWindowImpl::Unify(int panel) {
}
void wxDynamicSashWindowImpl::Split(int px, int py) {
m_window->Hide();
m_add_child_target = NULL;
@@ -597,8 +577,9 @@ void wxDynamicSashWindowImpl::Split(int px, int py) {
m_leaf = NULL;
m_container->Layout();
}
m_window->Show();
}
/* 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
@@ -791,8 +772,7 @@ void wxDynamicSashWindowImpl::OnPress(wxMouseEvent &event) {
}
void wxDynamicSashWindowImpl::OnRelease(wxMouseEvent &event) {
if ((m_dragging == DSR_CORNER) &&
(m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
if (m_dragging == DSR_CORNER) {
DrawSash(m_drag_x, m_drag_y);
m_container->ReleaseMouse();
@@ -894,7 +874,7 @@ bool wxDynamicSashWindowLeaf::Create() {
m_viewport->SetEventHandler(this);
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_vscroll->SetEventHandler(this);
@@ -991,7 +971,7 @@ DynamicSashRegion wxDynamicSashWindowLeaf::GetRegion(int x, int y) {
void wxDynamicSashWindowLeaf::ResizeChild(wxSize size) {
if (m_child) {
if (m_impl->m_window->GetWindowStyle() & wxDS_MANAGE_SCROLLBARS) {
if (m_impl->m_window->GetWindowStyle() & wxMANAGE_SCROLLBARS) {
m_child->SetSize(size);
wxSize best_size = m_child->GetBestSize();
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 - 4, 3, h - 4);
int cy = (h - sh + h - 6) / 2 + 1;
int cx = (w - sw + w - 6) / 2 + 1;
int sy = cy;
@@ -1154,8 +1135,7 @@ void wxDynamicSashWindowLeaf::OnMouseMove(wxMouseEvent &event) {
cursor = wxCursor(wxCURSOR_SIZENS);
} else if (region == DSR_VERTICAL_TAB) {
cursor = wxCursor(wxCURSOR_SIZEWE);
} else if ((region == DSR_CORNER) &&
(m_impl->m_window->GetWindowStyle() & wxDS_DRAG_CORNER) != 0) {
} else if (region == DSR_CORNER) {
cursor = wxCursor(wxCURSOR_SIZENWSE);
} else if (region == DSR_LEFT_EDGE || region == DSR_TOP_EDGE
|| region == DSR_RIGHT_EDGE || region == DSR_BOTTOM_EDGE) {
@@ -1180,9 +1160,6 @@ void wxDynamicSashWindowLeaf::OnLeave(wxMouseEvent &event) {
void wxDynamicSashWindowLeaf::OnPress(wxMouseEvent &event) {
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) {
m_impl->m_dragging = region;
m_impl->m_drag_x = event.m_x;
@@ -1260,11 +1237,6 @@ wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(wxObject *object) {
m_eventType = wxEVT_DYNAMIC_SASH_REPARENT;
}
wxDynamicSashReparentEvent::wxDynamicSashReparentEvent(const wxDynamicSashReparentEvent& evt)
: wxEvent(evt)
{
}
IMPLEMENT_DYNAMIC_CLASS(wxDynamicSashReparentEvent, wxEvent)
/////////////////////////////////////////////////////////////////////////////

View File

@@ -82,7 +82,7 @@ END_EVENT_TABLE()
IMPLEMENT_CLASS(wxEditableListBox, wxPanel)
enum
enum
{
// ID value doesn't matter, it won't propagate out of wxEditableListBox
// instance
@@ -111,7 +111,7 @@ wxEditableListBox::wxEditableListBox(wxWindow *parent, wxWindowID id,
: wxPanel(parent, id, pos, size, wxTAB_TRAVERSAL, name), m_edittingNew(FALSE)
{
wxSizer *sizer = new wxBoxSizer(wxVERTICAL);
wxPanel *subp = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize,
wxSUNKEN_BORDER | wxTAB_TRAVERSAL);
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_bUp = new wxBitmapButton(subp, wxID_ELB_UP, wxBitmap(elup_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_bNew, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bDel, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bUp, 0, wxALIGN_CENTRE_VERTICAL);
subsizer->Add(m_bDown, 0, wxALIGN_CENTRE_VERTICAL);
subp->SetAutoLayout(TRUE);
subp->SetSizer(subsizer);
subsizer->Fit(subp);
sizer->Add(subp, 0, wxEXPAND);
m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL,
m_listCtrl = new CleverListCtrl(this, wxID_ELD_LISTCTRL,
wxDefaultPosition, wxDefaultSize,
wxLC_REPORT | wxLC_NO_HEADER |
wxLC_REPORT | wxLC_NO_HEADER |
wxLC_SINGLE_SEL | wxSUNKEN_BORDER |
wxLC_EDIT_LABELS);
wxArrayString empty_ar;
SetStrings(empty_ar);
sizer->Add(m_listCtrl, 1, wxEXPAND);
SetAutoLayout(TRUE);
@@ -158,11 +151,11 @@ void wxEditableListBox::SetStrings(const wxArrayString& strings)
{
m_listCtrl->DeleteAllItems();
size_t i;
for (i = 0; i < strings.GetCount(); 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);
}
@@ -185,7 +178,7 @@ void wxEditableListBox::OnItemSelected(wxListEvent& 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);
m_edittingNew = TRUE;
m_listCtrl->EditLabel(m_selection);
@@ -204,7 +197,7 @@ void wxEditableListBox::OnEndLabelEdit(wxListEvent& event)
void wxEditableListBox::OnDelItem(wxCommandEvent& event)
{
m_listCtrl->DeleteItem(m_selection);
m_listCtrl->SetItemState(m_selection,
m_listCtrl->SetItemState(m_selection,
wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
@@ -216,7 +209,7 @@ void wxEditableListBox::OnEditItem(wxCommandEvent& event)
void wxEditableListBox::OnUpItem(wxCommandEvent& event)
{
wxString t1, t2;
t1 = m_listCtrl->GetItemText(m_selection - 1);
t2 = m_listCtrl->GetItemText(m_selection);
m_listCtrl->SetItemText(m_selection - 1, t2);
@@ -228,7 +221,7 @@ void wxEditableListBox::OnUpItem(wxCommandEvent& event)
void wxEditableListBox::OnDownItem(wxCommandEvent& event)
{
wxString t1, t2;
t1 = m_listCtrl->GetItemText(m_selection + 1);
t2 = m_listCtrl->GetItemText(m_selection);
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
# Author: Julian Smart
# Created: 1999
# Updated:
# Updated:
# Copyright:
#
# Makefile : Builds Gizmos library for 32-bit BC++
@@ -11,7 +11,7 @@ WXDIR = $(WXWIN)
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

View File

@@ -2,7 +2,7 @@
# File: makefile.bcc
# Author: Julian Smart
# Created: 1998
# Updated:
# Updated:
#
# Builds Gizmos library for BC++, 16-bit
@@ -14,7 +14,7 @@ WXDIR = $(WXWIN)
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

View File

@@ -10,7 +10,7 @@
WXDIR = ../../..
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

View File

@@ -23,7 +23,7 @@ LOCALDOCDIR=$(WXDIR)\contrib\docs\latex\gizmos
!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

View File

@@ -10,7 +10,7 @@ THISDIR = $(WXDIR)\contrib\src\gizmos
NAME = gizmos
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)

View File

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

View File

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

View File

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

View File

@@ -288,6 +288,7 @@ wxShape::wxShape(wxShapeCanvas *can)
m_textColour = wxBLACK;
m_textColourName = "BLACK";
m_visible = FALSE;
m_clientData = NULL;
m_selected = FALSE;
m_attachmentMode = ATTACHMENT_MODE_NONE;
m_spaceAttachments = TRUE;
@@ -337,6 +338,11 @@ wxShape::~wxShape()
if (m_canvas)
m_canvas->RemoveShape(this);
if (m_clientData) {
delete m_clientData;
m_clientData = NULL;
}
GetEventHandler()->OnDelete();
}
@@ -991,9 +997,8 @@ void wxShape::OnEraseContents(wxDC& dc)
if (m_pen)
penWidth = m_pen->GetWidth();
dc.SetPen(GetBackgroundPen());
dc.SetBrush(GetBackgroundBrush());
dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(* g_oglWhiteBackgroundBrush);
dc.DrawRectangle(WXROUND(topLeftX - penWidth), WXROUND(topLeftY - penWidth),
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_LINE 6
extern wxCursor *g_oglBullseyeCursor;
IMPLEMENT_DYNAMIC_CLASS(wxShapeCanvas, wxScrolledWindow)
BEGIN_EVENT_TABLE(wxShapeCanvas, wxScrolledWindow)
@@ -92,11 +94,10 @@ void wxShapeCanvas::OnPaint(wxPaintEvent& event)
PrepareDC(dc);
dc.SetBackground(wxBrush(GetBackgroundColour(), wxSOLID));
dc.Clear();
if (GetDiagram())
GetDiagram()->Redraw(dc);
if (GetDiagram())
GetDiagram()->Redraw(dc);
}
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
if (region->GetFormattedText().Number() > 0)
{
dc.SetPen(GetBackgroundPen());
dc.SetBrush(GetBackgroundBrush());
dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(* g_oglWhiteBackgroundBrush);
// Now draw the text
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());
#ifdef __WXMSW__
dc.SetTextBackground(GetBackgroundBrush().GetColour());
dc.SetTextBackground(g_oglWhiteBackgroundBrush->GetColour());
#endif
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)
{
dc.SetPen(GetBackgroundPen());
dc.SetBrush(GetBackgroundBrush());
dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(* g_oglWhiteBackgroundBrush);
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;
wxBrush *old_brush = m_brush;
wxPen bg_pen = GetBackgroundPen();
wxBrush bg_brush = GetBackgroundBrush();
SetPen(&bg_pen);
SetBrush(&bg_brush);
SetPen(g_oglWhiteBackgroundPen);
SetBrush(g_oglWhiteBackgroundBrush);
double bound_x, bound_y;
GetBoundingBoxMax(&bound_x, &bound_y);
@@ -876,8 +874,8 @@ void wxLineShape::OnErase(wxDC& dc)
}
// Undraw line
dc.SetPen(GetBackgroundPen());
dc.SetBrush(GetBackgroundBrush());
dc.SetPen(* g_oglWhiteBackgroundPen);
dc.SetBrush(* g_oglWhiteBackgroundBrush);
// Drawing over the line only seems to work if the line has a thickness
// 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)
{
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE));
m_canvas->SetCursor(* g_oglBullseyeCursor);
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()->OnDrawContents(dc);
}
m_canvas->SetCursor(wxCursor(wxCURSOR_BULLSEYE));
m_canvas->SetCursor(g_oglBullseyeCursor);
m_oldCursor = wxSTANDARD_CURSOR;
}
}

View File

@@ -49,10 +49,11 @@
wxFont* g_oglNormalFont;
wxPen* g_oglBlackPen;
wxPen* g_oglTransparentPen;
wxPen* g_oglBlackForegroundPen;
wxPen* g_oglWhiteBackgroundPen;
wxPen* g_oglTransparentPen;
wxBrush* g_oglWhiteBackgroundBrush;
wxPen* g_oglBlackForegroundPen;
wxCursor* g_oglBullseyeCursor = NULL;
char* oglBuffer = NULL;
@@ -62,12 +63,16 @@ wxList oglObjectCopyMapping(wxKEY_INTEGER);
void wxOGLInitialize()
{
g_oglNormalFont = wxTheFontList->FindOrCreateFont(10, wxSWISS, wxNORMAL, wxNORMAL);
g_oglBlackPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
g_oglTransparentPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxTRANSPARENT);
g_oglBlackForegroundPen = wxThePenList->FindOrCreatePen("BLACK", 1, wxSOLID);
g_oglWhiteBackgroundPen = wxThePenList->FindOrCreatePen("WHITE", 1, wxSOLID);
g_oglWhiteBackgroundBrush = wxTheBrushList->FindOrCreateBrush("WHITE", wxSOLID);
g_oglBullseyeCursor = new wxCursor(wxCURSOR_BULLSEYE);
g_oglNormalFont = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL);
g_oglBlackPen = new wxPen("BLACK", 1, 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();
@@ -84,13 +89,42 @@ void wxOGLCleanUp()
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
g_oglBlackPen = NULL;
g_oglTransparentPen = NULL;
g_oglBlackForegroundPen = NULL;
g_oglWhiteBackgroundPen = NULL;
g_oglWhiteBackgroundBrush = NULL;
if (g_oglNormalFont)
{
delete g_oglNormalFont;
g_oglNormalFont = 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();
}

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

View File

@@ -103,7 +103,6 @@ DEFINE_EVENT_TYPE( wxEVT_STC_DO_DROP )
BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
EVT_PAINT (wxStyledTextCtrl::OnPaint)
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
EVT_SIZE (wxStyledTextCtrl::OnSize)
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
#ifdef __WXMSW__
@@ -112,11 +111,7 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
#endif
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
#ifdef __WXGTK__
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
#else
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
#endif
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
@@ -148,8 +143,6 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
m_swx = new ScintillaWX(this);
m_stopWatch.Start();
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());
}
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) {
wxSize sz = GetClientSize();
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) {
wxPoint pt = evt.GetPosition();
ScreenToClient(&pt.x, &pt.y);
@@ -1879,7 +1856,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
bool alt = evt.AltDown();
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);
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::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
wxCommandEvent::CopyObject(obj);
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):
wxCommandEvent(event)
{
m_position = event.m_position;
m_key = event.m_key;
m_modifiers = event.m_modifiers;
m_modificationType = event.m_modificationType;
m_text = event.m_text;
m_length = event.m_length;
m_linesAdded = event.m_linesAdded;
m_line = event.m_line;
m_foldLevelNow = event.m_foldLevelNow;
m_foldLevelPrev = event.m_foldLevelPrev;
wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
o->m_position = m_position;
o->m_key = m_key;
o->m_modifiers = m_modifiers;
o->m_modificationType = m_modificationType;
o->m_text = m_text;
o->m_length = m_length;
o->m_linesAdded = m_linesAdded;
o->m_line = m_line;
o->m_foldLevelNow = m_foldLevelNow;
o->m_foldLevelPrev = m_foldLevelPrev;
m_margin = event.m_margin;
o->m_margin = m_margin;
m_message = event.m_message;
m_wParam = event.m_wParam;
m_lParam = event.m_lParam;
o->m_message = m_message;
o->m_wParam = m_wParam;
o->m_lParam = m_lParam;
m_listType = event.m_listType;
m_x = event.m_x;
m_y = event.m_y;
o->m_listType = m_listType;
o->m_x = m_x;
o->m_y = m_y;
#if wxUSE_DRAG_AND_DROP
m_dragText = event.m_dragText;
m_dragAllowMove =event.m_dragAllowMove;
m_dragResult = event.m_dragResult;
o->m_dragText = m_dragText;
o->m_dragAllowMove =m_dragAllowMove;
o->m_dragResult = m_dragResult;
#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)
EVT_PAINT (wxStyledTextCtrl::OnPaint)
EVT_SCROLLWIN (wxStyledTextCtrl::OnScrollWin)
EVT_SCROLL (wxStyledTextCtrl::OnScroll)
EVT_SIZE (wxStyledTextCtrl::OnSize)
EVT_LEFT_DOWN (wxStyledTextCtrl::OnMouseLeftDown)
#ifdef __WXMSW__
@@ -112,11 +111,7 @@ BEGIN_EVENT_TABLE(wxStyledTextCtrl, wxControl)
#endif
EVT_MOTION (wxStyledTextCtrl::OnMouseMove)
EVT_LEFT_UP (wxStyledTextCtrl::OnMouseLeftUp)
#ifdef __WXGTK__
EVT_RIGHT_UP (wxStyledTextCtrl::OnMouseRightUp)
#else
EVT_CONTEXT_MENU (wxStyledTextCtrl::OnContextMenu)
#endif
EVT_MOUSEWHEEL (wxStyledTextCtrl::OnMouseWheel)
EVT_CHAR (wxStyledTextCtrl::OnChar)
EVT_KEY_DOWN (wxStyledTextCtrl::OnKeyDown)
@@ -148,8 +143,6 @@ wxStyledTextCtrl::wxStyledTextCtrl(wxWindow *parent,
m_swx = new ScintillaWX(this);
m_stopWatch.Start();
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());
}
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) {
wxSize sz = GetClientSize();
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) {
wxPoint pt = evt.GetPosition();
ScreenToClient(&pt.x, &pt.y);
@@ -423,7 +400,7 @@ void wxStyledTextCtrl::OnChar(wxKeyEvent& evt) {
bool alt = evt.AltDown();
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);
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::GetAlt() const { return (m_modifiers & SCI_ALT) != 0; }
void wxStyledTextEvent::CopyObject(wxObject& obj) const {
wxCommandEvent::CopyObject(obj);
wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):
wxCommandEvent(event)
{
m_position = event.m_position;
m_key = event.m_key;
m_modifiers = event.m_modifiers;
m_modificationType = event.m_modificationType;
m_text = event.m_text;
m_length = event.m_length;
m_linesAdded = event.m_linesAdded;
m_line = event.m_line;
m_foldLevelNow = event.m_foldLevelNow;
m_foldLevelPrev = event.m_foldLevelPrev;
wxStyledTextEvent* o = (wxStyledTextEvent*)&obj;
o->m_position = m_position;
o->m_key = m_key;
o->m_modifiers = m_modifiers;
o->m_modificationType = m_modificationType;
o->m_text = m_text;
o->m_length = m_length;
o->m_linesAdded = m_linesAdded;
o->m_line = m_line;
o->m_foldLevelNow = m_foldLevelNow;
o->m_foldLevelPrev = m_foldLevelPrev;
m_margin = event.m_margin;
o->m_margin = m_margin;
m_message = event.m_message;
m_wParam = event.m_wParam;
m_lParam = event.m_lParam;
o->m_message = m_message;
o->m_wParam = m_wParam;
o->m_lParam = m_lParam;
m_listType = event.m_listType;
m_x = event.m_x;
m_y = event.m_y;
o->m_listType = m_listType;
o->m_x = m_x;
o->m_y = m_y;
#if wxUSE_DRAG_AND_DROP
m_dragText = event.m_dragText;
m_dragAllowMove =event.m_dragAllowMove;
m_dragResult = event.m_dragResult;
o->m_dragText = m_dragText;
o->m_dragAllowMove =m_dragAllowMove;
o->m_dragResult = m_dragResult;
#endif
}
@@ -669,8 +646,3 @@ wxStyledTextEvent::wxStyledTextEvent(const wxStyledTextEvent& event):

View File

@@ -148,14 +148,6 @@ public:
// Send a message to Scintilla
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
void OnPaint(wxPaintEvent& evt);
void OnScrollWin(wxScrollWinEvent& evt);
void OnScroll(wxScrollEvent& evt);
void OnSize(wxSizeEvent& evt);
void OnMouseLeftDown(wxMouseEvent& evt);
void OnMouseMove(wxMouseEvent& evt);
void OnMouseLeftUp(wxMouseEvent& evt);
void OnMouseRightUp(wxMouseEvent& evt);
void OnContextMenu(wxContextMenuEvent& evt);
void OnMouseWheel(wxMouseEvent& evt);
void OnChar(wxKeyEvent& evt);
@@ -193,8 +183,6 @@ private:
ScintillaWX* m_swx;
wxStopWatch m_stopWatch;
wxScrollBar* m_vScrollBar;
wxScrollBar* m_hScrollBar;
bool m_lastKeyDownConsumed;
@@ -208,9 +196,6 @@ private:
class wxStyledTextEvent : public wxCommandEvent {
public:
wxStyledTextEvent(wxEventType commandType=0, int id=0);
#ifndef SWIG
wxStyledTextEvent(const wxStyledTextEvent& event);
#endif
~wxStyledTextEvent() {}
void SetPosition(int pos) { m_position = pos; }
@@ -263,7 +248,7 @@ public:
bool GetControl() const;
bool GetAlt() const;
virtual wxEvent* Clone() const { return new wxStyledTextEvent(*this); }
void CopyObject(wxObject& obj) const;
#ifndef SWIG
private:

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_dlg.cpp
// Purpose: XRC resource for dialogs
// Purpose: XML resource for dialogs
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
@@ -50,7 +50,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
{
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,
GetID(),
@@ -64,7 +64,7 @@ wxObject *wxDialogXmlHandler::DoCreateResource()
CreateChildren(dlg);
if (GetBool(wxT("centered"), FALSE))
if (GetBool(_("centered"), FALSE))
dlg->Centre();
return dlg;

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_frame.cpp
// Purpose: XRC resource for dialogs
// Purpose: XML resource for dialogs
// Author: Vaclav Slavik & Aleks.
// Created: 2000/03/05
// RCS-ID: $Id$
@@ -55,7 +55,7 @@ wxObject *wxFrameXmlHandler::DoCreateResource()
{
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,
GetID(),

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_sizer.cpp
// Purpose: XRC resource for wxBoxSizer
// Purpose: XML resource for wxBoxSizer
// Author: Vaclav Slavik
// Created: 2000/03/21
// RCS-ID: $Id$
@@ -119,7 +119,7 @@ wxObject *wxSizerXmlHandler::DoCreateResource()
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();
m_parentSizer->Add(sz.x, sz.y,
GetLong(wxT("option")), GetStyle(wxT("flag")), GetDimension(wxT("border")));

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xh_toolb.cpp
// Purpose: XRC resource for wxBoxSizer
// Purpose: XML resource for wxBoxSizer
// Author: Vaclav Slavik
// Created: 2000/08/11
// RCS-ID: $Id$
@@ -40,7 +40,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
{
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(),
GetBitmap(wxT("bitmap")),
GetBitmap(wxT("bitmap2")),
@@ -55,7 +55,7 @@ wxObject *wxToolBarXmlHandler::DoCreateResource()
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();
return m_toolbar; // must return non-NULL
}

View File

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

View File

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

View File

@@ -33,7 +33,7 @@
- handle unknown encodings
- 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,
too)

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////
// Name: xmlres.cpp
// Purpose: XRC resources
// Purpose: XML resources
// Author: Vaclav Slavik
// Created: 2000/03/05
// RCS-ID: $Id$
@@ -310,7 +310,7 @@ void wxXmlResource::UpdateResources()
}
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);
}
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());
return NULL;
}
@@ -499,7 +499,7 @@ wxString wxXmlResourceHandler::GetText(const wxString& param)
const wxChar *dt;
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
// &File means "File with F underlined").
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('#') ||
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());
return wxNullColour;
}
@@ -621,7 +621,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
wxFSFile *fsfile = GetCurFileSystem().OpenFile(name);
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;
}
wxImage img(*(fsfile->GetStream()));
@@ -631,7 +631,7 @@ wxBitmap wxXmlResourceHandler::GetBitmap(const wxString& param, wxSize size)
#endif
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;
}
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
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
* 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?Release*
*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.
#
CXX = $(shell wx-config --cxx)
CC = gcc
PROGRAM = bombs
@@ -24,12 +24,12 @@ OBJECTS = $(PROGRAM).o game.o bombs1.o
.SUFFIXES: .o .cpp
.cpp.o :
$(CXX) -c `wx-config --cxxflags` -o $@ $<
$(CC) -c `wx-config --cflags` -o $@ $<
all: $(PROGRAM)
$(PROGRAM): $(OBJECTS)
$(CXX) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
$(CC) -o $(PROGRAM) $(OBJECTS) `wx-config --libs`
clean:
rm -f *.o $(PROGRAM)

View File

@@ -1,5 +1,4 @@
dbbrowseM5.mcp
dbbrowseM*Data
DbbrowseM*Data
*Classic?Debug*
*Classic?Release*
*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?Release*
*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