Compare commits
1 Commits
M_REFERENC
...
old_debug
Author | SHA1 | Date | |
---|---|---|---|
|
1cedeb5c04 |
11
.cvsignore
11
.cvsignore
@@ -1,11 +0,0 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
||||
config.cache
|
||||
config.status
|
||||
system.list
|
||||
linux.system.cache
|
||||
wx-config
|
||||
config.log
|
||||
linux-gnu.system.cache
|
8
Makefile
8
Makefile
@@ -53,18 +53,12 @@ user::
|
||||
@echo "entering directory user building all"
|
||||
@cd user; ${MAKE} all
|
||||
|
||||
install::
|
||||
@echo "entering directory src for installing"
|
||||
@cd src; ${MAKE} install
|
||||
@echo "entering directory utils for installing"
|
||||
@cd utils; ${MAKE} install
|
||||
|
||||
# the following ones recreate all Makefiles.
|
||||
|
||||
makefiles:: recreate
|
||||
Makefiles:: recreate
|
||||
recreate::
|
||||
@setup/general/createall
|
||||
@src/gtk/setup/general/createall
|
||||
|
||||
# the following ones define what needs to be done to distribute the
|
||||
# library and its components
|
||||
|
58
TODO.txt
58
TODO.txt
@@ -1,42 +1,52 @@
|
||||
********************* TODO list for wxWindows 2 ******************************
|
||||
|
||||
The items are grouped by platform (generic, MSW, GTK...) and inside by
|
||||
subject. The first 2 columns containg the following codes:
|
||||
|
||||
Priority classification: Amount of work expected:
|
||||
9 next point release q quick fix
|
||||
8 next release s small change
|
||||
7 as soon as possible l a little work
|
||||
6 soon w some work
|
||||
5 should be included b big change
|
||||
4 nice to have m major change
|
||||
3 consider including ? don't know how to fix
|
||||
2 maybe not - unclassified
|
||||
1 probably not
|
||||
- unclassified
|
||||
|
||||
After the subject the name in brackets indicates the person who is going to do
|
||||
it.
|
||||
|
||||
=============================== common ========================================
|
||||
|
||||
wxSocket, wxTCP etc..
|
||||
4w wxString optimization (VZ)
|
||||
allocate more memory than needed to avoid reallocation each time when
|
||||
operator+ or += is used.
|
||||
|
||||
wxMultiMedia
|
||||
6b stream classes (VZ)
|
||||
|
||||
=============================== generic ======================================
|
||||
|
||||
wxTreeCtrl keyboard handling
|
||||
wxTreeCtrl icon support
|
||||
7s wxTreeCtrl root item (RR)
|
||||
root item is not shown currently (unlike in MSW version)
|
||||
|
||||
wxListCtrl icon support in list mode
|
||||
5w wxImageList
|
||||
it's not implemented currently, to do (assuming that all images have the
|
||||
same size - no resizing should be done to simplify the job)
|
||||
|
||||
================================ MSW ==========================================
|
||||
|
||||
Consistent keyboard interface and focus behaviour
|
||||
7w consistent keyboard interface and focus behaviour (VZ)
|
||||
currently, the focus is lost all the time (after a MessageBox, for example)
|
||||
and sometimes TABbing through controls doesn't work
|
||||
|
||||
================================ GTK ==========================================
|
||||
|
||||
Add support Set colour/baclgroundcolour in GTK widgets
|
||||
Correct tab navigation (seems to be a GTK feature)
|
||||
Finish DnD
|
||||
Add Clipboard
|
||||
Help system (not sure about this one)
|
||||
Show accelerator in menus
|
||||
More controls with bitmaps
|
||||
Speed up bitmap saving
|
||||
Add wxBitmapHandler
|
||||
Fix printing of bitmaps
|
||||
Implement wxRadioBox layout
|
||||
Finish wxTextCtrl
|
||||
Finish native wxTreeCtrl
|
||||
Implement wxPalette
|
||||
Implement wxDirDialog
|
||||
Support cooperation between Qt and wxWindows
|
||||
Fix toolbar tips
|
||||
TrueType support (just kidding)
|
||||
9m keyboard interface (RR)
|
||||
TAB traversal, Alt-letter accelerators for the controls and accelerators
|
||||
for menu items - TODO.
|
||||
|
||||
3b wxTreeCtrl native implementation?
|
||||
GTK has a GtkCTree widget which seems to be quite close to the Windows
|
||||
standard control - what about writing a native wxTreeCtrl based on it?
|
||||
|
@@ -1,5 +1,4 @@
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
distrib/*.*
|
||||
|
||||
docs/readme.txt
|
||||
docs/install.txt
|
||||
@@ -9,10 +8,6 @@ docs/upgrade.txt
|
||||
docs/todo.txt
|
||||
docs/licence.txt
|
||||
docs/symbols.txt
|
||||
docs/*.html
|
||||
|
||||
src/*.inc
|
||||
src/mkdir
|
||||
|
||||
src/common/*.cpp
|
||||
src/common/dosyacc.c
|
||||
@@ -30,7 +25,7 @@ src/generic/*.inc
|
||||
|
||||
src/png/*.c
|
||||
src/png/*.h
|
||||
src/png/makefile*
|
||||
src/png/makefile.*
|
||||
src/png/INSTALL
|
||||
src/png/CHANGES
|
||||
src/png/README
|
||||
@@ -47,14 +42,12 @@ src/zlib/README
|
||||
src/zlib/ChangeLog
|
||||
src/zlib/configure
|
||||
src/zlib/*.txt
|
||||
src/zlib/makefile*
|
||||
src/zlib/makefile.*
|
||||
src/zlib/*.com
|
||||
src/zlib/*.3
|
||||
src/zlib/*.mms
|
||||
|
||||
include/wx/*.h
|
||||
include/wx/protocol/*.h
|
||||
include/wx/*.cpp
|
||||
include/wx/wx_setup.vms
|
||||
include/wx/common/*.h
|
||||
include/wx/generic/*.h
|
||||
@@ -76,9 +69,9 @@ bitmaps/ico/32x32/*.*
|
||||
afm/*.*
|
||||
|
||||
utils/*.txt
|
||||
utils/make*
|
||||
utils/make*.*
|
||||
|
||||
utils/xpmshow/src/makefile*
|
||||
utils/xpmshow/src/makefile.*
|
||||
utils/xpmshow/src/*.cpp
|
||||
utils/xpmshow/src/*.h
|
||||
utils/xpmshow/src/*.def
|
||||
@@ -89,9 +82,8 @@ utils/xpmshow/src/*.ico
|
||||
|
||||
utils/wxhelp/src/*.cpp
|
||||
utils/wxhelp/src/*.h
|
||||
utils/wxhelp/src/makefile*
|
||||
utils/wxhelp/src/makefile.*
|
||||
utils/wxhelp/src/*.xbm
|
||||
utils/wxhelp/src/*.xpm
|
||||
utils/wxhelp/src/*.txt
|
||||
utils/wxhelp/src/*.ico
|
||||
utils/wxhelp/src/*.def
|
||||
@@ -102,7 +94,6 @@ utils/tex2rtf/src/*.cpp
|
||||
utils/tex2rtf/src/*.h
|
||||
utils/tex2rtf/src/make*.*
|
||||
utils/tex2rtf/src/*.xbm
|
||||
utils/tex2rtf/src/*.xpm
|
||||
utils/tex2rtf/src/*.sty
|
||||
utils/tex2rtf/src/*.ini
|
||||
utils/tex2rtf/src/*.inf
|
||||
@@ -118,9 +109,8 @@ utils/tex2rtf/tools/tcheck/*.bat
|
||||
|
||||
utils/wxtree/src/*.cpp
|
||||
utils/wxtree/src/*.h
|
||||
utils/wxtree/src/makefile*
|
||||
utils/wxtree/src/makefile.*
|
||||
utils/wxtree/src/*.xbm
|
||||
utils/wxtree/src/*.xpm
|
||||
utils/wxtree/lib/dummy
|
||||
utils/wxtree/src/*.ico
|
||||
utils/wxtree/src/*.def
|
||||
@@ -129,9 +119,8 @@ utils/wxtree/src/*.rc
|
||||
utils/wxgraph/src/*.cpp
|
||||
utils/wxgraph/src/*.c
|
||||
utils/wxgraph/src/*.h
|
||||
utils/wxgraph/src/makefile*
|
||||
utils/wxgraph/src/makefile.*
|
||||
utils/wxgraph/src/*.xbm
|
||||
utils/wxgraph/src/*.xpm
|
||||
utils/wxgraph/lib/dummy
|
||||
utils/wxgraph/src/*.ico
|
||||
utils/wxgraph/src/*.def
|
||||
@@ -141,7 +130,7 @@ utils/mfutils/src/*.cpp
|
||||
utils/mfutils/src/*.h
|
||||
utils/mfutils/src/*.rc
|
||||
utils/mfutils/src/*.def
|
||||
utils/mfutils/src/makefile*
|
||||
utils/mfutils/src/makefile.*
|
||||
utils/mfutils/src/*.txt
|
||||
utils/mfutils/lib/dummy
|
||||
utils/mfutils/src/*.ico
|
||||
@@ -152,9 +141,8 @@ utils/mfutils/src/*.ico
|
||||
utils/rcparser/src/*.cpp
|
||||
utils/rcparser/src/*.c
|
||||
utils/rcparser/src/*.h
|
||||
utils/rcparser/src/makefile*
|
||||
utils/rcparser/src/makefile.*
|
||||
utils/rcparser/src/*.xbm
|
||||
utils/rcparser/src/*.xpm
|
||||
utils/rcparser/lib/dummy
|
||||
utils/rcparser/src/*.ico
|
||||
utils/rcparser/src/*.def
|
||||
@@ -165,43 +153,28 @@ utils/colours/*.h
|
||||
utils/colours/*.cpp
|
||||
utils/colours/*.def
|
||||
utils/colours/*.rc
|
||||
utils/colours/makefile*
|
||||
utils/colours/makefile.*
|
||||
utils/colours/*.xbm
|
||||
utils/colours/*.xpm
|
||||
utils/colours/*.txt
|
||||
|
||||
utils/serialize/*.h
|
||||
utils/serialize/*.cpp
|
||||
utils/serialize/*.def
|
||||
utils/serialize/*.rc
|
||||
utils/serialize/makefile*
|
||||
utils/serialize/*.xbm
|
||||
utils/serialize/*.xpm
|
||||
utils/serialize/*.txt
|
||||
|
||||
utils/wxprop/Makefile
|
||||
utils/wxprop/src/*.h
|
||||
utils/wxprop/src/*.cpp
|
||||
utils/wxprop/src/*.def
|
||||
utils/wxprop/src/*.rc
|
||||
utils/wxprop/src/makefile*
|
||||
utils/wxprop/src/makefile.*
|
||||
utils/wxprop/src/*.xbm
|
||||
utils/wxprop/src/*.xpm
|
||||
utils/wxprop/src/*.txt
|
||||
utils/wxprop/src/*.ico
|
||||
utils/wxprop/src/*.bmp
|
||||
utils/wxprop/lib/dummy
|
||||
|
||||
utils/dialoged/Makefile
|
||||
utils/dialoged/src/bitmaps/*.xbm
|
||||
utils/dialoged/src/bitmaps/*.xpm
|
||||
utils/dialoged/src/*.h
|
||||
utils/dialoged/src/*.cpp
|
||||
utils/dialoged/src/*.def
|
||||
utils/dialoged/src/*.rc
|
||||
utils/dialoged/src/makefile*
|
||||
utils/dialoged/src/makefile.*
|
||||
utils/dialoged/src/*.xbm
|
||||
utils/dialoged/src/*.xpm
|
||||
utils/dialoged/src/*.txt
|
||||
utils/dialoged/src/*.inf
|
||||
utils/dialoged/test/*.h
|
||||
@@ -213,117 +186,42 @@ utils/dialoged/src/bitmaps/*.ico
|
||||
utils/dialoged/test/*.cpp
|
||||
utils/dialoged/test/*.def
|
||||
utils/dialoged/test/*.rc
|
||||
utils/dialoged/test/makefile*
|
||||
utils/dialoged/test/makefile.*
|
||||
utils/dialoged/lib/dummy
|
||||
utils/dialoged/test/*.ico
|
||||
utils/dialoged/test/*.prj
|
||||
utils/dialoged/test/*.bmp
|
||||
|
||||
utils/glcanvas/Makefile
|
||||
utils/glcanvas/win/*.h
|
||||
utils/glcanvas/win/*.cpp
|
||||
utils/glcanvas/win/*.def
|
||||
utils/glcanvas/win/*.rc
|
||||
utils/glcanvas/win/makefile*
|
||||
utils/glcanvas/win/*.xbm
|
||||
utils/glcanvas/win/*.xpm
|
||||
utils/glcanvas/win/*.txt
|
||||
utils/glcanvas/win/*.ico
|
||||
utils/glcanvas/win/*.bmp
|
||||
utils/glcanvas/src/*.h
|
||||
utils/glcanvas/src/*.cpp
|
||||
utils/glcanvas/src/*.def
|
||||
utils/glcanvas/src/*.rc
|
||||
utils/glcanvas/src/makefile*
|
||||
utils/glcanvas/src/*.xbm
|
||||
utils/glcanvas/src/*.xpm
|
||||
utils/glcanvas/src/*.txt
|
||||
utils/glcanvas/src/*.ico
|
||||
utils/glcanvas/src/*.bmp
|
||||
utils/glcanvas/samples/cube/*.h
|
||||
utils/glcanvas/samples/cube/*.cpp
|
||||
utils/glcanvas/samples/cube/*.def
|
||||
utils/glcanvas/samples/cube/*.rc
|
||||
utils/glcanvas/samples/cube/makefile*
|
||||
utils/glcanvas/samples/cube/*.xbm
|
||||
utils/glcanvas/samples/cube/*.xpm
|
||||
utils/glcanvas/samples/cube/*.txt
|
||||
utils/glcanvas/samples/cube/*.ico
|
||||
utils/glcanvas/samples/cube/*.bmp
|
||||
utils/glcanvas/samples/isosurf/*.h
|
||||
utils/glcanvas/samples/isosurf/*.cpp
|
||||
utils/glcanvas/samples/isosurf/*.def
|
||||
utils/glcanvas/samples/isosurf/*.rc
|
||||
utils/glcanvas/samples/isosurf/makefile*
|
||||
utils/glcanvas/samples/isosurf/*.xbm
|
||||
utils/glcanvas/samples/isosurf/*.xpm
|
||||
utils/glcanvas/samples/isosurf/*.txt
|
||||
utils/glcanvas/samples/isosurf/*.ico
|
||||
utils/glcanvas/samples/isosurf/*.bmp
|
||||
utils/glcanvas/samples/isosurf/*.gz
|
||||
utils/glcanvas/docs/*.tex
|
||||
utils/glcanvas/docs/*.txt
|
||||
utils/glcanvas/docs/*.bmp
|
||||
utils/glcanvas/docs/*.gif
|
||||
|
||||
samples/*.txt
|
||||
samples/makefile*
|
||||
samples/makefile.*
|
||||
|
||||
samples/config/*.cpp
|
||||
samples/config/*.h
|
||||
samples/config/*.def
|
||||
samples/config/makefile*
|
||||
samples/config/*.xbm
|
||||
samples/config/*.xpm
|
||||
samples/config/*.txt
|
||||
samples/config/*.ico
|
||||
samples/config/*.bmp
|
||||
samples/config/*.rc
|
||||
samples/config/*.wav
|
||||
samples/hello/*.cpp
|
||||
samples/hello/*.h
|
||||
samples/hello/*.def
|
||||
samples/hello/makefile.*
|
||||
samples/hello/*.xbm
|
||||
samples/hello/*.txt
|
||||
samples/hello/*.ico
|
||||
samples/hello/*.bmp
|
||||
samples/hello/*.rc
|
||||
samples/hello/*.wav
|
||||
|
||||
samples/dynamic/*.cpp
|
||||
samples/dynamic/*.h
|
||||
samples/dynamic/*.def
|
||||
samples/dynamic/makefile*
|
||||
samples/dynamic/makefile.*
|
||||
samples/dynamic/*.xbm
|
||||
samples/dynamic/*.xpm
|
||||
samples/dynamic/*.txt
|
||||
samples/dynamic/*.ico
|
||||
samples/dynamic/*.bmp
|
||||
samples/dynamic/*.rc
|
||||
samples/dynamic/*.wav
|
||||
|
||||
samples/wxsocket/*.cpp
|
||||
samples/wxsocket/*.h
|
||||
samples/wxsocket/*.def
|
||||
samples/wxsocket/makefile*
|
||||
samples/wxsocket/*.xbm
|
||||
samples/wxsocket/*.xpm
|
||||
samples/wxsocket/*.ico
|
||||
samples/wxsocket/*.rc
|
||||
|
||||
samples/help/*.cpp
|
||||
samples/help/*.h
|
||||
samples/help/*.def
|
||||
samples/help/makefile*
|
||||
samples/help/*.xbm
|
||||
samples/help/*.xpm
|
||||
samples/help/*.ico
|
||||
samples/help/*.rc
|
||||
samples/help/doc/*.html
|
||||
samples/help/doc/*.htm
|
||||
samples/help/doc/*.class
|
||||
samples/help/doc/*.db
|
||||
samples/help/doc/*.tex
|
||||
samples/help/doc/*.gif
|
||||
samples/help/doc/*.map
|
||||
|
||||
samples/bombs/*.cpp
|
||||
samples/bombs/*.h
|
||||
samples/bombs/*.def
|
||||
samples/bombs/makefile*
|
||||
samples/bombs/makefile.*
|
||||
samples/bombs/*.xbm
|
||||
samples/bombs/*.xpm
|
||||
samples/bombs/*.txt
|
||||
samples/bombs/*.ico
|
||||
samples/bombs/*.bmp
|
||||
@@ -332,31 +230,19 @@ samples/bombs/*.rc
|
||||
samples/ipc/*.cpp
|
||||
samples/ipc/*.h
|
||||
samples/ipc/*.def
|
||||
samples/ipc/makefile*
|
||||
samples/ipc/makefile.*
|
||||
samples/ipc/*.xbm
|
||||
samples/ipc/*.xpm
|
||||
samples/ipc/*.ico
|
||||
samples/ipc/*.rc
|
||||
|
||||
samples/typetest/*.cpp
|
||||
samples/typetest/*.h
|
||||
samples/typetest/*.def
|
||||
samples/typetest/*.rc
|
||||
samples/typetest/*.txt
|
||||
samples/typetest/makefile*
|
||||
samples/typetest/*.xbm
|
||||
samples/typetest/*.xpm
|
||||
samples/typetest/*.ico
|
||||
|
||||
samples/sashtest/*.cpp
|
||||
samples/sashtest/*.h
|
||||
samples/sashtest/*.def
|
||||
samples/sashtest/*.rc
|
||||
samples/sashtest/*.txt
|
||||
samples/sashtest/makefile*
|
||||
samples/sashtest/*.xbm
|
||||
samples/sashtest/*.xpm
|
||||
samples/sashtest/*.ico
|
||||
samples/types/*.cpp
|
||||
samples/types/*.h
|
||||
samples/types/*.def
|
||||
samples/types/*.rc
|
||||
samples/types/*.txt
|
||||
samples/types/makefile.*
|
||||
samples/types/*.xbm
|
||||
samples/types/*.ico
|
||||
|
||||
samples/resource/*.cpp
|
||||
samples/resource/*.h
|
||||
@@ -364,105 +250,115 @@ samples/resource/*.def
|
||||
samples/resource/*.rc
|
||||
samples/resource/*.txt
|
||||
samples/resource/*.wxr
|
||||
samples/resource/makefile*
|
||||
samples/resource/makefile.*
|
||||
samples/resource/*.xbm
|
||||
samples/resource/*.xpm
|
||||
samples/resource/*.ico
|
||||
|
||||
samples/animate/*.cpp
|
||||
samples/animate/*.h
|
||||
samples/animate/*.def
|
||||
samples/animate/makefile*
|
||||
samples/animate/makefile.*
|
||||
samples/animate/*.xbm
|
||||
samples/animate/*.xpm
|
||||
samples/animate/*.ico
|
||||
samples/animate/*.rc
|
||||
|
||||
samples/mdi/*.cpp
|
||||
samples/mdi/*.h
|
||||
samples/mdi/*.def
|
||||
samples/mdi/makefile*
|
||||
samples/mdi/makefile.*
|
||||
samples/mdi/*.xbm
|
||||
samples/mdi/*.xpm
|
||||
samples/mdi/*.ico
|
||||
samples/mdi/*.rc
|
||||
samples/mdi/bitmaps/*.bmp
|
||||
samples/mdi/bitmaps/*.ico
|
||||
samples/mdi/bitmaps/*.xpm
|
||||
samples/mdi/bitmaps/*.xbm
|
||||
|
||||
samples/minimal/*.cpp
|
||||
samples/minimal/*.h
|
||||
samples/minimal/*.def
|
||||
samples/minimal/makefile*
|
||||
samples/minimal/makefile.*
|
||||
samples/minimal/*.xbm
|
||||
samples/minimal/*.xpm
|
||||
samples/minimal/*.ico
|
||||
samples/minimal/*.rc
|
||||
|
||||
samples/controls/*.cpp
|
||||
samples/controls/*.h
|
||||
samples/controls/*.def
|
||||
samples/controls/makefile*
|
||||
samples/controls/makefile.*
|
||||
samples/controls/*.xbm
|
||||
samples/controls/*.xpm
|
||||
samples/controls/*.ico
|
||||
samples/controls/*.bmp
|
||||
samples/controls/*.rc
|
||||
samples/controls/icons/*
|
||||
|
||||
samples/fractal/*.cpp
|
||||
samples/fractal/*.h
|
||||
samples/fractal/*.def
|
||||
samples/fractal/makefile*
|
||||
samples/fractal/makefile.*
|
||||
samples/fractal/*.xbm
|
||||
samples/fractal/*.xpm
|
||||
samples/fractal/*.ico
|
||||
samples/fractal/*.rc
|
||||
|
||||
samples/layout/*.cpp
|
||||
samples/layout/*.h
|
||||
samples/layout/*.def
|
||||
samples/layout/makefile*
|
||||
samples/layout/makefile.*
|
||||
samples/layout/*.xbm
|
||||
samples/layout/*.xpm
|
||||
samples/layout/*.ico
|
||||
samples/layout/*.rc
|
||||
samples/layout/*.bmp
|
||||
samples/layout/*.xpm
|
||||
|
||||
samples/printing/*.cpp
|
||||
samples/printing/*.h
|
||||
samples/printing/*.def
|
||||
samples/printing/makefile*
|
||||
samples/printing/makefile.*
|
||||
samples/printing/*.xbm
|
||||
samples/printing/*.xpm
|
||||
samples/printing/*.txt
|
||||
samples/printing/*.ico
|
||||
samples/printing/*.bmp
|
||||
samples/printing/*.rc
|
||||
samples/printing/*.afm
|
||||
|
||||
samples/toolbar/*.cpp
|
||||
samples/toolbar/*.h
|
||||
samples/toolbar/*.def
|
||||
samples/toolbar/makefile*
|
||||
samples/toolbar/*.txt
|
||||
samples/toolbar/*.xbm
|
||||
samples/toolbar/*.xpm
|
||||
samples/toolbar/bitmaps/*.xbm
|
||||
samples/toolbar/bitmaps/*.xpm
|
||||
samples/toolbar/*.ico
|
||||
samples/toolbar/*.bmp
|
||||
samples/toolbar/*.rc
|
||||
samples/toolbar/bitmaps/*.bmp
|
||||
samples/tbarsmpl/*.cpp
|
||||
samples/tbarsmpl/*.h
|
||||
samples/tbarsmpl/*.def
|
||||
samples/tbarsmpl/makefile.*
|
||||
samples/tbarsmpl/*.txt
|
||||
samples/tbarsmpl/*.xbm
|
||||
samples/tbarsmpl/bitmaps/*.xbm
|
||||
samples/tbarsmpl/*.ico
|
||||
samples/tbarsmpl/*.bmp
|
||||
samples/tbarsmpl/*.rc
|
||||
samples/tbarsmpl/bitmaps/*.bmp
|
||||
|
||||
samples/tbar95/*.cpp
|
||||
samples/tbar95/*.h
|
||||
samples/tbar95/*.def
|
||||
samples/tbar95/makefile.*
|
||||
samples/tbar95/*.txt
|
||||
samples/tbar95/*.xbm
|
||||
samples/tbar95/bitmaps/*.xbm
|
||||
samples/tbar95/*.ico
|
||||
samples/tbar95/*.bmp
|
||||
samples/tbar95/*.rc
|
||||
samples/tbar95/bitmaps/*.bmp
|
||||
|
||||
samples/tbarmsw/*.cpp
|
||||
samples/tbarmsw/*.h
|
||||
samples/tbarmsw/*.def
|
||||
samples/tbarmsw/makefile.*
|
||||
samples/tbarmsw/*.txt
|
||||
samples/tbarmsw/*.xbm
|
||||
samples/tbarmsw/bitmaps/*.xbm
|
||||
samples/tbarmsw/*.ico
|
||||
samples/tbarmsw/*.bmp
|
||||
samples/tbarmsw/*.rc
|
||||
samples/tbarmsw/bitmaps/*.bmp
|
||||
|
||||
samples/docview/*.h
|
||||
samples/docview/*.cpp
|
||||
samples/docview/*.def
|
||||
samples/docview/*.rc
|
||||
samples/docview/makefile*
|
||||
samples/docview/makefile.*
|
||||
samples/docview/*.xbm
|
||||
samples/docview/*.xpm
|
||||
samples/docview/*.txt
|
||||
samples/docview/*.ico
|
||||
samples/docview/*.bmp
|
||||
@@ -471,9 +367,8 @@ samples/memcheck/*.h
|
||||
samples/memcheck/*.cpp
|
||||
samples/memcheck/*.def
|
||||
samples/memcheck/*.rc
|
||||
samples/memcheck/makefile*
|
||||
samples/memcheck/makefile.*
|
||||
samples/memcheck/*.xbm
|
||||
samples/memcheck/*.xpm
|
||||
samples/memcheck/*.txt
|
||||
samples/memcheck/*.ico
|
||||
samples/memcheck/*.bmp
|
||||
@@ -482,22 +377,21 @@ samples/odbc/*.h
|
||||
samples/odbc/*.cpp
|
||||
samples/odbc/*.def
|
||||
samples/odbc/*.rc
|
||||
samples/odbc/makefile*
|
||||
samples/odbc/makefile.*
|
||||
samples/odbc/*.inf
|
||||
samples/odbc/*.xbm
|
||||
samples/odbc/*.xpm
|
||||
samples/odbc/*.ico
|
||||
samples/odbc/*.bmp
|
||||
samples/odbc/*.dbf
|
||||
samples/odbc/*.cdx
|
||||
samples/odbc/odbc32.lib
|
||||
|
||||
samples/dialogs/*.h
|
||||
samples/dialogs/*.cpp
|
||||
samples/dialogs/*.def
|
||||
samples/dialogs/*.rc
|
||||
samples/dialogs/makefile*
|
||||
samples/dialogs/makefile.*
|
||||
samples/dialogs/*.xbm
|
||||
samples/dialogs/*.xpm
|
||||
samples/dialogs/*.txt
|
||||
samples/dialogs/*.bmp
|
||||
samples/dialogs/*.ico
|
||||
@@ -508,9 +402,8 @@ samples/wxpoem/*.def
|
||||
samples/wxpoem/*.rc
|
||||
samples/wxpoem/*.inf
|
||||
samples/wxpoem/*.txt
|
||||
samples/wxpoem/makefile*
|
||||
samples/wxpoem/makefile.*
|
||||
samples/wxpoem/*.xbm
|
||||
samples/wxpoem/*.xpm
|
||||
samples/wxpoem/*.ico
|
||||
samples/wxpoem/*.bmp
|
||||
samples/wxpoem/*.dat
|
||||
@@ -522,9 +415,8 @@ samples/pressup/*.def
|
||||
samples/pressup/*.rc
|
||||
samples/pressup/*.inf
|
||||
samples/pressup/*.txt
|
||||
samples/pressup/makefile*
|
||||
samples/pressup/makefile.*
|
||||
samples/pressup/*.xbm
|
||||
samples/pressup/*.xpm
|
||||
samples/pressup/*.ico
|
||||
samples/pressup/*.bmp
|
||||
|
||||
@@ -534,9 +426,8 @@ samples/validate/*.def
|
||||
samples/validate/*.rc
|
||||
samples/validate/*.inf
|
||||
samples/validate/*.txt
|
||||
samples/validate/makefile*
|
||||
samples/validate/makefile.*
|
||||
samples/validate/*.xbm
|
||||
samples/validate/*.xpm
|
||||
samples/validate/*.ico
|
||||
samples/validate/*.bmp
|
||||
|
||||
@@ -546,9 +437,8 @@ samples/events/*.def
|
||||
samples/events/*.rc
|
||||
samples/events/*.inf
|
||||
samples/events/*.txt
|
||||
samples/events/makefile*
|
||||
samples/events/makefile.*
|
||||
samples/events/*.xbm
|
||||
samples/events/*.xpm
|
||||
samples/events/*.ico
|
||||
samples/events/*.bmp
|
||||
|
||||
@@ -557,11 +447,9 @@ samples/treectrl/*.h
|
||||
samples/treectrl/*.def
|
||||
samples/treectrl/*.rc
|
||||
samples/treectrl/*.txt
|
||||
samples/treectrl/makefile*
|
||||
samples/treectrl/makefile.*
|
||||
samples/treectrl/*.xbm
|
||||
samples/treectrl/*.xpm
|
||||
samples/treectrl/bitmaps/*.xbm
|
||||
samples/treectrl/bitmaps/*.xpm
|
||||
samples/treectrl/*.ico
|
||||
samples/treectrl/*.bmp
|
||||
samples/treectrl/bitmaps/*.bmp
|
||||
@@ -572,11 +460,9 @@ samples/listctrl/*.h
|
||||
samples/listctrl/*.def
|
||||
samples/listctrl/*.rc
|
||||
samples/listctrl/*.txt
|
||||
samples/listctrl/makefile*
|
||||
samples/listctrl/makefile.*
|
||||
samples/listctrl/*.xbm
|
||||
samples/listctrl/*.xpm
|
||||
samples/listctrl/bitmaps/*.xbm
|
||||
samples/listctrl/bitmaps/*.xpm
|
||||
samples/listctrl/*.ico
|
||||
samples/listctrl/*.bmp
|
||||
samples/listctrl/bitmaps/*.bmp
|
||||
@@ -587,9 +473,8 @@ samples/splitter/*.h
|
||||
samples/splitter/*.def
|
||||
samples/splitter/*.rc
|
||||
samples/splitter/*.txt
|
||||
samples/splitter/makefile*
|
||||
samples/splitter/makefile.*
|
||||
samples/splitter/*.xbm
|
||||
samples/splitter/*.xpm
|
||||
samples/splitter/*.ico
|
||||
samples/splitter/*.bmp
|
||||
|
||||
@@ -598,9 +483,8 @@ samples/grid/*.h
|
||||
samples/grid/*.def
|
||||
samples/grid/*.rc
|
||||
samples/grid/*.txt
|
||||
samples/grid/makefile*
|
||||
samples/grid/makefile.*
|
||||
samples/grid/*.xbm
|
||||
samples/grid/*.xpm
|
||||
samples/grid/*.ico
|
||||
samples/grid/*.bmp
|
||||
|
||||
@@ -609,9 +493,8 @@ samples/internat/*.h
|
||||
samples/internat/*.def
|
||||
samples/internat/*.rc
|
||||
samples/internat/*.txt
|
||||
samples/internat/makefile*
|
||||
samples/internat/makefile.*
|
||||
samples/internat/*.xbm
|
||||
samples/internat/*.xpm
|
||||
samples/internat/*.po
|
||||
samples/internat/*.ico
|
||||
samples/internat/*.bmp
|
||||
@@ -622,78 +505,36 @@ samples/checklst/*.h
|
||||
samples/checklst/*.def
|
||||
samples/checklst/*.rc
|
||||
samples/checklst/*.txt
|
||||
samples/checklst/makefile*
|
||||
samples/checklst/makefile.*
|
||||
samples/checklst/*.xbm
|
||||
samples/checklst/*.xpm
|
||||
samples/checklst/*.ico
|
||||
samples/checklst/*.bmp
|
||||
|
||||
samples/dnd/*.cpp
|
||||
samples/dnd/*.h
|
||||
samples/dnd/makefile*
|
||||
samples/dnd/makefile.*
|
||||
samples/dnd/*.rc
|
||||
samples/dnd/*.def
|
||||
samples/dnd/*.bmp
|
||||
samples/dnd/*.xbm
|
||||
samples/dnd/*.xpm
|
||||
samples/dnd/*.ico
|
||||
samples/dnd/*.txt
|
||||
|
||||
samples/tab/*.cpp
|
||||
samples/tab/*.h
|
||||
samples/tab/makefile*
|
||||
samples/tab/makefile.*
|
||||
samples/tab/*.rc
|
||||
samples/tab/*.def
|
||||
samples/tab/*.bmp
|
||||
samples/tab/*.xbm
|
||||
samples/tab/*.xpm
|
||||
samples/tab/*.ico
|
||||
samples/tab/*.txt
|
||||
|
||||
samples/notebook/*.cpp
|
||||
samples/notebook/*.h
|
||||
samples/notebook/makefile*
|
||||
samples/notebook/*.rc
|
||||
samples/notebook/*.def
|
||||
samples/notebook/*.bmp
|
||||
samples/notebook/*.xbm
|
||||
samples/notebook/*.xpm
|
||||
samples/notebook/*.ico
|
||||
samples/notebook/*.txt
|
||||
|
||||
samples/png/*.cpp
|
||||
samples/png/*.h
|
||||
samples/png/makefile*
|
||||
samples/png/makefile.*
|
||||
samples/png/*.rc
|
||||
samples/png/*.def
|
||||
samples/png/*.bmp
|
||||
samples/png/*.xpm
|
||||
samples/png/*.xbm
|
||||
samples/png/*.ico
|
||||
samples/png/*.txt
|
||||
samples/png/*.png
|
||||
|
||||
samples/image/*.cpp
|
||||
samples/image/*.h
|
||||
samples/image/makefile*
|
||||
samples/image/*.rc
|
||||
samples/image/*.def
|
||||
samples/image/*.bmp
|
||||
samples/image/*.xpm
|
||||
samples/image/*.xbm
|
||||
samples/image/*.png
|
||||
samples/image/*.ico
|
||||
samples/image/*.txt
|
||||
|
||||
samples/thread/*.cpp
|
||||
samples/thread/*.h
|
||||
samples/thread/makefile*
|
||||
samples/thread/*.rc
|
||||
samples/thread/*.def
|
||||
samples/thread/*.bmp
|
||||
samples/thread/*.xpm
|
||||
samples/thread/*.xbm
|
||||
samples/thread/*.png
|
||||
samples/thread/*.ico
|
||||
samples/thread/*.txt
|
||||
|
||||
|
@@ -1,123 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
TODO.txt
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
|
||||
docs/gtk/*.html
|
||||
docs/gtk/*.txt
|
||||
|
||||
include/wx/gtk/*.h
|
||||
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
src/gtk/*.cpp
|
||||
src/gtk/*.c
|
||||
src/gtk/*.inc
|
||||
src/gtk/*.xbm
|
||||
|
||||
src/gdk_imlib/*.c
|
||||
src/gdk_imlib/*.h
|
||||
src/gdk_imlib/AUTHORS
|
||||
src/gdk_imlib/AUDIT
|
||||
src/gdk_imlib/COPYING.LIB
|
||||
src/gdk_imlib/README
|
||||
src/gdk_imlib/ChangeLog
|
||||
|
||||
src/iodbc/*.c
|
||||
src/iodbc/*.ci
|
||||
src/iodbc/*.h
|
||||
src/iodbc/IAFA-PACKAGE
|
||||
src/iodbc/README
|
||||
src/iodbc/*.exp
|
||||
src/iodbc/*.mk
|
||||
src/iodbc/autoconfig
|
||||
src/iodbc/build
|
||||
src/iodbc/Changes.log
|
||||
src/iodbc/postgres/*.h
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
misc/gs_afm/*.afm
|
||||
misc/imlib/imrc
|
||||
misc/imlib/*.pal
|
||||
|
||||
user/Makefile
|
||||
|
||||
user/wxConvert/*.cpp
|
||||
user/wxConvert/*.h
|
||||
user/wxConvert/Makefile
|
||||
user/wxConvert/Makefile.in
|
||||
|
||||
user/wxFile/*.cpp
|
||||
user/wxFile/*.h
|
||||
user/wxFile/Makefile
|
||||
user/wxFile/Makefile.in
|
||||
user/wxFile/*.xpm
|
||||
|
||||
user/wxTest/*.cpp
|
||||
user/wxTest/*.h
|
||||
user/wxTest/Makefile
|
||||
user/wxTest/Makefile.in
|
||||
user/wxTest/*.xpm
|
||||
user/wxTest/*.png
|
||||
|
||||
user/wxLayout/*.cpp
|
||||
user/wxLayout/*.h
|
||||
user/wxLayout/Makefile
|
||||
user/wxLayout/Makefile.in
|
||||
user/wxLayout/*.xpm
|
||||
user/wxLayout/*.png
|
||||
|
@@ -1,96 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
configure.in
|
||||
config.guess
|
||||
config.sub
|
||||
wx-config.in
|
||||
mkinstalldirs
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
setup/*.in
|
||||
setup/*.hin
|
||||
|
||||
setup/general/createall
|
||||
setup/general/jointar
|
||||
setup/general/makeapp
|
||||
setup/general/makedirs
|
||||
setup/general/makedoc
|
||||
setup/general/mygrep
|
||||
setup/general/needed
|
||||
|
||||
setup/rules/bin
|
||||
setup/rules/bin2
|
||||
setup/rules/doc
|
||||
setup/rules/gbin
|
||||
setup/rules/gbin2
|
||||
setup/rules/glib
|
||||
setup/rules/glibbin
|
||||
setup/rules/glibgbin
|
||||
setup/rules/gslib
|
||||
setup/rules/lib
|
||||
setup/rules/libbin
|
||||
setup/rules/libgbin
|
||||
|
||||
setup/rules/generic/bin1
|
||||
setup/rules/generic/bin1gen
|
||||
setup/rules/generic/bin2
|
||||
setup/rules/generic/bin2gen
|
||||
setup/rules/generic/depend
|
||||
setup/rules/generic/globals
|
||||
setup/rules/generic/lib
|
||||
setup/rules/generic/needed
|
||||
setup/rules/generic/obj
|
||||
setup/rules/generic/slib
|
||||
setup/rules/generic/sobj
|
||||
|
||||
setup/shared/sharedAIX
|
||||
setup/shared/sharedBsd
|
||||
setup/shared/sharedDgux
|
||||
setup/shared/sharedHpux
|
||||
setup/shared/sharedIrix
|
||||
setup/shared/sharedLinux
|
||||
setup/shared/sharedOSF
|
||||
setup/shared/sharedSolaris2
|
||||
setup/shared/sharedSunos4
|
||||
setup/shared/sharedSysV
|
||||
|
||||
misc/afm/*.afm
|
||||
|
||||
src/motif/*.cpp
|
||||
src/motif/*.c
|
||||
src/motif/*.h
|
||||
src/motif/makefile*
|
||||
src/motif/*.inc
|
||||
src/motif/*.xbm
|
||||
src/motif/xmcombo/*.c
|
||||
src/motif/xmcombo/*.h
|
||||
src/motif/xmcombo/*.doc
|
||||
src/motif/xmcombo/*.man
|
||||
src/motif/xmcombo/*.txt
|
||||
src/motif/mdi/COPYRIGHT
|
||||
src/motif/mdi/Imakefile
|
||||
src/motif/mdi/Readme
|
||||
src/motif/mdi/config/C++.rules
|
||||
src/motif/mdi/config/MDI.tmpl
|
||||
src/motif/mdi/doc/*.html
|
||||
src/motif/mdi/doc/pics/*.gif
|
||||
src/motif/mdi/lib/*.C
|
||||
src/motif/mdi/lib/*.h
|
||||
src/motif/mdi/lib/*.xbm
|
||||
src/motif/mdi/lib/Imakefile
|
||||
src/motif/mdi/test/*.C
|
||||
src/motif/mdi/test/Imakefile
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
|
||||
include/wx/motif/*.h
|
||||
|
||||
docs/motif/*.*
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,8 +1,4 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
|
||||
distrib/msw/*.rsp
|
||||
distrib/msw/*.bat
|
||||
|
||||
src/makeb32.env
|
||||
src/makebcc.env
|
||||
|
@@ -1,14 +0,0 @@
|
||||
src/stubs/*.cpp
|
||||
src/stubs/*.h
|
||||
src/stubs/makefile*
|
||||
src/stubs/*.inc
|
||||
|
||||
src/make.env
|
||||
src/makeprog.env
|
||||
|
||||
include/wx/stubs/*.h
|
||||
include/wx/stubs/*.rc
|
||||
|
||||
lib/dummy
|
||||
|
||||
|
@@ -1,33 +1,27 @@
|
||||
@echo off
|
||||
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
||||
set src=d:\wx2\wxWindows
|
||||
set dest=%src\deliver
|
||||
if "%src" == "" goto usage
|
||||
if "%dest" == "" goto usage
|
||||
if "%1" == "" goto usage
|
||||
if "%2" == "" goto usage
|
||||
echo About to archive an external wxWindows distribution:
|
||||
echo From %src
|
||||
echo To %dest
|
||||
echo From %1
|
||||
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
|
||||
echo CTRL-C if this is not correct.
|
||||
pause
|
||||
|
||||
erase %dest\wx200*.zip
|
||||
erase %2\wx200*.zip
|
||||
|
||||
cd %src
|
||||
cd %1
|
||||
echo Zipping...
|
||||
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
||||
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||
zip32 -@ %dest\wx200stubs.zip < %src\distrib\msw\stubs.rsp
|
||||
zip32 -@ %dest\wx200mot.zip < %src\distrib\msw\motif.rsp
|
||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
|
||||
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
|
||||
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
|
||||
|
||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
|
||||
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
|
||||
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
|
||||
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
|
||||
|
||||
zip32 -@ %dest\ogl3.zip < %src\utils\ogl\distrib\ogl.rsp
|
||||
|
||||
cd %dest
|
||||
cd %2
|
||||
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
@@ -1,481 +0,0 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
||||
675 Mass Ave, Cambridge, MA 02139, USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
Licenses are intended to guarantee your freedom to share and change
|
||||
free software--to make sure the software is free for all its users.
|
||||
|
||||
This license, the Library General Public License, applies to some
|
||||
specially designated Free Software Foundation software, and to any
|
||||
other libraries whose authors decide to use it. You can use it for
|
||||
your libraries, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if
|
||||
you distribute copies of the library, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of the library, whether gratis
|
||||
or for a fee, you must give the recipients all the rights that we gave
|
||||
you. You must make sure that they, too, receive or can get the source
|
||||
code. If you link a program with the library, you must provide
|
||||
complete object files to the recipients so that they can relink them
|
||||
with the library, after making changes to the library and recompiling
|
||||
it. And you must show them these terms so they know their rights.
|
||||
|
||||
Our method of protecting your rights has two steps: (1) copyright
|
||||
the library, and (2) offer you this license which gives you legal
|
||||
permission to copy, distribute and/or modify the library.
|
||||
|
||||
Also, for each distributor's protection, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
library. If the library is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original
|
||||
version, so that any problems introduced by others will not reflect on
|
||||
the original authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that companies distributing free
|
||||
software will individually obtain patent licenses, thus in effect
|
||||
transforming the program into proprietary software. To prevent this,
|
||||
we have made it clear that any patent must be licensed for everyone's
|
||||
free use or not licensed at all.
|
||||
|
||||
Most GNU software, including some libraries, is covered by the ordinary
|
||||
GNU General Public License, which was designed for utility programs. This
|
||||
license, the GNU Library General Public License, applies to certain
|
||||
designated libraries. This license is quite different from the ordinary
|
||||
one; be sure to read it in full, and don't assume that anything in it is
|
||||
the same as in the ordinary license.
|
||||
|
||||
The reason we have a separate public license for some libraries is that
|
||||
they blur the distinction we usually make between modifying or adding to a
|
||||
program and simply using it. Linking a program with a library, without
|
||||
changing the library, is in some sense simply using the library, and is
|
||||
analogous to running a utility program or application program. However, in
|
||||
a textual and legal sense, the linked executable is a combined work, a
|
||||
derivative of the original library, and the ordinary General Public License
|
||||
treats it as such.
|
||||
|
||||
Because of this blurred distinction, using the ordinary General
|
||||
Public License for libraries did not effectively promote software
|
||||
sharing, because most developers did not use the libraries. We
|
||||
concluded that weaker conditions might promote sharing better.
|
||||
|
||||
However, unrestricted linking of non-free programs would deprive the
|
||||
users of those programs of all benefit from the free status of the
|
||||
libraries themselves. This Library General Public License is intended to
|
||||
permit developers of non-free programs to use free libraries, while
|
||||
preserving your freedom as a user of such programs to change the free
|
||||
libraries that are incorporated in them. (We have not seen how to achieve
|
||||
this as regards changes in header files, but we have achieved it as regards
|
||||
changes in the actual functions of the Library.) The hope is that this
|
||||
will lead to faster development of free libraries.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow. Pay close attention to the difference between a
|
||||
"work based on the library" and a "work that uses the library". The
|
||||
former contains code derived from the library, while the latter only
|
||||
works together with the library.
|
||||
|
||||
Note that it is possible for a library to be covered by the ordinary
|
||||
General Public License rather than by this special one.
|
||||
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any software library which
|
||||
contains a notice placed by the copyright holder or other authorized
|
||||
party saying it may be distributed under the terms of this Library
|
||||
General Public License (also called "this License"). Each licensee is
|
||||
addressed as "you".
|
||||
|
||||
A "library" means a collection of software functions and/or data
|
||||
prepared so as to be conveniently linked with application programs
|
||||
(which use some of those functions and data) to form executables.
|
||||
|
||||
The "Library", below, refers to any such software library or work
|
||||
which has been distributed under these terms. A "work based on the
|
||||
Library" means either the Library or any derivative work under
|
||||
copyright law: that is to say, a work containing the Library or a
|
||||
portion of it, either verbatim or with modifications and/or translated
|
||||
straightforwardly into another language. (Hereinafter, translation is
|
||||
included without limitation in the term "modification".)
|
||||
|
||||
"Source code" for a work means the preferred form of the work for
|
||||
making modifications to it. For a library, complete source code means
|
||||
all the source code for all modules it contains, plus any associated
|
||||
interface definition files, plus the scripts used to control compilation
|
||||
and installation of the library.
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running a program using the Library is not restricted, and output from
|
||||
such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
||||
all the notices that refer to this License and to the absence of any
|
||||
warranty; and distribute a copy of this License along with the
|
||||
Library.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy,
|
||||
and you may at your option offer warranty protection in exchange for a
|
||||
fee.
|
||||
|
||||
2. You may modify your copy or copies of the Library or any portion
|
||||
of it, thus forming a work based on the Library, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) The modified work must itself be a software library.
|
||||
|
||||
b) You must cause the files modified to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
c) You must cause the whole of the work to be licensed at no
|
||||
charge to all third parties under the terms of this License.
|
||||
|
||||
d) If a facility in the modified Library refers to a function or a
|
||||
table of data to be supplied by an application program that uses
|
||||
the facility, other than as an argument passed when the facility
|
||||
is invoked, then you must make a good faith effort to ensure that,
|
||||
in the event an application does not supply such function or
|
||||
table, the facility still operates, and performs whatever part of
|
||||
its purpose remains meaningful.
|
||||
|
||||
(For example, a function in a library to compute square roots has
|
||||
a purpose that is entirely well-defined independent of the
|
||||
application. Therefore, Subsection 2d requires that any
|
||||
application-supplied function or table used by this function must
|
||||
be optional: if the application does not supply it, the square
|
||||
root function must still compute square roots.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Library,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Library, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote
|
||||
it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Library.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Library
|
||||
with the Library (or with a work based on the Library) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
||||
License instead of this License to a given copy of the Library. To do
|
||||
this, you must alter all the notices that refer to this License, so
|
||||
that they refer to the ordinary GNU General Public License, version 2,
|
||||
instead of to this License. (If a newer version than version 2 of the
|
||||
ordinary GNU General Public License has appeared, then you can specify
|
||||
that version instead if you wish.) Do not make any other change in
|
||||
these notices.
|
||||
|
||||
Once this change is made in a given copy, it is irreversible for
|
||||
that copy, so the ordinary GNU General Public License applies to all
|
||||
subsequent copies and derivative works made from that copy.
|
||||
|
||||
This option is useful when you wish to copy part of the code of
|
||||
the Library into a program that is not a library.
|
||||
|
||||
4. You may copy and distribute the Library (or a portion or
|
||||
derivative of it, under Section 2) in object code or executable form
|
||||
under the terms of Sections 1 and 2 above provided that you accompany
|
||||
it with the complete corresponding machine-readable source code, which
|
||||
must be distributed under the terms of Sections 1 and 2 above on a
|
||||
medium customarily used for software interchange.
|
||||
|
||||
If distribution of object code is made by offering access to copy
|
||||
from a designated place, then offering equivalent access to copy the
|
||||
source code from the same place satisfies the requirement to
|
||||
distribute the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
5. A program that contains no derivative of any portion of the
|
||||
Library, but is designed to work with the Library by being compiled or
|
||||
linked with it, is called a "work that uses the Library". Such a
|
||||
work, in isolation, is not a derivative work of the Library, and
|
||||
therefore falls outside the scope of this License.
|
||||
|
||||
However, linking a "work that uses the Library" with the Library
|
||||
creates an executable that is a derivative of the Library (because it
|
||||
contains portions of the Library), rather than a "work that uses the
|
||||
library". The executable is therefore covered by this License.
|
||||
Section 6 states terms for distribution of such executables.
|
||||
|
||||
When a "work that uses the Library" uses material from a header file
|
||||
that is part of the Library, the object code for the work may be a
|
||||
derivative work of the Library even though the source code is not.
|
||||
Whether this is true is especially significant if the work can be
|
||||
linked without the Library, or if the work is itself a library. The
|
||||
threshold for this to be true is not precisely defined by law.
|
||||
|
||||
If such an object file uses only numerical parameters, data
|
||||
structure layouts and accessors, and small macros and small inline
|
||||
functions (ten lines or less in length), then the use of the object
|
||||
file is unrestricted, regardless of whether it is legally a derivative
|
||||
work. (Executables containing this object code plus portions of the
|
||||
Library will still fall under Section 6.)
|
||||
|
||||
Otherwise, if the work is a derivative of the Library, you may
|
||||
distribute the object code for the work under the terms of Section 6.
|
||||
Any executables containing that work also fall under Section 6,
|
||||
whether or not they are linked directly with the Library itself.
|
||||
|
||||
6. As an exception to the Sections above, you may also compile or
|
||||
link a "work that uses the Library" with the Library to produce a
|
||||
work containing portions of the Library, and distribute that work
|
||||
under terms of your choice, provided that the terms permit
|
||||
modification of the work for the customer's own use and reverse
|
||||
engineering for debugging such modifications.
|
||||
|
||||
You must give prominent notice with each copy of the work that the
|
||||
Library is used in it and that the Library and its use are covered by
|
||||
this License. You must supply a copy of this License. If the work
|
||||
during execution displays copyright notices, you must include the
|
||||
copyright notice for the Library among them, as well as a reference
|
||||
directing the user to the copy of this License. Also, you must do one
|
||||
of these things:
|
||||
|
||||
a) Accompany the work with the complete corresponding
|
||||
machine-readable source code for the Library including whatever
|
||||
changes were used in the work (which must be distributed under
|
||||
Sections 1 and 2 above); and, if the work is an executable linked
|
||||
with the Library, with the complete machine-readable "work that
|
||||
uses the Library", as object code and/or source code, so that the
|
||||
user can modify the Library and then relink to produce a modified
|
||||
executable containing the modified Library. (It is understood
|
||||
that the user who changes the contents of definitions files in the
|
||||
Library will not necessarily be able to recompile the application
|
||||
to use the modified definitions.)
|
||||
|
||||
b) Accompany the work with a written offer, valid for at
|
||||
least three years, to give the same user the materials
|
||||
specified in Subsection 6a, above, for a charge no more
|
||||
than the cost of performing this distribution.
|
||||
|
||||
c) If distribution of the work is made by offering access to copy
|
||||
from a designated place, offer equivalent access to copy the above
|
||||
specified materials from the same place.
|
||||
|
||||
d) Verify that the user has already received a copy of these
|
||||
materials or that you have already sent this user a copy.
|
||||
|
||||
For an executable, the required form of the "work that uses the
|
||||
Library" must include any data and utility programs needed for
|
||||
reproducing the executable from it. However, as a special exception,
|
||||
the source code distributed need not include anything that is normally
|
||||
distributed (in either source or binary form) with the major
|
||||
components (compiler, kernel, and so on) of the operating system on
|
||||
which the executable runs, unless that component itself accompanies
|
||||
the executable.
|
||||
|
||||
It may happen that this requirement contradicts the license
|
||||
restrictions of other proprietary libraries that do not normally
|
||||
accompany the operating system. Such a contradiction means you cannot
|
||||
use both them and the Library together in an executable that you
|
||||
distribute.
|
||||
|
||||
7. You may place library facilities that are a work based on the
|
||||
Library side-by-side in a single library together with other library
|
||||
facilities not covered by this License, and distribute such a combined
|
||||
library, provided that the separate distribution of the work based on
|
||||
the Library and of the other library facilities is otherwise
|
||||
permitted, and provided that you do these two things:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work
|
||||
based on the Library, uncombined with any other library
|
||||
facilities. This must be distributed under the terms of the
|
||||
Sections above.
|
||||
|
||||
b) Give prominent notice with the combined library of the fact
|
||||
that part of it is a work based on the Library, and explaining
|
||||
where to find the accompanying uncombined form of the same work.
|
||||
|
||||
8. You may not copy, modify, sublicense, link with, or distribute
|
||||
the Library except as expressly provided under this License. Any
|
||||
attempt otherwise to copy, modify, sublicense, link with, or
|
||||
distribute the Library is void, and will automatically terminate your
|
||||
rights under this License. However, parties who have received copies,
|
||||
or rights, from you under this License will not have their licenses
|
||||
terminated so long as such parties remain in full compliance.
|
||||
|
||||
9. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Library or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Library (or any work based on the
|
||||
Library), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Library or works based on it.
|
||||
|
||||
10. Each time you redistribute the Library (or any work based on the
|
||||
Library), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute, link with or modify the Library
|
||||
subject to these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
11. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Library at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Library by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Library.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under any
|
||||
particular circumstance, the balance of the section is intended to apply,
|
||||
and the section as a whole is intended to apply in other circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
12. If the distribution and/or use of the Library is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Library under this License may add
|
||||
an explicit geographical distribution limitation excluding those countries,
|
||||
so that distribution is permitted only in or among countries not thus
|
||||
excluded. In such case, this License incorporates the limitation as if
|
||||
written in the body of this License.
|
||||
|
||||
13. The Free Software Foundation may publish revised and/or new
|
||||
versions of the Library General Public License from time to time.
|
||||
Such new versions will be similar in spirit to the present version,
|
||||
but may differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Library
|
||||
specifies a version number of this License which applies to it and
|
||||
"any later version", you have the option of following the terms and
|
||||
conditions either of that version or of any later version published by
|
||||
the Free Software Foundation. If the Library does not specify a
|
||||
license version number, you may choose any version ever published by
|
||||
the Free Software Foundation.
|
||||
|
||||
14. If you wish to incorporate parts of the Library into other free
|
||||
programs whose distribution conditions are incompatible with these,
|
||||
write to the author to ask for permission. For software which is
|
||||
copyrighted by the Free Software Foundation, write to the Free
|
||||
Software Foundation; we sometimes make exceptions for this. Our
|
||||
decision will be guided by the two goals of preserving the free status
|
||||
of all derivatives of our free software and of promoting the sharing
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Libraries
|
||||
|
||||
If you develop a new library, and you want it to be of the greatest
|
||||
possible use to the public, we recommend making it free software that
|
||||
everyone can redistribute and change. You can do so by permitting
|
||||
redistribution under these terms (or, alternatively, under the terms of the
|
||||
ordinary General Public License).
|
||||
|
||||
To apply these terms, attach the following notices to the library. It is
|
||||
safest to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the library's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2 of the License, or (at your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Library General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public
|
||||
License along with this library; if not, write to the Free
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1990
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
@@ -1,56 +0,0 @@
|
||||
|
||||
|
||||
wxWindows Library License, Version 3
|
||||
====================================
|
||||
|
||||
Copyright (C) 1998 Julian Smart, Robert Roebling et al.
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
WXWINDOWS LIBRARY LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
This library is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU Library General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
This library is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
|
||||
TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Library General Public License
|
||||
along with this software, usually in a file named COPYING.LIB. If not,
|
||||
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
|
||||
Boston, MA 02111-1307 USA.
|
||||
|
||||
EXCEPTION NOTICE
|
||||
|
||||
1. As a special exception, the copyright holders of this library give
|
||||
permission for additional uses of the text contained in this release of
|
||||
the library as licensed under the wxWindows Library License, applying
|
||||
either version 3 of the License, or (at your option) any later version of
|
||||
the License as published by the copyright holders of version 3 of the
|
||||
License document.
|
||||
|
||||
2. The exception is that you may create binary object code versions of any
|
||||
works using this library or based on this library, and use, copy, modify,
|
||||
link and distribute such binary object code files unrestricted under terms
|
||||
of your choice.
|
||||
|
||||
3. If you copy code from files distributed under the terms of the GNU
|
||||
General Public License or the GNU Library General Public License into a
|
||||
copy of this library, as this license permits, the exception does not
|
||||
apply to the code that you add in this way. To avoid misleading anyone as
|
||||
to the status of such modified files, you must delete this exception
|
||||
notice from such code and/or adjust the licensing conditions notice
|
||||
accordingly.
|
||||
|
||||
4. If you write modifications of your own for this library, it is your
|
||||
choice whether to permit this exception to apply to your modifications.
|
||||
If you do not wish that, you must delete the exception notice from such
|
||||
code and/or adjust the licensing conditions notice accordingly.
|
||||
|
||||
|
@@ -1,36 +0,0 @@
|
||||
|
||||
Welcome to wxWindows/Gtk,
|
||||
|
||||
you have downloaded version 1.96 of the GTK+ port of C++ library
|
||||
wxWindows. Information on how to install can be found in the
|
||||
file install.txt, but if you cannot wait, this should work on
|
||||
all systems
|
||||
|
||||
configure --without-threads
|
||||
make
|
||||
su (PASSWORD)
|
||||
make install
|
||||
|
||||
wxWindows/Gtk is still in development and you can have a look
|
||||
at the todo.txt to see what's missing before an official beta
|
||||
and - more important - before we can aim at binary compatibility.
|
||||
|
||||
More information is available from my homepage at
|
||||
|
||||
http://wesley.informatik.uni-freiburg.de/~wxxt
|
||||
|
||||
Please send problems concerning installation, feature requests,
|
||||
bug reports or comments to either the wxGTK mailing list or to
|
||||
the wxWindows developers list. Information on how to subscribe
|
||||
is available from my homepage.
|
||||
|
||||
wxWindows/Gtk comes with no guarantee whatsoever. It might crash
|
||||
your harddisk or destroy your monitor. It doesn't claim to be
|
||||
suitable for any special purpose.
|
||||
|
||||
Regards,
|
||||
|
||||
Robert Roebling
|
||||
|
||||
|
||||
|
@@ -1,38 +0,0 @@
|
||||
|
||||
-------------------- High priority ---------------------
|
||||
|
||||
wxTreeCtrl
|
||||
-> Keyboard handling.
|
||||
|
||||
wxClipboard
|
||||
-> On the way, but not functional yet.
|
||||
|
||||
Fix printing of bitmaps
|
||||
-> No idea.
|
||||
|
||||
OwnerDraw for wxListCtrl and others
|
||||
-> That is a big one.
|
||||
|
||||
DnD
|
||||
-> Must be rewritten for GTK+ 1.1.3
|
||||
|
||||
-------------------- Low priority ---------------------
|
||||
|
||||
wxDebugContext <-> wxLogXXX functions
|
||||
-> Remove either
|
||||
|
||||
Implement wxPalette
|
||||
-> I never understood that. Postponed.
|
||||
|
||||
Implement wxDirDialog
|
||||
-> Not heard of. Postponed.
|
||||
|
||||
Show accelerator in menus
|
||||
-> Changed in GTK 1.1.X. Postponed.
|
||||
|
||||
Correct tab navigation
|
||||
-> seems to be broken in GTK. Postponed.
|
||||
|
||||
Cooperation with Qt
|
||||
-> Would be nice.
|
||||
|
@@ -1,4 +1,5 @@
|
||||
[OPTIONS]
|
||||
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
|
||||
TITLE=wxWindows Porting Guide
|
||||
CONTENTS=Contents
|
||||
COMPRESS=HIGH
|
||||
|
@@ -11,7 +11,7 @@ headerRule = yes
|
||||
footerRule = yes
|
||||
useHeadingStyles = yes
|
||||
listItemIndent=40
|
||||
generateHPJ = no
|
||||
generateHPJ = yes
|
||||
htmlBrowseButtons = bitmap
|
||||
winHelpContents = yes
|
||||
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
||||
|
@@ -1,190 +0,0 @@
|
||||
\section{\class{wxAcceleratorEntry}}\label{wxacceleratorentry}
|
||||
|
||||
An object used by an application wishing to create an \helpref{accelerator table}{wxacceleratortable}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorTable}{wxacceleratortable}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorEntry::wxAcceleratorEntry}\label{wxacceleratorentryconstr}
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorEntry}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetCommand}\label{wxacceleratorentrygetcommand}
|
||||
|
||||
\constfunc{int}{GetCommand}{\void}
|
||||
|
||||
Returns the command identifier for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetFlags}\label{wxacceleratorentrygetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::GetKeyCode}\label{wxacceleratorentrygetkeycode}
|
||||
|
||||
\constfunc{int}{GetKeyCode}{\void}
|
||||
|
||||
Returns the keycode for the accelerator table entry.
|
||||
|
||||
\membersection{wxAcceleratorEntry::Set}\label{wxacceleratorentryset}
|
||||
|
||||
\func{void}{Set}{\param{int}{ flags}, \param{int}{ keyCode}, \param{int}{ cmd}}
|
||||
|
||||
Sets the accelerator entry parameters.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{One of wxACCEL\_SHIFT, wxACCEL\_CTRL and wxACCEL\_NORMAL. Indicates
|
||||
which modifier key is held down.}
|
||||
|
||||
\docparam{keyCode}{The keycode to be detected. See \helpref{Keycodes}{keycodes} for a full list of keycodes.}
|
||||
|
||||
\docparam{cmd}{The menu or control command identifier.}
|
||||
|
||||
\section{\class{wxAcceleratorTable}}\label{wxacceleratortable}
|
||||
|
||||
An accelerator table allows the application to specify a table of keyboard shortcuts for
|
||||
menus or other commands. On Windows, menu or button commands are supported; on GTK,
|
||||
only menu commands are supported.
|
||||
|
||||
The object {\bf wxNullAcceleratorTable} is defined to be a table with no data, and is the
|
||||
initial accelerator table for a window.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
{\small%
|
||||
\begin{verbatim}
|
||||
wxAcceleratorEntry entries[4];
|
||||
entries[0].Set(wxACCEL_CTRL, (int) 'N', ID_NEW_WINDOW);
|
||||
entries[1].Set(wxACCEL_CTRL, (int) 'X', wxID_EXIT);
|
||||
entries[2].Set(wxACCEL_SHIFT, (int) 'A', ID_ABOUT);
|
||||
entries[3].Set(wxACCEL_NONE, WXK_DELETE, wxID_CUT);
|
||||
wxAcceleratorTable accel(4, entries);
|
||||
frame->SetAcceleratorTable(accel);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An accelerator takes precedence over normal processing and can be a convenient way to program some event handling.
|
||||
For example, you can use an accelerator table to enable a dialog with a multi-line text control to
|
||||
accept CTRL-Enter as meaning 'OK' (but not in GTK at present).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxAcceleratorEntry}{wxacceleratorentry}, \helpref{wxWindow::SetAcceleratorTable}{wxwindowsetacceleratortable}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxAcceleratorTable::wxAcceleratorTable}\label{wxacceleratortableconstr}
|
||||
|
||||
\func{}{wxAcceleratorTable}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxAcceleratorTable\& }{bitmap}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{int}{ n}, \param{wxAcceleratorEntry}{ entries[]}}
|
||||
|
||||
Creates from an array of \helpref{wxAcceleratorEntry}{wxacceleratorentry} objects.
|
||||
|
||||
\func{}{wxAcceleratorTable}{\param{const wxString\&}{ resource}}
|
||||
|
||||
Loads the accelerator table from a Windows resource (Windows only).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{n}{Number of accelerator entries.}
|
||||
|
||||
\docparam{entries}{The array of entries.}
|
||||
|
||||
\docparam{resource}{Name of a Windows accelerator.}
|
||||
|
||||
\membersection{wxAcceleratorTable::\destruct{wxAcceleratorTable}}
|
||||
|
||||
\func{}{\destruct{wxAcceleratorTable}}{\void}
|
||||
|
||||
Destroys the wxAcceleratorTable object.
|
||||
|
||||
\membersection{wxAcceleratorTable::Ok}\label{wxacceleratortableok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the accelerator table is valid.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $=$}
|
||||
|
||||
\func{wxAcceleratorTable\& }{operator $=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Assignment operator. This operator does not copy any data, but instead
|
||||
passes a pointer to the data in {\it accel} and increments a reference
|
||||
counter. It is a fast operation.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to assign.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 'this' object.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $==$}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Equality operator. This operator tests whether the internal data pointers are
|
||||
equal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were effectively equal, FALSE otherwise.
|
||||
|
||||
\membersection{wxAcceleratorTable::operator $!=$}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxAcceleratorTable\& }{accel}}
|
||||
|
||||
Inequality operator. This operator tests whether the internal data pointers are
|
||||
unequal (a fast test).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{accel}{Accelerator table to compare with 'this'}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the accelerator tables were unequal, FALSE otherwise.
|
||||
|
||||
|
@@ -38,7 +38,7 @@ or a frame becomes inactivate resulting in all application frames being inactive
|
||||
|
||||
\membersection{wxActivateEvent::wxActivateEvent}
|
||||
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{bool}{ active = TRUE}, \param{int }{id = 0}}
|
||||
\func{}{wxActivateEvent}{\param{WXTYPE }{eventType = 0}, \param{int }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
|
@@ -238,32 +238,6 @@ goes idle again, when OnIdle is called, and so on.
|
||||
\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
|
||||
\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
|
||||
|
||||
\membersection{wxApp::OnEndSession}\label{wxapponendsession}
|
||||
|
||||
\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. The application has a chance to silently save information,
|
||||
and can optionally close itself.
|
||||
|
||||
Use the EVT\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
|
||||
(forcing the application to close itself silently).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnEndSession is called in response to the 'die' event.
|
||||
|
||||
Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
|
||||
|
||||
\membersection{wxApp::OnInit}\label{wxapponinit}
|
||||
|
||||
\func{bool}{OnInit}{\void}
|
||||
@@ -273,43 +247,16 @@ application's main window, calling \helpref{wxApp::SetTopWindow}{wxappsettopwind
|
||||
|
||||
Return TRUE to continue processing, FALSE to exit the application.
|
||||
|
||||
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
This is an event handler function called when the operating system or GUI session is
|
||||
about to close down. Typically, an application will try to save unsaved documents
|
||||
at this point.
|
||||
|
||||
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
|
||||
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
|
||||
The application might veto the shutdown after prompting for documents to be saved, and the
|
||||
user has cancelled the save.
|
||||
|
||||
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
|
||||
|
||||
You should check whether the application is forcing the deletion of the window
|
||||
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
||||
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
||||
If not, it is up to you whether you respond by destroying the window.
|
||||
|
||||
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
|
||||
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Under X, OnQueryEndSession is called in response to the 'save session' event.
|
||||
|
||||
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession}
|
||||
|
||||
\membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
|
||||
|
||||
@@ -335,17 +282,6 @@ BOOL CTheApp::PreTranslateMessage(MSG *msg)
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxApp::Pending}\label{wxapppending}
|
||||
|
||||
\func{bool}{Pending}{\void}
|
||||
|
||||
Returns TRUE if unprocessed events are in the window system event queue
|
||||
(MS Windows and Motif).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxApp::Dispatch}{wxappdispatch}
|
||||
|
||||
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
|
||||
|
||||
\func{bool}{SendIdleEvents}{\void}
|
||||
|
@@ -30,14 +30,6 @@ provided bitmaps.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxButton}{wxbutton}
|
||||
|
@@ -6,14 +6,14 @@
|
||||
\section{What is wxWindows?}
|
||||
|
||||
wxWindows is a C++ framework providing GUI (Graphical User
|
||||
Interface) and other facilities on more than one platform. Version 2.0 currently
|
||||
supports subsets MS Windows (16-bit, Windows 95 and Windows NT) and GTK.
|
||||
Interface) and other facilities on more than one platform. It currently
|
||||
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
|
||||
|
||||
wxWindows was originally developed at the Artificial Intelligence
|
||||
Applications Institute, University of Edinburgh, for internal use.
|
||||
wxWindows has been released into the public domain in the hope
|
||||
that others will also find it useful. Version 2.0 is written and
|
||||
maintained by Julian Smart, Robert Roebling and others.
|
||||
maintained by Julian Smart and Markus Holzem, with support from users.
|
||||
|
||||
This manual discusses wxWindows in the context of multi-platform
|
||||
development.\helpignore{For more detail on the wxWindows version 2.0 API
|
||||
@@ -55,8 +55,8 @@ that are often indistinguishable from those produced using single-platform
|
||||
toolkits
|
||||
such as Motif and MFC.
|
||||
|
||||
wxWindows 2.0 currently maps to two native APIs: GTK and
|
||||
MS Windows. Motif, Xt and Mac ports are also in preparation.
|
||||
wxWindows 2.0 currently maps to two native APIs: Motif and
|
||||
MS Windows. An Xt port is also in preparation.
|
||||
|
||||
The importance of using a platform-independent class library cannot be
|
||||
overstated, since GUI application development is very time-consuming,
|
||||
@@ -79,17 +79,17 @@ here are some of the benefits:
|
||||
\item Low cost (free, in fact!)
|
||||
\item You get the source.
|
||||
\item Several example programs.
|
||||
\item Over 700 pages of printable and on-line documentation.
|
||||
\item Over 200 pages of printable and on-line documentation.
|
||||
\item Simple-to-use, object-oriented API.
|
||||
\item Graphics calls include splines, polylines, rounded rectangles, etc.
|
||||
\item Constraint-based layout option.
|
||||
\item Print/preview and document/view architectures.
|
||||
\item Status line facility, toolbar
|
||||
\item Easy, object-oriented interprocess comms (DDE subset) under Unix and
|
||||
\item Easy, object-oriented interprocess comms (DDE subset) under UNIX and
|
||||
MS Windows.
|
||||
\item Encapsulated PostScript generation under Unix, normal MS Windows printing on the
|
||||
\item Encapsulated PostScript generation under UNIX, normal MS Windows printing on the
|
||||
PC.
|
||||
\item MDI support under Windows and GTK.
|
||||
\item MDI support under Windows.
|
||||
\item Can be used to create DLLs under Windows, dynamic libraries on the Sun.
|
||||
\item Common dialogs for file browsing, printing, colour selection, etc.
|
||||
\item Under MS Windows, support for creating metafiles and copying
|
||||
@@ -171,16 +171,18 @@ following setups.
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item A 486 or higher PC running MS Windows.
|
||||
\item One of Microsoft Visual C++ 4.0 or higher, Borland C++, Gnu-Win32.
|
||||
\item At least 60 MB of disk space.
|
||||
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
|
||||
Symantec C++, GNU-WIN32.
|
||||
\item At least 30 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
(b) Unix:
|
||||
(b) UNIX:
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Almost any C++ compiler, including GNU C++.
|
||||
\item Almost any Unix workstation, and GTK 1.0 or higher.
|
||||
\item At least 60 MB of disk space.
|
||||
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
|
||||
for the Xt version)
|
||||
\item At least 30 MB of disk space.
|
||||
\end{enumerate}
|
||||
|
||||
\section{Availability and location of wxWindows}
|
||||
@@ -195,26 +197,35 @@ Applications Institute by anonymous FTP and World Wide Web:
|
||||
|
||||
\section{Acknowledgments}
|
||||
|
||||
Thanks are due to AIAI for being willing to release the original version of
|
||||
wxWindows into the public domain, and to our patient wives Harriet, Tanja and others.
|
||||
Thanks are due to the AIAI for being willing to release wxWindows into
|
||||
the public domain, and to our patient wives Harriet and Tanja.
|
||||
|
||||
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
|
||||
the project over the years. Apologies for any unintentional omissions from this list.
|
||||
The Internet has been an essential prop when coming up against tricky
|
||||
problems. Thanks to those who answered our
|
||||
queries or submitted bug fixes and enhancements; wxWindows is very
|
||||
much a team effort.
|
||||
|
||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
||||
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
|
||||
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
|
||||
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
||||
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
||||
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
|
||||
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
|
||||
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
|
||||
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
|
||||
wxExtend library.
|
||||
|
||||
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
|
||||
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
|
||||
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
|
||||
GNU-WIN32 compiler, refusing to give up when shortcuts were suggested.
|
||||
|
||||
Many thanks also to: Timothy Peters, Jamshid Afshar, Patrick Albert, C. Buckley,
|
||||
Robin Corbet, Harco de Hilster, Josep Fortiana, Torsten Liermann, Tatu
|
||||
M\"{a}nnist\"{o}, Ian Perrigo, Giordano Pezzoli, Petr Smilauer, Neil Smith,
|
||||
Kari Syst\"{a}, Jyrki Tuomi, Edward Zimmermann, Ian Brown, and many
|
||||
others.
|
||||
|
||||
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||
been used in wxGraphLayout with his permission.
|
||||
|
||||
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
||||
We also acknowledge the author of XFIG, the excellent UNIX drawing tool,
|
||||
from the source of which we have borrowed some spline drawing code.
|
||||
His copyright is included below.
|
||||
|
||||
@@ -239,7 +250,7 @@ changes.txt for differences between versions.
|
||||
|
||||
\section{Include files}
|
||||
|
||||
The main include file is {\tt "wx/wx.h"}; this includes the most commonly
|
||||
The main include file is {\tt "wx.h"}; this includes the most commonly
|
||||
used modules of wxWindows.
|
||||
|
||||
To save on compilation time, include only those header files relevant to the
|
||||
@@ -248,26 +259,25 @@ the following section before any other includes:
|
||||
|
||||
\begin{verbatim}
|
||||
// For compilers that support precompilation, includes "wx.h".
|
||||
#include <wx/wxprec.h>
|
||||
#include "wx_prec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
// Include your minimal set of headers here, or wx.h
|
||||
#include <wx/wx.h>
|
||||
... include minimum set of files necessary here ...
|
||||
#endif
|
||||
|
||||
... now your other include files ...
|
||||
\end{verbatim}
|
||||
|
||||
The file {\tt "wx/wxprec.h"} includes {\tt "wx/wx.h"}. Although this incantation
|
||||
The file {\tt "wx\_prec.h"} includes {\tt "wx.h"}. Although this incantation
|
||||
may seem quirky, it is in fact the end result of a lot of experimentation,
|
||||
and several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
|
||||
and Watcom C++).
|
||||
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.h"} as
|
||||
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx\_prec.h"} as
|
||||
the file to use for precompilation. Watcom C++ is automatic apart from the specification of
|
||||
the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for
|
||||
object files compiled in the same directory as that in which the precompiled header was created.
|
||||
@@ -277,14 +287,14 @@ multi-megabyte .pch files.
|
||||
|
||||
\section{Libraries}
|
||||
|
||||
Please the wxGTK documentation for use of the Unix version of wxWindows.
|
||||
Under Windows, use the library wx.lib for stand-alone Windows
|
||||
Under UNIX, use the library libwx\_motif.a
|
||||
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
|
||||
applications, or wxdll.lib for creating DLLs.
|
||||
|
||||
\section{Configuration}
|
||||
|
||||
The following lists the options configurable in the file
|
||||
\rtfsp{\tt "wx/msw/setup.h"} and {\tt "wx/gtk/setup.h"} Some settings are a matter
|
||||
\rtfsp{\tt include/base/wx\_setup.h.} Some settings are a matter
|
||||
of taste, some help with platform-specific problems, and
|
||||
others can be set to minimize the size of the library.
|
||||
|
||||
@@ -296,15 +306,27 @@ others can be set to minimize the size of the library.
|
||||
\twocolitem{USE\_DOC\_VIEW\_ARCHITECTURE}{If 1, wxDocument, wxView and related classes are compiled.}
|
||||
\twocolitem{USE\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
|
||||
and necessary for the document/view framework.}
|
||||
\twocolitem{USE\_EXTENDED\_STATICS}{If 1, wxStaticItem code is compiled for enhanced panel decorative items.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_HELP}{If 1, interface to help system is compiled.}
|
||||
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class compiled.}
|
||||
\twocolitem{USE\_GLOBAL\_MEMORY\_OPERATORS}{If 1, redefines global new and delete operators to be compatible
|
||||
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
|
||||
for your compiler, set to 0.}
|
||||
\twocolitem{USE\_GNU\_WXSTRING}{If 1, the enhanced GNU wxString and regular expression class are compiled
|
||||
in place of the normal wxString class. See contrib/wxstring for details.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_MSW}{Use code to allow dynamic .BMP loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IMAGE\_LOADING\_IN\_X}{Use code in utils/image to allow dynamic .BMP/.GIF loading
|
||||
under X.}
|
||||
\twocolitem{USE\_RESOURCE\_LOADING\_IN\_MSW}{Use code to allow dynamic .ICO/.CUR loading
|
||||
under MS Windows.}
|
||||
\twocolitem{USE\_IPC}{If 1, interprocess communication code is compiled.}
|
||||
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
|
||||
if the value of DEBUG is defined to more than 0.}
|
||||
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
|
||||
\twocolitem{USE\_PANEL\_IN\_PANEL}{If 1, experimental panel-in-panel code is used
|
||||
for common dialog boxes. Not recommended, since tab traversal can suffer.}
|
||||
\twocolitem{USE\_POSTSCRIPT}{If 1, PostScript code is compiled.}
|
||||
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
|
||||
to make use of either native Windows printing facilities, or the wxPostScriptDC class depending
|
||||
@@ -312,7 +334,32 @@ on the wxApp::SetPrintMode setting.}
|
||||
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
|
||||
for the print/preview framework.}
|
||||
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
|
||||
\twocolitem{USE\_SCROLLBAR}{If 1, wxScrollBar class is compiled. Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_SPLINES}{If 1, spline code is compiled.}
|
||||
\twocolitem{USE\_TOOLBAR}{If 1, the wxToolBar class is compiled.}
|
||||
\twocolitem{USE\_TYPEDEFS}{If 1, a typedef will be used for wxPoint instead of
|
||||
a class declaration, to reduce overhead and avoid a Microsoft C++ memory bug.}
|
||||
\twocolitem{USE\_VLBOX}{If 1, wxVirtListBox code is compiled for a virtual listbox item.
|
||||
Not rigorously tested, and not documented.}
|
||||
\twocolitem{USE\_WX\_RESOURCES}{If 1, wxWindows resource file (.WXR) code is compiled.}
|
||||
\twocolitem{USE\_XFIG\_SPLINE\_CODE}{If 1, XFig-derived code is used for spline
|
||||
drawing. If 0, AIAI code is used, which is slower.}
|
||||
\twocolitem{USE\_XPM\_IN\_X}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under X.}
|
||||
\twocolitem{USE\_XPM\_IN\_MSW}{If 1, XPM (colour pixmap) facilities will be compiled and used
|
||||
in wxBitmap under MS Windows.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{X features}
|
||||
|
||||
\begin{twocollist}
|
||||
\twocolitem{DEFAULT\_FILE\_SELECTOR\_SIZE}{Let Motif choose the size of
|
||||
XmFileSelectionBox. Otherwise, size is 500x600.}
|
||||
\twocolitem{PIXEL0\_DISABLE}{Define to disallow allocation of pixel 0 (wxXOR problem).}
|
||||
\twocolitem{USE\_GADGETS}{Use gadgets where possible rather than Widgets for items.
|
||||
Default is to use Gadgets.}
|
||||
\twocolitem{USE\_BUTTON\_GADGET}{Use gadgets for buttons. This can intefere with
|
||||
default button selection, so the default is zero.}
|
||||
\end{twocollist}
|
||||
|
||||
\subsection{Windows and NT features}
|
||||
@@ -326,17 +373,18 @@ directory, ctl3d.h into an include directory, and ctl3dv2.dll into
|
||||
windows/system). You may need to find a compiler-specific version of ctl3dv2.lib
|
||||
or ctl3d32.lib. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
|
||||
or ctl3d32.lib.}
|
||||
\twocolitem{USE\_ITSY\_BITSY}{If 1, compiles in code to support tiny window titlebars.}
|
||||
\twocolitem{USE\_ODBC}{If 1, compiles wxDatabase and wxRecordSet classes for ODBC
|
||||
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
|
||||
\end{twocollist}
|
||||
|
||||
\section{Makefiles}
|
||||
|
||||
At the moment there is no attempt to make Unix makefiles and
|
||||
At the moment there is no attempt to make UNIX makefiles and
|
||||
PC makefiles compatible, i.e. one makefile is required for
|
||||
each environment.
|
||||
|
||||
Sample makefiles for Unix (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
Sample makefiles for UNIX (suffix .UNX), MS C++ (suffix .DOS and .NT), Borland
|
||||
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
|
||||
and utilities. The NT, Borland and Symantec makefiles cannot be
|
||||
guaranteed to be up-to-date since the author does not have
|
||||
@@ -355,12 +403,12 @@ FINAL=1 on the command line to remove debugging information (this only
|
||||
really necessary at the link stage), and DLL=1 to make a DLL version of
|
||||
the library, if building a library.
|
||||
|
||||
\subsection{Unix makefiles}
|
||||
\subsection{UNIX makefiles}
|
||||
|
||||
TODO.
|
||||
|
||||
Debugging information is included by default; you may add DEBUG= as an
|
||||
argument to make to compile without it, or use the Unix {\bf strip}
|
||||
argument to make to compile without it, or use the UNIX {\bf strip}
|
||||
command to remove debugging information from an executable.
|
||||
|
||||
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
|
||||
@@ -378,7 +426,7 @@ The least that must be defined in the Windows resource file (extension RC)
|
||||
is the following statement:
|
||||
|
||||
\begin{verbatim}
|
||||
rcinclude "wx/msw/wx.rc"
|
||||
rcinclude wx.rc
|
||||
\end{verbatim}
|
||||
|
||||
which includes essential internal wxWindows definitions. The resource script
|
||||
@@ -397,8 +445,7 @@ as the Program Manager) find your application icon first.}
|
||||
|
||||
\subsection{Module definition file}
|
||||
|
||||
A module definition file (extension DEF) is required for 16-bit applications, and
|
||||
looks like the following:
|
||||
A module definition file (extension DEF) looks like the following:
|
||||
|
||||
\begin{verbatim}
|
||||
NAME Hello
|
||||
@@ -414,6 +461,46 @@ STACKSIZE 8192
|
||||
The only lines which will usually have to be changed per application are
|
||||
NAME and DESCRIPTION.
|
||||
|
||||
\section{Memory models and memory allocation}\label{memorymodels}
|
||||
|
||||
Under UNIX, memory allocation isn't a problem. Under Windows, the only
|
||||
really viable way to go is to use the large model, which uses the global
|
||||
heap instead of the local heap for memory allocation. Unless more than
|
||||
one read-write data segment is used,% (see \helpref{large data}{largedata}
|
||||
large model programs may still have multiple instances under MS
|
||||
C/C++ 7. Microsoft give the following guidelines for producing
|
||||
multiple-instance large model programs:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Do not use {\tt /ND} to name extra data segments unless the segment is READONLY.
|
||||
\item Use the .DEF file to mark extra data segments READONLY.
|
||||
\item Do not use \_\_far or FAR to mark data items.
|
||||
\item Use {\tt /PACKDATA} to combine data segments.
|
||||
\item Use {\tt /Gt65500 /Gx} to force all data into the default data segment.
|
||||
\end{itemize}
|
||||
|
||||
Even with the single-instance limitation, the productivity benefit is
|
||||
worth it in the majority of cases. Note that some other multi-platform
|
||||
class libraries also have this restriction. (If more than one instance
|
||||
really is required, create several copies of the program with different
|
||||
names.)
|
||||
|
||||
Having chosen the large model, just use C++ `new', `delete' (and if
|
||||
necessary `malloc' and `free') in the normal way. The only restrictions
|
||||
now encountered are a maximum of 64 KB for a single program segment and
|
||||
for a single data item, unless huge model is selected.
|
||||
|
||||
For Borland users, use the data threshold switch, and the following is
|
||||
also recommended:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item Check ``Automatic Far Data Segments"
|
||||
\item Check ``Put Constant Strings into Code Segment"
|
||||
\end{itemize}
|
||||
|
||||
See also the Frequently Asked Questions document for further details
|
||||
on using Borland with wxWindows.
|
||||
|
||||
\subsection{Allocating and deleting wxWindows objects}
|
||||
|
||||
In general, classes derived from wxWindow must dynamically allocated
|
||||
@@ -421,13 +508,17 @@ with {\it new} and deleted with {\it delete}. If you delete a window,
|
||||
all of its children and descendants will be automatically deleted,
|
||||
so you don't need to delete these descendants explicitly.
|
||||
|
||||
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
||||
that the wxWindows delayed deletion can take effect. This waits until idle time
|
||||
(when all messages have been processed) to actually delete the window, to avoid
|
||||
problems associated with the GUI sending events to deleted windows.
|
||||
Don't statically create a window unless you know that the window
|
||||
cannot be deleted dynamically. Modal dialogs, such as those used
|
||||
in the {\tt dialogs} sample, can usually be created statically,
|
||||
if you know that the OK or Cancel button does not destroy the dialog.
|
||||
|
||||
Don't create a window on the stack, because this will interfere
|
||||
with delayed deletion.
|
||||
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
|
||||
created dynamically. They are cleaned up automatically on program exit.
|
||||
wxColourMap is an exception to this rule (currently). In particular,
|
||||
do not attempt to create these objects globally before OnInit() has a chance
|
||||
to be called, because wxWindows might not have done essential internal initialisation
|
||||
(including creation of lists containing all instances of wxPen, wxBrush etc.)
|
||||
|
||||
If you decide to allocate a C++ array of objects (such as wxBitmap) that may
|
||||
be cleaned up by wxWindows, make sure you delete the array explicitly
|
||||
@@ -440,10 +531,24 @@ enough for copies to be made.
|
||||
|
||||
Beware of deleting objects such as a wxPen or wxBitmap if they are still in use.
|
||||
Windows is particularly sensitive to this: so make sure you
|
||||
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting
|
||||
make calls like wxDC::SetPen(NULL) or wxDC::SelectObject(NULL) before deleting
|
||||
a drawing object that may be in use. Code that doesn't do this will probably work
|
||||
fine on some platforms, and then fail under Windows.
|
||||
|
||||
\section{Dynamic Link Libraries}
|
||||
|
||||
wxWindows may be used to produce DLLs which run under MS Windows. Note that
|
||||
this is not the same thing as having wxWindows as a DLL, which is not
|
||||
currently possible. For Microsoft C++, use the makefile with the argument DLL=1 to produce
|
||||
a version of the wxWindows library which may be used in a DLL application.
|
||||
There is a bug in Microsoft C++ which makes the compiler complain about returned floats,
|
||||
which goes away when the {\tt /Os} option is used, which is why that flag is
|
||||
set in the makefile.
|
||||
|
||||
For making wxWindows as a Sun dynamic library, there are comments in the
|
||||
UNIX makefile for the appropriate flags for AT\&T C++. Sorry, I haven't
|
||||
investigated the flags needed for other compilers.
|
||||
|
||||
\section{Conditional compilation}
|
||||
|
||||
One of the purposes of wxWindows is to reduce the need for conditional
|
||||
@@ -452,69 +557,63 @@ However, sometimes it is necessary to incorporate platform-specific
|
||||
features (such as metafile use under MS Windows). The following identifiers
|
||||
may be used for this purpose, along with any user-supplied ones:
|
||||
|
||||
{\bf GUIs:}
|
||||
\begin{itemize}
|
||||
\item {\tt wx\_x} - for code which should work under any X toolkit
|
||||
\item {\tt wx\_motif} - for code which should work under Motif only
|
||||
\item {\tt wx\_msw} - for code which should work under Microsoft Windows only
|
||||
\item {\tt wx\_xt} - for code which should work under Xt only
|
||||
\end{itemize}
|
||||
|
||||
For example:
|
||||
|
||||
\begin{verbatim}
|
||||
__X__ any X, but not GTK
|
||||
__WXMOTIF__ Motif
|
||||
__WXGTK__ GTK
|
||||
__WXMSW__ Any Windows
|
||||
__MAC__ MacOS
|
||||
__UNIX__ any Unix
|
||||
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||
__WIN32__ WIN32 API
|
||||
__NT__ Windows NT
|
||||
__CURSES__ CURSES
|
||||
...
|
||||
#ifdef wx_x
|
||||
(void)wxMessageBox("Sorry, metafiles not available under X.");
|
||||
#endif
|
||||
#ifdef wx_msw
|
||||
wxMetaFileDC dc;
|
||||
DrawIt(dc);
|
||||
wxMetaFile *mf = dc.Close();
|
||||
mf->SetClipboard();
|
||||
delete mf;
|
||||
#endif
|
||||
...
|
||||
\end{verbatim}
|
||||
|
||||
{\bf OSes:}
|
||||
\section{Building on-line help}
|
||||
|
||||
\begin{verbatim}
|
||||
__HPUX__
|
||||
__SVR4__
|
||||
__SYSV__
|
||||
__LINUX__
|
||||
__SGI__
|
||||
__ULTRIX__
|
||||
__BSD__
|
||||
__VMS__
|
||||
__SUN__ Any Sun
|
||||
__SUNOS__
|
||||
__SOLARIS__
|
||||
__ALPHA__
|
||||
__AIX__
|
||||
__DATA_GENERAL__
|
||||
__OSF__
|
||||
__FREEBSD__
|
||||
\end{verbatim}
|
||||
wxWindows has its own help system from version 1.30: wxHelp. It can be
|
||||
used to view the wxWindows class library reference, and also to provide
|
||||
on-line help for your wxWindows applications. The API, made accessible
|
||||
by including {\tt wx\_help.h}, allows you to load files and display
|
||||
specific sections, using DDE to communicate between the application and
|
||||
wxHelp.
|
||||
|
||||
{\bf Compilers:}
|
||||
wxHelp files can be marked up by hand from ASCII files within wxHelp,
|
||||
or may be generated from other files, as is the case with the wxWindows
|
||||
documentation.
|
||||
|
||||
\begin{verbatim}
|
||||
__GNUWIN32__ Gnu-Win32 compiler
|
||||
__DJGPP__ DJGPP
|
||||
__GNUG__ Gnu C++ on any platform
|
||||
__BORLANDC__ Borland C++
|
||||
__WATCOMC__ Watcom C++
|
||||
__SYMANTECC__ Symantec C++
|
||||
__VISUALC__ VC++
|
||||
__SUNCC__
|
||||
\end{verbatim}
|
||||
|
||||
{\bf wxWindows modes:}
|
||||
|
||||
\begin{verbatim}
|
||||
__WXDEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||
\end{verbatim}
|
||||
It is possible to use the platform-specific help
|
||||
system (e.g. WinHelp) instead of wxHelp.
|
||||
|
||||
See {\tt install.txt}, the wxHelp documentation (in {\tt
|
||||
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
|
||||
|
||||
\section{C++ issues}
|
||||
|
||||
The following documents some miscellaneous C++ issues.
|
||||
There are cases where a C++ program will compile and run fine under one
|
||||
environment, and then fail to compile using a different compiler. Some
|
||||
caveats are given below, from experience with the GNU C++ compiler (GCC)
|
||||
and MS C/C++ compiler version 7.
|
||||
|
||||
\subsection{Templates}
|
||||
|
||||
wxWindows does not use templates since it is a notoriously unportable feature.
|
||||
wxWindows does not use templates for two main reasons: one, it is a
|
||||
notoriously unportable feature, and two, the author is irrationally
|
||||
suspicious of them and prefers to use casts. More compilers are
|
||||
now implementing templates, and so it will probably be safe to use
|
||||
them soon without fear of portability problems.
|
||||
|
||||
\subsection{Precompiled headers}
|
||||
|
||||
@@ -537,7 +636,7 @@ A related problem is that for compilers that don't have precompiled
|
||||
headers, including a lot of header files slows down compilation
|
||||
considerably. For this reason, you will find (in the common
|
||||
X and Windows parts of the library) conditional
|
||||
compilation that under Unix, includes a minimal set of headers;
|
||||
compilation that under UNIX, includes a minimal set of headers;
|
||||
and when using Visual C++, includes {\tt wx.h}. This should help provide
|
||||
the optimal compilation for each compiler, although it is
|
||||
biassed towards the precompiled headers facility available
|
||||
@@ -559,14 +658,14 @@ This has undesirable ramifications for people who have documents of the
|
||||
same name in different directories.
|
||||
|
||||
As regards the limitations of DOS 8+3 single-case filenames versus
|
||||
unrestricted Unix filenames, the best solution is to use DOS filenames
|
||||
unrestricted UNIX filenames, the best solution is to use DOS filenames
|
||||
for your application, and also for document filenames {\it if} the user
|
||||
is likely to be switching platforms regularly. Obviously this latter
|
||||
choice is up to the application user to decide. Some programs (such as
|
||||
YACC and LEX) generate filenames incompatible with DOS; the best
|
||||
solution here is to have your Unix makefile rename the generated files
|
||||
solution here is to have your UNIX makefile rename the generated files
|
||||
to something more compatible before transferring the source to DOS.
|
||||
Transferring DOS files to Unix is no problem, of course, apart from EOL
|
||||
Transferring DOS files to UNIX is no problem, of course, apart from EOL
|
||||
conversion for which there should be a utility available (such as
|
||||
dos2unix).
|
||||
|
||||
@@ -594,8 +693,7 @@ text to suit the size of window, as WinHelp does, and its input files
|
||||
are uncompressed ASCII with some embedded font commands and an .xlp
|
||||
extension. Most wxWindows documentation (user manuals and class
|
||||
references) is supplied in wxHelp format, and also in Windows Help
|
||||
format. The wxWindows 2.0 project will presently use an HTML widget
|
||||
in a new and improved wxHelp implementation, under X.
|
||||
format.
|
||||
|
||||
Note that an application can be programmed to use Windows Help under
|
||||
MS Windows, and wxHelp under X. An alternative help viewer under X is
|
||||
@@ -666,6 +764,18 @@ first attempt.
|
||||
|
||||
See the separate manual and the directory utils/wxgraph.
|
||||
|
||||
\section{wxImage}\label{wximage}
|
||||
|
||||
This is a collection of GIF/BMP/XBM bitmap loading and displaying
|
||||
routines for X.
|
||||
|
||||
\section{MFUTILS}\label{mfutils}
|
||||
|
||||
A very modest step towards reading Windows metafiles on the
|
||||
any platform. Julian Smart's ClockWorks program demonstrates
|
||||
how extremely simple metafiles may be read and displayed (in this
|
||||
case, to be used as clock hands).
|
||||
|
||||
\section{Colours}\label{coloursampler}
|
||||
|
||||
A colour sampler for viewing colours and their names on each
|
||||
@@ -728,7 +838,7 @@ Use .wrc (wxWindows resource files) where possible, because they can be easily c
|
||||
independently of source code. Bitmap resources can be set up to load different
|
||||
kinds of bitmap depending on platform (see the section on resource files).
|
||||
|
||||
\section{Strategies for debugging}\label{debugstrategies}
|
||||
\section{Strategies for debugging}
|
||||
|
||||
\subsection{Positive thinking}
|
||||
|
||||
@@ -757,35 +867,49 @@ to go from functioning to non-functioning state. This should give a clue
|
||||
to the problem. In some cases though, such as memory leaks or wrong
|
||||
deallocation, this can still give totally spurious results!
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
\subsection{Use a debugger}
|
||||
|
||||
This sounds like facetious advice, but it's surprising how often people
|
||||
don't use a debugger. Often it's an overhead to install or learn how to
|
||||
use a debugger, but it really is essential for anything but the most
|
||||
trivial programs.
|
||||
trivial programs. Some platforms don't allow for debugging, such
|
||||
as WIN32s under Windows 3.x. In this case, you might be advised to
|
||||
debug under 16-bit Windows and when you're confident, compile for
|
||||
WIN32s. In fact WIN32s can be very strict about bad memory handling,
|
||||
so testing out under WIN32s is a good thing to do even if you're
|
||||
not going to distribute this version. (Unless you've got a good memory checking,
|
||||
utility, of course!) Tracking bugs under WIN32s can involve a lot of debug message
|
||||
insertion and relinking, so make sure your compiler has a fast linker
|
||||
(e.g. Watcom, Symantec).
|
||||
|
||||
\subsection{Use logging functions}
|
||||
\subsection{Use tracing code}
|
||||
|
||||
There is a variety of logging functions that you can use in your program:
|
||||
see \helpref{Logging functions}{logfunctions}.
|
||||
You can use wxDebugMsg statements (or the wxDebugStreamBuf class) to
|
||||
output to a debugging window such as DBWIN under Windows, or standard
|
||||
error under X. If compiling in DEBUG mode, you can use TRACE statements
|
||||
that will be compiled out of the final build of your application.
|
||||
|
||||
Using tracing statements may be more convenient than using the debugger
|
||||
in some circumstances (such as when your debugger doesn't support a lot
|
||||
of debugging code, or you wish to print a bunch of variables).
|
||||
|
||||
\subsection{Use the wxWindows debugging facilities}
|
||||
\subsection{Use wxObject::Dump and the wxDebugContext class}
|
||||
|
||||
You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory: in fact in debugging mode, wxWindows will
|
||||
automatically check for memory leaks at the end of the program if wxWindows is suitably
|
||||
configured. Depending on the operating system and compiler, more or less
|
||||
specific information about the problem will be logged.
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
See the \helpref{debugging overview}{debuggingoverview} for further information.
|
||||
It's good practice to implement the Dump member function for all
|
||||
classes derived from wxObject. You can then make use of wxDebugContext
|
||||
to dump out information on all objects in the program, if DEBUG is
|
||||
defined to be more than zero. You can use wxDebugContext to check for
|
||||
memory leaks and corrupt memory. See the debugging topic in the
|
||||
reference manual for more information.
|
||||
|
||||
\subsection{Check Windows debug messages}
|
||||
|
||||
@@ -798,14 +922,3 @@ more problems. However, I doubt it's worth the hassle for most
|
||||
applications. wxWindows is designed to minimize the possibility of such
|
||||
errors, but they can still happen occasionally, slipping through unnoticed
|
||||
because they are not severe enough to cause a crash.
|
||||
|
||||
\subsection{Genetic mutation}
|
||||
|
||||
If we had sophisticated genetic algorithm tools that could be applied
|
||||
to programming, we could use them. Until then, a common -- if rather irrational --
|
||||
technique is to just make arbitrary changes to the code until something
|
||||
different happens. You may have an intuition why a change will make a difference;
|
||||
otherwise, just try altering the order of code, comment lines out, anything
|
||||
to get over an impasse. Obviously, this is usually a last resort.
|
||||
|
||||
|
||||
|
@@ -18,14 +18,6 @@ There are no special styles for wxButton.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_BUTTON(id, func)}}{Process a wxEVT\_COMMAND\_BUTTON\_CLICKED event,
|
||||
when the button is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxBitmapButton}{wxbitmapbutton}
|
||||
@@ -107,7 +99,7 @@ box.
|
||||
Under Windows, only dialog box buttons respond to this function. As
|
||||
normal under Windows and Motif, pressing return causes the default button to
|
||||
be depressed when the return key is pressed. See also \helpref{wxWindow::SetFocus}{wxwindowsetfocus}\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items,\rtfsp
|
||||
which sets the keyboard focus for windows and text panel items, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
||||
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
|
||||
|
||||
Note that under Motif, calling this function immediately after
|
||||
|
@@ -1,60 +0,0 @@
|
||||
\section{\class{wxCalculateLayoutEvent}}\label{wxcalculatelayoutevent}
|
||||
|
||||
This event is sent by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} to
|
||||
calculate the amount of the remaining client area that the window should
|
||||
occupy.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::wxCalculateLayoutEvent}
|
||||
|
||||
\func{}{wxCalculateLayoutEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetFlags}\label{wxcalculatelayouteventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::GetRect}\label{wxcalculatelayouteventgetrect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Before the event handler is entered, returns the remaining parent client area that the window
|
||||
could occupy. When the event handler returns, this should contain the remaining parent client rectangle,
|
||||
after the event handler has subtracted the area that its window occupies.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetFlags}\label{wxcalculatelayouteventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxCalculateLayoutEvent::SetRect}\label{wxcalculatelayouteventsetrect}
|
||||
|
||||
\func{void}{SetRect}{\param{const wxRect\& }{rect}}
|
||||
|
||||
Call this to specify the new remaining parent client area, after the space occupied by the
|
||||
window has been subtracted.
|
||||
|
@@ -29,14 +29,24 @@ The following are a variety of windows that are derived from wxWindow.
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxGrid}{wxgrid}}{A grid (table) window}
|
||||
\twocolitem{\helpref{wxPanel}{wxpanel}}{A window whose colour changes according to current user settings}
|
||||
\twocolitem{\helpref{wxSashWindow}{wxsashwindow}}{Window with four optional sashes that can be dragged}
|
||||
\twocolitem{\helpref{wxSashLayoutWindow}{wxsashlayoutwindow}}{Window that can be involved in an IDE-like layout arrangement}
|
||||
\twocolitem{\helpref{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
|
||||
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
|
||||
\twocolitem{\helpref{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
|
||||
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
||||
%\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
||||
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class}
|
||||
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
|
||||
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Toolbar classes}}
|
||||
|
||||
\overview{Overview}{wxtoolbaroverview}
|
||||
|
||||
These are the toolbar classes.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxToolBarBase}{wxtoolbarbase}}{Toolbar base class}
|
||||
\twocolitem{\helpref{wxToolBarSimple}{wxtoolbarsimple}}{A simple, cross-platform toolbar class}
|
||||
\twocolitem{\helpref{wxToolBarMSW}{wxtoolbarmsw}}{A Windows-only toolbar class}
|
||||
\twocolitem{\helpref{wxToolBar95}{wxtoolbar95}}{A Windows 95-only toolbar class}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Common dialogs}}
|
||||
@@ -160,7 +170,6 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxActivateEvent}{wxactivateevent}}{A window or application activation event}
|
||||
\twocolitem{\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}}{Used to calculate window layout}
|
||||
\twocolitem{\helpref{wxCloseEvent}{wxcloseevent}}{A close window or end session event}
|
||||
\twocolitem{\helpref{wxCommandEvent}{wxcommandevent}}{An event from a variety of standard controls}
|
||||
\twocolitem{\helpref{wxDropFilesEvent}{wxdropfilesevent}}{A drop files event}
|
||||
@@ -175,12 +184,9 @@ An event object contains information about a specific event. Event handlers
|
||||
\twocolitem{\helpref{wxMenuEvent}{wxmenuevent}}{A menu event}
|
||||
\twocolitem{\helpref{wxMouseEvent}{wxmouseevent}}{A mouse event}
|
||||
\twocolitem{\helpref{wxMoveEvent}{wxmoveevent}}{A move event}
|
||||
\twocolitem{\helpref{wxNotebookEvent}{wxnotebookevent}}{A notebook control event}
|
||||
\twocolitem{\helpref{wxPaintEvent}{wxpaintevent}}{A paint event}
|
||||
\twocolitem{\helpref{wxProcessEvent}{wxprocessevent}}{A process ending event}
|
||||
\twocolitem{\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}}{Used to query layout information}
|
||||
%\twocolitem{\helpref{wxSessionEvent}{wxsessionevent}}{A session ending event}
|
||||
\twocolitem{\helpref{wxSizeEvent}{wxsizeevent}}{A size event}
|
||||
\twocolitem{\helpref{wxSocketEvent}{wxsocketevent}}{A socket event}
|
||||
\twocolitem{\helpref{wxSysColourChangedEvent}{wxsyscolourchangedevent}}{A system colour change event}
|
||||
\twocolitem{\helpref{wxTabEvent}{wxtabevent}}{A tab control event}
|
||||
\twocolitem{\helpref{wxTreeEvent}{wxtreeevent}}{A tree control event}
|
||||
@@ -189,8 +195,6 @@ An event object contains information about a specific event. Event handlers
|
||||
|
||||
{\large {\bf Validators}}
|
||||
|
||||
\overview{Overview}{validatoroverview}
|
||||
|
||||
These are the window validators, used for filtering and validating
|
||||
user input.
|
||||
|
||||
@@ -243,16 +247,14 @@ wxWindows supports some aspects of debugging an application through
|
||||
classes, functions and macros.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides memory-checking facilities}
|
||||
%\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxLog}{wxlog}}{Logging facility}
|
||||
\twocolitem{\helpref{Log functions}{logfunctions}}{Error and warning logging functions}
|
||||
\twocolitem{\helpref{Debugging macros}{debugmacros}}{Debug macros for assertion and checking}
|
||||
%\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
%\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{wxDebugContext}{wxdebugcontext}}{Provides various debugging facilities}
|
||||
\twocolitem{\helpref{wxDebugStreamBuf}{wxdebugstreambuf}}{A stream buffer writing to the debug stream}
|
||||
\twocolitem{\helpref{wxObject}{wxobject}}{Provides optional debugging versions of {\bf new} and {\bf delete}}
|
||||
\twocolitem{\helpref{wxTrace}{wxtrace}}{Tracing facility}
|
||||
\twocolitem{\helpref{wxTraceLevel}{wxtracelevel}}{Tracing facility with levels}
|
||||
\twocolitem{\helpref{WXDEBUG\_NEW}{debugnew}}{Use this macro to give further debugging information}
|
||||
%\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
%\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\twocolitem{\helpref{WXTRACE}{trace}}{Trace macro}
|
||||
\twocolitem{\helpref{WXTRACELEVEL}{tracelevel}}{Trace macro with levels}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Interprocess communication}}
|
||||
@@ -266,9 +268,6 @@ based on DDE.
|
||||
\twocolitem{\helpref{wxDDEClient}{wxddeclient}}{Represents a client}
|
||||
\twocolitem{\helpref{wxDDEConnection}{wxddeconnection}}{Represents the connection between a client and a server}
|
||||
\twocolitem{\helpref{wxDDEServer}{wxddeserver}}{Represents a server}
|
||||
\twocolitem{\helpref{wxSocketClient}{wxsocketclient}}{Represents a socket client}
|
||||
\twocolitem{\helpref{wxSocketHandler}{wxsockethandler}}{Represents a socket handler}
|
||||
\twocolitem{\helpref{wxSocketServer}{wxsocketserver}}{Represents a socket server}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Document/view framework}}
|
||||
@@ -278,6 +277,9 @@ based on DDE.
|
||||
wxWindows supports a document/view framework which provides
|
||||
housekeeping for a document-centric application.
|
||||
|
||||
TODO: MDI frame classes for documents; make it unnecessary to convert
|
||||
between streams and files (overridable method that uses filenames instead of streams).
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDocument}{wxdocument}}{Represents a document}
|
||||
\twocolitem{\helpref{wxView}{wxview}}{Represents a view}
|
||||
@@ -285,8 +287,6 @@ housekeeping for a document-centric application.
|
||||
\twocolitem{\helpref{wxDocManager}{wxdocmanager}}{Manages the documents and views in an application}
|
||||
\twocolitem{\helpref{wxDocChildFrame}{wxdocchildframe}}{A child frame for showing a document view}
|
||||
\twocolitem{\helpref{wxDocParentFrame}{wxdocparentframe}}{A parent frame to contain views}
|
||||
%\twocolitem{\helpref{wxMDIDocChildFrame}{wxmdidocchildframe}}{An MDI child frame for showing a document view}
|
||||
%\twocolitem{\helpref{wxMDIDocParentFrame}{wxmdidocparentframe}}{An MDI parent frame to contain views}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Printing framework}}
|
||||
@@ -326,14 +326,11 @@ product.
|
||||
{\large {\bf Miscellaneous}}
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxAcceleratorTable}{wxacceleratortable}}{Accelerator table}
|
||||
\twocolitem{\helpref{wxApp}{wxapp}}{Application class}
|
||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
||||
\twocolitem{\helpref{wxHelpController}{wxhelpcontroller}}{Family of classes for controlling help windows}
|
||||
\twocolitem{\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}}{An alternative window layout facility}
|
||||
\twocolitem{\helpref{wxProcess}{wxprocess}}{Process class}
|
||||
\twocolitem{\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}}{Base class for help controllers}
|
||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
|
@@ -16,17 +16,9 @@ There are no special styles for wxCheckBox.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHECKBOX(id, func)}}{Process a wxEVT\_COMMAND\_CHECKBOX\_CLICKED event,
|
||||
when the checkbox is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxRadioButton}{wxradiobutton}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -1,95 +0,0 @@
|
||||
\section{\class{wxCheckListBox}}\label{wxchecklistbox}
|
||||
|
||||
A checklistbox is like a listbox, but allows items to be checked or unchecked.
|
||||
|
||||
This class is currently only implemented under Windows, and wxWindows must be
|
||||
compiled with USE\_OWNER\_DRAWN set to 1.
|
||||
|
||||
Only the new functions for this class are documented; see also \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
See \helpref{wxListBox}{wxlistbox}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxCheckListBox::wxCheckListBox}\label{wxchecklistboxconstr}
|
||||
|
||||
\func{}{wxCheckListBox}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxCheckListBox}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
||||
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
||||
\param{int}{ n}, \param{const wxString }{choices[] = NULL},\rtfsp
|
||||
\param{long}{ style = 0}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listBox"}}
|
||||
|
||||
Constructor, creating and showing a list box.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
|
||||
appropriately.}
|
||||
|
||||
\docparam{n}{Number of strings with which to initialise the control.}
|
||||
|
||||
\docparam{choices}{An array of strings with which to initialise the control.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxCheckListBox}{wxchecklistbox}.}
|
||||
|
||||
\docparam{validator}{Window validator.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxCheckListBox::\destruct{wxCheckListBox}}
|
||||
|
||||
\func{void}{\destruct{wxCheckListBox}}{\void}
|
||||
|
||||
Destructor, destroying the list box.
|
||||
|
||||
\membersection{wxCheckListBox::Check}\label{wxchecklistboxcheck}
|
||||
|
||||
\func{void}{Check}{\param{int }{item}, \param{bool}{ check = TRUE}}
|
||||
|
||||
Checks the given item.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item to check.}
|
||||
|
||||
\docparam{check}{TRUE if the item is to be checked, FALSE otherwise.}
|
||||
|
||||
\membersection{wxCheckListBox::IsChecked}\label{wxchecklistboxischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ item}}
|
||||
|
||||
Returns TRUE if the given item is checked, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{item}{Index of item whose check status is to be returned.}
|
||||
|
||||
|
@@ -17,18 +17,9 @@ There are no special styles for wxChoice.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CHOICE(id, func)}}{Process a wxEVT\_COMMAND\_CHOICE\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxListBox}{wxlistbox}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -10,7 +10,8 @@ No parent class.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
||||
\overview{Overview}{wxclassinfooverview}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -27,16 +27,13 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
}}
|
||||
\end{comment}
|
||||
|
||||
\input accel.tex
|
||||
\input activevt.tex
|
||||
\input app.tex
|
||||
\input button.tex
|
||||
\input bitmap.tex
|
||||
\input bbutton.tex
|
||||
\input brush.tex
|
||||
\input calclevt.tex
|
||||
\input checkbox.tex
|
||||
\input checklst.tex
|
||||
\input choice.tex
|
||||
\input clasinfo.tex
|
||||
\input clientdc.tex
|
||||
@@ -49,12 +46,11 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input cmdevent.tex
|
||||
\input cmdproc.tex
|
||||
\input conditn.tex
|
||||
\input config.tex
|
||||
\input control.tex
|
||||
\input cursor.tex
|
||||
\input database.tex
|
||||
\input date.tex
|
||||
\input datstrm.tex
|
||||
\input datstream.tex
|
||||
\input dc.tex
|
||||
\input ddeclint.tex
|
||||
\input ddeconn.tex
|
||||
@@ -65,8 +61,6 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input document.tex
|
||||
\input docchfrm.tex
|
||||
\input docmanag.tex
|
||||
\input docmdich.tex
|
||||
\input docmdipr.tex
|
||||
\input docprfrm.tex
|
||||
\input doctempl.tex
|
||||
\input dropevt.tex
|
||||
@@ -95,13 +89,11 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input joystick.tex
|
||||
\input joyevent.tex
|
||||
\input keyevent.tex
|
||||
\input layalgor.tex
|
||||
\input layout.tex
|
||||
\input list.tex
|
||||
\input listbox.tex
|
||||
\input listctrl.tex
|
||||
\input listevt.tex
|
||||
\input log.tex
|
||||
\input mask.tex
|
||||
\input mdi.tex
|
||||
\input menu.tex
|
||||
@@ -117,8 +109,6 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input mltchdlg.tex
|
||||
\input mutex.tex
|
||||
\input node.tex
|
||||
\input notebook.tex
|
||||
\input noteevt.tex
|
||||
\input object.tex
|
||||
\input pagedlg.tex
|
||||
\input paintdc.tex
|
||||
@@ -129,22 +119,17 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input pathlist.tex
|
||||
\input pen.tex
|
||||
\input point.tex
|
||||
\input postscpt.tex
|
||||
\input prevwin.tex
|
||||
\input print.tex
|
||||
\input process.tex
|
||||
\input procevt.tex
|
||||
\input postscpt.tex
|
||||
\input query.tex
|
||||
\input qylayevt.tex
|
||||
\input radiobox.tex
|
||||
\input radiobut.tex
|
||||
\input realpoin.tex
|
||||
\input rect.tex
|
||||
\input recrdset.tex
|
||||
\input region.tex
|
||||
\input sashevt.tex
|
||||
\input sashlayw.tex
|
||||
\input sashwin.tex
|
||||
\input screendc.tex
|
||||
\input scrolbar.tex
|
||||
\input scrolevt.tex
|
||||
@@ -153,15 +138,13 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input size.tex
|
||||
\input sizeevt.tex
|
||||
\input slider.tex
|
||||
\input sckaddr.tex
|
||||
\input socket.tex
|
||||
\input spinbutt.tex
|
||||
\input splitter.tex
|
||||
\input statbmp.tex
|
||||
\input statbox.tex
|
||||
\input stattext.tex
|
||||
\input statusbr.tex
|
||||
\input wxstring.tex
|
||||
%\input wxstring.tex
|
||||
\input strlist.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
@@ -178,19 +161,14 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input toolbar.tex
|
||||
\input treectrl.tex
|
||||
\input treeevt.tex
|
||||
\input upditer.tex
|
||||
\input upduievt.tex
|
||||
\input url.tex
|
||||
\input validatr.tex
|
||||
\input view.tex
|
||||
\input wave.tex
|
||||
\input window.tex
|
||||
\input windowdc.tex
|
||||
\input winhelp.tex
|
||||
|
||||
\input function.tex
|
||||
\input keycode.tex
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -13,20 +13,13 @@ functions that take a wxCloseEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function. This
|
||||
event applies to wxFrame and wxDialog classes.}
|
||||
\twocolitem{{\bf EVT\_QUERY\_END\_SESSION(func)}}{Process a query end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\twocolitem{{\bf EVT\__END\_SESSION(func)}}{Process an end session event, supplying the member function.
|
||||
This event applies to wxApp only.}
|
||||
\twocolitem{{\bf EVT\_CLOSE(func)}}{Process a close event, supplying the member function.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession},\rtfsp
|
||||
\helpref{Window deletion overview}{windowdeletionoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
@@ -37,14 +30,6 @@ This event applies to wxApp only.}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxCloseEvent::CanVeto}\label{wxcloseeventcanveto}
|
||||
|
||||
\func{bool}{CanVeto}{\void}
|
||||
|
||||
Returns TRUE if you can veto a system shutdown or a window close event.
|
||||
Vetoing a window close event is not possible if the calling code wishes to
|
||||
force the application to exit, and so this function must be called to check this.
|
||||
|
||||
\membersection{wxCloseEvent::GetLoggingOff}\label{wxcloseeventgetloggingoff}
|
||||
|
||||
\constfunc{bool}{GetLoggingOff}{\void}
|
||||
@@ -59,37 +44,14 @@ Returns TRUE if the session is ending.
|
||||
|
||||
\membersection{wxCloseEvent::GetForce}\label{wxcloseeventgetforce}
|
||||
|
||||
\constfunc{bool}{GetForce}{\void}
|
||||
\constfunc{void}{GetForce}{\void}
|
||||
|
||||
Returns TRUE if the application wishes to force the window to close.
|
||||
This will shortly be obsolete, replaced by CanVeto.
|
||||
|
||||
\membersection{wxCloseEvent::SetCanVeto}\label{wxcloseeventsetcanveto}
|
||||
|
||||
\func{void}{SetCanVeto}{\param{bool}{ canVeto}}
|
||||
|
||||
Sets the 'can veto' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetForce}\label{wxcloseeventsetforce}
|
||||
|
||||
\constfunc{void}{SetForce}{\param{bool}{ force}}
|
||||
|
||||
Sets the 'force' flag.
|
||||
|
||||
\membersection{wxCloseEvent::SetLoggingOff}\label{wxcloseeventsetloggingoff}
|
||||
|
||||
\constfunc{void}{SetLoggingOff}{\param{bool}{ loggingOff}}
|
||||
|
||||
Sets the 'logging off' flag.
|
||||
|
||||
\membersection{wxCloseEvent::Veto}\label{wxcloseeventveto}
|
||||
|
||||
\func{void}{Veto}{\param{bool}{ veto = TRUE}}
|
||||
\func{void}{Veto}{\void}
|
||||
|
||||
Call this from your event handler to veto a system shutdown or to signal
|
||||
to the calling application that a window close did not happen.
|
||||
|
||||
You can only veto a shutdown if \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns
|
||||
TRUE.
|
||||
Call this from your event handler to veto a system shutdown.
|
||||
|
||||
|
||||
|
@@ -27,7 +27,7 @@ which is generated by a wxCheckBox control.}
|
||||
which is generated by a wxChoice control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
\twocolitem{{\bf EVT\_LISTBOX_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED command,
|
||||
which is generated by a wxListBox control.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
|
||||
which is generated by a wxTextCtrl control.}
|
||||
@@ -48,16 +48,12 @@ which is generated by a wxScrollBar control. This is provided for compatibility
|
||||
more specific scrollbar event macros should be used instead (see \helpref{wxScrollEvent}{wxscrollevent}).}
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
|
||||
which is generated by a wxComboBox control.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
for a range id identifiers. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||
Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||
for a range of ids. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
|
||||
which is generated by a toobar button.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_CLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
|
||||
which is generated by a control (Windows 95 and NT only).}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LEFT\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_DCLICK command,
|
||||
@@ -181,8 +177,3 @@ Sets the {\bf m\_commandInt} member.
|
||||
|
||||
Sets the {\bf m\_commandString} member.
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -26,20 +26,9 @@ displaying the current selection.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED event,
|
||||
when the combobox text changes.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -1,621 +0,0 @@
|
||||
\section{\class{wxConfigBase}}\label{wxconfigbase}
|
||||
|
||||
wxConfigBase class defines the basic interface of all config classes. It can
|
||||
not be used by itself (it's an abstract base class) and you'll always use one
|
||||
of its derivations: wxIniConfig, wxFileConfig, wxRegConfig or any other.
|
||||
|
||||
However, usually you don't even need to know the precise nature of the class
|
||||
you're working with but you would just use the wxConfigBase methods. This
|
||||
allows you to write the same code regardless of whether you're working with
|
||||
the registry under Win32 or text-based config files under Unix (or even
|
||||
Windows 3.1 .INI files if you're really unlucky). To make writing the portable
|
||||
code even easier, wxWindows provides a typedef wxConfig
|
||||
which is mapped onto the native wxConfigBase implementation on the given
|
||||
platform: i.e. wxRegConfig under Win32, wxIniConfig under Win16 and
|
||||
wxFileConfig otherwise.
|
||||
|
||||
See \helpref{config overview}{wxconfigoverview} for the descriptions of all
|
||||
features of this class.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\wxheading{Example}
|
||||
|
||||
Here is how you would typically use this class:
|
||||
|
||||
\begin{verbatim}
|
||||
// using wxConfig instead of writing wxFileConfig or wxRegConfig enhances
|
||||
// portability of the code
|
||||
wxConfig *config = new wxConfig("MyAppName");
|
||||
|
||||
wxString str;
|
||||
if ( config->Read("LastPrompt", &str) ) {
|
||||
// last prompt was found in the config file/registry and its value is now
|
||||
// in str
|
||||
...
|
||||
}
|
||||
else {
|
||||
// no last prompt...
|
||||
}
|
||||
|
||||
// another example: using default values and the full path instead of just
|
||||
// key name: if the key is not found , the value 17 is returned
|
||||
long value = config->Read("/LastRun/CalculatedValues/MaxValue", -1);
|
||||
...
|
||||
...
|
||||
...
|
||||
// at the end of the program we would save everything back
|
||||
config->Write("LastPrompt", str);
|
||||
config->Write("/LastRun/CalculatedValues/MaxValue", value);
|
||||
|
||||
// the changes will be written back automatically
|
||||
delete config;
|
||||
\end{verbatim}
|
||||
|
||||
This basic example, of course, doesn't show all wxConfig features, such as
|
||||
enumerating, testing for existence and deleting the entries and groups of
|
||||
entries in the config file, its abilities to automatically store the default
|
||||
values or expand the environment variables on the fly. However, the main idea
|
||||
is that using this class is easy and that it should normally do what you
|
||||
expect it to.
|
||||
|
||||
NB: in the documentation of this class, the words "config file" also mean
|
||||
"registry hive" for wxRegConfig and, generally speaking, might mean any
|
||||
physical storage where a wxConfigBase-derived class stores its data.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Static functions}
|
||||
|
||||
These functions deal with the "default" config object. Although its usage is
|
||||
not at all mandatory it may be convenient to use a global config object
|
||||
instead of creating and deleting the local config objects each time you need
|
||||
one (especially because creating a wxFileConfig object might be a time
|
||||
consuming operation). In this case, you may create this global config object
|
||||
in the very start of the program and {\it Set()} it as the default. Then, from
|
||||
anywhere in your program, you may access it using the {\it Get()} function. Of
|
||||
course, you should delete it on the program termination (otherwise, not only a
|
||||
memory leak will result, but even more importantly the changes won't be
|
||||
written back!).
|
||||
|
||||
As it happens, you may even further simplify the procedure described above:
|
||||
you may forget about calling {\it Set()}. When {\it Get()} is called and there
|
||||
is no current object, it will create one using {\it Create()} function. To
|
||||
disable this behaviour {\it DontCreateOnDemand()} is provided.
|
||||
|
||||
\helpref{Set}{wxconfigbaseset}\\
|
||||
\helpref{Get}{wxconfigbaseget}\\
|
||||
\helpref{Create}{wxconfigbasecreate}\\
|
||||
\helpref{DontCreateOnDemand}{wxconfigbasedontcreateondemand}
|
||||
|
||||
\membersection{Constructor and destructor}
|
||||
|
||||
\helpref{wxConfigBase}{wxconfigbasector}\\
|
||||
\helpref{\destruct{wxConfigBase}}{wxconfigbasedtor}
|
||||
|
||||
\membersection{Path management}
|
||||
|
||||
As explained in \helpref{config overview}{wxconfigoverview}, the config classes
|
||||
support a file system-like hierarchy of keys (files) and groups (directories).
|
||||
As in the file system case, to specify a key in the config class you must use
|
||||
a path to it. Config classes also support the notion of the current group,
|
||||
which makes it possible to use the relative paths. To clarify all this, here
|
||||
is an example (it's only for the sake of demonstration, it doesn't do anything
|
||||
sensible!):
|
||||
|
||||
\begin{verbatim}
|
||||
wxConfig *config = new wxConfig("FooBarApp");
|
||||
|
||||
// right now the current path is '/'
|
||||
conf->Write("RootEntry", 1);
|
||||
|
||||
// go to some other place: if the group(s) don't exist, they will be created
|
||||
conf->SetPath("/Group/Subgroup");
|
||||
|
||||
// create an entry in subgroup
|
||||
conf->Write("SubgroupEntry", 3);
|
||||
|
||||
// '..' is understood
|
||||
conf->Write("../GroupEntry", 2);
|
||||
conf->SetPath("..");
|
||||
|
||||
wxASSERT( conf->Read("Subgroup/SubgroupEntry", 0l) == 3 );
|
||||
|
||||
// use absolute path: it's allowed, too
|
||||
wxASSERT( conf->Read("/RootEntry", 0l) == 1 );
|
||||
\end{verbatim}
|
||||
|
||||
{\it Warning}: it's probably a good idea to always restore the path to its
|
||||
old value on function exit:
|
||||
|
||||
\begin{verbatim}
|
||||
void foo(wxConfigBase *config)
|
||||
{
|
||||
wxString strOldPath = config->GetPath();
|
||||
|
||||
config->SetPath("/Foo/Data");
|
||||
...
|
||||
|
||||
config->SetPath(strOldPath);
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
because otherwise the assert in the following example will surely fail
|
||||
(we suppose here that {\it foo()} function is the same as above except that it
|
||||
doesn't save and restore the path):
|
||||
|
||||
\begin{verbatim}
|
||||
void bar(wxConfigBase *config)
|
||||
{
|
||||
config->Write("Test", 17);
|
||||
|
||||
foo(config);
|
||||
|
||||
// we're reading "/Foo/Data/Test" here! -1 will probably be returned...
|
||||
wxASSERT( config->Read("Test", -1) == 17 );
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
Finally, the path separator in wxConfigBase and derived classes is always '/',
|
||||
regardless of the platform (i.e. it's {\bf not} '$\backslash\backslash$' under Windows).
|
||||
|
||||
\helpref{SetPath}{wxconfigbasesetpath}\\
|
||||
\helpref{GetPath}{wxconfigbasegetpath}
|
||||
|
||||
\membersection{Enumeration}
|
||||
|
||||
The functions in this section allow to enumerate all entries and groups in the
|
||||
config file. All functions here return FALSE when there are no more items.
|
||||
|
||||
You must pass the same index to GetNext and GetFirst (don't modify it).
|
||||
Please note that it's {\bf not} the index of the current item (you will have
|
||||
some great surprizes with wxRegConfig if you assume this) and you shouldn't
|
||||
even look at it: it's just a "cookie" which stores the state of the
|
||||
enumeration. It can't be stored inside the class because it would prevent you
|
||||
from running several enumerations simultaneously, that's why you must pass it
|
||||
explicitly.
|
||||
|
||||
Having said all this, enumerating the config entries/groups is very simple:
|
||||
|
||||
\begin{verbatim}
|
||||
wxArrayString aNames;
|
||||
|
||||
// enumeration variables
|
||||
wxString str;
|
||||
long dummy;
|
||||
|
||||
// first enum all entries
|
||||
bool bCont = config->GetFirstEntry(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextEntry(str, dummy);
|
||||
}
|
||||
|
||||
... we have all entry names in aNames...
|
||||
|
||||
// now all groups...
|
||||
bCont = GetConfig()->GetFirstGroup(str, dummy);
|
||||
while ( bCont ) {
|
||||
aNames.Add(str);
|
||||
|
||||
bCont = GetConfig()->GetNextGroup(str, dummy);
|
||||
}
|
||||
|
||||
... we have all group (and entry) names in aNames...
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
There are also functions to get the number of entries/subgroups without
|
||||
actually enumerating them, but you will probably never need them.
|
||||
|
||||
\helpref{GetFirstGroup}{wxconfigbasegetfirstgroup}\\
|
||||
\helpref{GetNextGroup}{wxconfigbasegetnextgroup}\\
|
||||
\helpref{GetFirstEntry}{wxconfigbasegetfirstentry}\\
|
||||
\helpref{GetNextEntry}{wxconfigbasegetnextentry}\\
|
||||
\helpref{GetNumberOfEntries}{wxconfigbasegetnumberofentries}\\
|
||||
\helpref{GetNumberOfGroups}{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\membersection{Tests of existence}
|
||||
|
||||
\helpref{HasGroup}{wxconfigbasehasgroup}\\
|
||||
\helpref{HasEntry}{wxconfigbasehasentry}\\
|
||||
\helpref{Exists}{wxconfigbaseexists}
|
||||
|
||||
\membersection{Miscellaneous accessors}
|
||||
|
||||
\helpref{SetAppName}{wxconfigbasesetappname}\\
|
||||
\helpref{GetAppName}{wxconfigbasegetappname}\\
|
||||
\helpref{SetVendorName}{wxconfigbasesetvendorname}\\
|
||||
\helpref{GetVendorName}{wxconfigbasegetvendorname}
|
||||
|
||||
\membersection{Key access}
|
||||
|
||||
These function are the core of wxConfigBase class: they allow you to read and
|
||||
write config file data. All {\it Read} function take a default value which
|
||||
will be returned if the specified key is not found in the config file.
|
||||
|
||||
Currently, only two types of data are supported: string and long (but it might
|
||||
change in the near future). To work with other types: for {\it int} or {\it
|
||||
bool} you can work with function taking/returning {\it long} and just use the
|
||||
casts. Better yet, just use {\it long} for all variables which you're going to
|
||||
save in the config file: chances are that \verb$sizeof(bool) == sizeof(int) == sizeof(long)$ anyhow on your system. For {\it float}, {\it double} and, in
|
||||
general, any other type you'd have to translate them to/from string
|
||||
representation and use string functions.
|
||||
|
||||
Try not to read long values into string variables and vice versa: although it
|
||||
just might work with wxFileConfig, you will get a system error with
|
||||
wxRegConfig because in the Windows registry the different types of entries are
|
||||
indeed used.
|
||||
|
||||
Final remark: the {\it szKey} parameter for all these functions can contain an
|
||||
arbitrary path (either relative or absolute), not just the key name.
|
||||
|
||||
\helpref{Read}{wxconfigbaseread}\\
|
||||
\helpref{Write}{wxconfigbasewrite}\\
|
||||
\helpref{Flush}{wxconfigbaseflush}
|
||||
|
||||
\membersection{Delete entries/groups}
|
||||
|
||||
The functions in this section delete entries and/or groups of entries from the
|
||||
config file. {\it DeleteAll()} is especially useful if you want to erase all
|
||||
traces of your program presence: for example, when you uninstall it.
|
||||
|
||||
\helpref{DeleteEntry}{wxconfigbasedeleteentry}\\
|
||||
\helpref{DeleteGroup}{wxconfigbasedeletegroup}\\
|
||||
\helpref{DeleteAll}{wxconfigbasedeleteall}
|
||||
|
||||
\membersection{Options}
|
||||
|
||||
Some aspects of wxConfigBase behaviour can be changed during run-time. The
|
||||
first of them is the expansion of environment variables in the string values
|
||||
read from the config file: for example, if you have the following in your
|
||||
config file:
|
||||
|
||||
\begin{verbatim}
|
||||
# config file for my program
|
||||
UserData = $HOME/data
|
||||
|
||||
# the following syntax is valud only under Windows
|
||||
UserData = %windir%\\data.dat
|
||||
\end{verbatim}
|
||||
|
||||
the call to \verb$config->Read("UserData")$ will return something like
|
||||
\verb$"/home/zeitlin/data"$ if you're lucky enough to run a Linux system ;-)
|
||||
|
||||
Although this feature is very useful, it may be annoying if you read a value
|
||||
which containts '\$' or '\%' symbols (\% is used for environment variables
|
||||
expansion under Windows) which are not used for environment variable
|
||||
expansion. In this situation you may call SetExpandEnvVars(FALSE) just before
|
||||
reading this value and SetExpandEnvVars(TRUE) just after. Another solution
|
||||
would be to prefix the offending symbols with a backslash.
|
||||
|
||||
The following functions control this option:
|
||||
|
||||
\helpref{IsExpandingEnvVars}{wxconfigbaseisexpandingenvvars}\\
|
||||
\helpref{SetExpandingEnvVars}{wxconfigbasesetexpandingenvvars}\\
|
||||
\helpref{SetRecordDefaults}{wxconfigbasesetrecorddefaults}\\
|
||||
\helpref{IsRecordingDefaults}{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{wxConfigBase::wxConfigBase}\label{wxconfigbasector}
|
||||
|
||||
\func{}{wxConfigBase}{\param{const wxString\& }{appName = wxEmptyString},
|
||||
\param{const wxString\& }{vendorName = wxEmptyString},
|
||||
\param{const wxString\& }{localFilename = wxEmptyString},
|
||||
\param{const wxString\& }{globalFilename = wxEmptyString},
|
||||
\param{long}{ style = 0}}
|
||||
|
||||
This is the default and only constructor of the wxConfigBase class, and
|
||||
derived classes.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{appName}{The application name. If this is empty, the class will
|
||||
normally use \helpref{wxApp::GetAppName}{wxappgetappname} to set it. The
|
||||
application name is used in the registry key on Windows, and can be used to
|
||||
deduce the local filename parameter if that is missing.}
|
||||
|
||||
\docparam{vendorName}{The vendor name. If this is empty, it is assumed that
|
||||
no vendor name is wanted, if this is optional for the current config class.
|
||||
The vendor name is appended to the application name for wxRegConfig.}
|
||||
|
||||
\docparam{localFilename}{Some config classes require a local filename. If this
|
||||
is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{globalFilename}{Some config classes require a global filename. If
|
||||
this is not present, but required, the application name will be used instead.}
|
||||
|
||||
\docparam{style}{Can be one of wxCONFIG\_USE\_LOCAL\_FILE and
|
||||
wxCONFIG\_USE\_GLOBAL\_FILE. The style interpretation depends on the config
|
||||
class and is ignored by some. For wxFileConfig, these styles determine whether
|
||||
a local or global config file is created or used. If the flag is present but
|
||||
the parameter is empty, the parameter will be set to a default. If the
|
||||
parameter is present but the style flag not, the relevant flag will be added
|
||||
to the style.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
By default, environment variable expansion is on and recording defaults is
|
||||
off.
|
||||
|
||||
\membersection{wxConfigBase::\destruct{wxConfigBase}}\label{wxconfigbasedtor}
|
||||
|
||||
\func{}{\destruct{wxConfigBase}}{\void}
|
||||
|
||||
Empty but ensures that dtor of all derived classes is virtual.
|
||||
|
||||
\membersection{wxConfigBase::Create}\label{wxconfigbasecreate}
|
||||
|
||||
\func{static wxConfigBase *}{Create}{\void}
|
||||
|
||||
Create a new config object: this function will create the "best"
|
||||
implementation of wxConfig available for the current platform, see comments
|
||||
near the definition of wxCONFIG\_WIN32\_NATIVE for details. It returns the
|
||||
created object and also sets it as the current one.
|
||||
|
||||
\membersection{wxConfigBase::DontCreateOnDemand}\label{wxconfigbasedontcreateondemand}
|
||||
|
||||
\func{void}{DontCreateOnDemand}{\void}
|
||||
|
||||
Calling this function will prevent {\it Get()} from automatically creating a
|
||||
new config object if the current one is NULL. It might be useful to call it
|
||||
near the program end to prevent new config object "accidental" creation.
|
||||
|
||||
\membersection{wxConfigBase::DeleteAll}\label{wxconfigbasedeleteall}
|
||||
|
||||
\func{bool}{DeleteAll}{\void}
|
||||
|
||||
Delete the whole underlying object (disk file, registry key, ...). Primarly
|
||||
for use by desinstallation routine.
|
||||
|
||||
\membersection{wxConfigBase::DeleteEntry}\label{wxconfigbasedeleteentry}
|
||||
|
||||
\func{bool}{DeleteEntry}{\param{const wxString\& }{ key}, \param{bool}{
|
||||
bDeleteGroupIfEmpty = TRUE}}
|
||||
|
||||
Deletes the specified entry and the group it belongs to if it was the last key
|
||||
in it and the second parameter is true.
|
||||
|
||||
\membersection{wxConfigBase::DeleteGroup}\label{wxconfigbasedeletegroup}
|
||||
|
||||
\func{bool}{DeleteGroup}{\param{const wxString\& }{ key}}
|
||||
|
||||
Delete the group (with all subgroups)
|
||||
|
||||
\membersection{wxConfigBase::Exists}\label{wxconfigbaseexists}
|
||||
|
||||
\constfunc{bool}{Exists}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if either a group or an entry with a given name exists
|
||||
|
||||
\membersection{wxConfigBase::Flush}\label{wxconfigbaseflush}
|
||||
|
||||
\func{bool}{Flush}{\param{bool }{bCurrentOnly = FALSE}}
|
||||
|
||||
permanently writes all changes (otherwise, they're only written from object's
|
||||
destructor)
|
||||
|
||||
\membersection{wxConfigBase::Get}\label{wxconfigbaseget}
|
||||
|
||||
\func{wxConfigBase *}{Get}{\void}
|
||||
|
||||
Get the current config object. If there is no current object, creates one
|
||||
(using {\it Create}) unless DontCreateOnDemand was called previously.
|
||||
|
||||
\membersection{wxConfigBase::GetAppName}\label{wxconfigbasegetappname}
|
||||
|
||||
\constfunc{wxString}{GetAppName}{\void}
|
||||
|
||||
Returns the application name.
|
||||
|
||||
\membersection{wxConfigBase::GetFirstGroup}\label{wxconfigbasegetfirstgroup}
|
||||
|
||||
\constfunc{bool}{GetFirstGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first group.
|
||||
|
||||
\membersection{wxConfigBase::GetFirstEntry}\label{wxconfigbasegetfirstentry}
|
||||
|
||||
\constfunc{bool}{GetFirstEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the first entry.
|
||||
|
||||
\membersection{wxConfigBase::GetNextGroup}\label{wxconfigbasegetnextgroup}
|
||||
|
||||
\constfunc{bool}{GetNextGroup}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next group.
|
||||
|
||||
\membersection{wxConfigBase::GetNextEntry}\label{wxconfigbasegetnextentry}
|
||||
|
||||
\constfunc{bool}{GetNextEntry}{\param{wxString\& }{str}, \param{long\&}{
|
||||
index}}
|
||||
|
||||
Gets the next entry.
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfEntries}\label{wxconfigbasegetnumberofentries}
|
||||
|
||||
\constfunc{uint }{GetNumberOfEntries}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
\membersection{wxConfigBase::GetNumberOfGroups}\label{wxconfigbasegetnumberofgroups}
|
||||
|
||||
\constfunc{uint}{GetNumberOfGroups}{\param{bool }{bRecursive = FALSE}}
|
||||
|
||||
Get number of entries/subgroups in the current group, with or without its
|
||||
subgroups.
|
||||
|
||||
\membersection{wxConfigBase::GetPath}\label{wxconfigbasegetpath}
|
||||
|
||||
\constfunc{const wxString\&}{GetPath}{\void}
|
||||
|
||||
Retrieve the current path (always as absolute path).
|
||||
|
||||
\membersection{wxConfigBase::GetVendorName}\label{wxconfigbasegetvendorname}
|
||||
|
||||
\constfunc{wxString}{GetVendorName}{\void}
|
||||
|
||||
Returns the vendor name.
|
||||
|
||||
\membersection{wxConfigBase::HasEntry}\label{wxconfigbasehasentry}
|
||||
|
||||
\constfunc{bool}{HasEntry}{\param{wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the entry by this name exists
|
||||
|
||||
\membersection{wxConfigBase::HasGroup}\label{wxconfigbasehasgroup}
|
||||
|
||||
\constfunc{bool}{HasGroup}{\param{const wxString\& }{strName}}
|
||||
|
||||
returns TRUE if the group by this name exists
|
||||
|
||||
\membersection{wxConfigBase::IsExpandingEnvVars}\label{wxconfigbaseisexpandingenvvars}
|
||||
|
||||
\constfunc{bool}{IsExpandingEnvVars}{\void}
|
||||
|
||||
Returns TRUE if we are expanding environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::IsRecordingDefaults}\label{wxconfigbaseisrecordingdefaults}
|
||||
|
||||
\func{bool}{IsRecordingDefaults}{\void} const
|
||||
|
||||
Returns TRUE if we are writing defaults back to the config file.
|
||||
|
||||
\membersection{wxConfigBase::Read}\label{wxconfigbaseread}
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}}
|
||||
|
||||
Read a string from the key, returning TRUE if the value was read. If the key
|
||||
was not found, {\it str} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{key}, \param{wxString*}{
|
||||
str}, \param{const wxString\& }{defaultVal}}
|
||||
|
||||
Read a string from the key. The default value is returned if the key was not
|
||||
found.
|
||||
|
||||
Returns TRUE if value was really read, FALSE if the default was used.
|
||||
|
||||
\constfunc{wxString}{Read}{\param{const wxString\& }{key}, \param{const
|
||||
wxString\& }{defaultVal}}
|
||||
|
||||
Another version of {\it Read()}, returning the string value directly.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it l} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{long*}{ l},
|
||||
\param{long}{ defaultVal}}
|
||||
|
||||
Reads a long value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{long }{Read}{\param{const wxString\& }{key}, \param{long}{
|
||||
defaultVal}}
|
||||
|
||||
Reads a long value from the key and returns it. {\it defaultVal} is returned
|
||||
if the key is not found.
|
||||
|
||||
NB: writing
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0); \end{verbatim} }
|
||||
|
||||
won't work because the call is ambiguous: compiler can not choose between two
|
||||
{\it Read} functions. Instead, write:
|
||||
|
||||
{\small \begin{verbatim} conf->Read("key", 0l); \end{verbatim} }
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it d} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{double*}{ d},
|
||||
\param{double}{ defaultVal}}
|
||||
|
||||
Reads a double value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ b}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it b} is not changed.
|
||||
|
||||
\constfunc{bool}{Read}{\param{const wxString\& }{ key}, \param{bool*}{ d},
|
||||
\param{bool}{ defaultVal}}
|
||||
|
||||
Reads a bool value, returning TRUE if the value was found. If the value was
|
||||
not found, {\it defaultVal} is used instead.
|
||||
|
||||
\membersection{wxConfigBase::Set}\label{wxconfigbaseset}
|
||||
|
||||
\func{wxConfigBase *}{Set}{\param{wxConfigBase *}{pConfig}}
|
||||
|
||||
Sets the config object as the current one, returns the pointer to the previous
|
||||
current object (both the parameter and returned value may be NULL)
|
||||
|
||||
\membersection{wxConfigBase::SetAppName}\label{wxconfigbasesetappname}
|
||||
|
||||
\func{void }{SetAppName}{\param{const wxString\&}{ appName}}
|
||||
|
||||
Sets the application name.
|
||||
|
||||
\membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars}
|
||||
|
||||
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Determine whether we wish to expand environment variables in key values.
|
||||
|
||||
\membersection{wxConfigBase::SetPath}\label{wxconfigbasesetpath}
|
||||
|
||||
\func{void}{SetPath}{\param{const wxString\& }{strPath}}
|
||||
|
||||
Set current path: if the first character is '/', it's the absolute path,
|
||||
otherwise it's a relative path. '..' is supported. If the strPath doesn't
|
||||
exist it is created.
|
||||
|
||||
\membersection{wxConfigBase::SetRecordDefaults}\label{wxconfigbasesetrecorddefaults}
|
||||
|
||||
\func{void}{SetRecordDefaults}{\param{bool }{bDoIt = TRUE}}
|
||||
|
||||
Sets whether defaults are written back to the config file.
|
||||
|
||||
If on (default is off) all default values are written back to the config file.
|
||||
This allows the user to see what config options may be changed and is probably
|
||||
useful only for wxFileConfig.
|
||||
|
||||
\membersection{wxConfigBase::SetVendorName}\label{wxconfigbasesetvendorname}
|
||||
|
||||
\func{void}{SetVendorName}{\param{const wxString\&}{ vendorName}}
|
||||
|
||||
Sets the vendor name.
|
||||
|
||||
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{
|
||||
value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{long}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{double}{ value}}
|
||||
|
||||
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{bool}{ value}}
|
||||
|
||||
These functions write the specified value to the config file and return TRUE
|
||||
on success.
|
||||
|
||||
|
@@ -6,7 +6,7 @@ Sparc or anything else.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
|
||||
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
|
||||
|
||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||
|
||||
@@ -96,19 +96,14 @@ Writes the double {\it f} to the stream using the IEEE format.
|
||||
|
||||
\membersection{wxDataStream::WriteString}
|
||||
|
||||
\func{void}{wxDataStream::WriteString}{{\param const wxString\& }{string}}
|
||||
\func{void}{wxDataStream::WriteString}{{\param const wxString& }{string}}
|
||||
|
||||
Writes {\it string} to the stream. Actually, this method writes the size of
|
||||
the string before writing {\it string} itself.
|
||||
|
||||
\membersection{wxDataStream::WriteLine}
|
||||
|
||||
\func{void}{wxDataStream::WriteLine}{{\param const wxString\& }{string}}
|
||||
\func{void}{wxDataStream::WriteLine}{{\param const wxString& }{string}}
|
||||
|
||||
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||
\\n or \\r\\n.
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -157,12 +157,10 @@ mapping mode. Use this function for converting a height, for example.
|
||||
|
||||
\func{void}{DrawArc}{\param{long}{ x1}, \param{long}{ y1}, \param{long}{ x2}, \param{long}{ y2}, \param{double}{ xc}, \param{double}{ yc}}
|
||||
|
||||
Draws an arc of a circle, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
|
||||
Draws an arc, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
|
||||
and ending at ({\it x2, y2}). The current pen is used for the outline
|
||||
and the current brush for filling the shape.
|
||||
|
||||
The arc is drawn in an anticlockwise direction from the start point to the end point.
|
||||
|
||||
\membersection{wxDC::DrawEllipse}\label{wxdcdrawellipse}
|
||||
|
||||
\func{void}{DrawEllipse}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
|
||||
|
@@ -74,8 +74,6 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetLevel}{wxdebugcontextsetlevel}
|
||||
@@ -86,8 +84,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
Returns the output stream associated with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}
|
||||
@@ -100,8 +96,6 @@ Returns a pointer to the output stream buffer associated with the debug context.
|
||||
There may not necessarily be a stream buffer if the stream has been set
|
||||
by the user.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::HasStream}\label{wxdebugcontexthasstream}
|
||||
|
||||
\func{bool}{HasStream}{\void}
|
||||
@@ -109,8 +103,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Returns TRUE if there is a stream currently associated
|
||||
with the debug context.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}, \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream}
|
||||
@@ -203,8 +195,6 @@ the WXTRACELEVEL macro to specify how detailed the trace information is; setting
|
||||
a different level will only have an effect if trace statements in the application
|
||||
specify a value other than one.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDebugContext::GetLevel}{wxdebugcontextgetlevel}
|
||||
@@ -216,8 +206,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Sets the debugging stream to be the debugger (Windows) or standard error (other platforms).
|
||||
This is the default setting. The existing stream will be flushed and deleted.
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\membersection{wxDebugContext::SetStream}\label{wxdebugcontextsetstream}
|
||||
|
||||
\func{void}{SetStream}{\param{ostream* }{stream}, \param{streambuf* }{streamBuf = NULL}}
|
||||
@@ -225,8 +213,6 @@ This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
Sets the stream and optionally, stream buffer associated with the debug context.
|
||||
This operation flushes and deletes the existing stream (and stream buffer if any).
|
||||
|
||||
This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{stream}{Stream to associate with the debug context. Do not set this to NULL.}
|
||||
@@ -245,8 +231,6 @@ Windows, an ostream constructed with this buffer outputs
|
||||
to the debugger, or other program that intercepts debugging
|
||||
output. On other platforms, the output goes to standard error (cerr).
|
||||
|
||||
This is soon to be obsolete, replaced by \helpref{wxLog}{wxlog} functionality.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
streambuf
|
||||
|
@@ -30,9 +30,8 @@ dialog to respond to system close events.
|
||||
\twocolitem{\windowstyle{wxCAPTION}}{Puts a caption on the dialog box (Motif only).}
|
||||
\twocolitem{\windowstyle{wxDEFAULT\_DIALOG\_STYLE}}{Equivalent to a combination of wxCAPTION, wxSYSTEM\_MENU and wxTHICK\_FRAME}
|
||||
\twocolitem{\windowstyle{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Motif only).}
|
||||
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
|
||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
|
||||
\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
|
||||
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu (Motif only).}
|
||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window (Motif only).}
|
||||
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
|
||||
should not have 3D borders unless specified in the control.}
|
||||
\end{twocollist}
|
||||
|
@@ -35,7 +35,7 @@ The view associated with the frame.
|
||||
\membersection{wxDocChildFrame::wxDocChildFrame}
|
||||
|
||||
\func{}{wxDocChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
|
||||
\param{wxWindowID}{ id}, \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size = wxDefaultSize},
|
||||
\param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}
|
||||
|
||||
|
@@ -12,7 +12,7 @@ and \helpref{wxDocTemplate}{wxdoctemplate} classes.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxDocManager overview}{wxdocmanageroverview}, \helpref{wxDocument}{wxdocument},\rtfsp
|
||||
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}, \helpref{wxFileHistory}{wxfilehistory}
|
||||
\helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -139,54 +139,28 @@ of view is presented to the user.
|
||||
|
||||
Removes the template from the list of templates.
|
||||
|
||||
\membersection{wxDocManager::FileHistoryAddFilesToMenu}\label{wxdocmanagerfilehistoryaddfilestomenu}
|
||||
\membersection{wxDocManager::FileHistoryLoad}
|
||||
|
||||
\func{void}{FileHistoryAddFilesToMenu}{\void}
|
||||
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
|
||||
Appends the files in the history list, to all menus managed by the file history object.
|
||||
|
||||
\func{void}{FileHistoryAddFilesToMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
Appends the files in the history list, to the given menu only.
|
||||
|
||||
\membersection{wxDocManager::FileHistoryLoad}\label{wxdocmanagerfilehistoryload}
|
||||
|
||||
\func{void}{FileHistoryLoad}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Loads the file history from a config object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxDocManager::FileHistoryRemoveMenu}\label{wxdocmanagerfilehistoryremovemenu}
|
||||
|
||||
\func{void}{FileHistoryRemoveMenu}{\param{wxMenu*}{ menu}}
|
||||
|
||||
Removes the given menu from the list of menus managed by the file history object.
|
||||
|
||||
\membersection{wxDocManager::FileHistorySave}\label{wxdocmanagerfilehistorysave}
|
||||
|
||||
\func{void}{FileHistorySave}{\param{wxConfigBase\& }{resourceFile}}
|
||||
|
||||
Saves the file history into a config object. This must be called
|
||||
Loads the file history from a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\wxheading{See also}
|
||||
\membersection{wxDocManager::FileHistorySave}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
|
||||
\membersection{wxDocManager::FileHistoryUseMenu}\label{wxdocmanagerfilehistoryusemenu}
|
||||
Saves the file history into a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu*}{ menu}}
|
||||
\membersection{wxDocManager::FileHistoryUseMenu}
|
||||
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu *}{menu}}
|
||||
|
||||
Use this menu for appending recently-visited document filenames, for convenient
|
||||
access. Calling this function with a valid menu pointer enables the history
|
||||
list functionality.
|
||||
|
||||
Note that you can add multiple menus using this function, to be managed by the
|
||||
file history object.
|
||||
|
||||
\membersection{wxDocManager::FindTemplateForPath}
|
||||
|
||||
\func{wxDocTemplate *}{FindTemplateForPath}{\param{const wxString\& }{path}}
|
||||
|
@@ -1,89 +0,0 @@
|
||||
\section{\class{wxDocMDIChildFrame}}\label{wxdocmdichildframe}
|
||||
|
||||
The wxDocMDIChildFrame class provides a default frame for displaying documents
|
||||
on separate windows. This class can only be used for MDI child frames.
|
||||
|
||||
The class is part of the document/view framework supported by wxWindows,
|
||||
and cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument},
|
||||
\rtfsp\helpref{wxDocManager}{wxdocmanager} and \helpref{wxDocTemplate}{wxdoctemplate} classes.
|
||||
|
||||
See the example application in {\tt samples/docview}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxMDIChildFrame}{wxmdichildframe}\\
|
||||
\helpref{wxFrame}{wxframe}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Document/view overview}{docviewoverview}, \helpref{wxMDIChildFrame}{wxmdichildframe}
|
||||
|
||||
\membersection{wxDocMDIChildFrame::m\_childDocument}
|
||||
|
||||
\member{wxDocument*}{m\_childDocument}
|
||||
|
||||
The document associated with the frame.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::m\_childView}
|
||||
|
||||
\member{wxView*}{m\_childView}
|
||||
|
||||
The view associated with the frame.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::wxDocMDIChildFrame}
|
||||
|
||||
\func{}{wxDocMDIChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
|
||||
\param{wxWindowID}{ id}, \param{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size = wxDefaultSize},
|
||||
\param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::\destruct{wxDocMDIChildFrame}}
|
||||
|
||||
\func{}{\destruct{wxDocMDIChildFrame}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::GetDocument}
|
||||
|
||||
\constfunc{wxDocument*}{GetDocument}{\void}
|
||||
|
||||
Returns the document associated with this frame.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::GetView}
|
||||
|
||||
\constfunc{wxView*}{GetView}{\void}
|
||||
|
||||
Returns the view associated with this frame.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::OnActivate}
|
||||
|
||||
\func{void}{OnActivate}{\param{bool}{ active}}
|
||||
|
||||
Sets the currently active view to be the frame's view. You may need
|
||||
to override (but still call) this function in order to set the keyboard
|
||||
focus for your subwindow.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::OnClose}
|
||||
|
||||
\func{virtual bool}{OnClose}{\void}
|
||||
|
||||
Closes and deletes the current view and document.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::SetDocument}
|
||||
|
||||
\func{void}{SetDocument}{\param{wxDocument *}{doc}}
|
||||
|
||||
Sets the document for this frame.
|
||||
|
||||
\membersection{wxDocMDIChildFrame::SetView}
|
||||
|
||||
\func{void}{SetView}{\param{wxView *}{view}}
|
||||
|
||||
Sets the view for this frame.
|
||||
|
||||
|
@@ -1,79 +0,0 @@
|
||||
\section{\class{wxDocMDIParentFrame}}\label{wxdocmdiparentframe}
|
||||
|
||||
The wxDocMDIParentFrame class provides a default top-level frame for
|
||||
applications using the document/view framework. This class can only be used for MDI parent frames.
|
||||
|
||||
It cooperates with the \helpref{wxView}{wxview}, \helpref{wxDocument}{wxdocument},
|
||||
\rtfsp\helpref{wxDocManager}{wxdocmanager} and \helpref{wxDocTemplates}{wxdoctemplate} classes.
|
||||
|
||||
See the example application in {\tt samples/docview}.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxMDIParentFrame}{wxmdiparentframe}\\
|
||||
\helpref{wxFrame}{wxframe}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Document/view overview}{docviewoverview}, \helpref{wxMDIParentFrame}{wxmdiparentframe}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxDocMDIParentFrame::wxDocMDIParentFrame}
|
||||
|
||||
\func{}{wxDocMDIParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
|
||||
\param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
|
||||
\param{long}{ style}, \param{const wxString\& }{name}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxDocMDIParentFrame::\destruct{wxDocMDIParentFrame}}
|
||||
|
||||
\func{}{\destruct{wxDocMDIParentFrame}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxDocMDIParentFrame::OnClose}
|
||||
|
||||
\func{bool}{OnClose}{\void}
|
||||
|
||||
Deletes all views and documents. If no user input cancelled the
|
||||
operation, the function returns TRUE and the application will exit.
|
||||
|
||||
Since understanding how document/view clean-up takes place can be difficult,
|
||||
the implementation of this function is shown below.
|
||||
|
||||
\begin{verbatim}
|
||||
bool wxDocMDIParentFrame::OnClose(void)
|
||||
{
|
||||
// Delete all views and documents
|
||||
wxNode *node = docManager->GetDocuments().First();
|
||||
while (node)
|
||||
{
|
||||
wxDocument *doc = (wxDocument *)node->Data();
|
||||
wxNode *next = node->Next();
|
||||
|
||||
if (!doc->Close())
|
||||
return FALSE;
|
||||
|
||||
// Implicitly deletes the document when the last
|
||||
// view is removed (deleted)
|
||||
doc->DeleteAllViews();
|
||||
|
||||
// Check document is deleted
|
||||
if (docManager->GetDocuments().Member(doc))
|
||||
delete doc;
|
||||
|
||||
// This assumes that documents are not connected in
|
||||
// any way, i.e. deleting one document does NOT
|
||||
// delete another.
|
||||
node = next;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
\end{verbatim}
|
||||
|
||||
|
@@ -23,7 +23,7 @@ See the example application in {\tt samples/docview}.
|
||||
|
||||
\membersection{wxDocParentFrame::wxDocParentFrame}
|
||||
|
||||
\func{}{wxDocParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
|
||||
\func{}{wxDocParentFrame}{\param{wxFrame *}{parent},
|
||||
\param{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
|
||||
\param{long}{ style}, \param{const wxString\& }{name}}
|
||||
|
||||
|
@@ -324,8 +324,4 @@ Sets the title for this document. The document title is used for an associated
|
||||
frame (if any), and is usually constructed by the framework from
|
||||
the filename.
|
||||
|
||||
\membersection{wxDocument::UpdateAllViews}\label{wxdocumentupdateallviews}
|
||||
|
||||
\func{void}{UpdateAllViews}{\param{wxView* }{sender = NULL}}
|
||||
|
||||
Updates all views. If {\it sender} is non-NULL, does not update this view.
|
||||
|
@@ -3,17 +3,13 @@
|
||||
The wxFileHistory encapsulates a user interface convenience, the
|
||||
list of most recently visited files as shown on a menu (usually the File menu).
|
||||
|
||||
wxFileHistory can manage one or more file menus. More than one menu may be required
|
||||
in an MDI application, where the file history should appear on each MDI child menu
|
||||
as well as the MDI parent frame.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFileHistory overview}{wxfilehistoryoverview}, \helpref{wxDocManager}{wxdocmanager}
|
||||
\overview{wxFileHistory overview}{wxfilehistoryoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -60,65 +56,38 @@ Destructor.
|
||||
|
||||
Adds a file to the file history list, if the object has a pointer to an appropriate file menu.
|
||||
|
||||
\membersection{wxFileHistory::AddFilesToMenu}\label{wxfilehistoryaddfilestomenu}
|
||||
\membersection{wxFileHistory::FileHistoryLoad}
|
||||
|
||||
\func{void}{AddFilesToMenu}{\void}
|
||||
\func{void}{FileHistoryLoad}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
|
||||
Appends the files in the history list, to all menus managed by the file history object.
|
||||
Loads the file history from a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\func{void}{AddFilesToMenu}{\param{wxMenu*}{ menu}}
|
||||
\membersection{wxFileHistory::FileHistorySave}
|
||||
|
||||
Appends the files in the history list, to the given menu only.
|
||||
\func{void}{FileHistorySave}{\param{const wxString\& }{resourceFile}, \param{const wxString\& }{sectionName}}
|
||||
|
||||
\membersection{wxFileHistory::GetHistoryFile}\label{wxfilehistorygethistoryfile}
|
||||
Saves the file history into a resource file, using the given section. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\constfunc{wxString}{GetHistoryFile}{\param{int}{ index}}
|
||||
\membersection{wxFileHistory::FileHistoryUseMenu}
|
||||
|
||||
Returns the file at this index (zero-based).
|
||||
\func{void}{FileHistoryUseMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Use this menu for appending recently-visited document filenames, for convenient
|
||||
access. Calling this function with a valid menu pointer enables the history
|
||||
list functionality.
|
||||
|
||||
\membersection{wxFileHistory::GetMaxFiles}
|
||||
|
||||
\constfunc{int}{GetMaxFiles}{\void}
|
||||
\func{int}{GetMaxFiles}{\void}
|
||||
|
||||
Returns the maximum number of files that can be stored.
|
||||
|
||||
\membersection{wxFileHistory::GetNoHistoryFiles}
|
||||
|
||||
\constfunc{int}{GetNoHistoryFiles}{\void}
|
||||
\func{int}{GetNoHistoryFiles}{\void}
|
||||
|
||||
Returns the number of files currently stored in the file history.
|
||||
|
||||
\membersection{wxFileHistory::Load}
|
||||
|
||||
\func{void}{Load}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Loads the file history from the given config object. This function should be called explicitly by the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxFileHistory::RemoveMenu}
|
||||
|
||||
\func{void}{RemoveMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Removes this menu from the list of those managed by this object.
|
||||
|
||||
\membersection{wxFileHistory::Save}
|
||||
|
||||
\func{void}{Save}{\param{wxConfigBase\& }{config}}
|
||||
|
||||
Saves the file history into the given config object. This must be called
|
||||
explicitly by the application.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
\membersection{wxFileHistory::UseMenu}
|
||||
|
||||
\func{void}{UseMenu}{\param{wxMenu* }{menu}}
|
||||
|
||||
Adds this menu to the list of those managed by this object.
|
||||
|
||||
|
||||
|
@@ -4,10 +4,6 @@ A frame is a window whose size and position can (usually) be changed by the user
|
||||
thick borders and a title bar, and can optionally contain a menu bar, toolbar and
|
||||
status bar. A frame can contain any window that is not a frame or dialog.
|
||||
|
||||
A frame that has a status bar and toolbar created via the CreateStatusBar/CreateToolBar functions
|
||||
manages these windows, and adjusts the value returned by GetClientSize to reflect
|
||||
the remaining size available to application windows.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
@@ -126,9 +122,7 @@ for further details.
|
||||
|
||||
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
|
||||
|
||||
\func{virtual wxStatusBar*}{CreateStatusBar}{\param{int}{ number = 1},
|
||||
\param{long}{ style = 0},
|
||||
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "statusBar"}}
|
||||
\func{virtual bool}{CreateStatusBar}{\param{int}{ number = 1}}
|
||||
|
||||
Creates a status bar at the bottom of the frame.
|
||||
|
||||
@@ -137,17 +131,9 @@ Creates a status bar at the bottom of the frame.
|
||||
\docparam{number}{The number of fields to create. Specify a
|
||||
value greater than 1 to create a multi-field status bar.}
|
||||
|
||||
\docparam{style}{The status bar style. See \helpref{wxStatusBar}{wxstatusbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The status bar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The status bar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A pointer to the the status bar if it was created successfully, NULL otherwise.
|
||||
TRUE if the status bar was created successfully.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
@@ -165,45 +151,6 @@ Note that you can put controls and other windows on the status bar if you wish.
|
||||
\helpref{wxFrame::OnCreateStatusBar}{wxframeoncreatestatusbar},\rtfsp
|
||||
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
|
||||
|
||||
\membersection{wxFrame::CreateToolBar}\label{wxframecreatetoolbar}
|
||||
|
||||
\func{virtual wxToolBar*}{CreateToolBar}{\param{long}{ style = wxNO\_BORDER \pipe wxTB\_HORIZONTAL},
|
||||
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "toolBar"}}
|
||||
|
||||
Creates a toolbar at the top or left of the frame.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The toolbar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A pointer to the the toolbar if it was created successfully, NULL otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
By default, the toolbar is an instance of wxToolBar (which is defined to be
|
||||
a suitable toolbar class on each platform, such as wxToolBar95). To use a different class,
|
||||
override \helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar}.
|
||||
|
||||
When a toolbar has been created with this function, or made known to the frame
|
||||
with \helpref{wxFrame::SetToolBar}{wxframesettoolbar}, the frame will manage the toolbar
|
||||
position and adjust the return value from \helpref{wxWindow::GetClientSize}{wxwindowgetclientsize} to
|
||||
reflect the available space for application windows.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar},\rtfsp
|
||||
\helpref{wxFrame::OnCreateToolBar}{wxframeoncreatetoolbar},\rtfsp
|
||||
\helpref{wxFrame::SetToolBar}{wxframesettoolbar},\rtfsp
|
||||
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
|
||||
|
||||
\membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
|
||||
|
||||
\constfunc{wxMenuBar*}{GetMenuBar}{\void}
|
||||
@@ -231,17 +178,6 @@ Returns a pointer to the status bar currently associated with the frame (if any)
|
||||
Gets a temporary pointer to the frame title. See
|
||||
\helpref{wxFrame::SetTitle}{wxframesettitle}.
|
||||
|
||||
\membersection{wxFrame::GetToolBar}\label{wxframegettoolbar}
|
||||
|
||||
\func{wxToolBar*}{GetToolBar}{\void}
|
||||
|
||||
Returns a pointer to the toolbar currently associated with the frame (if any).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
|
||||
\helpref{wxFrame::SetToolBar}{wxframesettoolbar}
|
||||
|
||||
\membersection{wxFrame::Iconize}\label{wxframeiconize}
|
||||
|
||||
\func{void}{Iconize}{\param{const bool}{ iconize}}
|
||||
@@ -333,9 +269,7 @@ If you call wxFrame::LoadAccelerators, you need to override this function e.g.
|
||||
|
||||
\membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
|
||||
|
||||
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}
|
||||
\param{long}{ style},
|
||||
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
|
||||
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}}
|
||||
|
||||
Virtual function called when a status bar is requested by \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}.
|
||||
|
||||
@@ -343,14 +277,6 @@ Virtual function called when a status bar is requested by \helpref{wxFrame::Crea
|
||||
|
||||
\docparam{number}{The number of fields to create.}
|
||||
|
||||
\docparam{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A status bar object.
|
||||
@@ -364,36 +290,6 @@ implementation returns an instance of \helpref{wxStatusBar}{wxstatusbar}.
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar}.
|
||||
|
||||
\membersection{wxFrame::OnCreateToolBar}\label{wxframeoncreatetoolbar}
|
||||
|
||||
\func{virtual wxToolBar*}{OnCreateToolBar}{\param{long}{ style},
|
||||
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
|
||||
|
||||
Virtual function called when a toolbar is requested by \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{style}{The toolbar style. See \helpref{wxToolBar}{wxtoolbar} for a list
|
||||
of valid styles.}
|
||||
|
||||
\docparam{id}{The toolbar window identifier. If -1, an identifier will be chosen by
|
||||
wxWindows.}
|
||||
|
||||
\docparam{name}{The toolbar window name.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
A toolbar object.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
An application can override this function to return a different kind of toolbar. The default
|
||||
implementation returns an instance of \helpref{wxToolBar}{wxtoolbar}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar}.
|
||||
|
||||
\membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
|
||||
|
||||
\func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
|
||||
@@ -492,17 +388,6 @@ Note that it is not possible to call this function twice for the same frame obje
|
||||
|
||||
\helpref{wxFrame::GetMenuBar}{wxframegetmenubar}, \helpref{wxMenuBar}{wxmenubar}, \helpref{wxMenu}{wxmenu}.
|
||||
|
||||
\membersection{wxFrame::SetStatusBar}\label{wxframesetstatusbar}
|
||||
|
||||
\func{void}{SetStatusBar}{\param{wxStatusBar*}{ statusBar}}
|
||||
|
||||
Associates a status bar with the frame.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \helpref{wxStatusBar}{wxstatusbar},\rtfsp
|
||||
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
|
||||
|
||||
\membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
|
||||
|
||||
\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{int}{ number = 0}}
|
||||
@@ -544,17 +429,6 @@ The widths of the variable fields are calculated from the total width of all fie
|
||||
minus the sum of widths of the non-variable fields, divided by the number of
|
||||
variable fields.
|
||||
|
||||
\membersection{wxFrame::SetToolBar}\label{wxframesettoolbar}
|
||||
|
||||
\func{void}{SetToolBar}{\param{wxToolBar*}{ toolBar}}
|
||||
|
||||
Associates a toolbar with the frame.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}, \helpref{wxToolBar}{wxtoolbar},\rtfsp
|
||||
\helpref{wxFrame::GetToolBar}{wxframegettoolbar}
|
||||
|
||||
\membersection{wxFrame::SetTitle}\label{wxframesettitle}
|
||||
|
||||
\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}
|
||||
|
@@ -479,6 +479,113 @@ This function is only available under Windows.
|
||||
Globally sets the cursor; only has an effect in MS Windows.
|
||||
See also \helpref{wxCursor}{wxcursor}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor}.
|
||||
|
||||
\section{System event functions}
|
||||
|
||||
The wxWindows system event implementation is incomplete and
|
||||
experimental, but is intended to be a platform-independent way of
|
||||
intercepting and sending events, including defining
|
||||
application-specific events and handlers.
|
||||
|
||||
Ultimately it is intended to be used as a way of testing wxWindows
|
||||
applications using scripts, although there are currently
|
||||
problems with this (especially with modal dialogs).
|
||||
|
||||
All this is documented more to provoke comments and suggestions, and
|
||||
jog my own memory, rather than to be used, since it has not been
|
||||
tested. However {\bf wxSendEvent} will probably work if you
|
||||
instantiate the event structure properly for a command event type (see
|
||||
the code in {\tt wb\_panel.cpp} for \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
||||
which uses {\bf wxSendEvent} to send a command to the default button).
|
||||
|
||||
\membersection{::wxAddPrimaryEventHandler}
|
||||
|
||||
\func{bool}{wxAddPrimaryEventHandler}{\param{wxEventHandler}{ handlerFunc}}
|
||||
|
||||
Add a primary event handler---the normal event handler for this
|
||||
event. For built-in events, these would include moving and resizing
|
||||
windows. User-defined primary events might include the code to
|
||||
select an image in a diagram (which could of course be achieved by a series
|
||||
of external events for mouse-clicking, but would be more difficult to specify
|
||||
and less robust).
|
||||
|
||||
Returns TRUE if it succeeds.
|
||||
|
||||
An event handler takes a pointer to a wxEvent and a boolean flag which is
|
||||
TRUE if the event was externally generated, and returns a boolean which is
|
||||
TRUE if that event was handled.
|
||||
|
||||
\membersection{::wxAddSecondaryEventHandler}
|
||||
|
||||
\func{bool}{wxAddSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre},\\
|
||||
\param{bool}{ override}, \param{bool }{append}}
|
||||
|
||||
Add a secondary event handler, pre = TRUE iff it should be called before the
|
||||
event is executed. override = TRUE iff the handler is allowed to override
|
||||
all subsequent events by returning TRUE. Returns TRUE if succeeds.
|
||||
|
||||
A secondary event handler is an application-defined handler that may
|
||||
intercept normal events, possibly overriding them. A primary event handler
|
||||
provides the normal behaviour for the event.
|
||||
|
||||
An event handler takes a pointer to a wxEvent and a boolean flag which is
|
||||
TRUE if the event was externally generated, and returns a boolean which is
|
||||
TRUE if that event was handled.
|
||||
|
||||
\membersection{::wxNotifyEvent}
|
||||
|
||||
\func{bool}{wxNotifyEvent}{\param{wxEvent\&}{ event}, \param{bool}{ pre}}
|
||||
|
||||
Notify the system of the event you are about to execute/have just
|
||||
executed. If TRUE is returned and pre = TRUE, the calling code should
|
||||
not execute the event (since it has been intercepted by a handler and
|
||||
vetoed).
|
||||
|
||||
These events are always internal, because they're generated from within
|
||||
the main application code.
|
||||
|
||||
\membersection{::wxRegisterEventClass}
|
||||
|
||||
\func{void}{wxRegisterEventClass}{\param{WXTYPE}{ eventClassId},\param{WXTYPE}{ superClassId},\\
|
||||
\param{wxEventConstructor}{ constructor}, \param{const wxString\& }{description}}
|
||||
|
||||
Register a new event class (derived from wxEvent), giving the new
|
||||
event class type, its superclass, a function for creating a new event
|
||||
object of this class, and an optional description.
|
||||
|
||||
\membersection{::wxRegisterEventName}
|
||||
|
||||
\func{void}{wxRegisterEventName}{\param{WXTYPE}{ eventTypeId},\param{WXTYPE}{ eventClassId},\\
|
||||
\param{const wxString\& }{eventName}}
|
||||
|
||||
Register the name of the event. This will allow a simple command
|
||||
language where giving the event type name and some arguments will
|
||||
cause a new event of class {\it eventClassId} to be created, with given
|
||||
event type, and some arguments, allows an event to be dynamically
|
||||
constructed and sent.
|
||||
|
||||
\membersection{::wxRegisterExternalEventHandlers}
|
||||
|
||||
\func{void}{wxRegisterExternalEventHandlers}{\void}
|
||||
|
||||
Define this and link before wxWindows library to allow registering
|
||||
events from `outside' the main application.
|
||||
|
||||
\membersection{::wxRemoveSecondaryEventHandler}
|
||||
|
||||
\func{bool}{wxRemoveSecondaryEventHandler}{\param{wxEventHandler}{ handlerFunc}, \param{bool}{ pre}}
|
||||
|
||||
Remove a secondary event handler. Returns TRUE if it succeeds.
|
||||
|
||||
\membersection{::wxSendEvent}\label{wxsendevent}
|
||||
|
||||
\func{bool}{wxSendEvent}{\param{wxEvent\&}{ event}, \param{bool}{ external}}
|
||||
|
||||
Send an event to the system; usually it will be external, but set
|
||||
external to FALSE if calling from within the main application in
|
||||
response to other events.
|
||||
|
||||
Returns TRUE if the event was processed.
|
||||
|
||||
\section{Printer settings}\label{printersettings}
|
||||
|
||||
The following functions are used to control PostScript printing. Under
|
||||
@@ -750,8 +857,6 @@ each wxDebugMsg call. wxDebugMsg seems to be broken under WIN32s
|
||||
(at least for Watcom C++): preformat your messages and use OutputDebugString
|
||||
instead.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxDisplaySize}
|
||||
|
||||
\func{void}{wxDisplaySize}{\param{int *}{width}, \param{int *}{height}}
|
||||
@@ -1123,8 +1228,6 @@ Converts the character to upper case. This is implemented as a macro for efficie
|
||||
Takes printf-style variable argument syntax. Output
|
||||
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxTraceLevel}\label{wxtracelevel}
|
||||
|
||||
\func{void}{wxTraceLevel}{\param{int}{ level}, \param{const wxString\& }{fmt}, \param{...}{}}
|
||||
@@ -1135,8 +1238,6 @@ The first argument should be the level at which this information is appropriate.
|
||||
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
|
||||
this value.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{::wxWriteResource}\label{wxwriteresource}
|
||||
|
||||
\func{bool}{wxWriteResource}{\param{const wxString\& }{section}, \param{const wxString\& }{entry},
|
||||
@@ -1361,8 +1462,6 @@ base classes.
|
||||
Calls wxTrace with printf-style variable argument syntax. Output
|
||||
is directed to the current output stream (see \helpref{wxDebugContext}{wxdebugcontextoverview}).
|
||||
|
||||
This macro is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\membersection{WXTRACELEVEL}\label{tracelevel}
|
||||
|
||||
\func{}{WXTRACELEVEL}{level, formatString, ...}
|
||||
@@ -1373,8 +1472,6 @@ The first argument should be the level at which this information is appropriate.
|
||||
It will only be output if the level returned by wxDebugContext::GetLevel is equal to or greater than
|
||||
this value.
|
||||
|
||||
This function is now obsolete, replaced by \helpref{Log functions}{logfunctions}.
|
||||
|
||||
\section{wxWindows resource functions}\label{resourcefuncs}
|
||||
|
||||
\overview{wxWindows resource system}{resourceformats}
|
||||
@@ -1570,148 +1667,3 @@ is no connection between names used in resources, and the global bitmap data.
|
||||
|
||||
Another name for \helpref{wxResourceRegisterBitmapData}{registerbitmapdata}.
|
||||
|
||||
\section{Log functions}\label{logfunctions}
|
||||
|
||||
These functions provide a variety of logging functions: see \helpref{Log classes overview}{wxlogoverview} for
|
||||
further information.
|
||||
|
||||
\membersection{::wxLogError}\label{wxlogerror}
|
||||
|
||||
\func{void}{wxLogError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
The function to use for error messages, i.e. the
|
||||
messages that must be shown to the user. The default processing is to pop up a
|
||||
message box to inform the user about it.
|
||||
|
||||
\membersection{::wxLogFatalError}\label{wxlogfatalerror}
|
||||
|
||||
\func{void}{wxLogFatalError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
Like \helpref{wxLogError}{wxlogerror}, but also
|
||||
terminates the program with the exit code 3. Using {\it abort()} standard
|
||||
function also terminates the program with this exit code.
|
||||
|
||||
\membersection{::wxLogWarning}\label{wxlogwarning}
|
||||
|
||||
\func{void}{wxLogWarning}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For warnings - they are also normally shown to the
|
||||
user, but don't interrupt the program work.
|
||||
|
||||
\membersection{::wxLogMessage}\label{wxlogmessage}
|
||||
|
||||
\func{void}{wxLogMessage}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
for all normal, informational messages. They also
|
||||
appear in a message box by default (but it can be changed). Notice
|
||||
that the standard behaviour is to not show informational messages if there are
|
||||
any errors later - the logic being that the later error messages make the
|
||||
informational messages preceding them meaningless.
|
||||
|
||||
\membersection{::wxLogVerbose}\label{wxlogverbose}
|
||||
|
||||
\func{void}{wxLogVerbose}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For verbose output. Normally, it's suppressed, but
|
||||
might be activated if the user wishes to know more details about the program
|
||||
progress (another, but possibly confusing name for the same function is {\bf wxLogInfo}).
|
||||
|
||||
\membersection{::wxLogStatus}\label{wxlogstatus}
|
||||
|
||||
\func{void}{wxLogStatus}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
For status messages - they will go into the status
|
||||
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
|
||||
|
||||
\membersection{::wxLogSysError}\label{wxlogsyserror}
|
||||
|
||||
\func{void}{wxLogSysError}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
Mostly used by wxWindows itself, but might be
|
||||
handy for logging errors after system call (API function) failure. It logs the
|
||||
specified message text as well as the last system error code ({\it errno} or {\it ::GetLastError()} depending
|
||||
on the platform) and the corresponding error
|
||||
message. The second form of this function takes the error code explitly as the
|
||||
first argument.
|
||||
|
||||
\membersection{::wxLogDebug}\label{wxlogdebug}
|
||||
|
||||
\func{void}{wxLogDebug}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
The right function for debug output. It only
|
||||
does anything at all in the debug mode (when the preprocessor symbol \_\_WXDEBUG\_\_ is defined)
|
||||
and expands to nothing in release mode (otherwise).
|
||||
|
||||
\membersection{::wxLogTrace}\label{wxlogtrace}
|
||||
|
||||
\func{void}{wxLogTrace}{\param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
\func{void}{wxLogTrace}{\param{wxTraceMask}{ mask}, \param{const char*}{ formatString}, \param{...}{}}
|
||||
|
||||
As {\bf wxLogDebug}, only does something in debug
|
||||
build. The reason for making it a separate function from it is that usually
|
||||
there are a lot of trace messages, so it might make sense to separate them
|
||||
from other debug messages which would be flooded in them. Moreover, the second
|
||||
version of this function takes a trace mask as the first argument which allows
|
||||
to further restrict the amount of messages generated. The value of {\it mask} can be:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item wxTraceMemAlloc: trace memory allocation (new/delete)
|
||||
\item wxTraceMessages: trace window messages/X callbacks
|
||||
\item wxTraceResAlloc: trace GDI resource allocation
|
||||
\item wxTraceRefCount: trace various ref counting operations
|
||||
\end{itemize}
|
||||
|
||||
\section{Debugging macros and functions}\label{debugmacros}
|
||||
|
||||
Useful macros and functins for error checking and defensive programming. ASSERTs are only
|
||||
compiled if \_\_WXDEBUG\_\_ is defined, whereas CHECK macros stay in release
|
||||
builds.
|
||||
|
||||
\membersection{::wxOnAssert}\label{wxonassert}
|
||||
|
||||
\func{void}{wxOnAssert}{\param{const char*}{ fileName}, \param{int}{ lineNumber}, \param{const char*}{ msg = NULL}}
|
||||
|
||||
This function may be redefined to do something non trivial and is called
|
||||
whenever one of debugging macros fails (i.e. condition is false in an
|
||||
assertion). TODO: this should probably be an overridable in wxApp.
|
||||
|
||||
\membersection{wxASSERT}\label{wxassert}
|
||||
|
||||
\func{}{wxASSERT}{\param{}{condition}}
|
||||
|
||||
Assert macro. An error message will be generated if the condition is FALSE.
|
||||
|
||||
\membersection{wxASSERT\_MSG}\label{wxassertmsg}
|
||||
|
||||
\func{}{wxASSERT\_MSG}{\param{}{condition}, \param{}{msg}}
|
||||
|
||||
Assert macro with message. An error message will be generated if the condition is FALSE.
|
||||
|
||||
\membersection{wxFAIL}\label{wxfail}
|
||||
|
||||
\func{}{wxFAIL}{\param{}{condition}}
|
||||
|
||||
Will always generate an assert error if this code is reached (in debug mode).
|
||||
|
||||
\membersection{wxFAIL\_MSG}\label{wxfailmsg}
|
||||
|
||||
\func{}{wxFAIL\_MSG}{\param{}{condition}, \param{}{msg}}
|
||||
|
||||
Will always generate an assert error with specified message if this code is reached (in debug mode).
|
||||
|
||||
\membersection{wxCHECK}\label{wxcheck}
|
||||
|
||||
\func{}{wxCHECK}{\param{}{condition}, \param{}{retValue}}
|
||||
|
||||
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
|
||||
This check is done even in release mode.
|
||||
|
||||
\membersection{wxCHECK\_MSG}\label{wxcheckmsg}
|
||||
|
||||
\func{}{wxCHECK\_MSG}{\param{}{condition}, \param{}{retValue}, \param{}{msg}}
|
||||
|
||||
Checks that the condition is true, returns with the given return value if not (FAILs in debug mode).
|
||||
This check is done even in release mode.
|
||||
|
||||
|
||||
|
@@ -21,10 +21,6 @@ There are no user commands for the gauge.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
wxGauge is read-only so generates no events.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSlider}{wxslider}, \helpref{wxScrollBar}{wxscrollbar}
|
||||
|
@@ -1,8 +1,11 @@
|
||||
\section{\class{wxHelpController}}\label{wxhelpcontroller}
|
||||
\section{\class{wxHelpControllerBase}}\label{wxhelpcontrollerbase}
|
||||
|
||||
This is a family of classes by which
|
||||
This class defines the interface by which
|
||||
applications may invoke a help viewer to provide on-line help.
|
||||
|
||||
Other classes derive from this class to provide actual implementations
|
||||
of help controllers.
|
||||
|
||||
A help controller allows an application to display help, at the contents
|
||||
or at a particular topic, and shut the help program down on termination.
|
||||
This avoids proliferation of many instances of the help viewer whenever the
|
||||
@@ -13,42 +16,36 @@ when it starts, and immediately call {\bf Initialize}\rtfsp
|
||||
to associate a filename with it. The help viewer will only get run, however,
|
||||
just before the first call to display something.
|
||||
|
||||
Although all help controller classes actually derive from wxHelpControllerBase and have
|
||||
names of the form wxXXXHelpController, the
|
||||
appropriate class is aliased to the name wxHelpController for each platform.
|
||||
|
||||
There are currently the following help controller classes defined:
|
||||
|
||||
\begin{itemize}\itemsep=0
|
||||
\item wxWinHelpController, for controlling Windows Help.
|
||||
\item wxExtHelpController, for controlling external browsers under Unix.
|
||||
The default browser is Netscape Navigator.
|
||||
\end{itemize}
|
||||
|
||||
\wxheading{Derivation}
|
||||
|
||||
wxHelpControllerBase\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWinHelpController}{wxwinhelpcontroller}
|
||||
|
||||
\wxheading{Include file}
|
||||
|
||||
{\tt <wx/help.h>}
|
||||
{\tt <wx/helpbase.h>} (for just wxHelpControllerBase)
|
||||
|
||||
{\tt <wx/help.h>} (to include the platform-specific controller, e.g. wxWinHelpController)
|
||||
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxHelpController::wxHelpController}
|
||||
\membersection{wxHelpControllerBase::wxHelpControllerBase}
|
||||
|
||||
\func{}{wxHelpController}{\void}
|
||||
\func{}{wxHelpControllerBase}{\void}
|
||||
|
||||
Constructs a help instance object, but does not invoke the help viewer.
|
||||
|
||||
\membersection{wxHelpController::\destruct{wxHelpController}}
|
||||
\membersection{wxHelpControllerBase::\destruct{wxHelpControllerBase}}
|
||||
|
||||
\func{}{\destruct{wxHelpController}}{\void}
|
||||
\func{}{\destruct{wxHelpControllerBase}}{\void}
|
||||
|
||||
Destroys the help instance, closing down the viewer if it is running.
|
||||
|
||||
\membersection{wxHelpController::Initialize}\label{wxhelpcontrollerinitialize}
|
||||
\membersection{wxHelpControllerBase::Initialize}\label{wxhelpcontrollerbaseinitialize}
|
||||
|
||||
\func{virtual void}{Initialize}{\param{const wxString\& }{file}}
|
||||
|
||||
@@ -61,7 +58,7 @@ any attempts to communicate with the viewer.
|
||||
|
||||
You may omit the file extension and a suitable one will be chosen.
|
||||
|
||||
\membersection{wxHelpController::DisplayBlock}\label{wxhelpcontrollerdisplayblock}
|
||||
\membersection{wxHelpControllerBase::DisplayBlock}\label{wxhelpcontrollerbasedisplayblock}
|
||||
|
||||
\func{virtual bool}{DisplayBlock}{\param{long}{ blockNo}}
|
||||
|
||||
@@ -69,14 +66,14 @@ If the help viewer is not running, runs it and displays the file at the given bl
|
||||
The interpretation of {\it blockNo} differs between help viewers. If using Windows Help, this
|
||||
refers to the context number. If wxHelp, this is the wxHelp block number.
|
||||
|
||||
\membersection{wxHelpController::DisplayContents}\label{wxhelpcontrollerdisplaycontents}
|
||||
\membersection{wxHelpControllerBase::DisplayContents}\label{wxhelpcontrollerbasedisplaycontents}
|
||||
|
||||
\func{virtual bool}{DisplayContents}{\void}
|
||||
|
||||
If the help viewer is not running, runs it and displays the
|
||||
contents.
|
||||
|
||||
\membersection{wxHelpController::DisplaySection}\label{wxhelpcontrollerdisplaysection}
|
||||
\membersection{wxHelpControllerBase::DisplaySection}\label{wxhelpcontrollerbasedisplaysection}
|
||||
|
||||
\func{virtual bool}{DisplaySection}{\param{int}{ sectionNo}}
|
||||
|
||||
@@ -87,7 +84,7 @@ For wxHelp, section numbers may be viewed by running wxHelp in edit mode.
|
||||
|
||||
DisplaySection does not apply to WinHelp.
|
||||
|
||||
\membersection{wxHelpController::KeywordSearch}\label{wxhelpcontrollerkeywordsearch}
|
||||
\membersection{wxHelpControllerBase::KeywordSearch}\label{wxhelpcontrollerbasekeywordsearch}
|
||||
|
||||
\func{virtual bool}{KeywordSearch}{\param{const wxString\& }{keyWord}}
|
||||
|
||||
@@ -96,7 +93,7 @@ match is found, the file is displayed at this section. If more than one
|
||||
match is found, the Search dialog is displayed with the matches (wxHelp)
|
||||
or the first topic is displayed (Windows Help).
|
||||
|
||||
\membersection{wxHelpController::LoadFile}\label{wxhelpcontrollerloadfile}
|
||||
\membersection{wxHelpControllerBase::LoadFile}\label{wxhelpcontrollerbaseloadfile}
|
||||
|
||||
\func{virtual bool}{LoadFile}{\param{const wxString\& }{file = NULL}}
|
||||
|
||||
@@ -107,15 +104,15 @@ already displaying the specified file, it will not be reloaded. This
|
||||
member function may be used before each display call in case the user
|
||||
has opened another file.
|
||||
|
||||
\membersection{wxHelpController::OnQuit}\label{wxhelpcontrolleronquit}
|
||||
\membersection{wxHelpControllerBase::OnQuit}\label{wxhelpcontrollerbaseonquit}
|
||||
|
||||
\func{virtual bool}{OnQuit}{\void}
|
||||
|
||||
Overridable member called when this application's viewer is quit by the user.
|
||||
|
||||
This does not work for all help controllers.
|
||||
This only works for wxXLPHelpController.
|
||||
|
||||
\membersection{wxHelpController::Quit}\label{wxhelpcontrollerquit}
|
||||
\membersection{wxHelpControllerBase::Quit}\label{wxhelpcontrollerbasequit}
|
||||
|
||||
\func{virtual bool}{Quit}{\void}
|
||||
|
||||
|
@@ -147,11 +147,11 @@ Gets the position of the fifth axis of the joystick, if it exists.
|
||||
|
||||
Returns the maximum V position.
|
||||
|
||||
\membersection{wxJoystick::GetVMin}\label{wxjoystickgetvmin}
|
||||
\membersection{wxJoystick::GetUMin}\label{wxjoystickgetumin}
|
||||
|
||||
\constfunc{int}{GetVMin}{\void}
|
||||
\constfunc{int}{GetUMin}{\void}
|
||||
|
||||
Returns the minimum V position.
|
||||
Returns the minimum U position.
|
||||
|
||||
\membersection{wxJoystick::GetVPosition}\label{wxjoystickgetvposition}
|
||||
|
||||
|
@@ -1,84 +0,0 @@
|
||||
\section{Keycodes}\label{keycodes}
|
||||
|
||||
Keypresses are represented by an enumerated type, wxKeyCode. The possible values
|
||||
are the ASCII character codes, plus the following:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
WXK_BACK = 8
|
||||
WXK_TAB = 9
|
||||
WXK_RETURN = 13
|
||||
WXK_ESCAPE = 27
|
||||
WXK_SPACE = 32
|
||||
WXK_DELETE = 127
|
||||
|
||||
WXK_START = 300
|
||||
WXK_LBUTTON
|
||||
WXK_RBUTTON
|
||||
WXK_CANCEL
|
||||
WXK_MBUTTON
|
||||
WXK_CLEAR
|
||||
WXK_SHIFT
|
||||
WXK_CONTROL
|
||||
WXK_MENU
|
||||
WXK_PAUSE
|
||||
WXK_CAPITAL
|
||||
WXK_PRIOR
|
||||
WXK_NEXT
|
||||
WXK_END
|
||||
WXK_HOME
|
||||
WXK_LEFT
|
||||
WXK_UP
|
||||
WXK_RIGHT
|
||||
WXK_DOWN
|
||||
WXK_SELECT
|
||||
WXK_PRINT
|
||||
WXK_EXECUTE
|
||||
WXK_SNAPSHOT
|
||||
WXK_INSERT
|
||||
WXK_HELP
|
||||
WXK_NUMPAD0
|
||||
WXK_NUMPAD1
|
||||
WXK_NUMPAD2
|
||||
WXK_NUMPAD3
|
||||
WXK_NUMPAD4
|
||||
WXK_NUMPAD5
|
||||
WXK_NUMPAD6
|
||||
WXK_NUMPAD7
|
||||
WXK_NUMPAD8
|
||||
WXK_NUMPAD9
|
||||
WXK_MULTIPLY
|
||||
WXK_ADD
|
||||
WXK_SEPARATOR
|
||||
WXK_SUBTRACT
|
||||
WXK_DECIMAL
|
||||
WXK_DIVIDE
|
||||
WXK_F1
|
||||
WXK_F2
|
||||
WXK_F3
|
||||
WXK_F4
|
||||
WXK_F5
|
||||
WXK_F6
|
||||
WXK_F7
|
||||
WXK_F8
|
||||
WXK_F9
|
||||
WXK_F10
|
||||
WXK_F11
|
||||
WXK_F12
|
||||
WXK_F13
|
||||
WXK_F14
|
||||
WXK_F15
|
||||
WXK_F16
|
||||
WXK_F17
|
||||
WXK_F18
|
||||
WXK_F19
|
||||
WXK_F20
|
||||
WXK_F21
|
||||
WXK_F22
|
||||
WXK_F23
|
||||
WXK_F24
|
||||
WXK_NUMLOCK
|
||||
WXK_SCROLL
|
||||
\end{verbatim}
|
||||
}
|
||||
|
@@ -35,7 +35,84 @@ TRUE if control is pressed down.
|
||||
|
||||
\member{long}{m\_keyCode}
|
||||
|
||||
Virtual keycode. See \helpref{Keycodes}{keycodes} for a list of identifiers.
|
||||
Virtual keycode. An enumerated type, one of:
|
||||
|
||||
\begin{verbatim}
|
||||
WXK_BACK = 8
|
||||
WXK_TAB = 9
|
||||
WXK_RETURN = 13
|
||||
WXK_ESCAPE = 27
|
||||
WXK_SPACE = 32
|
||||
WXK_DELETE = 127
|
||||
|
||||
WXK_START = 300
|
||||
WXK_LBUTTON
|
||||
WXK_RBUTTON
|
||||
WXK_CANCEL
|
||||
WXK_MBUTTON
|
||||
WXK_CLEAR
|
||||
WXK_SHIFT
|
||||
WXK_CONTROL
|
||||
WXK_MENU
|
||||
WXK_PAUSE
|
||||
WXK_CAPITAL
|
||||
WXK_PRIOR
|
||||
WXK_NEXT
|
||||
WXK_END
|
||||
WXK_HOME
|
||||
WXK_LEFT
|
||||
WXK_UP
|
||||
WXK_RIGHT
|
||||
WXK_DOWN
|
||||
WXK_SELECT
|
||||
WXK_PRINT
|
||||
WXK_EXECUTE
|
||||
WXK_SNAPSHOT
|
||||
WXK_INSERT
|
||||
WXK_HELP
|
||||
WXK_NUMPAD0
|
||||
WXK_NUMPAD1
|
||||
WXK_NUMPAD2
|
||||
WXK_NUMPAD3
|
||||
WXK_NUMPAD4
|
||||
WXK_NUMPAD5
|
||||
WXK_NUMPAD6
|
||||
WXK_NUMPAD7
|
||||
WXK_NUMPAD8
|
||||
WXK_NUMPAD9
|
||||
WXK_MULTIPLY
|
||||
WXK_ADD
|
||||
WXK_SEPARATOR
|
||||
WXK_SUBTRACT
|
||||
WXK_DECIMAL
|
||||
WXK_DIVIDE
|
||||
WXK_F1
|
||||
WXK_F2
|
||||
WXK_F3
|
||||
WXK_F4
|
||||
WXK_F5
|
||||
WXK_F6
|
||||
WXK_F7
|
||||
WXK_F8
|
||||
WXK_F9
|
||||
WXK_F10
|
||||
WXK_F11
|
||||
WXK_F12
|
||||
WXK_F13
|
||||
WXK_F14
|
||||
WXK_F15
|
||||
WXK_F16
|
||||
WXK_F17
|
||||
WXK_F18
|
||||
WXK_F19
|
||||
WXK_F20
|
||||
WXK_F21
|
||||
WXK_F22
|
||||
WXK_F23
|
||||
WXK_F24
|
||||
WXK_NUMLOCK
|
||||
WXK_SCROLL
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxKeyEvent::m\_metaDown}
|
||||
|
||||
@@ -97,7 +174,7 @@ Returns the Y position of the event.
|
||||
|
||||
Returns the virtual key code. ASCII events return normal ASCII values,
|
||||
while non-ASCII events return values such as {\bf WXK\_LEFT} for the
|
||||
left cursor key. See \helpref{Keycodes}{keycodes} for a full list of the virtual key codes.
|
||||
left cursor key. See {\tt wx\_defs.h} for a full list of the virtual key codes.
|
||||
|
||||
\membersection{wxKeyEvent::MetaDown}
|
||||
|
||||
|
@@ -1,133 +0,0 @@
|
||||
\section{\class{wxLayoutAlgorithm}}\label{wxlayoutalgorithm}
|
||||
|
||||
wxLayoutAlgorithm implements layout of subwindows in MDI or SDI frames.
|
||||
It sends a wxCalculateLayoutEvent event
|
||||
to children of the frame, asking them for information about
|
||||
their size. For MDI parent frames, the algorithm allocates
|
||||
the remaining space to the MDI client window (which contains the MDI child frames).
|
||||
For SDI (normal) frames, a 'main' window is specified as taking up the
|
||||
remaining space.
|
||||
|
||||
Because the event system is used, this technique can be applied to any windows,
|
||||
which are not necessarily 'aware' of the layout classes (no virtual functions
|
||||
in wxWindow refer to wxLayoutAlgorithm or its events). However, you
|
||||
may wish to use \helpref{wxSashLayoutWindow}{wxsashlayoutwindow} for your subwindows
|
||||
since this class provides handlers for the required events, and accessors
|
||||
to specify the desired size of the window. The sash behaviour in the base class
|
||||
can be used, optionally, to make the windows user-resizable.
|
||||
|
||||
wxLayoutAlgorithm is typically used in IDE (integrated development environment) applications,
|
||||
where there are several resizable windows in addition to the MDI client window, or
|
||||
other primary editing window. Resizable windows might include toolbars, a project
|
||||
window, and a window for displaying error and warning messages.
|
||||
|
||||
When a window receives an OnCalculateLayout event, it should call SetRect in
|
||||
the given event object, to be the old supplied rectangle minus whatever space the
|
||||
window takes up. It should also set its own size accordingly.
|
||||
wxSashLayoutWindow::OnCalculateLayout generates an OnQueryLayoutInfo event
|
||||
which it sends to itself to determine the orientation, alignment and size of the window,
|
||||
which it gets from internal member variables set by the application.
|
||||
|
||||
The algorithm works by starting off with a rectangle equal to the whole frame client area.
|
||||
It iterates through the frame children, generating OnCalculateLayout events which subtract
|
||||
the window size and return the remaining rectangle for the next window to process. It
|
||||
is assumed (by wxSashLayoutWindow::OnCalculateLayout) that a window stretches the full dimension
|
||||
of the frame client, according to the orientation it specifies. For example, a horizontal window
|
||||
will stretch the full width of the remaining portion of the frame client area.
|
||||
In the other orientation, the window will be fixed to whatever size was specified by
|
||||
OnQueryLayoutInfo. An alignment setting will make the window 'stick' to the left, top, right or
|
||||
bottom of the remaining client area. This scheme implies that order of window creation is important.
|
||||
Say you wish to have an extra toolbar at the top of the frame, a project window to the left of
|
||||
the MDI client window, and an output window above the status bar. You should therefore create
|
||||
the windows in this order: toolbar, output window, project window. This ensures that the toolbar and
|
||||
output window take up space at the top and bottom, and then the remaining height inbetween is used for
|
||||
the project window.
|
||||
|
||||
wxLayoutAlgorithm is quite independent of the way in which
|
||||
OnCalculateLayout chooses to interpret a window's size and alignment. Therefore you
|
||||
could implement a different window class with a new OnCalculateLayout event handler,
|
||||
that has a more sophisticated way of laying out the windows. It might allow
|
||||
specification of whether stretching occurs in the specified orientation, for example,
|
||||
rather than always assuming stretching. (This could, and probably should, be added to the existing
|
||||
implementation).
|
||||
|
||||
{\it Note:} wxLayoutAlgorithm has nothing to do with wxLayoutConstraints. It is an alternative
|
||||
way of specifying layouts for which the normal constraint system is unsuitable.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
The algorithm object does not respond to events, but itself generates the
|
||||
following events in order to calculate window sizes.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
|
||||
to get size, orientation and alignment from a window. See \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.}
|
||||
\twocolitem{{\bf EVT\_CALCULATE\_LAYOUT(func)}}{Process a wxEVT\_CALCULATE\_LAYOUT event,
|
||||
which asks the window to take a 'bite' out of a rectangle provided by the algorithm.
|
||||
See \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data types}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxLayoutOrientation {
|
||||
wxLAYOUT_HORIZONTAL,
|
||||
wxLAYOUT_VERTICAL
|
||||
};
|
||||
|
||||
enum wxLayoutAlignment {
|
||||
wxLAYOUT_NONE,
|
||||
wxLAYOUT_TOP,
|
||||
wxLAYOUT_LEFT,
|
||||
wxLAYOUT_RIGHT,
|
||||
wxLAYOUT_BOTTOM,
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
|
||||
\helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxSashWindow}{wxsashwindow}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxLayoutAlgorithm::wxLayoutAlgorithm}
|
||||
|
||||
\func{}{wxLayoutAlgorithm}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::\destruct{wxLayoutAlgorithm}}
|
||||
|
||||
\func{}{\destruct{wxLayoutAlgorithm}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::LayoutMDIFrame}\label{wxlayoutalgorithmlayoutmdiframe}
|
||||
|
||||
\constfunc{bool}{LayoutMDIFrame}{\param{wxMDIParentFrame* }{frame}, \param{wxRect*}{ rect = NULL}}
|
||||
|
||||
Lays out the children of an MDI parent frame. If {\it rect} is non-NULL, the
|
||||
given rectangle will be used as a starting point instead of the frame's client area.
|
||||
|
||||
The MDI client window is set to occupy the remaining space.
|
||||
|
||||
\membersection{wxLayoutAlgorithm::LayoutFrame}\label{wxlayoutalgorithmlayoutframe}
|
||||
|
||||
\constfunc{bool}{LayoutFrame}{\param{wxFrame* }{frame}, \param{wxWindow*}{ mainWindow}}
|
||||
|
||||
Lays out the children of a normal frame.
|
||||
|
||||
{\it mainWindow} is set to occupy the remaining space.
|
||||
|
@@ -36,20 +36,9 @@ select multiple items using the SHIFT key and the mouse or special key combinati
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED event,
|
||||
when an item on the list is selected.}
|
||||
\twocolitem{{\bf EVT\_LISTBOX\_DCLICK(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_DOUBLECLICKED event,
|
||||
when the listbox is doubleclicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
|
@@ -35,28 +35,6 @@ the list wraps, unlike a wxListBox.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a list control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxListEvent}{wxlistevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_LIST\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_LIST\_DELETE\_ALL\_ITEMS(id, func)}}{Delete all items.}
|
||||
\twocolitem{{\bf EVT\_LIST\_GET\_INFO(id, func)}}{Request information from the application, usually the item text.}
|
||||
\twocolitem{{\bf EVT\_LIST\_SET\_INFO(id, func)}}{Information is being supplied (not implemented).}
|
||||
\twocolitem{{\bf EVT\_LIST\_ITEM\_SELECTED(id, func)}}{The item has been selected.}
|
||||
\twocolitem{{\bf EVT\_LIST\_ITEM\_DESELECTED(id, func)}}{The item has been deselected.}
|
||||
\twocolitem{{\bf EVT\_LIST\_KEY\_DOWN(id, func)}}{A key has been pressed.}
|
||||
\twocolitem{{\bf EVT\_LIST\_INSERT\_ITEM(id, func)}}{An item has been inserted.}
|
||||
\twocolitem{{\bf EVT\_LIST\_COL\_CLICK(id, func)}}{A column ({\bf m\_col}) has been left-clicked.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
|
||||
|
@@ -1,186 +0,0 @@
|
||||
\section{\class{wxLog}}\label{wxlog}
|
||||
|
||||
wxLog class defines the interface for the {\it log targets} used by wxWindows
|
||||
logging functions as explained in the \helpref{wxLog overview}{wxlogoverview}.
|
||||
The only situations when you need to directly use this class is when you want
|
||||
to derive your own log target because the existing ones don't satisfy your
|
||||
needs. Another case is if you wish to customize the behaviour of the standard
|
||||
logging classes (all of which respect the wxLog settings): for example, set
|
||||
which trace messages are logged and which are not or change (or even remove
|
||||
completely) the timestamp on the messages.
|
||||
|
||||
Otherwise, it is completely hidden behind the {\it wxLogXXX()} functions and
|
||||
you may not even know about its existence.
|
||||
|
||||
See \helpref{log overview}{wxlogoverview} for the descriptions of wxWindows
|
||||
logging facilities.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
No base class
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Function groups}}}
|
||||
|
||||
\membersection{Static functions}
|
||||
|
||||
The functions in this section work with and manipulate the active log target.
|
||||
The {\it OnLog()} is called by the {\it wxLogXXX()} functions and invokes the
|
||||
{\it DoLog()} of the active log target if any. Get/Set methods are used to
|
||||
install/query the current active target and, finally, {\it
|
||||
DontCreateOnDemand()} disables the automatic creation of a standard log target
|
||||
if none actually exists. It is only useful when the application is terminating
|
||||
and shouldn't be used in other situations because it may easily lead to a loss
|
||||
of messages.
|
||||
|
||||
\helpref{OnLog}{wxlogonlog}\\
|
||||
\helpref{GetActiveTarget}{wxloggetactivetarget}\\
|
||||
\helpref{SetActiveTarget}{wxlogsetactivetarget}\\
|
||||
\helpref{DontCreateOnDemand}{wxlogdontcreateondemand}
|
||||
|
||||
\membersection{Message buffering}
|
||||
|
||||
Some of wxLog implementations, most notably the standard
|
||||
wxLogGui class, buffer the messages (for example, to avoid
|
||||
showing the user a zillion of modal message boxes one after another - which
|
||||
would be really annoying). {\it Flush()} shows them all and clears the buffer
|
||||
contents. Although this function doesn't do anything if the buffer is already
|
||||
empty, {\it HasPendingMessages()} is also provided which allows to explicitly
|
||||
verify it.
|
||||
|
||||
\helpref{Flush}{wxlogflush}\\
|
||||
\helpref{HasPendingMessages}{haspendingmessages}
|
||||
|
||||
\membersection{Customization}\label{wxlogcustomization}
|
||||
|
||||
The functions below allow some limited customization of wxLog behaviour
|
||||
without writing a new log target class (which, aside of being a matter of
|
||||
several minutes, allows you to do anything you want).
|
||||
|
||||
The verbose messages are the trace messages which are not disabled in the
|
||||
release mode and are generated by {\it wxLogVerbose()}. They are not normally
|
||||
shown to the user because they present little interest, but may be activated,
|
||||
for example, in order to help the user find some program problem.
|
||||
|
||||
As for the (real) trace messages, they come in different kinds:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{wxTraceMemAlloc} for the messages about creating and deleting objects
|
||||
\item{wxTraceMessages} for tracing the windowing system messages/events
|
||||
\item{wxTraceResAlloc} for allocating and releasing the system ressources
|
||||
\item{wxTraceRefCount} for reference counting related messages
|
||||
\item{wxTraceOleCalls} for the OLE (or COM) method invocations (wxMSW only)
|
||||
\item{other} the remaining bits are free for user-defined trace levels
|
||||
\end{itemize}
|
||||
|
||||
The trace mask is a bit mask which tells which (if any) of these trace
|
||||
messages are going to be actually logged. For the trace message to appear
|
||||
somewhere, all the bits in the mask used in the call to {\it wxLogTrace()}
|
||||
function must be set in the current trace mask. For example,
|
||||
\begin{verbatim}
|
||||
wxLogTrace(wxTraceRefCount | wxTraceOle, "Active object ref count: %d", nRef);
|
||||
\end{verbatim}
|
||||
will do something only if the current trace mask contains both wxTraceRefCount
|
||||
and wxTraceOle.
|
||||
|
||||
Finally, the {\it wxLog::DoLog()} function automatically prepends a time stamp
|
||||
to all the messages. The format of the time stamp may be changed: it can be
|
||||
any string with \% specificators fully described in the documentation of the
|
||||
standard {\it strftime()} function. For example, the default format is
|
||||
"[\%d/\%b/\%y \%H:\%M:\%S] " which gives something like "[17/Sep/98 22:10:16] "
|
||||
(without quotes) for the current date. Setting an empty string as the time
|
||||
format disables timestamping of the messages completely.
|
||||
|
||||
\helpref{SetVerbose}{wxlogsetverbose}\\
|
||||
\helpref{GetVerbose}{wxloggetverbose}\\
|
||||
\helpref{SetTimeStampFormat}{wxlogsettimestampformat}\\
|
||||
\helpref{GetTimeStampFormat}{wxloggettimestampformat}\\
|
||||
\helpref{SetTraceMask}{wxlogsettracemask}\\
|
||||
\helpref{GetTraceMask}{wxloggettracemask}
|
||||
|
||||
%%%%% MEMBERS HERE %%%%%
|
||||
\helponly{\insertatlevel{2}{
|
||||
|
||||
\wxheading{Members}
|
||||
|
||||
}}
|
||||
|
||||
\membersection{wxLog::OnLog}\label{wxlogonlog}
|
||||
|
||||
\func{static void}{OnLog}{\param{wxLogLevel }{ level}, \param{const char * }{ message}}
|
||||
|
||||
Forwards the message at specified level to the {\it DoLog()} function of the
|
||||
active log target if there is any, does nothing otherwise.
|
||||
|
||||
\membersection{wxLog::GetActiveTarget}\label{wxloggetactivetarget}
|
||||
|
||||
\func{static wxLog *}{GetActiveTarget}{\void}
|
||||
|
||||
Returns the pointer to the active log target (may be NULL).
|
||||
|
||||
\membersection{wxLog::SetActiveTarget}\label{wxlogsetactivetarget}
|
||||
|
||||
\func{static wxLog *}{SetActiveTarget}{\param{wxLog * }{ logtarget}}
|
||||
|
||||
Sets the specified log target as the active one. Returns the pointer to the
|
||||
previous active log target (may be NULL).
|
||||
|
||||
\membersection{wxLog::DontCreateOnDemand}\label{wxlogdontcreateondemand}
|
||||
|
||||
\func{static void}{DontCreateOnDemand}{\void}
|
||||
|
||||
Instructs wxLog to not create new log targets on the fly if there is none
|
||||
currently. (Almost) for internal use only.
|
||||
|
||||
\membersection{wxLog::Flush}\label{wxlogflush}
|
||||
|
||||
\func{virtual void}{Flush}{\void}
|
||||
|
||||
Shows all the messages currently in buffer and clears it. If the buffer
|
||||
is already empty, nothing happens.
|
||||
|
||||
\membersection{wxLog::HasPendingMessages}\label{haspendingmessages}
|
||||
|
||||
\constfunc{bool}{HasPendingMessages}{\void}
|
||||
|
||||
Returns true if there are any messages in the buffer (not yet shown to the
|
||||
user). (Almost) for internal use only.
|
||||
|
||||
\membersection{wxLog::SetVerbose}\label{wxlogsetverbose}
|
||||
|
||||
\func{void}{SetVerbose}{\param{bool }{ verbose = TRUE}}
|
||||
|
||||
Activates or desactivates verbose mode in which the verbose messages are
|
||||
logged as the normal ones instead of being silently dropped.
|
||||
|
||||
\membersection{wxLog::GetVerbose}\label{wxloggetverbose}
|
||||
|
||||
\constfunc{bool}{GetVerbose}{\void}
|
||||
|
||||
Returns whether the verbose mode is currently active.
|
||||
|
||||
\membersection{wxLog::SetTimeStampFormat}\label{wxlogsettimestampformat}
|
||||
|
||||
\func{void}{SetTimeStampFormat}{\param{const char * }{ format}}
|
||||
|
||||
Sets the timestamp format prepended by the default log targets to all
|
||||
messages. The string may contain any normal characters as well as \%
|
||||
prefixed format specificators, see {\it strftime()} manual for details.
|
||||
Passing an empty string to this function disables message timestamping.
|
||||
|
||||
\membersection{wxLog::GetTimeStampFormat}\label{wxloggettimestampformat}
|
||||
|
||||
\constfunc{const char *}{GetTimeStampFormat}{\void}
|
||||
|
||||
Returns the current timestamp format string.
|
||||
|
||||
\membersection{wxLog::SetTraceMask}\label{wxlogsettracemask}
|
||||
|
||||
\func{static void}{SetTraceMask}{\param{wxTraceMask }{ mask}}
|
||||
|
||||
Sets the trace mask, see \helpref{Customization}{wxlogcustomization}
|
||||
section for details.
|
||||
|
||||
\membersection{wxLog::GetTraceMask}\label{wxloggettracemask}
|
||||
|
||||
Returns the current trace mask, see \helpref{Customization}{wxlogcustomization} section
|
||||
for details.
|
@@ -1,14 +1,4 @@
|
||||
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
|
||||
% JACS: doesn't make it through Tex2RTF, sorry.I'll put it into texhelp.sty
|
||||
% since Tex2RTF doesn't parse it.
|
||||
% BTW, style MUST be report for it to work for Tex2RTF.
|
||||
%KB:
|
||||
%\addtolength{\textwidth}{1in}
|
||||
%\addtolength{\oddsidemargin}{-0.5in}
|
||||
%\addtolength{\topmargin}{-0.5in}
|
||||
%\addtolength{\textheight}{1in}
|
||||
%\sloppy
|
||||
%end of my changes
|
||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||
\newcommand{\indexit}[1]{#1\index{#1}}%
|
||||
\newcommand{\pipe}[0]{$\|$\ }%
|
||||
\definecolour{black}{0}{0}{0}%
|
||||
@@ -26,11 +16,11 @@
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{User Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
||||
\winhelponly{\author{by Julian Smart
|
||||
\winhelponly{\author{by Julian Smart and Markus Holzem
|
||||
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||
}}
|
||||
\winhelpignore{\author{Julian Smart}
|
||||
\date{November 4th 1998}
|
||||
\date{June 4th 1998}
|
||||
}
|
||||
\makeindex
|
||||
\begin{document}
|
||||
@@ -85,8 +75,7 @@
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
|
||||
\begin{center}
|
||||
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
||||
members of the wxWindows team\\
|
||||
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||
\end{center}
|
||||
|
||||
@@ -100,7 +89,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
||||
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
||||
UNIVERSITY OF EDINBURGH OR JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
|
||||
DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH
|
||||
@@ -111,7 +100,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
\helpinput{category.tex}
|
||||
\helpinput{topics.tex}
|
||||
|
||||
\begin{comment}
|
||||
\newpage
|
||||
|
||||
% Puts books in the bibliography without needing to cite them in the
|
||||
@@ -127,7 +115,6 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
\addcontentsline{toc}{chapter}{Bibliography}
|
||||
\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||
\end{comment}
|
||||
|
||||
\newpage
|
||||
\addcontentsline{toc}{chapter}{Index}
|
||||
|
@@ -21,7 +21,7 @@ With a popup menu, there is a variety of ways to handle a menu selection event
|
||||
|
||||
\begin{enumerate}\itemsep=0pt
|
||||
\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
|
||||
The callback takes a reference to the menu, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}.
|
||||
The callback takes a reference to a window, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}.
|
||||
\item Derive a new class from wxMenu and define event table entries using the EVT\_MENU macro.
|
||||
\item Set a new event handler for wxMenu, using an object whose class has EVT\_MENU entries.
|
||||
\item Provide EVT\_MENU handlers in the window which pops up the menu, or in an ancestor of
|
||||
@@ -525,18 +525,6 @@ Use only after the menubar has been associated with a frame.
|
||||
|
||||
\helpref{wxMenuBar::SetLabelTop}{wxmenubarsetlabeltop}
|
||||
|
||||
\membersection{wxMenuBar::GetMenu}\label{wxmenubargetmenu}
|
||||
|
||||
\constfunc{wxMenu*}{GetMenu}{\param{int}{ menuIndex}}
|
||||
|
||||
Returns the menu at {\it menuIndex} (zero-based).
|
||||
|
||||
\membersection{wxMenuBar::GetMenuCount}\label{wxmenubargetmenucount}
|
||||
|
||||
\constfunc{int}{GetMenuCount}{\void}
|
||||
|
||||
Returns the number of menus in this menubar.
|
||||
|
||||
\membersection{wxMenuBar::IsChecked}\label{wxmenubarischecked}
|
||||
|
||||
\constfunc{bool}{IsChecked}{\param{int}{ id}}
|
||||
|
@@ -141,27 +141,27 @@ Returns TRUE if the item is a separator.
|
||||
|
||||
\membersection{wxMenuItem::SetBackgroundColour}\label{wxmenuitemsetbackgroundcolour}
|
||||
|
||||
\constfunc{void}{SetBackgroundColour}{\param{const wxColour\& }{colour}}
|
||||
\constfunc{void}{SetBackgroundColour}{\param{const wxColour& }{colour}}
|
||||
|
||||
Sets the background colour associated with the menu item (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
|
||||
|
||||
\constfunc{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
|
||||
\param{const wxBitmap\& }{unchecked = wxNullBitmap}}
|
||||
\constfunc{void}{SetBitmaps}{\param{const wxBitmap& }{checked},
|
||||
\param{const wxBitmap& }{unchecked = wxNullBitmap}}
|
||||
|
||||
Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
|
||||
is also used as the single bitmap for uncheckable menu items.
|
||||
|
||||
\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
|
||||
|
||||
\constfunc{void}{SetFont}{\param{const wxFont\& }{font}}
|
||||
\constfunc{void}{SetFont}{\param{const wxFont& }{font}}
|
||||
|
||||
Sets the font associated with the menu item (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
|
||||
|
||||
\constfunc{void}{SetHelp}{\param{const wxString\& }{helpString}}
|
||||
\constfunc{void}{SetHelp}{\param{const wxString& }{helpString}}
|
||||
|
||||
Sets the help string.
|
||||
|
||||
@@ -173,19 +173,14 @@ Sets the width of the menu item checkmark bitmap (Windows only).
|
||||
|
||||
\membersection{wxMenuItem::SetName}\label{wxmenuitemsetname}
|
||||
|
||||
\constfunc{void}{SetName}{\param{const wxString\& }{text}}
|
||||
\constfunc{void}{SetName}{\param{const wxString& }{text}}
|
||||
|
||||
Sets the text associated with the menu item.
|
||||
|
||||
\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
|
||||
|
||||
\constfunc{void}{SetTextColour}{\param{const wxColour\& }{colour}}
|
||||
\constfunc{void}{SetTextColour}{\param{const wxColour& }{colour}}
|
||||
|
||||
Sets the text colour associated with the menu item (Windows only).
|
||||
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -58,7 +58,7 @@ need for an application to call it.
|
||||
|
||||
\membersection{wxModule::OnExit}\label{wxmoduleonexit}
|
||||
|
||||
\func{virtual void}{OnExit}{\void}
|
||||
\func{virtual bool}{OnExit}{\void}
|
||||
|
||||
Provide this function with appropriate cleanup for your module.
|
||||
|
||||
|
@@ -26,7 +26,6 @@ functions that take a wxMouseEvent argument.
|
||||
\twocolitem{{\bf EVT\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
|
||||
\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW event.}
|
||||
\twocolitem{{\bf EVT\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
|
||||
\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
|
||||
\end{twocollist}%
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
@@ -1,259 +0,0 @@
|
||||
\section{\class{wxNotebook}}\label{wxnotebook}
|
||||
|
||||
This class represents a notebook control, which manages multiple windows with associated tabs.
|
||||
|
||||
To use the class, create a wxNotebook object and call \helpref{AddPage}{wxnotebookaddpage} or \helpref{InsertPage}{wxnotebookinsertpage},
|
||||
passing a window to be used as the page. Do not explicitly delete the window for a page that is currently
|
||||
managed by wxNotebook.
|
||||
|
||||
{\bf wxNotebookPage} is a typedef for wxWindow.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a notebook control, use the following event handler macros to direct input to member
|
||||
functions that take a \helpref{wxNotebookEvent}{wxnotebookevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGED(id, func)}}{The page selection was changed. Processes a
|
||||
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK\_PAGE\_CHANGING(id, func)}}{The page selection is about to be changed.
|
||||
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent}{wxnotebookevent}, \helpref{wxImageList}{wximagelist},\rtfsp
|
||||
\helpref{wxTabCtrl}{wxtabctrl}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxNotebook::wxNotebook}\label{wxnotebookconstr}
|
||||
|
||||
\func{}{wxNotebook}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxNotebook}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
|
||||
|
||||
Constructs a notebook control.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{The parent window. Must be non-NULL.}
|
||||
|
||||
\docparam{id}{The window identifier.}
|
||||
|
||||
\docparam{pos}{The window position.}
|
||||
|
||||
\docparam{size}{The window size.}
|
||||
|
||||
\docparam{style}{The window style. Its value is a bit list of zero or more of {\bf wxTC\_MULTILINE},
|
||||
{\bf wxTC\_RIGHTJUSTIFY}, {\bf wxTC\_FIXEDWIDTH} and {\bf wxTC\_OWNERDRAW}.}
|
||||
|
||||
\membersection{wxNotebook::\destruct{wxNotebook}}
|
||||
|
||||
\func{}{\destruct{wxNotebook}}{\void}
|
||||
|
||||
Destroys the wxNotebook object.
|
||||
|
||||
\membersection{wxNotebook::AddPage}\label{wxnotebookaddpage}
|
||||
|
||||
\func{bool}{AddPage}{\param{wxNotebookPage*}{ page},
|
||||
\param{const wxString\&}{ text},
|
||||
\param{bool}{ select = FALSE},
|
||||
\param{int}{ imageId = -1}}
|
||||
|
||||
Adds a new page.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{page}{Specifies the new page.}
|
||||
|
||||
\docparam{text}{Specifies the text for the new page.}
|
||||
|
||||
\docparam{select}{Specifies whether the page should be selected.}
|
||||
|
||||
\docparam{imageId}{Specifies the optional image index for the new page.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Do not delete the page, it will be deleted by the notebook.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::InsertPage}{wxnotebookinsertpage}
|
||||
|
||||
\membersection{wxNotebook::AdvanceSelection}\label{wxnotebookadvanceselection}
|
||||
|
||||
\func{void}{AdvanceSelection}{\param{bool}{ forward = TRUE}}
|
||||
|
||||
Cycles through the tabs.
|
||||
|
||||
\membersection{wxNotebook::Create}\label{wxnotebookcreate}
|
||||
|
||||
\func{bool}{Create}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
||||
\param{const wxSize\&}{ size}, \param{long}{ style = 0}, \param{const wxString\& }{name = "notebook"}}
|
||||
|
||||
Creates a notebook control. See \helpref{wxNotebook::wxNotebook}{wxnotebookconstr} for a description
|
||||
of the parameters.
|
||||
|
||||
\membersection{wxNotebook::DeleteAllPages}\label{wxnotebookdeleteallpages}
|
||||
|
||||
\func{bool}{DeleteAllPages}{\void}
|
||||
|
||||
Deletes all pages.
|
||||
|
||||
\membersection{wxNotebook::DeletePage}\label{wxnotebookdeletepage}
|
||||
|
||||
\func{bool}{DeletePage}{\param{int}{ page}}
|
||||
|
||||
Deletes the specified page.
|
||||
|
||||
\membersection{wxNotebook::GetImageList}\label{wxnotebookgetimagelist}
|
||||
|
||||
\constfunc{wxImageList*}{GetImageList}{\void}
|
||||
|
||||
Returns the associated image list.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxImageList}{wximagelist}, \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}
|
||||
|
||||
\membersection{wxNotebook::GetPage}\label{wxnotebookgetpage}
|
||||
|
||||
\func{wxNotebookPage*}{GetPage}{\param{int}{ page}}
|
||||
|
||||
Returns the window at the given page position.
|
||||
|
||||
\membersection{wxNotebook::GetPageCount}\label{wxnotebookgetpagecount}
|
||||
|
||||
\constfunc{int}{GetPageCount}{\void}
|
||||
|
||||
Returns the number of pages in the notebook control.
|
||||
|
||||
\membersection{wxNotebook::GetPageImage}\label{wxnotebookgetpageimage}
|
||||
|
||||
\constfunc{int}{GetPageImage}{\void}
|
||||
|
||||
Returns the image index for the given page.
|
||||
|
||||
\membersection{wxNotebook::GetPageText}\label{wxnotebookgetpagetext}
|
||||
|
||||
\constfunc{wxString}{GetPageText}{\void}
|
||||
|
||||
Returns the string for the given page.
|
||||
|
||||
\membersection{wxNotebook::GetRowCount}\label{wxnotebookgetrowcount}
|
||||
|
||||
\constfunc{int}{GetRowCount}{\void}
|
||||
|
||||
Returns the number of rows in the notebook control.
|
||||
|
||||
\membersection{wxNotebook::GetSelection}\label{wxnotebookgetselection}
|
||||
|
||||
\constfunc{int}{GetSelection}{\void}
|
||||
|
||||
Returns the currently selected page, or -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebook::InsertPage}\label{wxnotebookinsertpage}
|
||||
|
||||
\func{bool}{InsertPage}{\param{int}{ index}, \param{wxNotebookPage*}{ page},
|
||||
\param{const wxString\&}{ text},
|
||||
\param{bool}{ select = FALSE},
|
||||
\param{int}{ imageId = -1}}
|
||||
|
||||
Inserts a new page at the specified position.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{index}{Specifies the position for the new page.}
|
||||
|
||||
\docparam{page}{Specifies the new page.}
|
||||
|
||||
\docparam{text}{Specifies the text for the new page.}
|
||||
|
||||
\docparam{select}{Specifies whether the page should be selected.}
|
||||
|
||||
\docparam{imageId}{Specifies the optional image index for the new page.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
TRUE if successful, FALSE otherwise.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Do not delete the page, it will be deleted by the notebook.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::AddPage}{wxnotebookaddpage}
|
||||
|
||||
\membersection{wxNotebook::OnSelChange}\label{wxnotebookonselchange}
|
||||
|
||||
\func{void}{OnSelChange}{\param{wxNotebookEvent\&}{ event}}
|
||||
|
||||
An event handler function, called when the page selection is changed.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent}{wxnotebookevent}
|
||||
|
||||
\membersection{wxNotebook::SetImageList}\label{wxnotebooksetimagelist}
|
||||
|
||||
\func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
|
||||
|
||||
Sets the image list for the page control.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxImageList}{wximagelist}
|
||||
|
||||
\membersection{wxNotebook::SetPadding}\label{wxnotebooksetpadding}
|
||||
|
||||
\func{void}{SetPadding}{\param{const wxSize\&}{ padding}}
|
||||
|
||||
Sets the amount of space around each page's icon and label, in pixels.
|
||||
|
||||
\membersection{wxNotebook::SetPageSize}\label{wxnotebooksetpagesize}
|
||||
|
||||
\func{void}{SetPageSize}{\param{const wxSize\&}{ size}}
|
||||
|
||||
Sets the width and height of the pages.
|
||||
|
||||
\membersection{wxNotebook::SetPageImage}\label{wxnotebooksetpageimage}
|
||||
|
||||
\func{bool}{SetPageImage}{\param{int}{ page}, \param{int }{image}}
|
||||
|
||||
Sets the image index for the given page. {\it image} is an index into
|
||||
the image list which was set with \helpref{wxNotebook::SetImageList}{wxnotebooksetimagelist}.
|
||||
|
||||
\membersection{wxNotebook::SetPageText}\label{wxnotebooksetpagetext}
|
||||
|
||||
\func{bool}{SetPageText}{\param{int}{ page}, \param{const wxString\& }{text}}
|
||||
|
||||
Sets the text for the given page.
|
||||
|
||||
\membersection{wxNotebook::SetSelection}\label{wxnotebooksetselection}
|
||||
|
||||
\func{int}{SetSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the selection for the given page, returning the previous selection.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook::GetSelection}{wxnotebookgetselection}
|
||||
|
||||
|
@@ -1,66 +0,0 @@
|
||||
\section{\class{wxNotebookEvent}}\label{wxnotebookevent}
|
||||
|
||||
This class represents the events generated by a notebook control.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxCommandEvent}{wxcommandevent}\\
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a notebook event, use these event handler macros to direct input to member
|
||||
functions that take a wxNotebookEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGED(id, func)}}{The page selection was changed. Processes a
|
||||
wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGED event.}
|
||||
\twocolitem{{\bf EVT\_NOTEBOOK_PAGE_CHANGING(id, func)}}{The page selection is about to be changed.
|
||||
Processes a wxEVT\_COMMAND\_NOTEBOOK\_PAGE\_CHANGING event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebook}{wxnotebook}, \helpref{wxTabCtrl}{wxtabctrl}, \helpref{wxTabEvent}{wxtabevent}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxNotebookEvent::wxNotebookEvent}\label{wxnotebookeventconstr}
|
||||
|
||||
\func{}{wxNotebookEvent}{\param{wxEventType}{ eventType = wxEVT\_NULL},
|
||||
\param{int}{ id = 0}, \param{int}{ sel = -1}, \param{int}{ oldSel = -1}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxNotebookEvent::GetOldSelection}\label{wxnotebookeventgetoldselection}
|
||||
|
||||
\constfunc{int}{GetOldSelection}{\void}
|
||||
|
||||
Returns the page that was selected before the change, -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebookEvent::GetSelection}\label{wxnotebookeventgetselection}
|
||||
|
||||
\constfunc{int}{GetSelection}{\void}
|
||||
|
||||
Returns the currently selected page, or -1 if none was selected.
|
||||
|
||||
\membersection{wxNotebookEvent::SetOldSelection}\label{wxnotebookeventsetoldselection}
|
||||
|
||||
\func{void}{SetOldSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the id of the page selected before the change.
|
||||
|
||||
\membersection{wxNotebookEvent::SetSelection}\label{wxnotebookeventsetselection}
|
||||
|
||||
\func{void}{SetSelection}{\param{int}{ page}}
|
||||
|
||||
Sets the selection member variable.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxNotebookEvent::GetSelection}{wxnotebookeventgetselection}
|
||||
|
||||
|
@@ -15,8 +15,7 @@ isn't overriden.
|
||||
\func{}{wxProcess}{\param{wxEvtHandler *}{ parent = NULL}, \param{int}{ id = -1}}
|
||||
|
||||
Constructs a process object. {\it id} is only used in the case you want to
|
||||
use wxWindows events. It identifies this object, or another window that will
|
||||
receive the event.
|
||||
use wxWindows events.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
@@ -38,4 +37,3 @@ It is called when the process with the pid {\it pid} finishes.
|
||||
It raises a wxWindows event when it isn't overriden.
|
||||
|
||||
\docparam{pid}{The pid of the process which ends.}
|
||||
|
||||
|
@@ -1,52 +0,0 @@
|
||||
\section{\class{wxProcessEvent}}\label{wxprocessevent}
|
||||
|
||||
A process event is sent when a process is terminated.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a wxProcessEvent, use these event handler macros to direct input to a member
|
||||
function that takes a wxProcessEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_END\_PROCESS(id, func)}}{Process a wxEVT\_END\_PROCESS event.
|
||||
{\it id} is the identifier of the process object (the id passed to the wxProcess constructor)
|
||||
or a window to receive the event.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxProcess}{wxprocess},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxProcessEvent::wxProcessEvent}
|
||||
|
||||
\func{}{wxProcessEvent}{\param{int }{id = 0}, \param{int }{pid = 0}}
|
||||
|
||||
Constructor. Takes a wxProcessObject or window id, and a process id.
|
||||
|
||||
\membersection{wxProcessEvent::m\_pid}
|
||||
|
||||
\member{int}{m\_pid}
|
||||
|
||||
Contains the process id.
|
||||
|
||||
\membersection{wxProcessEvent::GetPid}\label{wxprocesseventgetpid}
|
||||
|
||||
\constfunc{int}{GetPid}{\void}
|
||||
|
||||
Returns the process id.
|
||||
|
||||
\membersection{wxProcessEvent::SetPid}\label{wxprocesseventsetpid}
|
||||
|
||||
\func{void}{SetPid}{\param{int}{ pid}}
|
||||
|
||||
Sets the process id.
|
||||
|
@@ -1,118 +0,0 @@
|
||||
\section{\class{wxQueryLayoutInfoEvent}}\label{wxquerylayoutinfoevent}
|
||||
|
||||
This event is sent when \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} wishes to get
|
||||
the size, orientation and alignment of a window. More precisely, the event is sent
|
||||
by the OnCalculateLayout handler which is itself invoked by wxLayoutAlgorithm.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_QUERY\_LAYOUT\_INFO(func)}}{Process a wxEVT\_QUERY\_LAYOUT\_INFO event,
|
||||
to get size, orientation and alignment from a window.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxLayoutOrientation {
|
||||
wxLAYOUT_HORIZONTAL,
|
||||
wxLAYOUT_VERTICAL
|
||||
};
|
||||
|
||||
enum wxLayoutAlignment {
|
||||
wxLAYOUT_NONE,
|
||||
wxLAYOUT_TOP,
|
||||
wxLAYOUT_LEFT,
|
||||
wxLAYOUT_RIGHT,
|
||||
wxLAYOUT_BOTTOM,
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent},\rtfsp
|
||||
\helpref{wxSashLayoutWindow}{wxsashlayoutwindow},\rtfsp
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}.
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::wxQueryLayoutInfoEvent}
|
||||
|
||||
\func{}{wxQueryLayoutInfoEvent}{\param{wxWindowID }{id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetAlignment}\label{wxquerylayoutinfoeventgetalignment}
|
||||
|
||||
\constfunc{void}{GetAlignment}{\void}
|
||||
|
||||
Specifies the alignment of the window (which side of the remaining parent client area
|
||||
the window sticks to). One of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetFlags}\label{wxquerylayoutinfoeventgetflags}
|
||||
|
||||
\constfunc{int}{GetFlags}{\void}
|
||||
|
||||
Returns the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetOrientation}\label{wxquerylayoutinfoeventgetorientation}
|
||||
|
||||
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
|
||||
|
||||
Returns the orientation that the event handler specified to the event object. May be one of wxLAYOUT\_HORIZONTAL,
|
||||
wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetRequestedLength}\label{wxquerylayoutinfoeventgetrequestedlength}
|
||||
|
||||
\constfunc{int}{GetRequestedLength}{\void}
|
||||
|
||||
Returns the requested length of the window in the direction of the window orientation. This information
|
||||
is not yet used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::GetSize}\label{wxquerylayoutinfoeventgetsize}
|
||||
|
||||
\constfunc{wxSize}{GetSize}{\void}
|
||||
|
||||
Returns the size that the event handler specified to the event object as being the requested size of the window.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetAlignment}\label{wxquerylayoutinfoeventsetalignment}
|
||||
|
||||
\func{void}{SetAlignment}{\param{wxLayoutAlignment }{alignment}}
|
||||
|
||||
Call this to specify the alignment of the window (which side of the remaining parent client area
|
||||
the window sticks to). May be one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetFlags}\label{wxquerylayoutinfoeventsetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{int }{flags}}
|
||||
|
||||
Sets the flags associated with this event. Not currently used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetOrientation}\label{wxquerylayoutinfoeventsetorientation}
|
||||
|
||||
\func{void}{SetOrientation}{\param{wxLayoutOrientation }{orientation}}
|
||||
|
||||
Call this to specify the orientation of the window. May be one of wxLAYOUT\_HORIZONTAL,
|
||||
wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetRequestedLength}\label{wxquerylayoutinfoeventsetrequestedlength}
|
||||
|
||||
\func{void}{SetRequestedLength}{\param{int}{ length}}
|
||||
|
||||
Sets the requested length of the window in the direction of the window orientation. This information
|
||||
is not yet used.
|
||||
|
||||
\membersection{wxQueryLayoutInfoEvent::SetSize}\label{wxquerylayoutinfoeventsetsize}
|
||||
|
||||
\func{void}{SetSize}{\param{const wxSize\& }{size}}
|
||||
|
||||
Call this to let the calling code know what the size of the window is.
|
||||
|
@@ -21,14 +21,6 @@ labelled buttons.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_RADIOBOX(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBOX\_SELECTED event,
|
||||
when a radiobutton is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioButton}{wxradiobutton},\rtfsp
|
||||
|
@@ -16,14 +16,6 @@ There are no specific styles for this class.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_RADIOBUTTON(id, func)}}{Process a wxEVT\_COMMAND\_RADIOBUTTON\_SELECTED event,
|
||||
when the radiobutton is clicked.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioBox}{wxradiobox},\rtfsp
|
||||
|
@@ -1,12 +1,4 @@
|
||||
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{thesis}
|
||||
%KB:
|
||||
\addtolength{\textwidth}{1in}
|
||||
\addtolength{\oddsidemargin}{-0.5in}
|
||||
\addtolength{\topmargin}{-0.5in}
|
||||
\addtolength{\textheight}{1in}
|
||||
\sloppy
|
||||
%end of my changes
|
||||
%\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||
\newcommand{\indexit}[1]{#1\index{#1}}
|
||||
\newcommand{\pipe}[0]{$\|$\ }%
|
||||
\input psbox.tex
|
||||
@@ -17,8 +9,8 @@
|
||||
\parskip=10pt
|
||||
\parindent=0pt
|
||||
\title{Reference Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
||||
\author{Julian Smart}
|
||||
\date{November 4th 1998}
|
||||
\author{Julian Smart and Markus Holzem}
|
||||
\date{October 21st 1997}
|
||||
|
||||
\makeindex
|
||||
\begin{document}
|
||||
@@ -37,8 +29,7 @@
|
||||
\setfooter{\thepage}{}{}{}{}{\thepage}
|
||||
|
||||
\begin{center}
|
||||
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
||||
members of the wxWindows team\\
|
||||
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||
\end{center}
|
||||
|
||||
@@ -52,7 +43,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
||||
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
||||
UNIVERSITY OF EDINBURGH OR JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF
|
||||
DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH
|
||||
|
@@ -8,10 +8,6 @@ reference counting, so copying and assignment operations are fast.
|
||||
\helpref{wxGDIObject}{wxgdiobject}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRegionIterator}{wxregioniterator}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxRegion::wxRegion}\label{wxregionconstr}
|
||||
@@ -183,105 +179,4 @@ for any overlapping areas. The result is stored in this region.
|
||||
|
||||
Copies {\it region} by reference counting.
|
||||
|
||||
\section{\class{wxRegionIterator}}\label{wxregioniterator}
|
||||
|
||||
This class is used to iterate through the rectangles in a region,
|
||||
typically when examining the damaged regions of a window within an OnPaint call.
|
||||
|
||||
To use it, construct an iterator object on the stack and loop through the
|
||||
regions, testing the object and incrementing the iterator at the end of the loop.
|
||||
|
||||
See \helpref{wxWindow::OnPaint}{wxwindowonpaint} for an example of use.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::OnPaint}{wxwindowonpaint}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxRegionIterator::wxRegionIterator}
|
||||
|
||||
\func{}{wxRegionIterator}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxRegionIterator}{\param{const wxRegion\&}{ region}}
|
||||
|
||||
Creates an iterator object given a region.
|
||||
|
||||
\membersection{wxRegionIterator::GetX}
|
||||
|
||||
\constfunc{long}{GetX}{\void}
|
||||
|
||||
Returns the x value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetY}
|
||||
|
||||
\constfunc{long}{GetY}{\void}
|
||||
|
||||
Returns the y value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetW}
|
||||
|
||||
\constfunc{long}{GetW}{\void}
|
||||
|
||||
An alias for GetWidth.
|
||||
|
||||
\membersection{wxRegionIterator::GetWidth}
|
||||
|
||||
\constfunc{long}{GetWidth}{\void}
|
||||
|
||||
Returns the width value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetH}
|
||||
|
||||
\constfunc{long}{GetH}{\void}
|
||||
|
||||
An alias for GetHeight.
|
||||
|
||||
\membersection{wxRegionIterator::GetHeight}
|
||||
|
||||
\constfunc{long}{GetWidth}{\void}
|
||||
|
||||
Returns the width value for the current region.
|
||||
|
||||
\membersection{wxRegionIterator::GetRect}
|
||||
|
||||
\constfunc{wxRect}{GetRect}{\void}
|
||||
|
||||
Returns the current rectangle.
|
||||
|
||||
\membersection{wxRegionIterator::HaveRects}
|
||||
|
||||
\constfunc{bool}{HaveRects}{\void}
|
||||
|
||||
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
|
||||
|
||||
\membersection{wxRegionIterator::Reset}
|
||||
|
||||
\func{void}{Reset}{\void}
|
||||
|
||||
Resets the iterator to the beginning of the rectangles.
|
||||
|
||||
\func{void}{Reset}{\param{const wxRegion\&}{ region}}
|
||||
|
||||
Resets the iterator to the given region.
|
||||
|
||||
\membersection{wxRegionIterator::operator $++$}
|
||||
|
||||
\func{void}{operator $++$}{\void}
|
||||
|
||||
Increment operator. Increments the iterator to the next region.
|
||||
|
||||
\membersection{wxRegionIterator::operator bool}
|
||||
|
||||
\constfunc{}{operator bool}{\void}
|
||||
|
||||
Returns TRUE if there are still some rectangles; otherwise returns FALSE.
|
||||
|
||||
You can use this to test the iterator object as if it were of type bool.
|
||||
|
||||
|
@@ -1,85 +0,0 @@
|
||||
\section{\class{wxSashEvent}}\label{wxsashevent}
|
||||
|
||||
A sash event is sent when the sash of a \helpref{wxSashWindow}{wxsashwindow} has been
|
||||
dragged by the user.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxCommandEvent}{wxcommandevent}\\
|
||||
\helpref{wxEvent}{wxevent}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process an activate event, use these event handler macros to direct input to a member
|
||||
function that takes a wxSashEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
|
||||
when the user has finished dragging a sash.}
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
|
||||
when the user has finished dragging a sash. The event handler is called when windows with ids in the
|
||||
given range have their sashes dragged.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data structures}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxSashDragStatus
|
||||
{
|
||||
wxSASH_STATUS_OK,
|
||||
wxSASH_STATUS_OUT_OF_RANGE
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
When a sash belonging to a sash window is dragged by the user, and then released,
|
||||
this event is sent to the window, where it may be processed by an event table
|
||||
entry in a derived class, a plug-in event handler or an ancestor class.
|
||||
|
||||
Note that the wxSashWindow doesn't change the window's size itself. It relies on the application's
|
||||
event handler to do that. This is because the application may have to handle other consequences
|
||||
of the resize, or it may wish to veto it altogether. The event handler should
|
||||
look at the drag rectangle: see \helpref{wxSashEvent::GetDragRect}{wxsasheventgetdragrect} to see
|
||||
what the new size of the window would be if the resize were to be applied. It should
|
||||
also call \helpref{wxSashEvent::GetDragStatus}{wxsasheventgetdragstatus} to see whether the
|
||||
drag was OK or out of the current allowed range.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow}{wxsashwindow},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashEvent::wxSashEvent}
|
||||
|
||||
\func{}{wxSashEvent}{\param{int }{id = 0}, \param{wxSashEdgePosition}{ edge = wxSASH\_NONE}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxSashEvent::GetEdge}\label{wxsasheventgetedge}
|
||||
|
||||
\constfunc{wxSashEdgePosition}{GetEdge}{\void}
|
||||
|
||||
Returns the dragged edge. The return value is one of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.
|
||||
|
||||
\membersection{wxSashEvent::GetDragRect}\label{wxsasheventgetdragrect}
|
||||
|
||||
\constfunc{wxRect}{GetDragRect}{\void}
|
||||
|
||||
Returns the rectangle representing the new size the window would be if the resize was applied. It is
|
||||
up to the application to set the window size if required.
|
||||
|
||||
\membersection{wxSashEvent::GetDragStatus}\label{wxsasheventgetdragstatus}
|
||||
|
||||
\constfunc{wxSashDragStatus}{GetDragStatus}{\void}
|
||||
|
||||
Returns the status of the sash: one of wxSASH\_STATUS\_OK, wxSASH\_STATUS\_OUT\_OF\_RANGE.
|
||||
If the drag caused the notional bounding box of the window to flip over, for example, the drag will be out of rage.
|
||||
|
||||
|
@@ -1,128 +0,0 @@
|
||||
\section{\class{wxSashLayoutWindow}}\label{wxsashlayoutwindow}
|
||||
|
||||
wxSashLayoutWindow responds to OnCalculateLayout events generated
|
||||
by \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}. It allows the
|
||||
application to use simple accessors to specify how the window should be
|
||||
laid out, rather than having to respond to events. The fact that
|
||||
the class derives from wxSashWindow allows sashes to be used if required,
|
||||
to allow the windows to be user-resizable.
|
||||
|
||||
The documentation for \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} explains
|
||||
the purpose of this class in more detail.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSashWindow}{wxsashwindow}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
See \helpref{wxSashWindow}{wxsashwindow}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
This class handles the EVT\_QUERY\_LAYOUT\_INFO and EVT\_CALCULATE\_LAYOUT events
|
||||
for you. However, if you use sashes, see \helpref{wxSashWindow}{wxsashwindow} for
|
||||
relevant event information.
|
||||
|
||||
See also \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} for information
|
||||
about the layout events.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxLayoutAlgorithm}{wxlayoutalgorithm}, \helpref{wxSashWindow}{wxsashwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashLayoutWindow::wxSashLayoutWindow}
|
||||
|
||||
\func{}{wxSashLayoutWindow}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxSashLayoutWindow}{\param{wxSashLayoutWindow*}{ parent}, \param{wxSashLayoutWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
|
||||
\param{const wxString\& }{name = "layoutWindow"}}
|
||||
|
||||
Constructs a sash layout window, which can be a child of a frame, dialog or any other non-control window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Pointer to a parent window.}
|
||||
|
||||
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||
|
||||
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashLayoutWindows
|
||||
should generate a default position for the window. If using the wxSashLayoutWindow class directly, supply
|
||||
an actual position.}
|
||||
|
||||
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashLayoutWindows
|
||||
should generate a default size for the window.}
|
||||
|
||||
\docparam{style}{Window style. For window styles, please see \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxSashLayoutWindow::\destruct{wxSashLayoutWindow}}
|
||||
|
||||
\func{}{\destruct{wxSashLayoutWindow}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxSashLayoutWindow::GetAlignment}\label{wxsashlayoutwindowgetalignment}
|
||||
|
||||
\constfunc{wxLayoutAlignment}{GetAlignment}{\void}
|
||||
|
||||
Returns the alignment of the window: one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxSashLayoutWindow::GetOrientation}\label{wxsashlayoutwindowgetorientation}
|
||||
|
||||
\constfunc{wxLayoutOrientation}{GetOrientation}{\void}
|
||||
|
||||
Returns the orientation of the window: one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.
|
||||
|
||||
\membersection{wxSashLayoutWindow::OnCalculateLayout}\label{wxsashlayoutwindowoncalculatelayout}
|
||||
|
||||
\func{void}{OnCalculateLayout}{\param{wxCalculateLayoutEvent\&}{ event}}
|
||||
|
||||
The default handler for the event that is generated by wxLayoutAlgorithm. The implementation
|
||||
of this function calls wxCalculateLayoutEvent::SetRect to shrink the provided size according to
|
||||
how much space this window takes up. For further details,
|
||||
see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxCalculateLayoutEvent}{wxcalculatelayoutevent}.
|
||||
|
||||
\membersection{wxSashLayoutWindow::OnQueryLayoutInfo}\label{wxsashlayoutwindowonquerylayoutinfo}
|
||||
|
||||
\func{void}{OnQueryLayoutInfo}{\param{wxQueryLayoutInfoEvent\&}{ event}}
|
||||
|
||||
The default handler for the event that is generated by OnCalculateLayout to get
|
||||
size, alignment and orientation information for the window. The implementation
|
||||
of this function uses member variables as set by accessors called by the application.
|
||||
For further details, see \helpref{wxLayoutAlgorithm}{wxlayoutalgorithm} and \helpref{wxQueryLayoutInfoEvent}{wxquerylayoutinfoevent}.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetAlignment}\label{wxsashlayoutwindowsetalignment}
|
||||
|
||||
\func{void}{SetAlignment}{\param{wxLayoutAlignment}{ alignment}}
|
||||
|
||||
Sets the alignment of the window (which edge of the available parent client area the window
|
||||
is attached to). {\it alignment} is one of wxLAYOUT\_TOP, wxLAYOUT\_LEFT, wxLAYOUT\_RIGHT, wxLAYOUT\_BOTTOM.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetDefaultSize}\label{wxsashlayoutwindowsetdefaultsize}
|
||||
|
||||
\func{void}{SetDefaultSize}{\param{const wxSize\& }{size}}
|
||||
|
||||
Sets the default dimensions of the window. The dimension other than the orientation will be fixed to this
|
||||
value, and the orientation dimension will be ignored and the window stretched to fit the available space.
|
||||
|
||||
\membersection{wxSashLayoutWindow::SetOrientation}\label{wxsashlayoutwindowsetorientation}
|
||||
|
||||
\func{void}{SetOrientation}{\param{wxLayoutOrientation}{ orientation}}
|
||||
|
||||
Sets the orientation of the window (the direction the window will stretch in, to fill the available
|
||||
parent client area). {\it orientation} is one of wxLAYOUT\_HORIZONTAL, wxLAYOUT\_VERTICAL.
|
||||
|
||||
|
||||
|
@@ -1,203 +0,0 @@
|
||||
\section{\class{wxSashWindow}}\label{wxsashwindow}
|
||||
|
||||
wxSashWindow allows any of its edges to have a sash which can be dragged
|
||||
to resize the window. The actual content window will be created by the application
|
||||
as a child of wxSashWindow. The window (or an ancestor) will be notified of a drag
|
||||
via a \helpref{wxSashEvent}{wxsashevent} notification.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
The following styles apply in addition to the normal wxWindow styles.
|
||||
|
||||
\twocolwidtha{5cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSW\_3D}}{Draws the sashes in 3D.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED(id, func)}}{Process a wxEVT\_SASH\_DRAGGED event,
|
||||
when the user has finished dragging a sash.}
|
||||
\twocolitem{{\bf EVT\_SASH\_DRAGGED\_RANGE(id1, id2, func)}}{Process a wxEVT\_SASH\_DRAGGED\_RANGE event,
|
||||
when the user has finished dragging a sash. The event handler is called when windows with ids in the
|
||||
given range have their sashes dragged.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{Data types}
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
enum wxSashEdgePosition {
|
||||
wxSASH_TOP = 0,
|
||||
wxSASH_RIGHT,
|
||||
wxSASH_BOTTOM,
|
||||
wxSASH_LEFT,
|
||||
wxSASH_NONE = 100
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashEvent}{wxsashevent}, \helpref{wxSashLayoutWindow}{wxsashlayoutwindow}, \helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSashWindow::wxSashWindow}
|
||||
|
||||
\func{}{wxSashWindow}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxSashWindow}{\param{wxSashWindow*}{ parent}, \param{wxSashWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxCLIP\_CHILDREN \pipe wxSW\_3D},
|
||||
\param{const wxString\& }{name = "sashWindow"}}
|
||||
|
||||
Constructs a sash window, which can be a child of a frame, dialog or any other non-control window.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Pointer to a parent window.}
|
||||
|
||||
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||
|
||||
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxSashWindows
|
||||
should generate a default position for the window. If using the wxSashWindow class directly, supply
|
||||
an actual position.}
|
||||
|
||||
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxSashWindows
|
||||
should generate a default size for the window.}
|
||||
|
||||
\docparam{style}{Window style. For window styles, please see \helpref{wxSashWindow}{wxsashwindow}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\membersection{wxSashWindow::\destruct{wxSashWindow}}
|
||||
|
||||
\func{}{\destruct{wxSashWindow}}{\void}
|
||||
|
||||
Destructor.
|
||||
|
||||
\membersection{wxSashWindow::GetSashVisible}\label{wxsashwindowgetsashvisible}
|
||||
|
||||
\constfunc{bool}{GetSashVisible}{\param{wxSashEdgePosition }{edge}}
|
||||
|
||||
Returns TRUE if a sash is visible on the given edge, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::SetSashVisible}{wxsashwindowsetsashvisible}
|
||||
|
||||
\membersection{wxSashWindow::GetMaximumSizeX}\label{wxsashwindowgetmaximumsizex}
|
||||
|
||||
\constfunc{int}{GetMaximumSizeX}{\void}
|
||||
|
||||
Gets the maximum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMaximumSizeY}\label{wxsashwindowgetmaximumsizey}
|
||||
|
||||
\constfunc{int}{GetMaximumSizeY}{\void}
|
||||
|
||||
Gets the maximum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMinimumSizeX}\label{wxsashwindowgetminimumsizex}
|
||||
|
||||
\func{int}{GetMinimumSizeX}{\void}
|
||||
|
||||
Gets the minimum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::GetMinimumSizeY}\label{wxsashwindowgetminimumsizey}
|
||||
|
||||
\constfunc{int}{GetMinimumSizeY}{\param{int}{ min}}
|
||||
|
||||
Gets the minimum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::HasBorder}\label{wxsashwindowhasborder}
|
||||
|
||||
\constfunc{bool}{HasBorder}{\param{wxSashEdgePosition }{edge}}
|
||||
|
||||
Returns TRUE if the sash has a border, FALSE otherwise.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::SetSashBorder}{wxsashwindowsetsashborder}
|
||||
|
||||
\membersection{wxSashWindow::SetMaximumSizeX}\label{wxsashwindowsetmaximumsizex}
|
||||
|
||||
\func{void}{SetMaximumSizeX}{\param{int}{ min}}
|
||||
|
||||
Sets the maximum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMaximumSizeY}\label{wxsashwindowsetmaximumsizey}
|
||||
|
||||
\func{void}{SetMaximumSizeY}{\param{int}{ min}}
|
||||
|
||||
Sets the maximum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMinimumSizeX}\label{wxsashwindowsetminimumsizex}
|
||||
|
||||
\func{void}{SetMinimumSizeX}{\param{int}{ min}}
|
||||
|
||||
Sets the minimum window size in the x direction.
|
||||
|
||||
\membersection{wxSashWindow::SetMinimumSizeY}\label{wxsashwindowsetminimumsizey}
|
||||
|
||||
\func{void}{SetMinimumSizeY}{\param{int}{ min}}
|
||||
|
||||
Sets the minimum window size in the y direction.
|
||||
|
||||
\membersection{wxSashWindow::SetSashVisible}\label{wxsashwindowsetsashvisible}
|
||||
|
||||
\func{void}{SetSashVisible}{\param{wxSashEdgePosition }{edge}, \param{bool}{ visible}}
|
||||
|
||||
Call this function to make a sash visible or invisible on a particular edge.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\docparam{visible}{TRUE to make the sash visible, FALSE to make it invisible.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::GetSashVisible}{wxsashwindowgetsashvisible}
|
||||
|
||||
// Set whether there's a border in this position
|
||||
inline void SetSashBorder(wxSashEdgePosition edge, bool border) { m_sashes[edge].m_border = border; }
|
||||
|
||||
\membersection{wxSashWindow::SetSashBorder}\label{wxsashwindowsetsashborder}
|
||||
|
||||
\func{void}{SetSashBorder}{\param{wxSashEdgePosition }{edge}, \param{bool}{ hasBorder}}
|
||||
|
||||
Call this function to give the sash a border, or remove the border.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{edge}{Edge to change. One of wxSASH\_TOP, wxSASH\_RIGHT, wxSASH\_BOTTOM, wxSASH\_LEFT.}
|
||||
|
||||
\docparam{hasBorder}{TRUE to give the sash a border visible, FALSE to remove it.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSashWindow::HashBorder}{wxsashwindowhasborder}
|
||||
|
@@ -1,155 +0,0 @@
|
||||
% ----------------------------------------------------------------------------
|
||||
% CLASS: wxSockAddress
|
||||
% ----------------------------------------------------------------------------
|
||||
\section{\class{wxSockAddress}}\label{wxsockaddress}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
{\bf Actually, you don't have to use these functions: only wxSocketBase use it.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}\\
|
||||
\helpref{wxIPV4address}{wxipv4address}\\
|
||||
\helpref{wxIPV6address}{wxipv6address}\\
|
||||
\helpref{wxunixaddress}{wxunixaddress}
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% Members
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% ctor/dtor
|
||||
%
|
||||
|
||||
\membersection{wxSockAddress::wxSockAddress}
|
||||
\func{}{wxSockAddress}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\membersection{wxSockAddress::\destruct{wxSockAddress}}
|
||||
\func{}{\destruct{wxSockAddress}}{\void}
|
||||
|
||||
Default destructor.
|
||||
|
||||
%
|
||||
% Clear
|
||||
%
|
||||
\membersection{wxSockAddress::Clear}
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Delete all informations about the address.
|
||||
|
||||
%
|
||||
% Build
|
||||
%
|
||||
\membersection{wxSockAddress::Build}
|
||||
\func{void}{Build}{\param{struct sockaddr *\&}{ addr}, \param{size\_t\&}{ len}}
|
||||
|
||||
Build a coded socket address.
|
||||
|
||||
%
|
||||
% Disassemble
|
||||
%
|
||||
\membersection{wxSockAddress::Disassemble}
|
||||
\func{void}{Disassemble}{\param{struct sockaddr *}{addr}, \param{size\_t}{ len}}
|
||||
|
||||
Decode a socket address. {\bf Actually, you don't have to use this
|
||||
function: only wxSocketBase use it.}
|
||||
|
||||
%
|
||||
% SockAddrLen
|
||||
%
|
||||
\membersection{wxSockAddress::SockAddrLen}
|
||||
\func{int}{SockAddrLen}{\void};
|
||||
|
||||
Returns the length of the socket address.
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% CLASS: wxIPV4address
|
||||
% ----------------------------------------------------------------------------
|
||||
\section{\class{wxIPV4address}}\label{wxipv4address}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSockAddress}{wxsockaddress}
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% MEMBERS
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% Hostname
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Hostname}
|
||||
\func{bool}{Hostname}{\param{const wxString\&}{ hostname}}
|
||||
|
||||
Use the specified {\it hostname} for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid hostname, invalid IP address).
|
||||
|
||||
%
|
||||
% Hostname
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Hostname}
|
||||
\func{wxString}{Hostname}{\void}
|
||||
|
||||
Returns the hostname which matches the IP address.
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{bool}{Service}{\param{const wxString\&}{ service}}
|
||||
|
||||
Use the specified {\it service} string for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid service).
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{bool}{Service}{\param{unsigned short}{ service}}
|
||||
|
||||
Use the specified {\it service} for the address.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens (invalid service).
|
||||
|
||||
%
|
||||
% Service
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::Service}
|
||||
\func{unsigned short}{Service}{\void}
|
||||
|
||||
Returns the current service.
|
||||
|
||||
%
|
||||
% LocalHost
|
||||
%
|
||||
|
||||
\membersection{wxIPV4address::LocalHost}
|
||||
\func{bool}{LocalHost}{\void}
|
||||
|
||||
Initialize peer host to local host.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns FALSE if something bad happens.
|
@@ -12,6 +12,16 @@ events are received.
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
|
||||
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
A scrollbar has the following main attributes: {\it range}, {\it thumb size}, {\it page size}, and {\it position}.
|
||||
@@ -35,16 +45,6 @@ be called initially, from an {\bf OnSize} event handler, and whenever the applic
|
||||
changes in size. It will adjust the view, object and page size according
|
||||
to the size of the window and the size of the data.
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSB\_HORIZONTAL}}{Specifies a horizontal scrollbar.}
|
||||
\twocolitem{\windowstyle{wxSB\_VERTICAL}}{Specifies a vertical scrollbar.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a scrollbar, use one of these event handler macros to direct input to member
|
||||
@@ -61,7 +61,7 @@ functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
|
||||
\end{twocollist}%
|
||||
|
||||
%
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Scrolling overview}{scrollingoverview},\rtfsp
|
||||
|
@@ -130,7 +130,8 @@ scrolling in that direction.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize}
|
||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||
|
||||
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
||||
|
||||
@@ -154,7 +155,8 @@ to translate these units to logical units.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit}
|
||||
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||
|
||||
\membersection{wxScrolledWindow::IsRetained}\label{wxscrolledwindowisretained}
|
||||
|
||||
|
@@ -31,25 +31,6 @@ Slider events are handled in the same way as a scrollbar.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a slider, use one of these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_SCROLL(id, func)}}{Catch all scroll commands.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_TOP(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_BOTTOM(id, func)}}{Catch a command to put the scroll thumb at the maximum position.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LINEUP(id, func)}}{Catch a line up command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_LINEDOWN(id, func)}}{Catch a line down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEUP(id, func)}}{Catch a page up command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_PAGEDOWN(id, func)}}{Catch a page down command.}
|
||||
\twocolitem{{\bf EVT\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
|
||||
\twocolitem{{\bf EVT\_SLIDER(id, func)}}{Process a wxEVT\_COMMAND\_SLIDER\_UPDATED event,
|
||||
when the slider is moved. Though provided for backward compatibility, this is obsolete.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxScrollBar}{wxscrollbar}
|
||||
|
@@ -1,768 +0,0 @@
|
||||
\section{\class{wxSocketBase}}\label{wxsocketbase}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvtHandler}{wxevthandler}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Event handling
|
||||
% ---------------------------------------------------------------------------
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process events from a socket, use the following event handler macro to direct
|
||||
input to member
|
||||
functions that take a \helpref{wxSocketEvent}{wxsocketevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{A socket event occured.}
|
||||
\end{twocollist}%
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% See also ...
|
||||
% ---------------------------------------------------------------------------
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketEvent}{wxsocketevent}, \helpref{wxSocketClient}{wxsocketclient}, \helpref{wxSocketServer}{wxsocketserver}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSocketBase::wxSocketBase}
|
||||
|
||||
\func{}{wxSocketBase}{\void}
|
||||
|
||||
Default constructor but don't use it, you must use \helpref{wxSocketClient}{wxsocketclient}
|
||||
or \helpref{wxSocketServer}{wxsocketserver}.
|
||||
|
||||
\membersection{wxSocketBase::\destruct{wxSocketBase}}
|
||||
|
||||
\func{}{\destruct{wxSocketBase}}{\void}
|
||||
|
||||
Destroys the wxSocketBase object.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% State functions
|
||||
% ---------------------------------------------------------------------------
|
||||
|
||||
\membersection{wxSocketBase::Ok}\label{wxsocketbaseok}
|
||||
|
||||
\constfunc{bool}{Ok}{\void}
|
||||
|
||||
Returns TRUE if the socket is initialized and ready and FALSE in other
|
||||
cases.
|
||||
|
||||
\membersection{wxSocketBase::Error}\label{wxsocketbaseerror}
|
||||
|
||||
\constfunc{bool}{Error}{\void}
|
||||
|
||||
Returns TRUE if an error occured.
|
||||
|
||||
\membersection{wxSocketBase::IsConnected}\label{wxsocketbaseconnected}
|
||||
|
||||
\constfunc{bool}{IsConnected}{\void}
|
||||
|
||||
Returns TRUE if the socket is connected.
|
||||
|
||||
\membersection{wxSocketBase::IsData}\label{wxsocketbaseisdata}
|
||||
|
||||
\constfunc{bool}{IsData}{\void}
|
||||
|
||||
Returns TRUE if some data is arrived on the socket.
|
||||
|
||||
\membersection{wxSocketBase::IsDisconnected}\label{wxsocketbasedisconnected}
|
||||
|
||||
\constfunc{bool}{IsDisconnected}{\void}
|
||||
|
||||
Returns TRUE if the socket is disconnected.
|
||||
|
||||
\membersection{wxSocketBase::IsNoWait}\label{wxsocketbasenowait}
|
||||
|
||||
\constfunc{bool}{IsNoWait}{\void}
|
||||
|
||||
Returns TRUE if the socket mustn't wait.
|
||||
|
||||
\membersection{wxSocketBase::LastCount}\label{wxsocketbaselastcount}
|
||||
|
||||
\constfunc{size\_t}{LastCount}{\void}
|
||||
|
||||
Returns the number of bytes read or written by the last IO call.
|
||||
|
||||
\membersection{wxSocketBase::LastError}\label{wxsocketbaselasterror}
|
||||
|
||||
\constfunc{int}{LastError}{\void}
|
||||
|
||||
Returns an error in the errno format (see your C programmer's guide).
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% IO calls
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% Peek
|
||||
%
|
||||
\membersection{wxSocketBase::Peek}\label{wxsocketbasepeek}
|
||||
|
||||
\func{wxSocketBase\&}{Peek}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function peeks a buffer of {\it nbytes} bytes from the socket. Peeking a buffer
|
||||
doesn't delete it from the system socket in-queue.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put peeked data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% Read
|
||||
%
|
||||
\membersection{wxSocketBase::Read}\label{wxsocketbaseread}
|
||||
|
||||
\func{wxSocketBase\&}{Read}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function reads a buffer of {\it nbytes} bytes from the socket.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put read data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
\membersection{wxSocketBase::SetFlags}\label{wxsocketbasesetflags}
|
||||
|
||||
\func{void}{SetFlags}{\param{wxSockFlags}{ flags}}
|
||||
|
||||
TODO
|
||||
|
||||
%
|
||||
% Read
|
||||
%
|
||||
\membersection{wxSocketBase::Write}\label{wxsocketbasewrite}
|
||||
|
||||
\func{wxSocketBase\&}{Write}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function writes a buffer of {\it nbytes} bytes from the socket.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to get the data to write.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% WriteMsg
|
||||
%
|
||||
\membersection{wxSocketBase::WriteMsg}\label{wxsocketbasewritemsg}
|
||||
|
||||
\func{wxSocketBase\&}{WriteMsg}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function writes a buffer of {\it nbytes} bytes from the socket. But it
|
||||
writes a short header before so that ReadMsg can alloc the right size for
|
||||
the buffer. So a buffer sent with WriteMsg {\bf must} be read with ReadMsg.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put data peeked.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
|
||||
\helpref{wxSocketBase::ReadMsg}{wxsocketbasereadmsg}
|
||||
|
||||
%
|
||||
% ReadMsg
|
||||
%
|
||||
\membersection{wxSocketBase::ReadMsg}\label{wxsocketbasereadmsg}
|
||||
|
||||
\func{wxSocketBase\&}{ReadMsg}{\param{char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function reads a buffer sent by WriteMsg on a socket. If the buffer passed
|
||||
to the function isn't big enough, the function filled it and then discard the
|
||||
bytes left. This function always wait for the buffer to be entirely filled.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer where to put read data.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes allocated for the buffer.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror},
|
||||
\helpref{wxSocketBase::WriteMsg}{wxsocketbasewritemsg}
|
||||
|
||||
%
|
||||
% Unread
|
||||
%
|
||||
\membersection{wxSocketBase::UnRead}\label{wxsocketbaseunread}
|
||||
|
||||
\func{wxSocketBase\&}{UnRead}{\param{const char *}{ buffer}, \param{size\_t}{ nbytes}}
|
||||
|
||||
This function unreads a buffer. It means that the buffer is put in the top
|
||||
of the incoming queue. But, it is put also at the end of all unread buffers.
|
||||
It is useful for sockets because we can't seek it.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{buffer}{Buffer to be unread.}
|
||||
|
||||
\docparam{nbytes}{Number of bytes.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a reference to the current object.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Error}{wxsocketbaseerror},
|
||||
\helpref{wxSocketBase::LastCount}{wxsocketbaselastcount},
|
||||
\helpref{wxSocketBase::LastError}{wxsocketbaselasterror}
|
||||
|
||||
%
|
||||
% Discard
|
||||
%
|
||||
\membersection{wxSocketBase::Discard}\label{wxsocketbasediscard}
|
||||
|
||||
\func{wxSocketBase\&}{Discard}{\void}
|
||||
|
||||
This function simply deletes all bytes in the incoming queue. This function
|
||||
doesn't wait.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Wait functions
|
||||
% ---------------------------------------------------------------------------
|
||||
\membersection{wxSocketBase::Wait}\label{wxsocketbasewait}
|
||||
|
||||
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for an event: it could be an incoming byte, the possibility
|
||||
for the client to write, a lost connection, an incoming connection, an
|
||||
established connection.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if an event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForRead
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForRead}\label{wxsocketbasewaitforread}
|
||||
|
||||
\func{bool}{WaitForRead}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a read event.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a byte arrived, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForWrite
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForWrite}\label{wxsocketbasewaitforwrite}
|
||||
|
||||
\func{bool}{WaitForWrite}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a write event.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a write event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait},
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% WaitForLost
|
||||
%
|
||||
\membersection{wxSocketBase::WaitForLost}\label{wxsocketbasewaitforlost}
|
||||
|
||||
\func{bool}{Wait}{\param{long}{ seconds = -1}, \param{long}{ microsecond = 0}}
|
||||
|
||||
This function waits for a "lost" event. For instance, the peer may have closed
|
||||
the connection, or the connection may have been broken.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if a "lost" event occured, FALSE if the timeout was reached.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::WaitForRead}{wxsocketbasewaitforread},
|
||||
\helpref{wxSocketBase::WaitForWrite}{wxsocketbasewaitforwrite},
|
||||
\helpref{wxSocketBase::WaitForLost}{wxsocketbasewaitforlost}
|
||||
|
||||
%
|
||||
% RestoreState
|
||||
%
|
||||
\membersection{wxSocketBase::RestoreState}\label{wxsocketbaserestorestate}
|
||||
|
||||
\func{void}{RestoreState}{\void}
|
||||
|
||||
This function restores a previously saved state.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::SaveState}{wxsocketbasesavestate}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Socket state
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% SaveState
|
||||
%
|
||||
\membersection{wxSocketBase::SaveState}\label{wxsocketbasesavestate}
|
||||
|
||||
\func{void}{SaveState}{\void}
|
||||
|
||||
This function saves the current state of the socket object in a stack:
|
||||
actually it saves all flags and the state of the asynchronous callbacks.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::RestoreState}{wxsocketbaserestorestate}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Socket callbacks
|
||||
% ---------------------------------------------------------------------------
|
||||
\membersection{wxSocketBase::SetEventHandler}\label{wxsocketbaseseteventhandler}
|
||||
|
||||
\func{void}{SetEventHandler}{\param{wxEvtHandler\&}{ evt\_hdlr}, \param{int}{ id = -1}}
|
||||
|
||||
Sets an event handler to be called when a socket event occured.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{evt\_hdlr}{Specifies the event handler you want to use.}
|
||||
|
||||
\docparam{id}{The id of socket event.}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketEvent}{wxsocketevent}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS wxSocketClient
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketClient}}\label{wxsocketclient}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
%
|
||||
% wxSocketClient
|
||||
%
|
||||
\membersection{wxSocketClient::wxSocketClient}
|
||||
|
||||
\func{}{wxSocketClient}{\param{wxSockFlags}{ flags = wxSocketBase::NONE}}
|
||||
|
||||
Constructs a new wxSocketClient.
|
||||
|
||||
{\bf Warning !} The created socket client needs to be registered to a socket handler (See \helpref{wxSocketHandler}{wxsockethandler}).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
|
||||
|
||||
%
|
||||
% ~wxSocketClient
|
||||
%
|
||||
\membersection{wxSocketClient::\destruct{wxSocketClient}}
|
||||
|
||||
\func{}{\destruct{wxSocketClient}}{\void}
|
||||
|
||||
Destructs a wxSocketClient object.
|
||||
|
||||
%
|
||||
% Connect
|
||||
%
|
||||
\membersection{wxSocketClient::Connect}\label{wxsocketclientconnect}
|
||||
|
||||
\func{bool}{Connect}{\param{wxSockAddress\&}{ address}, \param{bool}{ wait = TRUE}}
|
||||
|
||||
Connects to a server using the specified address. If {\it wait} is TRUE, Connect
|
||||
will wait for the socket ready to send or receive data.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{address}{Address of the server.}
|
||||
|
||||
\docparam{wait}{If true, waits for the connection to be ready.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if the connection is established and no error occurs.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketClient::WaitOnConnect}{wxsocketclientwaitonconnect}
|
||||
|
||||
%
|
||||
% WaitOnConnect
|
||||
%
|
||||
\membersection{wxSocketClient::WaitOnConnect}\label{wxsocketclientwaitonconnect}
|
||||
|
||||
\func{bool}{WaitOnConnect}{\param{long}{ seconds = -1}, \param{long}{ microseconds = 0}}
|
||||
|
||||
Wait for a "connect" event.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait} for a detailed description.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketEvent
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketEvent}}\label{wxsocketevent}
|
||||
|
||||
This event class contains information about socket events.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxEvent}{wxevent}
|
||||
|
||||
\wxheading{Event table macros}
|
||||
|
||||
To process a socket event, use these event handler macros to direct input to member
|
||||
functions that take a wxSocketEvent argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_SOCKET(id, func)}}{Process a socket event, supplying the member function.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketHandler}{wxsockethandler},\rtfsp
|
||||
\helpref{wxSocketBase}{wxsocketbase},\rtfsp
|
||||
\helpref{wxSocketClient}{wxsocketclient},\rtfsp
|
||||
\helpref{wxSocketServer}{wxsocketserver}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxSocketEvent::wxSocketEvent}
|
||||
|
||||
\func{}{wxSocketEvent}{\param{int}{ id = 0}}
|
||||
|
||||
Constructor.
|
||||
|
||||
\membersection{wxSocketEvent::SocketEvent}\label{wxsocketeventsocketevent}
|
||||
|
||||
\constfunc{wxSocketBase::wxRequestEvent}{SocketEvent}{\void}
|
||||
|
||||
Returns the socket event type.
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketHandler
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketHandler}}\label{wxsockethandler}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% wxSocketHandler
|
||||
%
|
||||
\membersection{wxSocketHandler::wxSocketHandler}
|
||||
|
||||
\func{}{wxSocketHandler}{\void}
|
||||
|
||||
Constructs a new wxSocketHandler.
|
||||
|
||||
It is advised to use \helpref{wxSocketHandler::Master}{wxsockethandlermaster} to
|
||||
get a socket handler. But creating a socket handler is useful to group
|
||||
many sockets.
|
||||
|
||||
%
|
||||
% ~wxSocketHandler
|
||||
%
|
||||
\membersection{wxSocketHandler::\destruct{wxSocketHandler}}
|
||||
|
||||
\func{}{\destruct{wxSocketHandler}}{\void}
|
||||
|
||||
Destructs a wxSocketHandler object.
|
||||
|
||||
%
|
||||
% Register
|
||||
%
|
||||
\membersection{wxSocketHandler::Register}
|
||||
|
||||
\func{void}{Register}{\param{wxSocketBase *}{socket}}
|
||||
|
||||
Register a socket: if it is already registered in this handler it will just
|
||||
return immediately.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be registered.}
|
||||
|
||||
%
|
||||
% UnRegister
|
||||
%
|
||||
\membersection{wxSocketHandler::UnRegister}
|
||||
|
||||
\func{void}{UnRegister}{\param{wxSocketBase *}{socket}}
|
||||
|
||||
UnRegister a socket: if it isn't registered in this handler it will just
|
||||
return.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be unregistered.}
|
||||
|
||||
%
|
||||
% Count
|
||||
%
|
||||
\membersection{wxSocketHandler::Count}
|
||||
|
||||
\constfunc{unsigned long}{Count}{\void}
|
||||
|
||||
Returns the number of sockets registered in the handler.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Number of sockets registered.
|
||||
|
||||
%
|
||||
% CreateServer
|
||||
%
|
||||
\membersection{wxSocketHandler::CreateServer}
|
||||
|
||||
\func{wxSocketServer *}{CreateServer}{\param{wxSockAddress\&}{ address}, \param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
|
||||
|
||||
Creates a new wxSocketServer object. The object is automatically registered
|
||||
to the current socket handler.
|
||||
For a detailed description of the parameters, see \helpref{wxSocketServer::wxSocketServer}{wxsocketserverconstr}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a new socket server.
|
||||
|
||||
%
|
||||
% CreateClient
|
||||
%
|
||||
\membersection{wxSocketHandler::CreateClient}
|
||||
|
||||
\func{wxSocketServer *}{CreateClient}{\param{wxSocketBase::wxSockFlags}{ flags = wxSocketbase::NONE}}
|
||||
|
||||
Creates a new wxSocketClient object. The object is automatically registered
|
||||
to the current socket handler.
|
||||
|
||||
For a detailed description of the parameters, see \helpref{wxSocketClient::Connect}{wxsocketclientconnect}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns a new socket client.
|
||||
|
||||
%
|
||||
% Master
|
||||
%
|
||||
\membersection{wxSocketHandler::Master}\label{wxsockethandlermaster}
|
||||
|
||||
\func{static wxSocketHandler\&}{Master}{\void}
|
||||
|
||||
Returns a default socket handler.
|
||||
|
||||
%
|
||||
% Wait
|
||||
%
|
||||
\membersection{wxSocketHandler::Wait}
|
||||
|
||||
\func{int}{Wait}{\param{long}{ seconds},\param{long}{ microseconds}}
|
||||
|
||||
Wait for an event on all registered sockets.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{seconds}{Number of seconds to wait. By default, it waits infinitely.}
|
||||
|
||||
\docparam{microsecond}{Number of microseconds to wait.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns 0 if a timeout occured, else the number of events detected.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase::Wait}{wxsocketbasewait}
|
||||
|
||||
%
|
||||
% YieldSock
|
||||
%
|
||||
\membersection{wxSocketHandler::YieldSock}
|
||||
|
||||
\func{void}{YieldSock}{\void}
|
||||
|
||||
Execute pending requests in all registered sockets.
|
||||
% ---------------------------------------------------------------------------
|
||||
% CLASS: wxSocketServer
|
||||
% ---------------------------------------------------------------------------
|
||||
\section{\class{wxSocketServer}}\label{wxsocketserver}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}
|
||||
|
||||
% ---------------------------------------------------------------------------
|
||||
% Members
|
||||
% ---------------------------------------------------------------------------
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
%
|
||||
% wxSocketServer
|
||||
%
|
||||
\membersection{wxSocketServer::wxSocketServer}\label{wxsocketserverconstr}
|
||||
|
||||
\func{}{wxSocketServer}{\param{wxSockAddress\&}{ address}, \param{wxSockFlags}{ flags = wxSocketBase::NONE}}
|
||||
|
||||
Constructs a new wxSocketServer.
|
||||
|
||||
{\bf Warning !} The created object needs to be registered to a socket handler
|
||||
(see \helpref{wxSocketHandler}{wxsockethandler}).
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{address}{Specifies the local address for the server (e.g. port number).}
|
||||
|
||||
\docparam{flags}{Socket flags (See \helpref{wxSocketBase::SetFlags}{wxsocketbasesetflags})}
|
||||
|
||||
%
|
||||
% ~wxSocketServer
|
||||
%
|
||||
\membersection{wxSocketServer::\destruct{wxSocketServer}}
|
||||
|
||||
\func{}{\destruct{wxSocketServer}}{\void}
|
||||
|
||||
Destructs a wxSocketServer object (it doesn't close the accepted connection).
|
||||
|
||||
%
|
||||
% Accept
|
||||
%
|
||||
\membersection{wxSocketServer::Accept}
|
||||
|
||||
\func{wxSocketBase *}{Accept}{\void}
|
||||
|
||||
Creates a new object wxSocketBase and accepts an incoming connection. {\bf Warning !} This function will block the GUI.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns an opened socket connection.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketServer::AcceptWith}{wxsocketserveracceptwith}
|
||||
|
||||
%
|
||||
% AcceptWith
|
||||
%
|
||||
\membersection{wxSocketServer::AcceptWith}\label{wxsocketserveracceptwith}
|
||||
|
||||
\func{bool}{AcceptWith}{\param{wxSocketBase\&}{ socket}}
|
||||
|
||||
Accept an incoming connection using the specified socket object.
|
||||
This is useful when someone wants to inherit wxSocketBase.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{socket}{Socket to be initialized}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Returns TRUE if no error occurs, else FALSE.
|
||||
|
||||
|
@@ -143,7 +143,7 @@ This should be called if you wish to initially view only a single pane in the sp
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically},\rtfsp
|
||||
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}
|
||||
\helpref{wxSplitterWindow::SplitHorizontally}{wxsplitterwindowsplithorizontally}.
|
||||
|
||||
\membersection{wxSplitterWindow::IsSplit}\label{wxsplitterwindowissplit}
|
||||
|
||||
@@ -189,25 +189,9 @@ programmatically or using the wxSplitterWindow user interface.
|
||||
The default implementation of this function simply hides {\it removed}. You
|
||||
may wish to delete the window.
|
||||
|
||||
\membersection{wxSplitterWindow::OnSashPositionChange}\label{wxsplitterwindowonsashpositionchange}
|
||||
|
||||
\func{virtual bool}{OnSashPositionChange}{\param{int }{newSashPosition}}
|
||||
|
||||
Application-overridable function called when the sash position is changed by
|
||||
user. It may return FALSE to prevent the change or TRUE to allow it.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{newSashPosition}{The new sash position (always positive or zero)}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The default implementation of this function verifies that the sizes of both
|
||||
panes of the splitter are greater than minimum pane size.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::GetMinimumPaneSize}{wxsplitterwindowgetminimumpanesize}
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
|
||||
|
||||
\membersection{wxSplitterWindow::SetSashPosition}\label{wxsplitterwindowsetsashposition}
|
||||
|
||||
@@ -271,7 +255,7 @@ Only sets the internal variable; does not update the display.
|
||||
\membersection{wxSplitterWindow::SplitHorizontally}\label{wxsplitterwindowsplithorizontally}
|
||||
|
||||
\func{bool}{SplitHorizontally}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
|
||||
\param{int}{ sashPosition = 0}}
|
||||
\param{int}{ sashPosition = -1}}
|
||||
|
||||
Initializes the top and bottom panes of the splitter window.
|
||||
|
||||
@@ -281,10 +265,8 @@ Initializes the top and bottom panes of the splitter window.
|
||||
|
||||
\docparam{window2}{The bottom pane.}
|
||||
|
||||
\docparam{sashPosition}{The initial position of the sash. If this value is
|
||||
positive, it specifies the size of the upper pane. If it's negative, it's
|
||||
absolute value gives the size of the lower pane. Finally, specify 0 (default)
|
||||
to choose the default position (half of the total window height).}
|
||||
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
|
||||
is chosen.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
@@ -292,19 +274,18 @@ TRUE if successful, FALSE otherwise (the window was already split).
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
This should be called if you wish to initially view two panes. It can also be
|
||||
called at any subsequent time, but the application should check that the
|
||||
window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
|
||||
This should be called if you wish to initially view two panes. It can also be called at any subsequent time,
|
||||
but the application should check that the window is not currently split using \helpref{IsSplit}{wxsplitterwindowissplit}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSplitterWindow::SplitVertically}{wxsplitterwindowsplitvertically}, \helpref{wxSplitterWindow::IsSplit}{wxsplitterwindowissplit},\rtfsp
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}
|
||||
\helpref{wxSplitterWindow::Unsplit}{wxsplitterwindowunsplit}.
|
||||
|
||||
\membersection{wxSplitterWindow::SplitVertically}\label{wxsplitterwindowsplitvertically}
|
||||
|
||||
\func{bool}{SplitVertically}{\param{wxWindow* }{window1}, \param{wxWindow* }{window2},
|
||||
\param{int}{ sashPosition = 0}}
|
||||
\param{int}{ sashPosition = -1}}
|
||||
|
||||
Initializes the left and right panes of the splitter window.
|
||||
|
||||
@@ -314,10 +295,8 @@ Initializes the left and right panes of the splitter window.
|
||||
|
||||
\docparam{window2}{The right pane.}
|
||||
|
||||
\docparam{sashPosition}{The initial position of the sash. If this value is
|
||||
positive, it specifies the size of the left pane. If it's negative, it's
|
||||
absolute value gives the size of the right pane. Finally, specify 0 (default)
|
||||
to choose the default position (half of the total window width).}
|
||||
\docparam{sashPosition}{The initial position of the sash. If the value is -1, a default position
|
||||
is chosen.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
|
@@ -10,11 +10,7 @@ be variable length according to the size of the window.
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxSB\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
|
||||
the status bar.}
|
||||
\end{twocollist}
|
||||
There are no special styles for this window.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
|
@@ -39,12 +39,6 @@ Deletes string list, deallocating strings.
|
||||
|
||||
Adds string to list, allocating memory.
|
||||
|
||||
\membersection{wxStringList::Clear}
|
||||
|
||||
\func{void}{Clear}{\void}
|
||||
|
||||
Clears all strings from the list.
|
||||
|
||||
\membersection{wxStringList::Delete}
|
||||
|
||||
\func{void}{Delete}{\param{const wxString\& }{s}}
|
||||
|
@@ -11,8 +11,7 @@ This class represents a tab control, which manages multiple tabs.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist},\rtfsp
|
||||
\helpref{wxNotebook}{wxnotebook}
|
||||
\helpref{wxTabEvent}{wxtabevent}, \helpref{wxImageList}{wximagelist}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
@@ -118,7 +117,7 @@ Returns the string for the given tab.
|
||||
|
||||
\membersection{wxTabCtrl::GetRowCount}\label{wxtabctrlgetrowcount}
|
||||
|
||||
\constfunc{int}{GetRowCount}{\void}
|
||||
\constfunc{bool}{GetRowCount}{\void}
|
||||
|
||||
Returns the number of rows in the tab control.
|
||||
|
||||
@@ -189,7 +188,7 @@ Sets the client data for a tab.
|
||||
\func{bool}{SetItemImage}{\param{int}{ item}, \param{int }{image}}
|
||||
|
||||
Sets the image index for the given tab. {\it image} is an index into
|
||||
the image list which was set with \helpref{wxTabCtrl::SetImageList}{wxtabctrlsetimagelist}.
|
||||
the image list which was set with \helpref{wxTabCtrl::SetImageList}{setimagelist}.
|
||||
|
||||
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}
|
||||
|
||||
|
@@ -1,48 +0,0 @@
|
||||
\section{Config classes overview}\label{wxconfigoverview}
|
||||
|
||||
Classes: \helpref{wxConfig}{wxconfigbase}
|
||||
|
||||
This overview briefly describes what the config classes are and what are the
|
||||
for. All the details about how to use them may be found in the description of
|
||||
the \helpref{wxConfigBase}{wxconfigbase} class and the documentation of the
|
||||
file, registry and INI file based implementations mentions all the
|
||||
features/limitations specific to each one of these versions.
|
||||
|
||||
The config classes provide a way to store some application configuration
|
||||
information. They were especially designed for this usage and, although may
|
||||
probably be used for many other things as well, should be limited to it. It
|
||||
means that this information should be:
|
||||
\begin{itemize}
|
||||
\item{1.} Typed, i.e. strings or numbers for the moment. You can not store
|
||||
binary data, for example.
|
||||
\item{2.} Small. For instance, it is not recommended to use the Windows
|
||||
registry for amounts of data more than a couple of kilobytes.
|
||||
\item{3.} Not performance critical, neither from speed nor from memory
|
||||
consumption point of view.
|
||||
\end{itemize}
|
||||
|
||||
On the other hand, the provided features make them very useful for storing all
|
||||
kind of small to medioum volumes of hierarchically organized heterogenous
|
||||
data. In short, this is a place where you can conveniently stuff all your data
|
||||
(numbers and strings) organizing it in a tree where you use the
|
||||
filesystem-like paths to specify the location of a piece of data. In
|
||||
particular, these classes were designed to be as easy to use as possible.
|
||||
|
||||
From another point of view, they provide an interface which hides the
|
||||
differences between the Windows registry and the standard Unix text format
|
||||
configuration files. Other (future) implementations of wxConfigBase might also
|
||||
understand GTK ressource files or their analogues on the KDE side.
|
||||
|
||||
In any case, each implementation of wxConfigBase does its best (although due
|
||||
to the limitations of the underlying physical storage as in the case of
|
||||
wxIniConfigs it may not implement 100\% of the base class functionality) to
|
||||
make the data look the same way everywhere. So you have the groups of entries
|
||||
and the entries themselves. Each entry contains either a string or a number
|
||||
(or a boolean value... support for other types of data such as dates or
|
||||
timestamps is planned) and is identified by the full path to it: something
|
||||
like /MyApp/UserPreferences/Colors/Foreground. The previous elements in the
|
||||
path are the group names, each name may contain an arbitrary number of entries
|
||||
and subgroups. The path components are {\bf always} separated with a slash,
|
||||
even though some implementations use the backslash internally. The further
|
||||
details (including how to read/write these entries) may be found in
|
||||
\helpref{wxConfigBase}{wxconfigbase} documentation.
|
@@ -1,84 +1,56 @@
|
||||
\section{Debugging overview}\label{debuggingoverview}
|
||||
|
||||
Classes, functions and macros: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxObject}{wxobject}, \helpref{wxLog}{wxlog},
|
||||
\rtfsp\helpref{Log functions}{logfunctions}, \helpref{Debug macros}{debugmacros}
|
||||
Classes: \helpref{wxDebugContext}{wxdebugcontext}, \helpref{wxDebugStreamBuf}{wxdebugstreambuf},
|
||||
\rtfsp\helpref{wxObject}{wxobject}
|
||||
|
||||
Various classes, functions and macros are provided in wxWindows to help you debug
|
||||
your application. Most of these are only available if you compile both wxWindows,
|
||||
your application and {\it all} libraries that use wxWindows with the \_\_WXDEBUG\_\_ symbol
|
||||
defined. You can also test the \_\_WXDEBUG\_\_ symbol in your own applications to execute
|
||||
code that should be active only in debug mode.
|
||||
your application and {\it all} libraries that use wxWindows with the DEBUG flag
|
||||
set to 1 or more.
|
||||
|
||||
\wxheading{wxDebugContext}
|
||||
|
||||
\helpref{wxDebugContext}{wxdebugcontext} is a class that never gets instantiated, but ties together
|
||||
various static functions and variables. It allows you to dump all objects to that stream, write statistics about object allocation, and
|
||||
wxDebugContext is a class that never gets instantiated, but ties together
|
||||
various functions and variables. It allows you to set the debugging stream, dump
|
||||
all objects to that stream, write statistics about object allocation, and
|
||||
check memory for errors.
|
||||
|
||||
It is good practice to define a \helpref{wxObject::Dump}{wxobjectdump} member function for each class you derive
|
||||
from a wxWindows class, so that \helpref{wxDebugContext::Dump}{wxdebugcontextdump} can call it and
|
||||
give valuable information about the state of the application.
|
||||
You can use the \helpref{WXTRACE}{trace} macro to output debugging information in DEBUG mode;
|
||||
it will be defined to nothing for non-debugging code.
|
||||
|
||||
If you have difficulty tracking down a memory leak, recompile
|
||||
in debugging mode and call \helpref{wxDebugContext::Dump}{wxdebugcontextdump} and \helpref{wxDebugContext::PrintStatistics}{wxdebugcontextprintstatistics} at
|
||||
appropriate places. They will tell you what objects have not yet been
|
||||
deleted, and what kinds of object they are. In fact, in debug mode wxWindows will automatically
|
||||
detect memory leaks when your application is about to exit, and if there are any leaks,
|
||||
will give you information about the problem. (How much information depends on the operating system
|
||||
and compiler -- some systems don't allow all memory logging to be enabled). See the
|
||||
memcheck sample for example of usage.
|
||||
It is good practice to define a Dump member function for each class you derive
|
||||
from a wxWindows class, so that wxDebugContext::Dump can call it and
|
||||
give valuable information about the state of the application.
|
||||
|
||||
For wxDebugContext to do its work, the {\it new} and {\it delete}\rtfsp
|
||||
operators for wxObject have been redefined to store extra information
|
||||
about dynamically allocated objects (but not statically declared
|
||||
objects). This slows down a debugging version of an application, but can
|
||||
find difficult-to-detect memory leaks (objects are not
|
||||
in theory find difficult-to-detect memory leaks (objects are not
|
||||
deallocated), overwrites (writing past the end of your object) and
|
||||
underwrites (writing to memory in front of the object).
|
||||
|
||||
If debugging mode is on and the symbol wxUSE\_GLOBAL\_MEMORY\_OPERATORS is set
|
||||
to 1 in setup.h, 'new' is defined to be:
|
||||
If you have difficulty tracking down a memory leak, recompile
|
||||
in debugging mode and call wxDebugContext::Dump and wxDebugContext::Statistics
|
||||
at appropriate places. They will tell you what objects have not yet been
|
||||
deleted, and what kinds of object they are.
|
||||
|
||||
If you use the macro WXDEBUG\_NEW instead of the normal 'new', the debugging
|
||||
output (and error messages reporting memory problems) will also tell you what
|
||||
file and on what line you allocated the object.
|
||||
|
||||
To avoid the need for replacing existing new operators with WXDEBUG\_NEW, you
|
||||
can write this at the top of each application file:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
#define new new(__FILE__,__LINE__)
|
||||
#define new WXDEBUG\_NEW
|
||||
\end{verbatim}
|
||||
}%
|
||||
|
||||
All occurrences of 'new' in wxWindows and your own application will use
|
||||
the overridden form of the operator with two extra arguments. This means that the debugging
|
||||
output (and error messages reporting memory problems) will tell you what
|
||||
file and on what line you allocated the object. Unfortunately not all
|
||||
compilers allow this definition to work properly, but most do.
|
||||
|
||||
\wxheading{Debug macros}
|
||||
|
||||
You should also use \helpref{debug macros}{debugmacros} as part of a `defensive programming' strategy,
|
||||
scattering wxASSERTs liberally to test for problems in your code as early as possible. Forward thinking
|
||||
will save a surprising amount of time in the long run.
|
||||
|
||||
\helpref{wxASSERT}{wxassert} is used to pop up an error message box when a condition
|
||||
is not true. You can also use \helpref{wxASSERT\_MSG}{wxassertmsg} to supply your
|
||||
own helpful error message. For example:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
void MyClass::MyFunction(wxObject* object)
|
||||
{
|
||||
wxASSERT_MSG( (object != NULL), "object should not be NULL in MyFunction!" );
|
||||
|
||||
...
|
||||
};
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
The message box allows you to continue execution or abort the program. If you are running
|
||||
the application inside a debugger, you will be able to see exactly where the problem was.
|
||||
|
||||
\wxheading{Logging functions}
|
||||
|
||||
You can use the \helpref{wxLogDebug}{wxlogdebug} and \helpref{wxLogTrace}{wxlogtrace} functions to output debugging information in debug mode;
|
||||
it will do nothing for non-debugging code.
|
||||
In non-debugging mode, this will revert to the usual interpretation
|
||||
of new. Note that for this not to mess up new-based allocation of non-wxObject derived classes and
|
||||
built-in types, there are global definitions of new and delete which match
|
||||
the syntax required for storing filename and line numbers. These merely
|
||||
call malloc and free, and so do not do anything interesting. The definitions
|
||||
may possibly cause multiple symbol problems for some compilers and so might
|
||||
need to be omitted by setting the USE\_GLOBAL\_MEMORY\_OPERATORS to 0 in wx\_setup.h
|
||||
|
||||
\subsection{wxDebugContext overview}\label{wxdebugcontextoverview}
|
||||
|
||||
@@ -87,7 +59,8 @@ it will do nothing for non-debugging code.
|
||||
Class: \helpref{wxDebugContext}{wxdebugcontext}
|
||||
|
||||
wxDebugContext is a class for performing various debugging and memory tracing
|
||||
operations.
|
||||
operations. wxDebugContext, and the related macros and function WXTRACE and
|
||||
wxTrace, are only present if USE\_DEBUG\_CONTEXT is used.
|
||||
|
||||
This class has only static data and function members, and there should be
|
||||
no instances. Probably the most useful members are SetFile (for directing output
|
||||
@@ -97,26 +70,35 @@ Dump (for dumping the dynamically allocated objects) and PrintStatistics
|
||||
Check to check memory blocks for integrity.
|
||||
|
||||
Here's an example of use. The SetCheckpoint ensures that only the
|
||||
allocations done after the checkpoint will be dumped.
|
||||
allocations done after the checkpoint will be dumped. Unfortunately
|
||||
the define of new to WXDEBUG\_NEW does not work for Borland C++ (and
|
||||
perhaps other compilers) because it fails to find the correct overloaded
|
||||
operator for non-object usage of new. Instead, you need to use WXDEBUG\_NEW
|
||||
explicitly if there are any examples of non-object new usage in the file.
|
||||
|
||||
\begin{verbatim}
|
||||
#define new WXDEBUG_NEW
|
||||
|
||||
wxDebugContext::SetCheckpoint();
|
||||
|
||||
wxDebugContext::SetFile("c:\\temp\\debug.log");
|
||||
|
||||
wxString *thing = new wxString;
|
||||
|
||||
// Proves that defining 'new' to be 'WXDEBUG_NEW' doesn't mess up
|
||||
// non-object allocation. Doesn't work for Borland C++.
|
||||
char *ordinaryNonObject = new char[1000];
|
||||
|
||||
wxDebugContext::Dump();
|
||||
wxDebugContext::PrintStatistics();
|
||||
\end{verbatim}
|
||||
|
||||
You can use wxDebugContext if \_\_WXDEBUG\_\_ is defined, or you can use it
|
||||
at any other time (if wxUSE\_DEBUG\_CONTEXT is set to 1 in setup.h). It is not disabled
|
||||
in non-debug mode because you may not wish to recompile wxWindows and your entire application
|
||||
just to make use of the error logging facility.
|
||||
|
||||
Note: wxDebugContext::SetFile has a problem at present, so use the default stream instead.
|
||||
Eventually the logging will be done through the wxLog facilities instead.
|
||||
You can use wxDebugContext if DEBUG is 1 or more, or you can use it
|
||||
at any other time (if USE\_DEBUG\_CONTEXT is 1). It is not disabled
|
||||
for DEBUG = 1 (as in earlier versions of wxWindows) because you
|
||||
may not wish to recompile wxWindows and your entire application
|
||||
just to make use of the error logging facility. This is especially
|
||||
true in a Windows NT or Windows 95 environment, where you cannot
|
||||
easily output to a debug window: wxDebugContext can be used to
|
||||
write to log files instead.
|
||||
|
||||
|
@@ -2,7 +2,6 @@
|
||||
|
||||
Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
|
||||
\helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
|
||||
\rtfsp\helpref{wxDocMDIParentFrame}{wxdocmdiparentframe}, \helpref{wxDocMDIChildFrame}{wxdocmdichildframe},
|
||||
\rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
|
||||
|
||||
The document/view framework is found in most application frameworks, because it
|
||||
@@ -255,28 +254,42 @@ the file history, that will be used for appending the filenames. They are
|
||||
appended using menu identifiers in the range wxID\_FILE1 to wxID\_FILE9.
|
||||
|
||||
In order to respond to a file load command from one of these identifiers,
|
||||
you need to handle them using an event handler, for example:
|
||||
you need to handle them in your wxFrame::OnMenuCommand. Below is the
|
||||
code used by the default document/view parent frame.
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
BEGIN_EVENT_TABLE(wxDocParentFrame, wxFrame)
|
||||
EVT_MENU(wxID_EXIT, wxDocParentFrame::OnExit)
|
||||
EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, wxDocParentFrame::OnMRUFile)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
||||
void wxDocParentFrame::OnMenuCommand(int id)
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
|
||||
{
|
||||
wxString f(m_docManager->GetHistoryFile(event.GetSelection() - wxID_FILE1));
|
||||
if (f != "")
|
||||
(void)m_docManager->CreateDocument(f, wxDOC_SILENT);
|
||||
switch (id)
|
||||
{
|
||||
case wxID_EXIT:
|
||||
{
|
||||
if (GetEventHandler()->OnClose())
|
||||
delete this;
|
||||
break;
|
||||
}
|
||||
case wxID_FILE1:
|
||||
case wxID_FILE2:
|
||||
case wxID_FILE3:
|
||||
case wxID_FILE4:
|
||||
case wxID_FILE5:
|
||||
case wxID_FILE6:
|
||||
case wxID_FILE7:
|
||||
case wxID_FILE8:
|
||||
case wxID_FILE9:
|
||||
{
|
||||
char *f = docManager->GetHistoryFile(id-wxID_FILE1);
|
||||
if (f)
|
||||
(void)docManager->CreateDocument(f, wxDOC_SILENT);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
docManager->OnMenuCommand(id);
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\subsection{wxWindows predefined command identifiers}\label{predefinedids}
|
||||
|
||||
|
@@ -290,9 +290,3 @@
|
||||
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
||||
\newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
|
||||
|
||||
\addtolength{\textwidth}{1in}
|
||||
\addtolength{\oddsidemargin}{-0.5in}
|
||||
\addtolength{\topmargin}{-0.5in}
|
||||
\addtolength{\textheight}{1in}
|
||||
\sloppy
|
||||
|
||||
|
@@ -46,19 +46,6 @@ as the following:
|
||||
If your compiler does not support derivation from {\bf streambuf} and gives a compile error, define the symbol {\bf NO\_TEXT\_WINDOW\_STREAM} in the
|
||||
wxTextCtrl header file.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a text control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxCommandEvent}{wxcommandevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}%
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_UPDATED event,
|
||||
generated when the text changes.}
|
||||
\twocolitem{{\bf EVT\_TEXT\_ENTER(id, func)}}{Respond to a wxEVT\_COMMAND\_TEXT\_ENTER event,
|
||||
generated when enter is pressed in a single-line text control.}
|
||||
\end{twocollist}%
|
||||
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxRichTextCtrl}{wxrichtextctrl}
|
||||
|
@@ -38,8 +38,8 @@ These might override predefined event handlers such as \helpref{wxWindow::OnChar
|
||||
\rtfsp\helpref{wxWindow::OnMouseEvent}{wxwindowonmouseevent}.
|
||||
|
||||
Most modern applications will have an on-line, hypertext help system; for this, you
|
||||
need wxHelp and the \helpref{wxHelpController}{wxhelpcontroller} class to control
|
||||
wxHelp. To add sparkle, you might use the wxToolBar class
|
||||
need wxHelp and the \helpref{wxHelpControllerBase}{wxhelpcontrollerbase} class to control
|
||||
wxHelp. To add sparkle, you might use the wxToolBar class (documented separately)
|
||||
which makes heavy use of the \helpref{wxBitmap}{wxbitmap}.
|
||||
|
||||
GUI applications aren't all graphical wizardry. List and hash table needs are
|
||||
|
@@ -52,7 +52,7 @@ calling thread.
|
||||
|
||||
\func{wxThreadError}{Destroy}{\void}
|
||||
|
||||
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{wxthreaddeferdestroy}.
|
||||
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{deferdestroy}.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
@@ -80,9 +80,9 @@ The following priorities are already defined:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
||||
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||
\end{twocollist}
|
||||
|
||||
\membersection{wxThread::IsAlive}\label{wxthreadisalive}
|
||||
@@ -119,13 +119,8 @@ The following priorities are already defined:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
||||
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||
\end{twocollist}
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -1,146 +0,0 @@
|
||||
\section{Log classes overview}\label{wxlogoverview}
|
||||
|
||||
Classes: \helpref{wxLog}{wxlog}
|
||||
%\helpref{wxLogStderr}{wxlogstderr},%
|
||||
%\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},%
|
||||
%\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},%
|
||||
%\helpref{wxLogNull}{wxlognull}%
|
||||
|
||||
This is a general overview of logging classes provided by wxWindows. The word
|
||||
logging here has a broad sense, including all of the program output, not only
|
||||
non interactive messages. The logging facilities included in wxWindows provide
|
||||
the base {\it wxLog} class which defines the standard interface for a {\it log
|
||||
target} as well as several standard implementations of it and a family of
|
||||
functions to use with them.
|
||||
|
||||
First of all, no knowledge of {\it wxLog} classes is needed to use them. For
|
||||
this, you should only know about {\it wxLogXXX()} functions. All of them have
|
||||
the same syntax as {\it printf()}, i.e. they take the format string as the
|
||||
first argument and a variable number of arguments. Here are all of them:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf wxLogFatalError} which is like {\it wxLogError}, but also
|
||||
terminates the program with the exit code 3 (using {\it abort()} standard
|
||||
function also terminates the program with this exit code).
|
||||
\item{\bf wxLogError} is the function to use for error messages, i.e. the
|
||||
messages that must be shown to the user. The default processing is to pop up a
|
||||
message box to inform the user about it.
|
||||
\item{\bf wxLogWarning} for warnings - they are also normally shown to the
|
||||
user, but don't interrupt the program work.
|
||||
\item{\bf wxLogMessage} is for all normal, informational messages. They also
|
||||
appear in a message box by default (but it can be changed, see below). Notice
|
||||
that the standard behaviour is to not show informational messages if there are
|
||||
any errors later - the logic being that the later error messages make the
|
||||
informational messages preceding them meaningless.
|
||||
\item{\bf wxLogVerbose} is for verbose output. Normally, it's suppressed, but
|
||||
might be activated if the user wishes to know more details about the program
|
||||
progress (another, but possibly confusing name for the same function is {\bf
|
||||
wxLogInfo}).
|
||||
\item{\bf wxLogStatus} is for status messages - they will go into the status
|
||||
bar of the active or specified (as the first argument) \helpref{wxFrame}{wxframe} if it has one.
|
||||
\item{\bf wxLogSysError} is mostly used by wxWindows itself, but might be
|
||||
handy for logging errors after system call (API function) failure. It logs the
|
||||
specified message text as well as the last system error
|
||||
code ({\it errno} or {\it ::GetLastError()} depending on the platform) and the corresponding error
|
||||
message. The second form of this function takes the error code explitly as the
|
||||
first argument.
|
||||
\item{\bf wxLogDebug} is {\bf the} right function for debug output. It only
|
||||
does anything at all in the debug mode (when the preprocessor symbol
|
||||
\_\_WXDEBUG\_\_ is defined) and expands to nothing in release mode (otherwise).
|
||||
\item{\bf wxLogTrace} as {\bf wxLogDebug} only does something in debug
|
||||
build. The reason for making it a separate function from it is that usually
|
||||
there are a lot of trace messages, so it might make sense to separate them
|
||||
from other debug messages which would be flooded in them. Moreover, the second
|
||||
version of this function takes a trace mask as the first argument which allows
|
||||
to further restrict the amount of messages generated.
|
||||
\end{itemize}
|
||||
|
||||
The usage of these functions should be fairly straightforward, however it may
|
||||
be asked why not use the other logging facilities, such as C standard stdio
|
||||
functions or C++ streams. The short answer is that they're all very good
|
||||
generic mechanisms, but are not really adapted for wxWindows, while the log
|
||||
classes are. Some of advantages in using wxWindows log functions are:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf Portability} It's a common practice to use {\it printf()} statements or
|
||||
cout/cerr C++ streams for writing out some (debug or otherwise) information.
|
||||
Although it works just fine under Unix, these messages go strictly nowhere
|
||||
under Windows where the stdout of GUI programs is not assigned to anything.
|
||||
Thus, you might view {\it wxLogMessage()} as a simple substitute for {\it
|
||||
printf()}.
|
||||
\item{\bf Flexibility} The output of wxLog functions can be redirected or
|
||||
suppressed entirely based on their importance, which is either impossible or
|
||||
difficult to do with traditional methods. For example, only error messages, or
|
||||
only error messages and warnings might be logged, filtering out all
|
||||
informational messages.
|
||||
\item{\bf Completeness} Usually, an error message should be presented to the user
|
||||
when some operation fails. Let's take a quite simple but common case of a file
|
||||
error: suppose that you're writing your data file on disk and there is not
|
||||
enough space. The actual error might have been detected inside wxWindows code
|
||||
(say, in {\it wxFile::Write}), so the calling function doesn't really know the
|
||||
exact reason of the failure, it only knows that the data file couldn't be
|
||||
written to the disk. However, as wxWindows uses {\it wxLogError()} in this
|
||||
situation, the exact error code (and the corresponding error message) will be
|
||||
given to the user together with "high level" message about data file writing
|
||||
error.
|
||||
\end{itemize}
|
||||
|
||||
After having enumerated all the functions which are normally used to log the
|
||||
messages, and why would you want to use them we now describe how all this
|
||||
works.
|
||||
|
||||
wxWindows has the notion of a {\it log target}: it's just a class deriving
|
||||
from \helpref{wxLog}{wxlog}. As such, it implements the virtual functions of
|
||||
the base class which are called when a message is logged. Only one log target
|
||||
is {\it active} at any moment, this is the one used by \it{wxLogXXX()}
|
||||
functions. The normal usage of a log object (i.e. object of a class derived
|
||||
from wxLog) is to install it as the active target with a call to {\it
|
||||
SetActiveTarget()} and it will be used automatically by all subsequent calls
|
||||
to {\it wxLogXXX()} functions.
|
||||
|
||||
To create a new log target class you only need to derive it from wxLog and
|
||||
implement one (or both) of {\it DoLog()} and {\it DoLogString()} in it. The
|
||||
second one is enough if you're happy with the standard wxLog message
|
||||
formatting (prepending "Error:" or "Warning:", timestamping \&c) but just want
|
||||
to send the messages somewhere else. The first one may be overridden to do
|
||||
whatever you want but you have to distinguish between the different message
|
||||
types yourself.
|
||||
|
||||
There are some predefined classes deriving from wxLog and which might be
|
||||
helpful to see how you can create a new log target class and, of course, may
|
||||
also be used without any change. There are:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item{\bf wxLogStderr} This class logs messages to a {\it FILE *}, using
|
||||
stderr by default as its name suggests.
|
||||
\item{\bf wxLogStream} This class has the same functionality as wxLogStderr,
|
||||
but uses {\it ostream} and cerr instead of {\it FILE *} and stderr.
|
||||
\item{\bf wxLogGui} This is the standard log target for wxWindows
|
||||
applications (it's used by default if you don't do anything) and provides the
|
||||
most reasonable handling of all types of messages for given platform.
|
||||
\item{\bf wxLogWindow} This log target provides a "log console" which
|
||||
collects all messages generated by the application and also passes them to the
|
||||
previous active log target. The log window frame has a menu allowing user to
|
||||
clear the log, close it completely or save all messages to file.
|
||||
\item{\bf wxLogNull} The last log class is quite particular: it doesn't do
|
||||
anything. The objects of this class may be instantiated to (temporarily)
|
||||
suppress output of {\it wxLogXXX()} functions. As an example, trying to open a
|
||||
non-existing file will usually provoke an error message, but if you for some
|
||||
reason it's unwanted, just use this construction:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
wxFile file;
|
||||
|
||||
// wxFile.Open() normally complains if file can't be opened, we don't want it
|
||||
{
|
||||
wxLogNull logNo;
|
||||
if ( !file.Open("bar") )
|
||||
... process error ourselves ...
|
||||
} // ~wxLogNull called, old log sink restored
|
||||
|
||||
wxLogMessage("..."); // ok
|
||||
\end{verbatim}
|
||||
}
|
||||
\end{itemize}
|
||||
|
@@ -1,23 +1,12 @@
|
||||
\section{\class{wxToolBar}}\label{wxtoolbar}
|
||||
\section{\class{wxToolBarBase}}\label{wxtoolbarbase}
|
||||
|
||||
The name wxToolBar is defined to be a synonym for one of the following classes:
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
|
||||
\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows.
|
||||
\item {\bf wxToolBarGTK} The GTK toolbar.
|
||||
\item {\bf wxToolBarSimple} A simple implementation, with scrolling.
|
||||
Used on platforms with no native toolbar control, or where scrolling is required.
|
||||
\end{itemize}
|
||||
|
||||
Note that the base class {\bf wxToolBarBase} defines
|
||||
automatic scrolling management functionality which is identical
|
||||
to \helpref{wxScrolledWindow}{wxscrolledwindow}, so please refer to this class also.
|
||||
Not all toolbars support scrolling, but wxToolBarSimple does.
|
||||
{\bf wxToolBarBase} is the base class for a number of toolbar classes. The most portable
|
||||
one of these is the generic \helpref{wxToolBarSimple}{wxtoolbarsimple} class. {\bf wxToolBarBase} defines
|
||||
automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow},
|
||||
so please refer to this class also.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
wxToolBarBase\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
@@ -25,107 +14,58 @@ wxToolBarBase\\
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
You may also create a toolbar that is managed by the frame, by
|
||||
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||
Because there is a variety of toolbar classes, you may wish to choose which class
|
||||
is best for your application on each platform, and define {\bf wxToolBar} appropriately. For example:
|
||||
|
||||
{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
|
||||
The toolbar orientation must always be {\bf wxVERTICAL}.
|
||||
\begin{verbatim}
|
||||
#if WIN95
|
||||
class wxToolBar: public wxToolBar95
|
||||
#elif defined(wx_msw)
|
||||
class wxToolBar: public wxToolBarMSW
|
||||
#else
|
||||
class wxToolBar: public wxToolBarSimple
|
||||
#endif
|
||||
{
|
||||
};
|
||||
\end{verbatim}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 only.}
|
||||
\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
|
||||
\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the Windows 95
|
||||
toolbar).}
|
||||
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and
|
||||
GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it
|
||||
part of the base API?
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
The toolbar class emits menu commands in the same was that a frame menubar does,
|
||||
so you can use one EVT\_MENU macro for both a menu item and a toolbar button.
|
||||
The event handler functions take a wxCommandEvent argument. For most event macros,
|
||||
the identifier of the tool is passed, but for EVT\_TOOL\_ENTER the toolbar
|
||||
window is passed and the tool id is retrieved from the wxCommandEvent.
|
||||
This is because the id may be -1 when the mouse moves off a tool, and -1 is not
|
||||
allowed as an identifier in the event system.
|
||||
Derive a new class from an existing toolbar class, and override appropriate virtual functions.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_MENU(id, func)}}{The same as EVT\_TOOL.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||
for a range id identifiers. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_MENU\_RANGE(id1, id2, func)}}{The same as EVT\_TOOL\_RANGE.}
|
||||
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||
Pass the id of the tool.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||
for a range of ids. Pass the ids of the tools.}
|
||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||
\end{twocollist}
|
||||
TODO: make consistent with other event handling; have wxToolBarEvent and appropriate macros.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95},\rtfsp
|
||||
\helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
|
||||
\membersection{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr}
|
||||
|
||||
\func{}{wxToolBar}{\void}
|
||||
\func{}{wxToolBarBase}{\void}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||
\param{const wxSize\& }{size = wxDefaultSize},
|
||||
\param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
|
||||
\param{const wxString\& }{name = wxPanelNameStr}}
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate}
|
||||
%
|
||||
\membersection{wxToolBarBase::\destruct{wxToolBarBase}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Pointer to a parent window.}
|
||||
|
||||
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||
|
||||
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWindows
|
||||
should generate a default position for the window. If using the wxWindow class directly, supply
|
||||
an actual position.}
|
||||
|
||||
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
|
||||
should generate a default size for the window.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBar}{wxtoolbar} for details.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
After a toolbar is created, you use \helpref{wxToolBar::AddTool}{wxtoolbaraddtool} and
|
||||
perhaps \helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}, and then you
|
||||
must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} to construct and display the toolbar
|
||||
tools.
|
||||
|
||||
You may also create a toolbar that is managed by the frame, by
|
||||
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||
|
||||
\membersection{wxToolBar::\destruct{wxToolBar}}
|
||||
|
||||
\func{void}{\destruct{wxToolBar}}{\void}
|
||||
\func{void}{\destruct{wxToolBarBase}}{\void}
|
||||
|
||||
Toolbar destructor.
|
||||
|
||||
\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
|
||||
\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator}
|
||||
|
||||
\func{void}{AddSeparator}{\void}
|
||||
|
||||
@@ -133,14 +73,14 @@ Adds a separator for spacing groups of tools.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
|
||||
\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, \helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
|
||||
|
||||
\membersection{wxToolBar::AddTool}\label{wxtoolbaraddtool}
|
||||
\membersection{wxToolBarBase::AddTool}\label{wxtoolbarbaseaddtool}
|
||||
|
||||
\func{wxToolBarTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
||||
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
|
||||
\param{long}{ xPos = -1}, \param{long}{ yPos = -1},\rtfsp
|
||||
\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
||||
\func{wxToolBarBaseTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
||||
\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp
|
||||
\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp
|
||||
\param{wxObject *}{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
||||
|
||||
Adds a tool to the toolbar.
|
||||
|
||||
@@ -166,7 +106,7 @@ wxBitmap object.}
|
||||
\docparam{yPos}{Specifies the y position of the tool if automatic layout is not suitable.}
|
||||
|
||||
\docparam{clientData}{An optional pointer to client data which can be
|
||||
retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.}
|
||||
retrieved later using \helpref{wxToolBarBase::GetToolClientData}{wxtoolbarbasegettoolclientdata}.}
|
||||
|
||||
\docparam{shortHelpString}{Used for displaying a tooltip for the tool in the
|
||||
Windows 95 implementation of wxButtonBar. Pass the empty string if this is not required.}
|
||||
@@ -174,31 +114,29 @@ Windows 95 implementation of wxButtonBar. Pass the empty string if this is not r
|
||||
\docparam{longHelpString}{Used to displayer longer help, such as status line help.
|
||||
Pass the empty string if this is not required.}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
After you have added tools to a toolbar, you must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} in
|
||||
order to have the tools appear.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},
|
||||
\helpref{wxToolBar::Realize}{wxtoolbarrealize},
|
||||
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
|
||||
|
||||
\membersection{wxToolBar::CreateTools}\label{wxtoolbarcreatetools}
|
||||
\membersection{wxToolBarBase::CreateTools}\label{wxtoolbarbasecreatetools}
|
||||
|
||||
\func{bool}{CreateTools}{\void}
|
||||
|
||||
This function is implemented for some toolbar classes to create the tools and display them.
|
||||
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
||||
you have added tools and separators.
|
||||
Call this function after all tools have been added to the toolbar, to actually
|
||||
create the tools.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Strictly speaking, this is required only for the Windows 95 version of wxButtonBar,
|
||||
but for portability it should be called anyway.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
|
||||
\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}
|
||||
|
||||
\membersection{wxToolBar::DrawTool}\label{wxtoolbardrawtool}
|
||||
\membersection{wxToolBarBase::DrawTool}\label{wxtoolbarbasedrawtool}
|
||||
|
||||
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarTool* }{tool}}
|
||||
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarBaseTool* }{tool}}
|
||||
|
||||
Draws the specified tool onto the window using the given memory device context.
|
||||
|
||||
@@ -212,7 +150,7 @@ Draws the specified tool onto the window using the given memory device context.
|
||||
|
||||
For internal use only.
|
||||
|
||||
\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
|
||||
\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool}
|
||||
|
||||
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
||||
|
||||
@@ -226,18 +164,18 @@ Enables or disables the tool.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
For wxToolBarSimple, does nothing. Some other implementations
|
||||
For \helpref{wxToolBarSimple}{wxtoolbarsimple}, does nothing. Some other implementations
|
||||
will change the visible state of the tool to indicate that it is disabled.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
|
||||
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
|
||||
\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool}
|
||||
\helpref{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp
|
||||
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp
|
||||
\helpref{wxToolBarBase::ToggleTool}{wxtoolbarbasetoggletool}
|
||||
|
||||
\membersection{wxToolBar::FindToolForPosition}\label{wxtoolbarfindtoolforposition}
|
||||
\membersection{wxToolBarBase::FindToolForPosition}\label{wxtoolbarbasefindtoolforposition}
|
||||
|
||||
\constfunc{wxToolBarTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
|
||||
\constfunc{wxToolBarBaseTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
|
||||
|
||||
Finds a tool for the given mouse position.
|
||||
|
||||
@@ -255,35 +193,35 @@ A pointer to a tool if a tool is found, or NULL otherwise.
|
||||
|
||||
Used internally, and should not need to be used by the programmer.
|
||||
|
||||
\membersection{wxToolBar::GetToolSize}\label{wxtoolbargettoolsize}
|
||||
\membersection{wxToolBarBase::GetDefaultButtonSize}\label{wxtoolbarbasegetdefaultbuttonsize}
|
||||
|
||||
\func{wxSize}{GetToolSize}{\void}
|
||||
\func{wxSize}{GetDefaultButtonSize}{\void}
|
||||
|
||||
Returns the size of a whole button, which is usually larger than a tool bitmap because
|
||||
of added 3D effects.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize}
|
||||
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize}
|
||||
|
||||
\membersection{wxToolBar::GetToolBitmapSize}\label{wxtoolbargettoolbitmapsize}
|
||||
\membersection{wxToolBarBase::GetDefaultSize}\label{wxtoolbarbasegetdefaultsize}
|
||||
|
||||
\func{wxSize}{GetToolBitmapSize}{\void}
|
||||
\func{wxSize}{GetDefaultSize}{\void}
|
||||
|
||||
Returns the size of bitmap that the toolbar expects to have. The default bitmap size is 16 by 15 pixels.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
|
||||
Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
|
||||
and not the eventual size of the tool button.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||
|
||||
\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
|
||||
\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins}
|
||||
|
||||
\constfunc{wxSize}{GetMargins}{\void}
|
||||
|
||||
@@ -291,9 +229,9 @@ Returns the left/right and top/bottom margins, which are also used for inter-too
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetMargins}{wxtoolbarsetmargins}
|
||||
\helpref{wxToolBarBase::SetMargins}{wxtoolbarbasesetmargins}
|
||||
|
||||
\membersection{wxToolBar::GetMaxSize}\label{wxtoolbargetmaxsize}
|
||||
\membersection{wxToolBarBase::GetMaxSize}\label{wxtoolbarbasegetmaxsize}
|
||||
|
||||
\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}}
|
||||
|
||||
@@ -306,7 +244,7 @@ This can be used to size a frame around the toolbar window.
|
||||
|
||||
\docparam{h}{Receives the maximum vertical size.}
|
||||
|
||||
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
|
||||
\membersection{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata}
|
||||
|
||||
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -314,13 +252,13 @@ Get any client data associated with the tool.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
Client data, or NULL if there is none.
|
||||
|
||||
\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
|
||||
\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled}
|
||||
|
||||
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -336,9 +274,9 @@ TRUE if the tool is enabled, FALSE otherwise.
|
||||
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxToolBar::SetToolEnabled}{wxtoolbarsettoolenabled}
|
||||
%\helpref{wxToolBarBase::SetToolEnabled}{wxtoolbarbasesettoolenabled}
|
||||
%
|
||||
\membersection{wxToolBar::GetToolLongHelp}\label{wxtoolbargettoollonghelp}
|
||||
\membersection{wxToolBarBase::GetToolLongHelp}\label{wxtoolbarbasegettoollonghelp}
|
||||
|
||||
\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -350,10 +288,10 @@ Returns the long help for the given tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||
|
||||
\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
|
||||
\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking}
|
||||
|
||||
\constfunc{int}{GetToolPacking}{\void}
|
||||
|
||||
@@ -361,9 +299,9 @@ Returns the value used for packing tools.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetToolPacking}{wxtoolbarsettoolpacking}
|
||||
\helpref{wxToolBarBase::SetToolPacking}{wxtoolbarbasesettoolpacking}
|
||||
|
||||
\membersection{wxToolBar::GetToolSeparation}\label{wxtoolbargettoolseparation}
|
||||
\membersection{wxToolBarBase::GetToolSeparation}\label{wxtoolbarbasegettoolseparation}
|
||||
|
||||
\constfunc{int}{GetToolSeparation}{\void}
|
||||
|
||||
@@ -371,9 +309,9 @@ Returns the default separator size.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
|
||||
\helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
|
||||
|
||||
\membersection{wxToolBar::GetToolShortHelp}\label{wxtoolbargettoolshorthelp}
|
||||
\membersection{wxToolBarBase::GetToolShortHelp}\label{wxtoolbarbasegettoolshorthelp}
|
||||
|
||||
\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -387,10 +325,10 @@ Returns the long help for the given tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||
|
||||
\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
|
||||
\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate}
|
||||
|
||||
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
||||
|
||||
@@ -406,9 +344,9 @@ TRUE if the tool is toggled on, FALSE otherwise.
|
||||
|
||||
%\wxheading{See also}
|
||||
%
|
||||
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate}
|
||||
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate}
|
||||
%
|
||||
\membersection{wxToolBar::Layout}\label{wxtoolbarlayout}
|
||||
\membersection{wxToolBarBase::Layout}\label{wxtoolbarbaselayout}
|
||||
|
||||
\func{void}{Layout}{\void}
|
||||
|
||||
@@ -416,26 +354,16 @@ Called by the application after the tools have been added to
|
||||
automatically lay the tools out on the window. If you have given
|
||||
absolute positions when adding the tools, do not call this.
|
||||
|
||||
This function is only implemented for some toolbar classes.
|
||||
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
||||
you have added tools and separators.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
|
||||
|
||||
\membersection{wxToolBar::OnLeftClick}\label{wxtoolbaronleftclick}
|
||||
\membersection{wxToolBarBase::OnLeftClick}\label{wxtoolbarbaseonleftclick}
|
||||
|
||||
\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}}
|
||||
|
||||
Called when the user clicks on a tool with the left mouse button.
|
||||
|
||||
This is the old way of detecting tool clicks; although it will still work,
|
||||
you should use the EVT\_MENU or EVT\_TOOL macro instead.
|
||||
Called when the user clicks on a tool with the left mouse button. The
|
||||
programmer should override this function to detect left tool clicks.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
||||
|
||||
\docparam{toggleDown}{TRUE if the tool is a toggle and the toggle is down, otherwise is FALSE.}
|
||||
|
||||
@@ -447,19 +375,16 @@ specifying that toggle operations are not permitted in some circumstances.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||
\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
|
||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||
\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick}
|
||||
|
||||
\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
|
||||
\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter}
|
||||
|
||||
\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
|
||||
|
||||
This is called when the mouse cursor moves into a tool or out of
|
||||
the toolbar.
|
||||
|
||||
This is the old way of detecting mouse enter events; although it will still work,
|
||||
you should use the EVT\_TOOL\_ENTER macro instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool,
|
||||
@@ -472,19 +397,16 @@ such as a short description on the status line.}
|
||||
With some derived toolbar classes, if the mouse moves quickly out of the toolbar, wxWindows may not be able to
|
||||
detect it. Therefore this function may not always be called when expected.
|
||||
|
||||
\membersection{wxToolBar::OnRightClick}\label{wxtoolbaronrightclick}
|
||||
\membersection{wxToolBarBase::OnRightClick}\label{wxtoolbarbaseonrightclick}
|
||||
|
||||
\func{void}{OnRightClick}{\param{int}{ toolIndex}, \param{float}{ x}, \param{float}{ y}}
|
||||
|
||||
Called when the user clicks on a tool with the right mouse button. The
|
||||
programmer should override this function to detect right tool clicks.
|
||||
|
||||
This is the old way of detecting tool right clicks; although it will still work,
|
||||
you should use the EVT\_TOOL\_RCLICKED macro instead.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
||||
|
||||
\docparam{x}{The x position of the mouse cursor.}
|
||||
|
||||
@@ -496,24 +418,12 @@ A typical use of this member might be to pop up a menu.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||
\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick}
|
||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||
\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick}
|
||||
|
||||
\membersection{wxToolBar::Realize}\label{wxtoolbarrealize}
|
||||
\membersection{wxToolBarBase::SetDefaultSize}\label{wxtoolbarbasesetdefaultsize}
|
||||
|
||||
\func{bool}{Realize}{\void}
|
||||
|
||||
This function should be called after you have added tools. It
|
||||
calls, according to the implementation,
|
||||
either \helpref{wxToolBar::CreateTools}{wxtoolbarcreatetools} or
|
||||
\helpref{wxToolBar::Layout}{wxtoolbarlayout}.
|
||||
|
||||
If you are using absolute positions for your tools when using a wxToolBarSimple object,
|
||||
do not call this function. You must call it at all other times.
|
||||
|
||||
\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
|
||||
|
||||
\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
|
||||
\func{void}{SetDefaultSize}{\param{const wxSize\&}{ size}}
|
||||
|
||||
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
|
||||
|
||||
@@ -526,15 +436,15 @@ Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 p
|
||||
This should be called to tell the toolbar what the tool bitmap size is. Call
|
||||
it before you add tools.
|
||||
|
||||
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
|
||||
Note that this is the size of the bitmap you pass to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
|
||||
and not the eventual size of the tool button.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
|
||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp
|
||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||
|
||||
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
|
||||
\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins}
|
||||
|
||||
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
||||
|
||||
@@ -557,9 +467,9 @@ default (zero-size) margins are to be overridden.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize}
|
||||
\helpref{wxToolBarBase::GetMargins}{wxtoolbarbasegetmargins}, \helpref{wxSize}{wxsize}
|
||||
|
||||
\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp}
|
||||
\membersection{wxToolBarBase::SetToolLongHelp}\label{wxtoolbarbasesettoollonghelp}
|
||||
|
||||
\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
||||
|
||||
@@ -577,10 +487,10 @@ You might use the long help for displaying the tool purpose on the status line.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
|
||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp
|
||||
|
||||
\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
|
||||
\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking}
|
||||
|
||||
\func{void}{SetToolPacking}{\param{int}{ packing}}
|
||||
|
||||
@@ -597,9 +507,9 @@ and for spacing in the horizontal direction if the toolbar is vertical.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolPacking}{wxtoolbargettoolpacking}
|
||||
\helpref{wxToolBarBase::GetToolPacking}{wxtoolbarbasegettoolpacking}
|
||||
|
||||
\membersection{wxToolBar::SetToolShortHelp}\label{wxtoolbarsettoolshorthelp}
|
||||
\membersection{wxToolBarBase::SetToolShortHelp}\label{wxtoolbarbasesettoolshorthelp}
|
||||
|
||||
\func{void}{SetToolShortHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
||||
|
||||
@@ -617,9 +527,9 @@ An application might use short help for identifying the tool purpose in a toolti
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolShortHelp}{wxtoolbargettoolshorthelp}, \helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp}
|
||||
\helpref{wxToolBarBase::GetToolShortHelp}{wxtoolbarbasegettoolshorthelp}, \helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp}
|
||||
|
||||
\membersection{wxToolBar::SetToolSeparation}\label{wxtoolbarsettoolseparation}
|
||||
\membersection{wxToolBarBase::SetToolSeparation}\label{wxtoolbarbasesettoolseparation}
|
||||
|
||||
\func{void}{SetToolSeparation}{\param{int}{ separation}}
|
||||
|
||||
@@ -631,9 +541,9 @@ Sets the default separator size. The default value is 5.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}
|
||||
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
|
||||
|
||||
\membersection{wxToolBar::ToggleTool}\label{wxtoolbartoggletool}
|
||||
\membersection{wxToolBarBase::ToggleTool}\label{wxtoolbarbasetoggletool}
|
||||
|
||||
\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
|
||||
|
||||
@@ -651,6 +561,213 @@ Only applies to a tool that has been specified as a toggle tool.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}
|
||||
\helpref{wxToolBarBase::GetToolState}{wxtoolbarbasegettoolstate}
|
||||
|
||||
\section{\class{wxToolBar95}}\label{wxtoolbar95}
|
||||
|
||||
This class should be used when a 3D-effect toolbar is required under Windows 95.
|
||||
It uses the native toolbar control.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style).}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Note that this toolbar paints tools to reflect user-selected colours.
|
||||
The toolbar orientation must always be {\bf wxVERTICAL}.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBar95::wxToolBar95}\label{wxtoolbar95constr}
|
||||
|
||||
\func{}{wxToolBar95}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBar95}{wxtoolbar95}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
\section{\class{wxToolBarMSW}}\label{wxtoolbarmsw}
|
||||
|
||||
This class should be used when a 3D-effect toolbar is required for Windows versions earlier
|
||||
than Windows 95.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
There are no specific styles for this class.
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Note that this toolbar does not paint tools to reflect user-selected colours: grey shading is used.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBarMSW::wxToolBarMSW}\label{wxtoolbarmswconstr}
|
||||
|
||||
\func{}{wxToolBarMSW}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBarMSW}{wxtoolbarmsw}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
|
||||
\section{\class{wxToolBarSimple}}\label{wxtoolbarsimple}
|
||||
|
||||
This is the generic toolbar class which has an identical appearance
|
||||
on all platforms.
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase}\\
|
||||
\helpref{wxControl}{wxcontrol}\\
|
||||
\helpref{wxWindow}{wxwindow}\\
|
||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{Window styles}
|
||||
|
||||
\twocolwidtha{5cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives the simple toolbar a mild 3D look to its buttons.}
|
||||
\end{twocollist}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
In this class, disabling a toolbar tool does not change its appearance.
|
||||
|
||||
For member functions, see the documentation for \helpref{wxToolBarBase}{wxtoolbarbase}.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||
\helpref{wxToolBarBase}{wxtoolbarbase},\rtfsp
|
||||
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBar95}{wxtoolbar95}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
|
||||
\membersection{wxToolBarSimple::wxToolBarSimple}\label{wxtoolbarsimpleconstr}
|
||||
|
||||
\func{}{wxToolBarSimple}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},\rtfsp
|
||||
\param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize},\rtfsp
|
||||
\param{long }{style = 0}, \param{int }{orientation = wxVERTICAL},\rtfsp
|
||||
\param{int }{nRowsOrColumns = 1}, \param{const wxString\& }{name = ``toolBar"}}
|
||||
|
||||
Constructs a toolbar.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{parent}{Parent window. Must not be NULL.}
|
||||
|
||||
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
||||
|
||||
\docparam{pos}{Window position. If the position (-1, -1) is specified then a default position is chosen.}
|
||||
|
||||
\docparam{size}{Window size. If the default size (-1, -1) is specified then a default size is chosen.}
|
||||
|
||||
\docparam{orientation}{Specifies a wxVERTICAL or wxHORIZONTAL orientation for laying out
|
||||
the toolbar.}
|
||||
|
||||
\docparam{nRowsOrColumns}{Specifies the number of rows or
|
||||
columns, whose meaning depends on {\it orientation}. If laid out
|
||||
vertically, {\it nRowsOrColumns} specifies the number of rows to draw
|
||||
before the next column is started; if horizontal, it refers to the
|
||||
number of columns to draw before the next row is started.}
|
||||
|
||||
\docparam{style}{Window style. See \helpref{wxToolBarSimple}{wxtoolbarsimple}.}
|
||||
|
||||
\docparam{name}{Window name.}
|
||||
|
||||
|
||||
|
||||
|
@@ -5,11 +5,10 @@
|
||||
This chapter contains a selection of topic overviews.
|
||||
|
||||
\input tapp.tex
|
||||
\input tlog.tex
|
||||
\input tconfig.tex
|
||||
\input tbitmap.tex
|
||||
\input tdialog.tex
|
||||
\input tfont.tex
|
||||
\input tstring.tex
|
||||
\input tsplittr.tex
|
||||
\input ttreectl.tex
|
||||
\input tlistctl.tex
|
||||
@@ -34,6 +33,5 @@ This chapter contains a selection of topic overviews.
|
||||
\input tvalidat.tex
|
||||
\input texpr.tex
|
||||
\input tgrid.tex
|
||||
\input tstring.tex
|
||||
\input tusage.tex
|
||||
|
||||
|
@@ -24,27 +24,6 @@ able to edit labels in the tree control.}
|
||||
|
||||
See also \helpref{window styles overview}{windowstyles}.
|
||||
|
||||
\wxheading{Event handling}
|
||||
|
||||
To process input from a tree control, use these event handler macros to direct input to member
|
||||
functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument.
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
||||
\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
|
||||
\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
|
||||
\twocolitem{{\bf EVT\_TREE\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
||||
\twocolitem{{\bf EVT\_TREE\_GET\_INFO(id, func)}}{Request information from the application.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SET\_INFO(id, func)}}{Information is being supplied.}
|
||||
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{Parent has been expanded.}
|
||||
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
|
||||
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing.}
|
||||
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
|
||||
\end{twocollist}%
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
|
||||
@@ -111,35 +90,12 @@ Deletes all the items in the control.
|
||||
|
||||
Deletes the specified item.
|
||||
|
||||
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
|
||||
\membersection{wxTreeCtrl::Edit}\label{wxtreectrledit}
|
||||
|
||||
\func{wxTextCtrl*}{EditLabel}{\param{long }{item}, \param{wxClassInfo*}{ textControlClass = CLASSINFO(wxTextCtrl)}}
|
||||
\func{wxTextCtrl\&}{Edit}{\param{long }{item}}
|
||||
|
||||
Starts editing the label of the given item, returning the text control that the tree control uses for editing.
|
||||
|
||||
Pass another {\it textControlClass} if a derived class is required. It usually will be, in order for
|
||||
the application to detect when editing has finished and to call \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}.
|
||||
|
||||
Do not delete the text control yourself.
|
||||
|
||||
This function is currently supported under Windows only.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}
|
||||
|
||||
\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
|
||||
|
||||
\func{bool}{EndEditLabel}{\param{bool }{cancelEdit}}
|
||||
|
||||
Ends label editing. If {\it cancelEdit} is TRUE, the edit will be cancelled.
|
||||
|
||||
This function is currently supported under Windows only.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
|
||||
|
||||
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
|
||||
|
||||
\func{bool}{EnsureVisible}{\param{long }{item}}
|
||||
|
@@ -8,13 +8,10 @@ Another is that instances of a class cannot be created just by knowing the name
|
||||
which makes facilities such as persistent storage hard to implement.
|
||||
|
||||
Most C++ GUI frameworks overcome these limitations by means of a set of
|
||||
macros and functions and wxWindows is no exception.
|
||||
macros and functions and wxWindows (from version 1.62) is no exception.
|
||||
Each class that you wish to be known the type system should have
|
||||
a macro such as DECLARE\_DYNAMIC\_CLASS just inside the class declaration.
|
||||
The macro IMPLEMENT\_DYNAMIC\_CLASS should be in the implementation file.
|
||||
Note that these are entirely optional; use them if you wish to check object
|
||||
types, or create instances of classes using the class name. However,
|
||||
it is good to get into the habit of adding these macros for all classes.
|
||||
|
||||
Variations on these \helpref{macros}{macros} are used for multiple inheritance, and abstract
|
||||
classes that cannot be instantiated dynamically or otherwise.
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
\section{Toolbar overview}\label{wxtoolbaroverview}
|
||||
|
||||
Classes: \helpref{wxToolBar}{wxtoolbar}
|
||||
Classes: \helpref{wxToolBarBase}{wxtoolbarbase}, \helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||
\helpref{wxToolBarMSW}{wxtoolbarmsw}, \helpref{wxToolBar95}{wxtoolbar95}
|
||||
|
||||
The toolbar family of classes allows an application to use toolbars
|
||||
in a variety of configurations and styles.
|
||||
@@ -15,10 +16,21 @@ out the classes. This is because there are a number of different toolbar
|
||||
styles that you may wish to use simultaneously, and also, future
|
||||
toolbar implementations will emerge (for example, using the
|
||||
new-style Windows `coolbar' as seen in Microsoft applications) which
|
||||
cannot all be shoe-horned into the one class.
|
||||
cannot be shoe-horned into the one class.
|
||||
|
||||
For each platform, the symbol {\bf wxToolBar} is defined to be one of the
|
||||
specific toolbar classes.
|
||||
This does mean that if you wish to use a more sophisticated toolbar
|
||||
on one platform (say, wxToolBar95) and a simple toolbar on another
|
||||
platform (wxToolBarSimple), then you will need some simple ifdefing, such as:
|
||||
|
||||
\begin{verbatim}
|
||||
#ifdef wx_msw
|
||||
# define wxToolBar wxToolBar95
|
||||
#else
|
||||
# define wxToolBar wxToolBarSimple
|
||||
#endif
|
||||
\end{verbatim}
|
||||
|
||||
Fortunately, the APIs of the toolbar classes are virtually identical.
|
||||
|
||||
The following is a summary of the toolbar classes and their differences.
|
||||
|
||||
@@ -31,15 +43,15 @@ with the Windows look and feel. This toolbar can scroll, and you can have arbitr
|
||||
numbers of rows and columns.
|
||||
\item {\bf wxToolBarMSW.} This class implements an old-style Windows toolbar, only on
|
||||
Windows. There are small, three-dimensional buttons, which do not (currently) reflect
|
||||
the current Windows colour settings: the buttons are grey. This is the default wxToolBar
|
||||
on 16-bit windows.
|
||||
the current Windows colour settings: the buttons are grey.
|
||||
\item {\bf wxToolBar95.} Uses the native Windows 95 toolbar class. It dynamically adjusts its
|
||||
background and button colours according to user colour settings.
|
||||
CreateTools must be called after the tools have been added.
|
||||
No absolute positioning is supported but you can specify the number
|
||||
of rows, and add tool separators with {\bf AddSeparator}.
|
||||
Tooltips are supported. {\bf OnRightClick} is not supported. This is the default wxToolBar
|
||||
on Windows 95, Windows NT 4 and above.
|
||||
of rows, and add tool separators with {\bf AddSeparator}. {\bf Layout} does nothing.
|
||||
Tooltips are supported. {\bf OnRightClick} is not supported.
|
||||
For some reason, a wxToolBar95 control cannot be moved to any
|
||||
position other than the top-left of the frame.
|
||||
\end{itemize}
|
||||
|
||||
A toolbar might appear as a single row of images under
|
||||
@@ -56,229 +68,61 @@ around the bitmap (for colour displays where inverting will not have
|
||||
the desired result).
|
||||
|
||||
The Windows-specific toolbar classes expect 16-colour bitmaps that are 16 pixels wide and 15 pixels
|
||||
high. If you want to use a different size, call {\bf SetToolBitmapSize}\rtfsp
|
||||
high. If you want to use a different size, call {\bf SetDefaultSize}\rtfsp
|
||||
as the demo shows, before adding tools to the button bar. Don't supply more than
|
||||
one bitmap for each tool, because the toolbar generates all three images (normal,
|
||||
depressed and checked) from the single bitmap you give it.
|
||||
|
||||
To intercept
|
||||
Mouse click events for a given button are sent to a member called
|
||||
\rtfsp{\bf OnLeftClick}, and so an application must derive from wxToolBar in order
|
||||
to use it. The application can also handle {\bf OnMouseEnter} events for
|
||||
the tools, to give the user extra feedback about the tools as the mouse
|
||||
moves over them.
|
||||
|
||||
\subsection{Using the toolbar library}
|
||||
|
||||
Include {\tt "wx/toolbar.h"}, or if using a class directly, one of:
|
||||
Include one of the files {\tt tbarsmpl.h, tbar95.h, tbarmsw.h}.
|
||||
|
||||
\begin{itemize}\itemsep=0pt
|
||||
\item {\tt "wx/msw/tbarmsw.h} for wxToolBarMSW
|
||||
\item {\tt "wx/msw/tbar95.h} for wxToolBar95
|
||||
\item {\tt "wx/tbarsmpl.h} for wxToolBarSimple
|
||||
\end{itemize}
|
||||
Example of toolbar use are given in the sample programs tbarsmpl,
|
||||
tbarmsw and tbar95.
|
||||
|
||||
Example of toolbar use are given in the sample program ``toolbar''. The
|
||||
source is given below.
|
||||
Each sample creates a main window, and two toolbars: a floating toolbar
|
||||
with 24 tools, and a toolbar along the top of the main drawing window, divided into groups.
|
||||
|
||||
The test program defines a general-purpose derived frame called
|
||||
\rtfsp{\bf wxFrameWithToolBar} which can manage a frame with one main subwindow
|
||||
and one horizontal toolbar.
|
||||
|
||||
Note that one of the bitmaps on the floating toolbar is a small version of the
|
||||
main graphic: this demonstrates how a memory device context can be used to
|
||||
draw into a bitmap. An application which allowed the user to build up a symbol
|
||||
library dynamically might create this kind of bitmap.
|
||||
|
||||
Left clicks and movements over the toolbars are intercepted and information
|
||||
is displayed on the status line.
|
||||
|
||||
The following fragment illustrates the essence of creating a toolbar.
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: test.cpp
|
||||
// Purpose: wxToolBar sample
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 04/01/98
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// For compilers that support precompilation, includes "wx/wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/wx.h"
|
||||
#endif
|
||||
|
||||
#include "wx/toolbar.h"
|
||||
#include "test.h"
|
||||
|
||||
IMPLEMENT_APP(MyApp)
|
||||
|
||||
#ifdef __X__
|
||||
// TODO: include XBM or XPM icons for X apps
|
||||
#endif
|
||||
|
||||
// The `main program' equivalent, creating the windows and returning the
|
||||
// main frame
|
||||
bool MyApp::OnInit(void)
|
||||
{
|
||||
// Create the main frame window
|
||||
MyFrame* frame = new MyFrame(NULL, -1, "wxToolBar Sample",
|
||||
wxPoint(100, 100), wxSize(450, 300));
|
||||
|
||||
// Give it a status line
|
||||
frame->CreateStatusBar();
|
||||
|
||||
// Give it an icon
|
||||
#ifdef __WXMSW__
|
||||
frame->SetIcon(wxIcon("mondrian"));
|
||||
#endif
|
||||
#ifdef __X__
|
||||
frame->SetIcon(wxIcon("mondrian.xbm"));
|
||||
#endif
|
||||
|
||||
// Make a menubar
|
||||
wxMenu *fileMenu = new wxMenu;
|
||||
fileMenu->Append(wxID_EXIT, "E&xit");
|
||||
|
||||
wxMenu *helpMenu = new wxMenu;
|
||||
helpMenu->Append(wxID_HELP, "&About");
|
||||
|
||||
wxMenuBar* menuBar = new wxMenuBar;
|
||||
|
||||
menuBar->Append(fileMenu, "&File");
|
||||
menuBar->Append(helpMenu, "&Help");
|
||||
|
||||
// Associate the menu bar with the frame
|
||||
frame->SetMenuBar(menuBar);
|
||||
|
||||
// Create the toolbar
|
||||
frame->CreateToolBar(wxNO_BORDER|wxHORIZONTAL|wxTB_FLAT, ID_TOOLBAR);
|
||||
|
||||
InitToolbar(frame->GetToolBar());
|
||||
|
||||
// Force a resize. This should probably be replaced by a call to a wxFrame
|
||||
// function that lays out default decorations and the remaining content window.
|
||||
frame->OnSize(wxSizeEvent(wxSize(-1, -1), frame->GetId()));
|
||||
frame->Show(TRUE);
|
||||
|
||||
frame->SetStatusText("Hello, wxWindows");
|
||||
|
||||
SetTopWindow(frame);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool MyApp::InitToolbar(wxToolBar* toolBar)
|
||||
{
|
||||
toolBar->SetMargins(5, 5);
|
||||
|
||||
// Set up toolbar
|
||||
wxBitmap* toolBarBitmaps[8];
|
||||
|
||||
#ifdef __WXMSW__
|
||||
toolBarBitmaps[0] = new wxBitmap("icon1");
|
||||
toolBarBitmaps[1] = new wxBitmap("icon2");
|
||||
toolBarBitmaps[2] = new wxBitmap("icon3");
|
||||
toolBarBitmaps[3] = new wxBitmap("icon4");
|
||||
toolBarBitmaps[4] = new wxBitmap("icon5");
|
||||
toolBarBitmaps[5] = new wxBitmap("icon6");
|
||||
toolBarBitmaps[6] = new wxBitmap("icon7");
|
||||
toolBarBitmaps[7] = new wxBitmap("icon8");
|
||||
#endif
|
||||
#ifdef __X__
|
||||
// TODO
|
||||
toolBarBitmaps[0] = new wxBitmap(...);
|
||||
toolBarBitmaps[1] = new wxBitmap(...);
|
||||
toolBarBitmaps[2] = new wxBitmap(...);
|
||||
toolBarBitmaps[3] = new wxBitmap(...);
|
||||
toolBarBitmaps[4] = new wxBitmap(...);
|
||||
toolBarBitmaps[5] = new wxBitmap(...);
|
||||
toolBarBitmaps[6] = new wxBitmap(...);
|
||||
toolBarBitmaps[7] = new wxBitmap(...);
|
||||
#endif
|
||||
...
|
||||
|
||||
#ifdef __WXMSW__
|
||||
int width = 24;
|
||||
#else
|
||||
int width = 16;
|
||||
#endif
|
||||
int offX = 5;
|
||||
int currentX = 5;
|
||||
toolBarFrame = new wxFrame(NULL, "Tools", -1, wxPoint(0, 0), wxSize(300, 200),
|
||||
wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP);
|
||||
|
||||
toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
|
||||
currentX += width + 5;
|
||||
toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
|
||||
currentX += width + 5;
|
||||
toolBar->AddSeparator();
|
||||
toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, NULL, "Help");
|
||||
// 5 rows
|
||||
toolBar = new TestToolBar(toolBarFrame, -1, wxPoint(10, 10), wxSize(-1, -1), 0, wxVERTICAL, 5);
|
||||
toolBar->SetMargins(2, 2);
|
||||
|
||||
toolBar->Realize();
|
||||
for (int i = 10; i < 25; i++)
|
||||
toolBar->AddTool(i, toolBarBitmaps[i], NULL, TRUE);
|
||||
|
||||
// Can delete the bitmaps since they're reference counted
|
||||
int i;
|
||||
for (i = 0; i < 8; i++)
|
||||
delete toolBarBitmaps[i];
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// wxID_HELP will be processed for the 'About' menu and the toolbar help button.
|
||||
|
||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
|
||||
EVT_MENU(wxID_HELP, MyFrame::OnAbout)
|
||||
EVT_CLOSE(MyFrame::OnCloseWindow)
|
||||
EVT_TOOL_RANGE(wxID_OPEN, wxID_PASTE, MyFrame::OnToolLeftClick)
|
||||
EVT_TOOL_ENTER(ID_TOOLBAR, MyFrame::OnToolEnter)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
// Define my frame constructor
|
||||
MyFrame::MyFrame(wxFrame* parent, wxWindowID id, const wxString& title, const wxPoint& pos,
|
||||
const wxSize& size, long style):
|
||||
wxFrame(parent, id, title, pos, size, style)
|
||||
{
|
||||
m_textWindow = new wxTextCtrl(this, -1, "", wxPoint(0, 0), wxSize(-1, -1), wxTE_MULTILINE);
|
||||
}
|
||||
|
||||
void MyFrame::OnQuit(wxCommandEvent& event)
|
||||
{
|
||||
Close(TRUE);
|
||||
}
|
||||
|
||||
void MyFrame::OnAbout(wxCommandEvent& event)
|
||||
{
|
||||
(void)wxMessageBox("wxWindows wxToolBar demo\n", "About wxToolBar");
|
||||
}
|
||||
|
||||
// Define the behaviour for the frame closing
|
||||
// - must delete all frames except for the main one.
|
||||
void MyFrame::OnCloseWindow(wxCloseEvent& event)
|
||||
{
|
||||
Destroy();
|
||||
}
|
||||
|
||||
void MyFrame::OnToolLeftClick(wxCommandEvent& event)
|
||||
{
|
||||
wxString str;
|
||||
str.Printf("Clicked on tool %d", event.GetId());
|
||||
SetStatusText(str);
|
||||
}
|
||||
|
||||
void MyFrame::OnToolEnter(wxCommandEvent& event)
|
||||
{
|
||||
if (event.GetSelection() > -1)
|
||||
{
|
||||
wxString str;
|
||||
str.Printf("This is tool number %d", event.GetSelection());
|
||||
SetStatusText(str);
|
||||
}
|
||||
else
|
||||
SetStatusText("");
|
||||
}
|
||||
toolBar->Layout();
|
||||
float maxWidth, maxHeight;
|
||||
wxSize size(toolBar->GetMaxSize());
|
||||
toolBarFrame->SetClientSize(maxSize.x, maxSize.y);
|
||||
toolBarFrame->Show(TRUE);
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
|
@@ -1,119 +0,0 @@
|
||||
\section{\class{wxURL}}\label{wxurl}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
\helpref{wxObject}{wxobject}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxSocketBase}{wxsocketbase}, \helpref{wxProtocol}{wxprotocol}
|
||||
|
||||
% ----------------------------------------------------------------------------
|
||||
% Members
|
||||
% ----------------------------------------------------------------------------
|
||||
|
||||
\latexignore{\rtfignore{\membersection{Members}}}
|
||||
|
||||
\membersection{wxURL::wxURL}\label{wxurlconstr}
|
||||
|
||||
\func{}{wxURL}{\param{const wxString\&}{ url}}
|
||||
|
||||
Constructs an URL object from the string.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{url}{Url string to parse.}
|
||||
|
||||
\membersection{wxURL::\destruct{wxURL}}
|
||||
|
||||
\func{}{\destruct{wxURL}}{\void}
|
||||
|
||||
Destroys the URL object.
|
||||
|
||||
%
|
||||
% GetProtocolName
|
||||
%
|
||||
\membersection{wxURL::GetProtocolName}
|
||||
|
||||
\constfunc{wxString}{GetProtocolName}{\void}
|
||||
|
||||
Returns the name of the protocol which will be used to get the URL.
|
||||
|
||||
%
|
||||
% GetProtocol
|
||||
%
|
||||
\membersection{wxURL::GetProtocol}
|
||||
|
||||
\func{wxProtocol\&}{GetProtocol}{\void}
|
||||
|
||||
Returns a reference to the protocol which will be used to get the URL.
|
||||
|
||||
%
|
||||
% GetError
|
||||
%
|
||||
\membersection{wxURL::GetError}
|
||||
|
||||
\constfunc{wxURLError}{GetError}{\void}
|
||||
|
||||
Returns the last error. This error refers to the URL parsing or to the protocol.
|
||||
It can be one of these errors:
|
||||
|
||||
\twocolwidtha{7cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{{\bf wxURL\_NOERR}}{No error.}
|
||||
\twocolitem{{\bf wxURL\_SNTXERR}}{Syntax error in the URL string.}
|
||||
\twocolitem{{\bf wxURL\_NOPROTO}}{Found no protocol which can get this URL.}
|
||||
\twocolitem{{\bf wxURL\_NOHOST}}{An host name is required for this protocol.}
|
||||
\twocolitem{{\bf wxURL\_NOPATH}}{A path is required for this protocol.}
|
||||
\twocolitem{{\bf wxURL\_CONNERR}}{Connection error.}
|
||||
\twocolitem{{\bf wxURL\_PROTOERR}}{An error occured during negotiation.}
|
||||
\end{twocollist}%
|
||||
|
||||
%
|
||||
% GetInputStream
|
||||
%
|
||||
\membersection{wxURL::GetInputStream}
|
||||
|
||||
\func{wxInputStream *}{GetInputStream}{\void}
|
||||
|
||||
Initializes the protocol and opens the input stream.
|
||||
|
||||
\wxheading{Return value}
|
||||
|
||||
It returns a read-only wxStream.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxInputStream}{wxinputstream}
|
||||
|
||||
%
|
||||
% SetDefaultProxy
|
||||
%
|
||||
\membersection{wxURL::SetDefaultProxy}\label{wxurlsetdefaultproxy}
|
||||
|
||||
\func{static void}{SetDefaultProxy}{\param{const wxString\&}{ url\_proxy}}
|
||||
|
||||
Sets the default proxy server to use to get the URL. The string specifies
|
||||
the proxy like this: <hostname>:<port number>.
|
||||
|
||||
\wxheading{Parameters}
|
||||
|
||||
\docparam{url\_proxy}{Specifies the proxy to use}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxURL::SetProxy}{wxurlsetproxy}
|
||||
|
||||
%
|
||||
% SetProxy
|
||||
%
|
||||
\membersection{wxURL::SetProxy}\label{wxurlsetproxy}
|
||||
|
||||
\func{void}{SetProxy}{\param{const wxString\&}{ url\_proxy}}
|
||||
|
||||
Sets the proxy to use for this URL.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxURL::SetDefaultProxy}{wxurlsetdefaultproxy}
|
||||
|
@@ -185,60 +185,6 @@ Applies to managed windows (wxFrame and wxDialog classes) only.
|
||||
\helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent}
|
||||
|
||||
\membersection{wxWindow::ConvertDialogToPixels}\label{wxwindowconvertdialogtopixels}
|
||||
|
||||
\func{wxPoint}{ConvertDialogToPixels}{\param{const wxPoint\&}{ pt}}
|
||||
|
||||
\func{wxSize}{ConvertDialogToPixels}{\param{const wxSize\&}{ sz}}
|
||||
|
||||
Converts a point or size from dialog units to pixels.
|
||||
|
||||
For the x dimension, the dialog units are multiplied by the average character width
|
||||
and then divided by 4.
|
||||
|
||||
For the y dimension, the dialog units are multiplied by the average character height
|
||||
and then divided by 8.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Dialog units are used for maintaining a dialog's proportions even if the font changes.
|
||||
Dialogs created using Dialog Editor optionally use dialog units.
|
||||
|
||||
You can also use these functions programmatically. A convenience macro is defined:
|
||||
|
||||
{\small
|
||||
\begin{verbatim}
|
||||
#define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt)
|
||||
\end{verbatim}
|
||||
}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::ConvertPixelsToDialog}{wxwindowconvertpixelstodialog}
|
||||
|
||||
\membersection{wxWindow::ConvertPixelsToDialog}\label{wxwindowconvertpixelstodialog}
|
||||
|
||||
\func{wxPoint}{ConvertPixelsToDialog}{\param{const wxPoint\&}{ pt}}
|
||||
|
||||
\func{wxSize}{ConvertPixelsToDialog}{\param{const wxSize\&}{ sz}}
|
||||
|
||||
Converts a point or size from pixels to dialog units.
|
||||
|
||||
For the x dimension, the pixels are multiplied by 4 and then divided by the average
|
||||
character width.
|
||||
|
||||
For the y dimension, the pixels are multipled by 8 and then divided by the average
|
||||
character height.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Dialog units are used for maintaining a dialog's proportions even if the font changes.
|
||||
Dialogs created using Dialog Editor optionally use dialog units.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::ConvertDialogToPixels}{wxwindowconvertdialogtopixels}
|
||||
|
||||
\membersection{wxWindow::Destroy}\label{wxwindowdestroy}
|
||||
|
||||
\func{virtual bool}{Destroy}{\void}
|
||||
@@ -332,16 +278,6 @@ Note that this is a static function, so it can be called without needing a wxWin
|
||||
|
||||
\helpref{wxWindow::SetFocus}{wxwindowsetfocus}
|
||||
|
||||
\membersection{wxWindow::FindWindow}\label{wxwindowfindwindow}
|
||||
|
||||
\func{wxWindow*}{FindWindow}{\param{long}{ id}}
|
||||
|
||||
Find a child of this window, by identifier.
|
||||
|
||||
\func{wxWindow*}{FindWindow}{\param{const wxString\&}{ name}}
|
||||
|
||||
Find a child of this window, by name.
|
||||
|
||||
\membersection{wxWindow::Fit}\label{wxwindowfit}
|
||||
|
||||
\func{virtual void}{Fit}{\void}
|
||||
@@ -620,17 +556,6 @@ Gets the window's title. Applicable only to frames and dialogs.
|
||||
|
||||
\helpref{wxWindow::SetTitle}{wxwindowsettitle}
|
||||
|
||||
\membersection{wxWindow::GetUpdateRegion}\label{wxwindowgetupdateregion}
|
||||
|
||||
\constfunc{virtual wxRegion}{GetUpdateRegion}{\void}
|
||||
|
||||
Returns the region specifying which parts of the window have been damaged. Should
|
||||
only be called within an \helpref{OnPaint}{wxwindowonpaint} event handler.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxRegion}{wxregion}, \helpref{wxRegionIterator}{wxregioniterator}, \helpref{wxWindow::OnPaint}{wxwindowonpaint}
|
||||
|
||||
\membersection{wxWindow::GetWindowStyleFlag}
|
||||
|
||||
\constfunc{long}{GetWindowStyleFlag}{\void}
|
||||
@@ -876,7 +801,7 @@ you may delete other windows.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
Derive your own class to handle this message. The default handler returns TRUE.
|
||||
Derive your own class to handle this message. The default handler returns FALSE.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
@@ -901,14 +826,6 @@ using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
||||
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
||||
If not, it is up to you whether you respond by destroying the window.
|
||||
|
||||
(Note: GetForce is now superceded by CanVeto. So to test whether forced destruction of
|
||||
the window is required, test for the negative of CanVeto. If CanVeto returns FALSE,
|
||||
it is not possible to skip window deletion.)
|
||||
|
||||
If you don't destroy the window, you should call \helpref{wxCloseEvent::Veto}{wxcloseeventveto} to
|
||||
let the calling code know that you did not destroy the window. This allows the \helpref{wxWindow::Close}{wxwindowclose} function
|
||||
to return TRUE or FALSE depending on whether the close instruction was honoured or not.
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
The \helpref{wxWindow::OnClose}{wxwindowonclose} virtual function remains
|
||||
@@ -922,9 +839,7 @@ destroying the window if it returns TRUE or if the close is being forced.
|
||||
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
||||
\helpref{wxWindow::OnClose}{wxwindowonclose},\rtfsp
|
||||
\helpref{wxWindow::Destroy}{wxwindowdestroy},\rtfsp
|
||||
\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
||||
\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession},\rtfsp
|
||||
\helpref{wxApp::OnEndSession}{wxapponendsession}
|
||||
\helpref{wxCloseEvent}{wxcloseevent}
|
||||
|
||||
\membersection{wxWindow::OnDropFiles}\label{wxwindowondropfiles}
|
||||
|
||||
@@ -1157,7 +1072,7 @@ terms of the client area, and are unscrolled, so you will need to do
|
||||
some calculations using the current view position to obtain logical,
|
||||
scrolled units.
|
||||
|
||||
Here is an example of using the \helpref{wxRegionIterator}{wxregioniterator} class:
|
||||
Here is an example of using the \helpref{wxUpdateIterator}{wxupdateiterator} class:
|
||||
|
||||
{\small%
|
||||
\begin{verbatim}
|
||||
@@ -1171,7 +1086,7 @@ void MyWindow::OnPaint(wxPaintEvent& event)
|
||||
ViewStart(&vbX,&vbY);
|
||||
|
||||
int vX,vY,vW,vH; // Dimensions of client area in pixels
|
||||
wxRegionIterator upd(GetUpdateRegion()); // get the update rect list
|
||||
wxUpdateIterator upd(this); // get the update rect list
|
||||
|
||||
while (upd)
|
||||
{
|
||||
@@ -1199,6 +1114,8 @@ void MyWindow::OnPaint(wxPaintEvent& event)
|
||||
\helpref{wxPaintDC}{wxpaintdc},\rtfsp
|
||||
\helpref{Event handling overview}{eventhandlingoverview}
|
||||
|
||||
\membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
|
||||
|
||||
\func{void}{OnScroll}{\param{wxScrollEvent\& }{event}}
|
||||
|
||||
Called when a scroll event is received from one of the window's built-in scrollbars.
|
||||
@@ -1430,12 +1347,6 @@ Available only under Windows.
|
||||
Use this function to optimise your scrolling implementations, to minimise the area that must be
|
||||
redrawn.
|
||||
|
||||
\membersection{wxWindow::SetAcceleratorTable}\label{wxwindowsetacceleratortable}
|
||||
|
||||
\func{virtual void}{SetAcceleratorTable}{\param{const wxAcceleratorTable\&}{ accel}}
|
||||
|
||||
Sets the accelerator table for this window. See \helpref{wxAcceleratorTable}{wxacceleratortable}.
|
||||
|
||||
\membersection{wxWindow::SetAutoLayout}\label{wxwindowsetautolayout}
|
||||
|
||||
\func{void}{SetAutoLayout}{\param{const bool}{ autoLayout}}
|
||||
@@ -1674,8 +1585,10 @@ handling of pages and ranges.
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||
\helpref{wxWindow::SetScrollRange}{wxwindowsetscrollpage},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
||||
\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollrange},\rtfsp
|
||||
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||
\end{comment}
|
||||
|
||||
@@ -1702,7 +1615,8 @@ application to take note of scrollbar attributes and redraw contents accordingly
|
||||
|
||||
\helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||
\helpref{wxWindow::GetScrollThumb}{wxwindowgetscrollthumb},\rtfsp
|
||||
\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
||||
\helpref{wxWindow::GetScrollThumb}{wxwindowsetscrollthumb},\rtfsp
|
||||
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||
|
||||
\begin{comment}
|
||||
@@ -1733,7 +1647,8 @@ and usually the scrollbar will be automatically hidden.
|
||||
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||
\helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
||||
\helpref{wxWindow::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
||||
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollrange},\rtfsp
|
||||
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||
\end{comment}
|
||||
|
||||
|
@@ -19,7 +19,7 @@ just before the first call to display something.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}
|
||||
\helpref{wxHelpControllerBase}{wxwinhelpcontrollerbase}
|
||||
|
||||
\wxheading{Include file}
|
||||
|
||||
|
@@ -1,9 +1,15 @@
|
||||
; This file is maintained by HCW. Do not modify this file directly.
|
||||
|
||||
[OPTIONS]
|
||||
COMPRESS=HIGH
|
||||
HCW=0
|
||||
COMPRESS=60 Hall Zeck
|
||||
LCID=0x809 0x0 0x0 ;English (United Kingdom)
|
||||
REPORT=Yes
|
||||
CONTENTS=Contents
|
||||
TITLE=wxWindows Manual
|
||||
BMROOT=..\..\..\..\wxwind~1\docs\latex\wx
|
||||
BMROOT=Assume that bitmaps are where the source is
|
||||
HLP=.\wx.hlp
|
||||
|
||||
[FILES]
|
||||
wx.rtf
|
||||
|
@@ -1,525 +1,593 @@
|
||||
\section{\class{wxString}}\label{wxstring}
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
None
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\overview{Overview}{wxstringoverview}
|
||||
|
||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||
\helpref{Member functions by category}{wxstringcategories}
|
||||
|
||||
{\bf CAVE:} The description of the memberfunctions is very
|
||||
sparse in the moment. It will be extended in the next
|
||||
version of the help file. The list of memberfunctions
|
||||
is complete.
|
||||
|
||||
\membersection{wxString::wxString}\label{wxstringconstruct}
|
||||
|
||||
\func{}{wxString}{\void}
|
||||
\func{void}{wxString}{\param{void}{}}\\
|
||||
\func{void}{wxString}{\param{const wxString\&}{ x}}\\
|
||||
\func{void}{wxString}{\param{const wxSubString\&}{ x}}\\
|
||||
\func{void}{wxString}{\param{const char*}{ t}}\\
|
||||
\func{void}{wxString}{\param{const char*}{ t}, \param{int}{ len}}\\
|
||||
\func{void}{wxString}{\param{char}{ c}}
|
||||
|
||||
Default constructor.
|
||||
|
||||
\func{}{wxString}{\param{const wxString\&}{ x}}
|
||||
|
||||
Copy constructor.
|
||||
|
||||
\func{}{wxString}{\param{char}{ ch}, \param{size\_t}{ n = 1}}
|
||||
|
||||
Constructs a string of {\it n} copies of character {\it ch}.
|
||||
|
||||
\func{}{wxString}{\param{const char*}{ psz}, \param{size\_t}{ nLength = STRING\_MAXLEN}}
|
||||
|
||||
Takes first {\it nLength} characters from the C string {\it psz}.
|
||||
The default value of STRING\_MAXLEN means take all the string.
|
||||
|
||||
\func{}{wxString}{\param{const unsigned char*}{ psz}, \param{size\_t}{ nLength = STRING\_MAXLEN}}
|
||||
|
||||
For compilers using unsigned char: takes first {\it nLength} characters from the C string {\it psz}.
|
||||
The default value of STRING\_MAXLEN means take all the string.
|
||||
|
||||
\func{}{wxString}{\param{const wchar\_t*}{ psz}}
|
||||
|
||||
Constructs a string from the wide (UNICODE) string.
|
||||
Constructors.
|
||||
|
||||
\membersection{wxString::\destruct{wxString}}\label{wxstringdestruct}
|
||||
|
||||
\func{}{\destruct{wxString}}{\void}
|
||||
\func{void}{\destruct{wxString}}{\void}
|
||||
|
||||
String destructor. Note that this is not virtual, so wxString must not be inherited from.
|
||||
String destructor.
|
||||
|
||||
\membersection{wxString::Alloc}\label{wxstringAlloc}
|
||||
|
||||
\func{void}{Alloc}{\param{uint}{ newsize}}
|
||||
\func{void}{Alloc}{\param{int}{ newsize}}
|
||||
|
||||
Preallocate some space for wxString. Only works if the data of this string is not shared.
|
||||
Preallocate some space for wxString.
|
||||
|
||||
\membersection{wxString::Allocation}\label{wxstringAllocation}
|
||||
|
||||
\func{int}{Allocation}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Report current allocation (not length!).
|
||||
|
||||
\membersection{wxString::Append}\label{wxstringAppend}
|
||||
|
||||
\func{wxString\&}{Append}{\param{const char*}{ psz}}
|
||||
\func{wxString\&}{Append}{\param{const char*}{ cs}}\\
|
||||
\func{wxString\&}{Append}{\param{const wxString\&}{ s}}
|
||||
|
||||
Concatenates {\it psz} to this string, returning a reference to it.
|
||||
Concatenation.
|
||||
|
||||
\func{wxString\&}{Append}{\param{char}{ ch}, \param{int}{ count = 1}}
|
||||
\func{wxString\&}{Append}{\param{char}{ c}, \param{int}{ rep = 1}}
|
||||
|
||||
Concatenates character {\it ch} to this string, {\it count} times, returning a reference
|
||||
to it.
|
||||
Append {\it c}, {\it rep} times
|
||||
|
||||
\membersection{wxString::After}\label{wxstringAfter}
|
||||
|
||||
\constfunc{wxString}{After}{\param{char}{ ch}}
|
||||
\func{wxSubString}{After}{\param{int}{ pos}}\\
|
||||
\func{wxSubString}{After}{\param{const wxString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{After}{\param{const wxSubString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{After}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{After}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{After}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
Gets all the characters after the first occurence of {\it ch}.
|
||||
Returns the empty string if {\it ch} is not found.
|
||||
\membersection{wxString::At}\label{wxstringAt}
|
||||
|
||||
\func{wxSubString}{At}{\param{int}{ pos}, \param{int}{ len}}\\
|
||||
\func{wxSubString}{operator ()}{\param{int}{ pos}, \param{int}{ len}}\\
|
||||
\func{wxSubString}{At}{\param{const wxString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{At}{\param{const wxSubString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{At}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{At}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{At}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
wxSubString extraction.
|
||||
|
||||
Note that you can't take a substring of a const wxString, since
|
||||
this leaves open the possiblility of indirectly modifying the
|
||||
wxString through the wxSubString.
|
||||
|
||||
\membersection{wxString::Before}\label{wxstringBefore}
|
||||
|
||||
\constfunc{wxString}{Before}{\param{char}{ ch}}
|
||||
\func{wxSubString}{Before}{\param{int}{ pos}}\\
|
||||
\func{wxSubString}{Before}{\param{const wxString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Before}{\param{const wxSubString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Before}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Before}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Before}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
Gets all characters before the last occurence of {\it ch}.
|
||||
Returns empty string if {\it ch} is not found.
|
||||
\membersection{wxString::Capitalize}\label{wxstringCapitalize}
|
||||
|
||||
\membersection{wxString::Cmp}\label{wxstringcmp}
|
||||
\func{void}{Capitalize}{\param{void}{}}\\
|
||||
\func{friend wxString}{Capitalize}{\param{wxString\&}{ x}}
|
||||
|
||||
\constfunc{int}{Cmp}{\param{const char*}{ psz}}
|
||||
\membersection{wxString::Cat}\label{wxstringCat}
|
||||
|
||||
Case-sensitive comparison.
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxSubString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const char*}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{char}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxSubString\&}{ a}, \param{const wxString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxSubString\&}{ a}, \param{const wxSubString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxSubString\&}{ a}, \param{const char*}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const wxSubString\&}{ a}, \param{char}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxSubString\&}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const char*}{ b}, \param{wxString\&}{ c}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{char}{ b}, \param{wxString\&}{ c}}
|
||||
|
||||
Returns 0 if equal, +1 if greater or -1 if less.
|
||||
Concatenate first two arguments, store the result in the last argument.
|
||||
|
||||
See also CmpNoCase, IsSameAs.
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxSubString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxSubString\&}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxSubString\&}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxSubString\&}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const char*}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const char*}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const char*}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const char*}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}
|
||||
|
||||
\membersection{wxString::CmpNoCase}\label{wxstringcmpnocase}
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxSubString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxSubString\&}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxSubString\&}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxSubString\&}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const char*}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const char*}{ b}, \param{const wxSubString\&}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const char*}{ b}, \param{const char*}{ c}, \param{wxString\&}{ d}}\\
|
||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const char*}{ b}, \param{char}{ c}, \param{wxString\&}{ d}}
|
||||
|
||||
\constfunc{int}{CmpNoCase}{\param{const char*}{ psz}}
|
||||
Double concatenation, by request. (Yes, there are too many versions,
|
||||
but if one is supported, then the others should be too).
|
||||
Concatenate the first 3 args, store the result in the last argument.
|
||||
|
||||
Case-insensitive comparison.
|
||||
\membersection{wxString::Chars}\label{wxstringChars}
|
||||
|
||||
Returns 0 if equal, +1 if greater or -1 if less.
|
||||
\func{const char*}{Chars}{\param{void}{}} \param{ const}{}
|
||||
|
||||
See also Cmp, IsSameAs.
|
||||
Conversion.
|
||||
|
||||
\membersection{wxString::CompareTo}\label{wxstringCompareTo}
|
||||
|
||||
\begin{verbatim}
|
||||
#define NO_POS ((int)(-1)) // undefined position
|
||||
enum caseCompare {exact, ignoreCase};
|
||||
enum CaseCompare {exact, ignoreCase};
|
||||
\end{verbatim}
|
||||
|
||||
\constfunc{int}{CompareTo}{\param{const char*}{ psz}, \param{caseCompare}{ cmp = exact}}
|
||||
|
||||
Case-sensitive comparison. Returns 0 if equal, 1 if greater or -1 if less.
|
||||
\func{int}{CompareTo}{\param{const char*}{ cs}, \param{CaseCompare}{ cmp = exact}} \param{ const}{}\\
|
||||
\func{int}{CompareTo}{\param{const wxString\&}{ cs}, \param{CaseCompare}{ cmp = exact}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::Contains}\label{wxstringContains}
|
||||
|
||||
\func{bool}{Contains}{\param{const wxString\&}{ str}}
|
||||
\func{bool}{Contains}{\param{char}{ c}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxString\&}{ y}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxSubString\&}{ y}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const char*}{ t}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxRegex\&}{ r}} \param{ const}{}
|
||||
|
||||
Returns 1 if target appears anyhere in wxString; else 0.
|
||||
Return 1 if target appears anyhere in wxString; else 0.
|
||||
|
||||
\membersection{wxString::Empty}\label{wxstringempty}
|
||||
\func{bool}{Contains}{\param{const char*}{ pat}, \param{CaseCompare}{ cmp}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxString\&}{ pat}, \param{CaseCompare}{ cmp}} \param{ const}{}
|
||||
|
||||
\func{void}{Empty}{\void}
|
||||
Case dependent/independent variation .
|
||||
|
||||
Reinitializes the string and frees the data.
|
||||
\func{bool}{Contains}{\param{char}{ c}, \param{int}{ pos}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxString\&}{ y}, \param{int}{ pos}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxSubString\&}{ y}, \param{int}{ pos}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const char*}{ t}, \param{int}{ pos}} \param{ const}{}\\
|
||||
\func{bool}{Contains}{\param{const wxRegex\&}{ r}, \param{int}{ pos}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::Find}\label{wxstringfind}
|
||||
Return 1 if the target appears anywhere after position {\it pos} (or
|
||||
before, if {\it pos} is negative) in wxString; else 0.
|
||||
|
||||
\constfunc{int}{Find}{\param{char}{ ch}, \param{bool}{ fromEnd = FALSE}}
|
||||
\membersection{wxString::Copy}\label{wxstringCopy}
|
||||
|
||||
Searches for the given character. Returns the starting index, or -1 if not found.
|
||||
\func{wxString}{Copy}{\param{void}{}} \param{ const}{}
|
||||
|
||||
\constfunc{int}{Find}{\param{const char*}{ sz}}
|
||||
Duplication.
|
||||
|
||||
Searches for the given string. Returns the starting index, or -1 if not found.
|
||||
\membersection{wxString::Del}\label{wxstringDel}
|
||||
|
||||
\membersection{wxString::First}\label{wxstringfirst}
|
||||
\func{wxString\&}{Del}{\param{int}{ pos}, \param{int}{ len}}
|
||||
|
||||
\func{size\_t}{First}{\param{char}{ c}}
|
||||
Delete {\it len} characters starting at {\it pos}.
|
||||
|
||||
\constfunc{size\_t}{First}{\param{const char*}{ psz}}
|
||||
\func{wxString\&}{Del}{\param{const wxString\&}{ y}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxString\&}{Del}{\param{const wxSubString\&}{ y}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxString\&}{Del}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxString\&}{Del}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxString\&}{Del}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
\constfunc{size\_t}{First}{\param{const wxString\&}{ str}}
|
||||
Delete the first occurrence of target after {\it startpos}.
|
||||
|
||||
\constfunc{size\_t}{First}{\param{const char}{ ch}}
|
||||
\membersection{wxString::DownCase}\label{wxstringDownCase}
|
||||
|
||||
Returns the first occurrence of the item.
|
||||
\func{void}{Downcase}{\param{void}{}}\\
|
||||
\func{friend wxString}{Downcase}{\param{wxString\&}{ x}}
|
||||
|
||||
\membersection{wxString::GetChar}\label{wxstringgetchar}
|
||||
\membersection{wxString::Elem}\label{wxstringElem}
|
||||
|
||||
\constfunc{char}{GetChar}{\param{size\_t}{ n}}
|
||||
\func{char}{Elem}{\param{int}{ i}} \param{ const}{}
|
||||
|
||||
Returns the character at position {\it n} (read-only).
|
||||
Element extraction.
|
||||
|
||||
\membersection{wxString::Empty}\label{wxstringEmpty}
|
||||
|
||||
\func{int}{Empty}{\param{void}{}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::Error}\label{wxstringError}
|
||||
|
||||
\func{void}{Error}{\param{const char*}{ msg}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::First}\label{wxstringFirst}
|
||||
|
||||
\func{int}{First}{\param{char}{ c}} \param{ const}{}\\
|
||||
\func{int}{First}{\param{const char*}{ cs}} \param{ const}{}\\
|
||||
\func{int}{First}{\param{const wxString\&}{ cs}} \param{ const}{}
|
||||
|
||||
Return first or last occurrence of item.
|
||||
|
||||
\membersection{wxString::Firstchar}\label{wxstringFirstchar}
|
||||
\func{char}{Firstchar}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Element extraction.
|
||||
|
||||
\membersection{wxString::Freq}\label{wxstringFreq}
|
||||
|
||||
\func{int}{Freq}{\param{char}{ c}} \param{ const}{}\\
|
||||
\func{int}{Freq}{\param{const wxString\&}{ y}} \param{ const}{}\\
|
||||
\func{int}{Freq}{\param{const wxSubString\&}{ y}} \param{ const}{}\\
|
||||
\func{int}{Freq}{\param{const char*}{ t}} \param{ const}{}
|
||||
|
||||
Return number of occurrences of target in wxString.
|
||||
|
||||
\membersection{wxString::From}\label{wxstringFrom}
|
||||
|
||||
\func{wxSubString}{From}{\param{int}{ pos}}\\
|
||||
\func{wxSubString}{From}{\param{const wxString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{From}{\param{const wxSubString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{From}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{From}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{From}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
\membersection{wxString::GetData}\label{wxstringGetData}
|
||||
|
||||
\constfunc{const char*}{GetData}{\void}
|
||||
\func{char*}{GetData}{\param{void}{}}
|
||||
|
||||
wxWindows compatibility conversion. Returns a constant pointer to the data in the string.
|
||||
wxWindows compatibility conversion.
|
||||
|
||||
\membersection{wxString::GetWritableChar}\label{wxstringgetwritablechar}
|
||||
\membersection{wxString::GSub}\label{wxstringGSub}
|
||||
\func{int}{GSub}{\param{const wxString\&}{ pat}, \param{const wxString\&}{ repl}}\\
|
||||
\func{int}{GSub}{\param{const wxSubString\&}{ pat}, \param{const wxString\&}{ repl}}\\
|
||||
\func{int}{GSub}{\param{const char*}{ pat}, \param{const wxString\&}{ repl}}\\
|
||||
\func{int}{GSub}{\param{const char*}{ pat}, \param{const char*}{ repl}}\\
|
||||
\func{int}{GSub}{\param{const wxRegex\&}{ pat}, \param{const wxString\&}{ repl}}
|
||||
|
||||
\func{char\&}{GetWritableChar}{\param{size\_t}{ n}}
|
||||
|
||||
Returns a reference to the character at position {\it n}.
|
||||
|
||||
\membersection{wxString::GetWriteBuf}\label{wxstringgetwritebuf}
|
||||
|
||||
\func{char*}{GetWriteBuf}{\param{uint}{ len}}
|
||||
|
||||
Returns a writable buffer of at least {\it len} bytes.
|
||||
|
||||
Call \helpref{wxString::UngetWriteBuf}{wxstringungetwritebuf} as soon as possible
|
||||
to put the string back into a reasonable state.
|
||||
Global substitution: substitute all occurrences of {\it pat} with {\it repl},
|
||||
returning the number of matches.
|
||||
|
||||
\membersection{wxString::Index}\label{wxstringIndex}
|
||||
|
||||
\constfunc{size\_t}{Index}{\param{char}{ ch}, \param{int}{ startpos = 0}}
|
||||
\func{int}{Index}{\param{char}{ c}, \param{int}{ startpos = 0}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const wxString\&}{ y}, \param{int}{ startpos = 0}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const wxString\&}{ y}, \param{int}{ startpos}, \param{CaseCompare}{ cmp}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const wxSubString\&}{ y}, \param{int}{ startpos = 0}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const char*}{ t}, \param{int}{ startpos = 0}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const char*}{ t}, \param{int}{ startpos}, \param{CaseCompare}{ cmp}} \param{ const}{}\\
|
||||
\func{int}{Index}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}} \param{ const}{}
|
||||
|
||||
Same as \helpref{wxString::Find}{wxstringfind}.
|
||||
|
||||
\constfunc{size\_t}{Index}{\param{const char*}{ sz}}
|
||||
|
||||
Same as \helpref{wxString::Find}{wxstringfind}.
|
||||
|
||||
\constfunc{size\_t}{Index}{\param{const char*}{ sz}, \param{bool}{ caseSensitive = TRUE}, \param{bool}{ fromEnd = FALSE}}
|
||||
|
||||
Search the element in the array, starting from either side.
|
||||
|
||||
If {\it fromEnd} is TRUE, reverse search direction.
|
||||
|
||||
If {\bf caseSensitive}, comparison is case sensitive (the default).
|
||||
|
||||
Returns the index of the first item matched, or NOT\_FOUND.
|
||||
Return the position of target in string, or -1 for failure.
|
||||
|
||||
\membersection{wxString::Insert}\label{wxstringInsert}
|
||||
|
||||
\func{void}{Insert}{\param{const wxString\&}{ str}, \param{uint}{ index}}
|
||||
\func{wxString\&}{Insert}{\param{int}{ pos}, \param{const char*}{ s}}\\
|
||||
\func{wxString\&}{Insert}{\param{int}{ pos}, \param{const wxString\&}{ s}}
|
||||
|
||||
Add new element at the given position.
|
||||
Insertion.
|
||||
|
||||
\membersection{wxString::IsAscii}\label{wxstringIsAscii}
|
||||
|
||||
\constfunc{bool}{IsAscii}{\void}
|
||||
\func{int}{IsAscii}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string is ASCII.
|
||||
Classification (should be capital, because of ctype.h macros).
|
||||
|
||||
\membersection{wxString::IsEmpty}\label{wxstringisempty}
|
||||
\membersection{wxString::IsDefined}\label{wxstringIsDefined}
|
||||
|
||||
\constfunc{bool}{IsEmpty}{\void}
|
||||
\func{int}{IsDefined}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string is NULL.
|
||||
Classification (should be capital, because of ctype.h macros).
|
||||
|
||||
\membersection{wxString::IsNull}\label{wxstringIsNull}
|
||||
|
||||
\constfunc{bool}{IsNull}{\void}
|
||||
\func{int}{IsNull}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string is NULL (same as IsEmpty).
|
||||
Classification (should be capital, because of ctype.h macros).
|
||||
|
||||
\membersection{wxString::IsNumber}\label{wxstringIsNumber}
|
||||
|
||||
\constfunc{bool}{IsNumber}{\void}
|
||||
\func{int}{IsNumber}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string is a number.
|
||||
|
||||
\membersection{wxString::IsSameAs}\label{wxstringissameas}
|
||||
|
||||
\constfunc{bool}{IsSameAs}{\param{const char*}{ psz}, \param{bool}{ caseSensitive = TRUE}}
|
||||
|
||||
Test for string equality, case-sensitive (default) or not.
|
||||
|
||||
caseSensitive is TRUE by default (case matters).
|
||||
|
||||
Returns TRUE if strings are equal, FALSE otherwise.
|
||||
|
||||
See also Cmp, CmpNoCase.
|
||||
Classification (should be capital, because of ctype.h macros).
|
||||
|
||||
\membersection{wxString::IsWord}\label{wxstringIsWord}
|
||||
|
||||
\constfunc{bool}{IsWord}{\void}
|
||||
\func{int}{IsWord}{\param{void}{}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string is a word. TODO: what's the definition of a word?
|
||||
Classification (should be capital, because of ctype.h macros).
|
||||
|
||||
\membersection{wxString::Last}\label{wxstringLast}
|
||||
|
||||
\constfunc{char}{Last}{\void}
|
||||
\func{int}{Last}{\param{char}{ c}} \param{ const}{}\\
|
||||
\func{int}{Last}{\param{const char*}{ cs}} \param{ const}{}\\
|
||||
\func{int}{Last}{\param{const wxString\&}{ cs}} \param{ const}{}
|
||||
|
||||
Returns the last character.
|
||||
First or last occurrence of item.
|
||||
|
||||
\func{char\&}{Last}{\void}
|
||||
\membersection{wxString::Lastchar}\label{wxstringLastchar}
|
||||
|
||||
Returns a reference to the last character (writable).
|
||||
\func{char}{Lastchar}{\param{void}{}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::Left}\label{wxstringleft}
|
||||
Element extraction.
|
||||
|
||||
\constfunc{wxString}{Left}{\param{size\_t}{ count}}
|
||||
\membersection{wxString::Length}\label{wxstringLength}
|
||||
|
||||
Returns the first {\it count} characters.
|
||||
|
||||
\constfunc{wxString}{Left}{\param{char}{ ch}}
|
||||
|
||||
Returns all characters before the first occurence of {\it ch}.
|
||||
Returns the whole string if {\it ch} is not found.
|
||||
|
||||
\membersection{wxString::Len}\label{wxstringlen}
|
||||
|
||||
\constfunc{size\_t}{Len}{\void}
|
||||
|
||||
Returns the length of the string.
|
||||
|
||||
\membersection{wxString::Length}\label{wxstringlength}
|
||||
|
||||
\constfunc{size\_t}{Length}{\void}
|
||||
|
||||
Returns the length of the string (same as Len).
|
||||
\func{unsigned int}{Length}{\param{void}{}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::LowerCase}\label{wxstringLowerCase}
|
||||
|
||||
\func{void}{LowerCase}{\void}
|
||||
|
||||
Same as MakeLower.
|
||||
|
||||
\membersection{wxString::MakeLower}\label{wxstringmakelower}
|
||||
|
||||
\func{void}{MakeLower}{\void}
|
||||
|
||||
Converts all characters to lower case.
|
||||
|
||||
\membersection{wxString::MakeUpper}\label{wxstringmakeupper}
|
||||
|
||||
\func{void}{MakeUpper}{\void}
|
||||
|
||||
Converts all characters to upper case.
|
||||
\func{void}{LowerCase}{\param{void}{}}
|
||||
|
||||
\membersection{wxString::Matches}\label{wxstringMatches}
|
||||
|
||||
\constfunc{bool}{Matches}{\param{const char*}{ szMask}}
|
||||
\func{bool}{Matches}{\param{char}{ c}, \param{int}{ pos = 0}} \param{ const}{}\\
|
||||
\func{bool}{Matches}{\param{const wxString\&}{ y}, \param{int}{ pos = 0}} \param{ const}{}\\
|
||||
\func{bool}{Matches}{\param{const wxSubString\&}{ y}, \param{int}{ pos = 0}} \param{ const}{}\\
|
||||
\func{bool}{Matches}{\param{const char*}{ t}, \param{int}{ pos = 0}} \param{ const}{}\\
|
||||
\func{bool}{Matches}{\param{const wxRegex\&}{ r}, \param{int}{ pos = 0}} \param{ const}{}
|
||||
|
||||
Returns TRUE if the string contents matches a mask containing '*' and '?'.
|
||||
Return 1 if target appears at position {\it pos} in wxString; else 0.
|
||||
|
||||
\membersection{wxString::Mid}\label{wxstringmid}
|
||||
\membersection{wxString::OK}\label{wxstringOK}
|
||||
|
||||
\constfunc{wxString}{Mid}{\param{size\_t}{ first}, \param{size\_t}{ count = STRING\_MAXLEN}}
|
||||
|
||||
Returns a substring starting at {\it first}, with length {\it count}, or the rest of
|
||||
the string if {\it count} is the default value.
|
||||
|
||||
\membersection{wxString::Pad}\label{wxstringpad}
|
||||
|
||||
\func{wxString\&}{Pad}{\param{size\_t}{ count}, \param{char}{ pad = ' '}, \param{bool}{ fromRight = TRUE}}
|
||||
|
||||
Adds {\it count} copies of {\it pad} to the beginning, or to the end of the string (the default).
|
||||
|
||||
Removes spaces from the left or from the right (default).
|
||||
\func{int}{OK}{\param{void}{}} \param{ const}{}
|
||||
|
||||
\membersection{wxString::Prepend}\label{wxstringPrepend}
|
||||
|
||||
\func{wxString\&}{Prepend}{\param{const wxString\&}{ str}}
|
||||
\func{wxString\&}{Prepend}{\param{const wxString\&}{ y}}\\
|
||||
\func{wxString\&}{Prepend}{\param{const wxSubString\&}{ y}}\\
|
||||
\func{wxString\&}{Prepend}{\param{const char*}{ t}}\\
|
||||
\func{wxString\&}{Prepend}{\param{char}{ c}}
|
||||
|
||||
Prepends {\it str} to this string, returning a reference to this string.
|
||||
Prepend.
|
||||
|
||||
\membersection{wxString::Printf}\label{wxstringprintf}
|
||||
\func{wxString\&}{Prepend}{\param{char}{ c}, \param{int}{ rep=1}}
|
||||
|
||||
\func{int}{Printf}{\param{const char* }{pszFormat}, \param{}{...}}
|
||||
Prepend {\it c}, {\it rep} times.
|
||||
|
||||
Similar to sprintf. Returns the number of characters written, or an integer less than zero
|
||||
on error.
|
||||
\membersection{wxString::Readline}\label{wxstringReadline}
|
||||
|
||||
\membersection{wxString::PrintfV}\label{wxstringprintfv}
|
||||
|
||||
\func{int}{PrintfV}{\param{const char* }{pszFormat}, \param{va\_list}{ argPtr}}
|
||||
|
||||
Similar to vprintf. Returns the number of characters written, or an integer less than zero
|
||||
on error.
|
||||
\func{friend int}{Readline}{\param{istream\&}{ s}, \param{wxString\&}{ x},
|
||||
\param{char}{ terminator = '$\backslash$n'},
|
||||
\param{int}{ discard\_terminator = 1}}\\
|
||||
\func{friend int}{Readline}{\param{FILE *}{ f}, \param{wxString\&}{ x},
|
||||
\param{char}{ terminator = '$\backslash$n'},
|
||||
\param{int}{ discard\_terminator = 1}}
|
||||
|
||||
\membersection{wxString::Remove}\label{wxstringRemove}
|
||||
|
||||
\func{wxString\&}{Remove}{\param{size\_t}{ pos}}
|
||||
\func{wxString\&}{RemoveLast}{\param{void}{}}\\
|
||||
\func{wxString\&}{Remove}{\param{int}{ pos}}\\
|
||||
\func{wxString\&}{Remove}{\param{int}{ pos}, \param{int}{ len}}
|
||||
|
||||
Same as Truncate. Removes the portion from {\it pos} to the end of the string.
|
||||
|
||||
\func{wxString\&}{Remove}{\param{size\_t}{ pos}, \param{size\_t}{ len}}
|
||||
|
||||
Removes the last {\it len} characters from the string, starting at {\it pos}.
|
||||
|
||||
\membersection{wxString::RemoveLast}\label{wxstringremovelast}
|
||||
|
||||
\func{wxString\&}{RemoveLast}{\void}
|
||||
|
||||
Removes the last character.
|
||||
Remove {\it pos} to end of string.
|
||||
|
||||
\membersection{wxString::Replace}\label{wxstringReplace}
|
||||
|
||||
\func{uint}{Replace}{\param{const char*}{ szOld}, \param{const char*}{ szNew}, \param{bool}{ replaceAll}}
|
||||
\func{wxString\&}{Replace}{\param{int}{ pos}, \param{int}{ n}, \param{const char*}{ s}}\\
|
||||
\func{wxString\&}{Replace}{\param{int}{ pos}, \param{int}{ n}, \param{const wxString\&}{ s}}
|
||||
|
||||
Replace first (or all) occurences of substring with another one.
|
||||
\membersection{wxString::Replicate}\label{wxstringReplicate}
|
||||
|
||||
{\it replaceAll}: global replace (default), or only the first occurence.
|
||||
\func{friend wxString}{Replicate}{\param{char}{ c}, \param{int}{ n}}\\
|
||||
\func{friend wxString}{Replicate}{\param{const wxString\&}{ y}, \param{int}{ n}}
|
||||
|
||||
Returns the number of replacements made.
|
||||
Replication.
|
||||
|
||||
\membersection{wxString::Right}\label{wxstringright}
|
||||
\membersection{wxString::Reverse}\label{wxstringReverse}
|
||||
|
||||
\constfunc{wxString}{Right}{\param{size\_t}{ count}}
|
||||
|
||||
Returns the last {\it count} characters.
|
||||
|
||||
\constfunc{wxString}{Right}{\param{char}{ ch}}
|
||||
|
||||
Returns all characters after the last occurence of {\it ch}.
|
||||
Returns the whole string if {\it ch} is not found.
|
||||
|
||||
\membersection{wxString::SetChar}\label{wxstringsetchar}
|
||||
|
||||
\func{void}{SetChar}{\param{size\_t}{ n}, \param{char}{ch}}
|
||||
|
||||
Sets the character at position {\it n}.
|
||||
|
||||
\membersection{wxString::Shrink}\label{wxstringshrink}
|
||||
|
||||
\func{void}{Shrink}{\void}
|
||||
|
||||
Minimizes the string's memory. Only works if the data of this string is not shared.
|
||||
\func{void}{Reverse}{\param{void}{}}\\
|
||||
\func{friend wxString}{Reverse}{\param{wxString\&}{ x}}
|
||||
|
||||
\membersection{wxString::sprintf}\label{wxstringsprintf}
|
||||
\func{void}{sprintf}{\param{const wxString\& }{ fmt}}
|
||||
|
||||
\func{void}{sprintf}{\param{const char* }{ fmt}}
|
||||
Formatted assignment. We do not use the 'sprintf' constructor anymore,
|
||||
because with that constructor, every initialisation with a string would
|
||||
go through sprintf and this is not desirable, because sprintf
|
||||
interprets some characters. With the above function we can write:
|
||||
|
||||
The same as Printf.
|
||||
\begin{verbatim}
|
||||
wxString msg; msg.sprintf("Processing item %d\n", count);
|
||||
\end{verbatim}
|
||||
|
||||
\membersection{wxString::Strip}\label{wxstringStrip}
|
||||
|
||||
\begin{verbatim}
|
||||
enum stripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
||||
enumStripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
||||
\end{verbatim}
|
||||
|
||||
\constfunc{wxString}{Strip}{\param{stripType}{ s = trailing}}
|
||||
\func{wxSubString}{Strip}{\param{StripType}{ s = trailing}, \param{char}{ c = ' '}}
|
||||
|
||||
Strip characters at the front and/or end. The same as Trim except that it
|
||||
doesn't change this string.
|
||||
Strip characterss at the front and/or end.
|
||||
StripType is defined for bitwise ORing.
|
||||
|
||||
\membersection{wxString::Trim}\label{wxstringtrim}
|
||||
\membersection{wxString::SubString}\label{wxstringSubString}
|
||||
|
||||
\func{wxString\&}{Trim}{\param{bool}{ fromRight = TRUE}}
|
||||
\func{wxString}{SubString}{\param{int}{ from}, \param{int}{ to}}
|
||||
|
||||
Removes spaces from the left or from the right (default).
|
||||
Edward Zimmermann's additions.
|
||||
|
||||
\membersection{wxString::Truncate}\label{wxstringtruncate}
|
||||
\membersection{wxString::Through}\label{wxstringThrough}
|
||||
|
||||
\func{wxString\&}{Truncate}{\param{size\_t}{ len}}
|
||||
\func{wxSubString}{Through}{\param{int}{ pos}}\\
|
||||
\func{wxSubString}{Through}{\param{const wxString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Through}{\param{const wxSubString\&}{ x}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Through}{\param{const char*}{ t}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Through}{\param{char}{ c}, \param{int}{ startpos = 0}}\\
|
||||
\func{wxSubString}{Through}{\param{const wxRegex\&}{ r}, \param{int}{ startpos = 0}}
|
||||
|
||||
Truncate the string to the given length.
|
||||
\membersection{wxString::Upcase}\label{wxstringUpcase}
|
||||
|
||||
\membersection{wxString::UngetWriteBuf}\label{wxstringungetwritebuf}
|
||||
|
||||
\func{void}{UngetWriteBuf}{\void}
|
||||
|
||||
Puts the string back into a reasonable state, after
|
||||
\rtfsp\helpref{wxString::GetWriteBuf}{wxstringgetwritebuf} was called.
|
||||
\func{void}{Upcase}{\param{void}{}}\\
|
||||
\func{friend wxString}{Upcase}{\param{wxString\&}{ x}}
|
||||
|
||||
\membersection{wxString::UpperCase}\label{wxstringUpperCase}
|
||||
|
||||
\func{void}{UpperCase}{\void}
|
||||
|
||||
The same as MakeUpper.
|
||||
\func{void}{UpperCase}{\param{void}{}}\\
|
||||
|
||||
\membersection{wxString::operator $=$}\label{wxstringoperatorassign}
|
||||
|
||||
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ str}}
|
||||
|
||||
\func{wxString\&}{operator $=$}{\param{const char*}{ psz}}
|
||||
|
||||
\func{wxString\&}{operator $=$}{\param{char}{ c}}
|
||||
|
||||
\func{wxString\&}{operator $=$}{\param{const unsigned char*}{ psz}}
|
||||
|
||||
\func{wxString\&}{operator $=$}{\param{const wchar\_t*}{ pwz}}
|
||||
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ y}}\\
|
||||
\func{wxString\&}{operator $=$}{\param{const char*}{ y}}\\
|
||||
\func{wxString\&}{operator $=$}{\param{char}{ c}}\\
|
||||
\func{wxString\&}{operator $=$}{\param{const wxSubString\&}{ y}}
|
||||
|
||||
Assignment.
|
||||
|
||||
\membersection{operator wxString::$+$}\label{wxstringoperatorplus}
|
||||
|
||||
Concatenation.
|
||||
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const char*}{ y}}
|
||||
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{char}{ y}}
|
||||
|
||||
\func{wxString}{operator $+$}{\param{const char*}{ x}, \param{const wxString\&}{ y}}
|
||||
|
||||
\membersection{wxString::operator $+=$}\label{wxstringPlusEqual}
|
||||
|
||||
\func{void}{operator $+=$}{\param{const wxString\&}{ str}}
|
||||
|
||||
\func{void}{operator $+=$}{\param{const char*}{ psz}}
|
||||
|
||||
\func{void}{operator $+=$}{\param{char}{ c}}
|
||||
\func{wxString\&}{operator $+=$}{\param{const wxString\&}{ y}}\\
|
||||
\func{wxString\&}{operator $+=$}{\param{const wxSubString\&}{ y}}\\
|
||||
\func{wxString\&}{operator $+=$}{\param{const char*}{ t}}\\
|
||||
\func{wxString\&}{operator $+=$}{\param{char}{ c}}
|
||||
|
||||
Concatenation.
|
||||
|
||||
\membersection{wxString::operator []}\label{wxstringoperatorbracket}
|
||||
|
||||
\func{char\&}{operator []}{\param{size\_t}{ i}}
|
||||
|
||||
\func{char}{operator []}{\param{size\_t}{ i}}
|
||||
|
||||
\func{char}{operator []}{\param{int}{ i}}
|
||||
\func{char\&}{operator []}{\param{int}{ i}}
|
||||
|
||||
Element extraction.
|
||||
|
||||
\membersection{wxString::operator ()}\label{wxstringoperatorparenth}
|
||||
|
||||
\func{wxString}{operator ()}{\param{size\_t}{ start}, \param{size\_t}{ len}}
|
||||
|
||||
Same as Mid (substring extraction).
|
||||
\func{char\&}{operator ()}{\param{int}{ i}}
|
||||
|
||||
\membersection{wxString::operator \cinsert}\label{wxstringoperatorout}
|
||||
|
||||
\func{wxString\&}{operator \cinsert}{\\param{const wxString\&}{ str}}
|
||||
|
||||
\func{wxString\&}{operator \cinsert}{\\param{const char*}{ psz}}
|
||||
|
||||
\func{wxString\&}{operator \cinsert}{\\param{char }{ch}}
|
||||
|
||||
Same as $+=$.
|
||||
\func{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ s}, \param{const wxString\&}{ x}}\\
|
||||
\func{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ s}, \param{const wxSubString\&}{ x}}
|
||||
|
||||
\membersection{wxString::operator \cextract}\label{wxstringoperatorin}
|
||||
|
||||
\func{friend istream\&}{operator \cextract}{\param{istream\&}{ is}, \param{wxString\&}{ str}}
|
||||
|
||||
Extraction from a stream.
|
||||
\func{friend istream\&}{operator \cextract}{\param{istream\&}{ s}, \param{wxString\&}{ x}}
|
||||
|
||||
\membersection{wxString::operator const char*}\label{wxstringoperatorconstcharpt}
|
||||
\constfunc{}{operator const char*}{\param{void}{}}
|
||||
|
||||
\constfunc{}{operator const char*}{\void}
|
||||
Conversion.
|
||||
|
||||
Implicit conversion to a C string.
|
||||
\membersection{wxCHARARG}\label{wxstringwxCHARARG}
|
||||
|
||||
\begin{verbatim}
|
||||
#define wxCHARARG(s) ((const wxString\& )(s).Chars())
|
||||
\end{verbatim}
|
||||
|
||||
Here is a very, very, very ugly macro, but it makes things more
|
||||
transparent in cases, where a library function requires a
|
||||
(const wxString\& ) argument. This is especially the case in wxWindows,
|
||||
where all char-arguments are (const wxString\& ) and not (const char* ).
|
||||
This macro should only be used in such cases and NOT to
|
||||
modify the internal data.
|
||||
The conventional way would be 'function((char*)string.Chars())'.
|
||||
With the wxCHARARG macro, this can be achieved by 'function(wxCHARARG(string))'.
|
||||
This makes it clearer that the usage should be confined
|
||||
to arguments.
|
||||
|
||||
\membersection{CommonPrefix}\label{wxstringCommonPrefix}
|
||||
|
||||
\func{friend wxString}{CommonPrefix}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y},\\
|
||||
\param{int}{ startpos = 0}}\\
|
||||
|
||||
\membersection{CommonSuffix}\label{wxstringCommonSuffix}
|
||||
|
||||
\func{friend wxString}{CommonSuffix}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y},\\
|
||||
\param{int}{ startpos = -1}}
|
||||
|
||||
\membersection{Compare}\label{wxstringCompare}
|
||||
|
||||
\func{int}{Compare}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{Compare}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{Compare}{\param{const wxString\&}{ x}, \param{const char*}{ y}}\\
|
||||
\func{int}{Compare}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{Compare}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{Compare}{\param{const wxSubString\&}{ x}, \param{const char*}{ y}}
|
||||
|
||||
Case dependent comparison. Returns 0 if the match succeeded.
|
||||
|
||||
\membersection{FCompare}\label{wxstringFCompare}
|
||||
|
||||
\func{int}{FCompare}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
|
||||
Case independent comparison. Returns 0 if the match succeeded.
|
||||
|
||||
\membersection{Comparison operators}\label{wxstringComparison}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
\func{int}{operator $==$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $>$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $<$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $==$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $>$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $<$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $==$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $>$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $<$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $==$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $>$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $<$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{int}{operator $==$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $>$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $<$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{int}{operator $==$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $!=$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $>$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $>=$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $<$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}\\
|
||||
\func{int}{operator $<=$}{\param{const wxSubString\&}{ x}, \param{const char*}{ t}}
|
||||
|
||||
\func{bool}{operator $==$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
\membersection{operator $+$}\label{wxstringoperatorplus}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const char*}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{char}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxSubString\&}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxSubString\&}{ x}, \param{const wxSubString\&}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxSubString\&}{ x}, \param{const char*}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const wxSubString\&}{ x}, \param{char}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const char*}{ x}, \param{const wxString\&}{ y}}\\
|
||||
\func{wxString}{operator $+$}{\param{const char*}{ x}, \param{const wxSubString\&}{ y}}
|
||||
|
||||
\func{bool}{operator $!=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
\membersection{Join}\label{wxstringJoin}
|
||||
|
||||
\func{bool}{operator $>$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
\func{friend wxString}{Join}{\param{wxString}{ src[]}, \param{int}{ n}, \param{const wxString\&}{ sep}}
|
||||
|
||||
\func{bool}{operator $>$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
\membersection{Split}\label{wxstringSplit}
|
||||
|
||||
\func{bool}{operator $>=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
\func{friend int}{Split}{\param{const wxString\&}{ x}, \param{wxString}{ res[]}, \param{int}{ maxn},\\
|
||||
\param{const wxString\&}{ sep}}\\
|
||||
\func{friend int}{Split}{\param{const wxString\&}{ x}, \param{wxString}{ res[]}, \param{int}{ maxn},\\
|
||||
\param{const wxRegex\&}{ sep}}\\
|
||||
|
||||
Split string into array res at separators; return number of elements
|
||||
|
||||
\func{bool}{operator $>=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
|
||||
\func{bool}{operator $<$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
|
||||
\func{bool}{operator $<$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
|
||||
\func{bool}{operator $<=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||
|
||||
\func{bool}{operator $<=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||
|
||||
\wxheading{Remarks}
|
||||
|
||||
These comparisons are case-sensitive.
|
||||
|
||||
|
||||
|
@@ -11,7 +11,7 @@ This licence is intended to protect wxWindows, its developers,
|
||||
and its users, so that the considerable investment it represents
|
||||
is not abused.
|
||||
|
||||
Unlike the L-GPL licence, you as a user are not obliged to
|
||||
Unlike the wxWindows licence, you as a user are not obliged to
|
||||
distribute wxWindows source code with your products. However,
|
||||
you are prevented from selling the code without permission from
|
||||
the authors, or denying others the rights to use or distribute
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user