Compare commits
1 Commits
NEW_CONFIG
...
old_debug
Author | SHA1 | Date | |
---|---|---|---|
|
1cedeb5c04 |
@@ -1,4 +0,0 @@
|
||||
system.list
|
||||
bin
|
||||
.gdb_history
|
||||
Test
|
2
Makefile
2
Makefile
@@ -58,7 +58,7 @@ user::
|
||||
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
|
||||
|
@@ -9,9 +9,6 @@ docs/todo.txt
|
||||
docs/licence.txt
|
||||
docs/symbols.txt
|
||||
|
||||
src/*.inc
|
||||
src/mkdir
|
||||
|
||||
src/common/*.cpp
|
||||
src/common/dosyacc.c
|
||||
src/common/doslex.c
|
||||
@@ -51,7 +48,6 @@ src/zlib/*.3
|
||||
src/zlib/*.mms
|
||||
|
||||
include/wx/*.h
|
||||
include/wx/*.cpp
|
||||
include/wx/wx_setup.vms
|
||||
include/wx/common/*.h
|
||||
include/wx/generic/*.h
|
||||
@@ -88,7 +84,6 @@ utils/wxhelp/src/*.cpp
|
||||
utils/wxhelp/src/*.h
|
||||
utils/wxhelp/src/makefile.*
|
||||
utils/wxhelp/src/*.xbm
|
||||
utils/wxhelp/src/*.xpm
|
||||
utils/wxhelp/src/*.txt
|
||||
utils/wxhelp/src/*.ico
|
||||
utils/wxhelp/src/*.def
|
||||
@@ -99,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
|
||||
@@ -117,7 +111,6 @@ utils/wxtree/src/*.cpp
|
||||
utils/wxtree/src/*.h
|
||||
utils/wxtree/src/makefile.*
|
||||
utils/wxtree/src/*.xbm
|
||||
utils/wxtree/src/*.xpm
|
||||
utils/wxtree/lib/dummy
|
||||
utils/wxtree/src/*.ico
|
||||
utils/wxtree/src/*.def
|
||||
@@ -128,7 +121,6 @@ utils/wxgraph/src/*.c
|
||||
utils/wxgraph/src/*.h
|
||||
utils/wxgraph/src/makefile.*
|
||||
utils/wxgraph/src/*.xbm
|
||||
utils/wxgraph/src/*.xpm
|
||||
utils/wxgraph/lib/dummy
|
||||
utils/wxgraph/src/*.ico
|
||||
utils/wxgraph/src/*.def
|
||||
@@ -151,7 +143,6 @@ utils/rcparser/src/*.c
|
||||
utils/rcparser/src/*.h
|
||||
utils/rcparser/src/makefile.*
|
||||
utils/rcparser/src/*.xbm
|
||||
utils/rcparser/src/*.xpm
|
||||
utils/rcparser/lib/dummy
|
||||
utils/rcparser/src/*.ico
|
||||
utils/rcparser/src/*.def
|
||||
@@ -164,7 +155,6 @@ utils/colours/*.def
|
||||
utils/colours/*.rc
|
||||
utils/colours/makefile.*
|
||||
utils/colours/*.xbm
|
||||
utils/colours/*.xpm
|
||||
utils/colours/*.txt
|
||||
|
||||
utils/wxprop/src/*.h
|
||||
@@ -173,21 +163,18 @@ utils/wxprop/src/*.def
|
||||
utils/wxprop/src/*.rc
|
||||
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/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/*.xbm
|
||||
utils/dialoged/src/*.xpm
|
||||
utils/dialoged/src/*.txt
|
||||
utils/dialoged/src/*.inf
|
||||
utils/dialoged/test/*.h
|
||||
@@ -208,24 +195,22 @@ utils/dialoged/test/*.bmp
|
||||
samples/*.txt
|
||||
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
|
||||
@@ -235,9 +220,8 @@ samples/dynamic/*.wav
|
||||
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
|
||||
@@ -246,9 +230,8 @@ 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
|
||||
|
||||
@@ -257,9 +240,8 @@ samples/types/*.h
|
||||
samples/types/*.def
|
||||
samples/types/*.rc
|
||||
samples/types/*.txt
|
||||
samples/types/makefile*.*
|
||||
samples/types/makefile.*
|
||||
samples/types/*.xbm
|
||||
samples/types/*.xpm
|
||||
samples/types/*.ico
|
||||
|
||||
samples/resource/*.cpp
|
||||
@@ -268,26 +250,23 @@ 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
|
||||
@@ -296,18 +275,16 @@ samples/mdi/bitmaps/*.ico
|
||||
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
|
||||
@@ -315,55 +292,73 @@ samples/controls/*.rc
|
||||
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
|
||||
@@ -372,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
|
||||
@@ -383,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
|
||||
@@ -409,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
|
||||
@@ -423,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
|
||||
|
||||
@@ -435,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
|
||||
|
||||
@@ -447,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
|
||||
|
||||
@@ -458,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
|
||||
@@ -473,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
|
||||
@@ -488,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
|
||||
|
||||
@@ -499,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
|
||||
|
||||
@@ -510,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
|
||||
@@ -523,42 +505,35 @@ 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/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
|
||||
|
@@ -1,69 +0,0 @@
|
||||
install-sh
|
||||
Makefile
|
||||
template.mak
|
||||
TODO.txt
|
||||
|
||||
docs/gtk/*.html
|
||||
|
||||
src/mkdirs
|
||||
src/Makefile
|
||||
src/Makefile.in
|
||||
src/*.inc
|
||||
|
||||
src/gtk/*.cpp
|
||||
src/gtk/*.c
|
||||
src/gtk/*.inc
|
||||
src/gtk/*.xbm
|
||||
|
||||
src/gtk/setup/*.hin
|
||||
src/gtk/setup/*.in
|
||||
src/gtk/setup/rules/*
|
||||
src/gtk/setup/rules/generic/*
|
||||
src/gtk/setup/rules/linux/*
|
||||
|
||||
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
|
||||
|
||||
install/gtk/*
|
||||
|
||||
misc/afm/*
|
||||
misc/gs_afm/*
|
||||
misc/imlib/*
|
||||
|
||||
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
|
||||
|
@@ -1,5 +1,4 @@
|
||||
docs/msw/*.txt
|
||||
docs/licence.txt
|
||||
|
||||
src/makeb32.env
|
||||
src/makebcc.env
|
||||
|
@@ -1,29 +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\wx200gen.zip, %dest\wx200doc.zip, %dest\wx200msw.zip, %dest\wx200ps.zip, %dest\wx200hlp.zip, %dest\wx200htm.zip, %dest\wx200pdf.zip
|
||||
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\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
|
||||
|
||||
cd %dest
|
||||
cd %2
|
||||
|
||||
echo wxWindows archived.
|
||||
goto end
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
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
|
||||
|
@@ -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
|
||||
|
@@ -32,9 +32,21 @@ The following are a variety of windows that are derived from wxWindow.
|
||||
\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 (undocumented)}
|
||||
\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}}
|
||||
@@ -319,7 +331,6 @@ product.
|
||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
||||
\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}}}
|
||||
|
||||
|
@@ -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}}}
|
||||
|
||||
|
@@ -46,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
|
||||
@@ -62,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
|
||||
@@ -97,7 +94,6 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input listbox.tex
|
||||
\input listctrl.tex
|
||||
\input listevt.tex
|
||||
% \input log.tex
|
||||
\input mask.tex
|
||||
\input mdi.tex
|
||||
\input menu.tex
|
||||
@@ -148,7 +144,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
\input statbox.tex
|
||||
\input stattext.tex
|
||||
\input statusbr.tex
|
||||
\input wxstring.tex
|
||||
%\input wxstring.tex
|
||||
\input strlist.tex
|
||||
\input sysclevt.tex
|
||||
\input settings.tex
|
||||
@@ -176,8 +172,3 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
||||
|
||||
\input function.tex
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "referenc"
|
||||
%%% End:
|
||||
|
@@ -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,612 +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}{configoverview} 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}{configoverview}, 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.
|
||||
|
||||
|
@@ -91,7 +91,7 @@ Returns the name of the database associated with the current connection.
|
||||
\func{wxString}{GetDataSource}{\void}
|
||||
|
||||
Returns the name of the connected data source.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetErrorClass}
|
||||
|
||||
\func{wxString}{GetErrorClass}{\void}
|
||||
@@ -141,7 +141,7 @@ Returns the current ODBC database handle.
|
||||
\func{HENV}{GetHENV}{\void}
|
||||
|
||||
Returns the ODBC environment handle.
|
||||
|
||||
|
||||
\membersection{wxDatabase::GetInfo}
|
||||
|
||||
\func{bool}{GetInfo}{\param{long}{ infoType}, \param{long *}{buf}}
|
||||
@@ -219,7 +219,7 @@ source. The parameters exclusive and readOnly are not used.
|
||||
\func{void}{OnSetOptions}{\param{wxRecordSet *}{recordSet}}
|
||||
|
||||
Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::OnWaitForDataSource}
|
||||
|
||||
\func{void}{OnWaitForDataSource}{\param{bool}{ stillExecuting}}
|
||||
@@ -237,13 +237,13 @@ Sends a rollback to the ODBC driver. Not implemented.
|
||||
\func{void}{SetDataSource}{\param{const wxString\& }{s}}
|
||||
|
||||
Sets the name of the data source. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetLoginTimeout}
|
||||
|
||||
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for an user login. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetPassword}
|
||||
|
||||
\func{void}{SetPassword}{\param{const wxString\& }{s}}
|
||||
@@ -262,7 +262,7 @@ mode is supported, so this function has no effect.
|
||||
\func{void}{SetQueryTimeout}{\param{long}{ seconds}}
|
||||
|
||||
Sets the time to wait for a response to a query. Not implemented.
|
||||
|
||||
|
||||
\membersection{wxDatabase::SetUsername}
|
||||
|
||||
\func{void}{SetUsername}{\param{const wxString\& }{s}}
|
||||
|
@@ -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}}
|
||||
|
@@ -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"}}
|
||||
|
||||
|
@@ -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}}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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}
|
||||
|
@@ -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}
|
||||
|
||||
|
@@ -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,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{July 31st 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
|
||||
|
@@ -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:
|
||||
|
@@ -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}}}
|
||||
|
@@ -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{July 31st 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
|
||||
|
@@ -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}
|
||||
|
@@ -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}.
|
||||
|
||||
|
@@ -188,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}
|
||||
|
||||
|
@@ -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}
|
||||
|
@@ -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,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.}
|
||||
|
||||
|
||||
|
||||
|
@@ -8,6 +8,7 @@ This chapter contains a selection of topic overviews.
|
||||
\input tbitmap.tex
|
||||
\input tdialog.tex
|
||||
\input tfont.tex
|
||||
\input tstring.tex
|
||||
\input tsplittr.tex
|
||||
\input ttreectl.tex
|
||||
\input tlistctl.tex
|
||||
@@ -32,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}}
|
||||
|
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}
|
||||
}
|
||||
|
||||
|
@@ -1585,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}
|
||||
|
||||
@@ -1613,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}
|
||||
@@ -1644,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.
|
||||
|
||||
\membersection{wxString::Readline}\label{wxstringReadline}
|
||||
|
||||
Similar to sprintf. Returns the number of characters written, or an integer less than zero
|
||||
on error.
|
||||
|
||||
\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
|
||||
|
@@ -2,19 +2,6 @@
|
||||
wxWindows 2.0 for Windows Change Log
|
||||
------------------------------------
|
||||
|
||||
Alpha 14, July 31st 1998
|
||||
------------------------
|
||||
|
||||
- Toolbar API has been simplified, and now
|
||||
wxFrame::GetClientArea returns the available client
|
||||
area when toolbar, status bar etc. have been accounted for.
|
||||
wxFrame::CreateToolBar added in line with CreateStatusBar.
|
||||
- Documentation updates, incl. for wxToolBar.
|
||||
- New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
|
||||
- Various additions from other folk, e.g. streams, wxConfig
|
||||
changes, wxNotebook.
|
||||
- Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
|
||||
|
||||
Alpha 13, July 8th 1998
|
||||
-----------------------
|
||||
|
||||
|
@@ -5,6 +5,8 @@ Todo on wxWin 2.0, Windows platform
|
||||
HIGH PRIORITY
|
||||
-------------
|
||||
|
||||
Integrate Robert's wxGrid enhancements.
|
||||
|
||||
Find/add wxThread sample - Arthur T-D?
|
||||
|
||||
wxControl dimensions should be optionally based on dialog font
|
||||
@@ -12,12 +14,15 @@ size for portability (dialog units as per Windows).
|
||||
|
||||
Implement wxDC floating point transformations.
|
||||
|
||||
Remove transformation from device to logical coordinates from
|
||||
events e.g. mouse events.
|
||||
|
||||
Add wxDC::DeviceToLogical -> wxPoint etc (convenience accessors).
|
||||
|
||||
Revamp Dialog Editor for new controls and properties (e.g.
|
||||
window id).
|
||||
|
||||
Tidy wxConfig API.
|
||||
Registry classes (check out wxConfig class - see issues.txt).
|
||||
|
||||
Change DnD classes to use global symbols, and wxString.
|
||||
|
||||
@@ -42,20 +47,18 @@ Update manual.
|
||||
wxListBox changes (for ownerdraw functionality)
|
||||
wxThread DONE (except for topic overview)
|
||||
wxHelpController classes DONE (except for Unix ones)
|
||||
wxString PARTLY DONE
|
||||
wxString
|
||||
wxTString
|
||||
Drag and drop (change API if required, e.g. const).
|
||||
wxCheckListBox
|
||||
wxAcceleratorTable
|
||||
wxBaseArray, other arrays
|
||||
(wxOwnerDrawn)
|
||||
Document the include file for each class
|
||||
Macros, e.g. wxASSERT
|
||||
Stream classes
|
||||
Functions
|
||||
|
||||
Write tutorial.
|
||||
|
||||
A wxDC function (or two) for drawing 3D edges.
|
||||
Other static classes.
|
||||
|
||||
Makefiles for other compilers. Generic makefiles?
|
||||
Rewrite makefiles to maintain simultaneous debug/release
|
||||
@@ -65,15 +68,31 @@ More wxSystemSettings (see comment in settings.cpp).
|
||||
|
||||
wxSocket integration.
|
||||
|
||||
Convert remaining utilities e.g. (GLCanvas; wxGraphLayout) and samples
|
||||
wxListCtrl, wxTreeCtrl, wxImageList integration with Robert
|
||||
Roebling's classes.
|
||||
|
||||
Convert OGL, other utilities and samples.
|
||||
|
||||
Check TODO entries.
|
||||
|
||||
Change #include "wx/xxx.h" to #include <wx/xxx.h>
|
||||
|
||||
Tidy code further, e.g. formatting from DevStudio, plus
|
||||
standard header.
|
||||
|
||||
Shell function to invoke a document with open, print, whatever...
|
||||
|
||||
wxTextCtrl (and wxMultiText/wxTextWindow in wxWin 1.xx) - differences between Edit
|
||||
and RichEdit controls.
|
||||
|
||||
Make use of Vadim's gettext implementation throughout wxWin code.
|
||||
Document it.
|
||||
|
||||
Change wxUpdateIterator to use wxRegion; or scrap
|
||||
wxUpdateIterator? See wxGTK.
|
||||
|
||||
Check WXWIN_COMPATIBILITY mode, remove any unnecessary #ifdefs.
|
||||
|
||||
Retain callback functions; have semi-compatible callback function prototypes
|
||||
for all controls, at least in WXWIN_COMPATIBLE mode, but
|
||||
retain (Set)Callback for all compilations. This is following a
|
||||
@@ -81,13 +100,18 @@ panicky response to losing callbacks.
|
||||
|
||||
Merge dib.cpp, dibutils.cpp.
|
||||
|
||||
Simplify the toolbar samples.
|
||||
|
||||
Add a wxTabCtrl sample.
|
||||
|
||||
Improve printing. More API functions for printer DCs (to get
|
||||
printer characteristics) and more reliable printing framework.
|
||||
|
||||
Add GetIcon, GetBitmap to wxImageList. Perhaps store bitmaps
|
||||
in image list so we can get them later.
|
||||
EVT_ENTER/LEAVE_WINDOW: Perhaps one approach to reliable implementation of
|
||||
EVT_LEAVE_WINDOW is to set a flag when the mouse pointer is in a window,
|
||||
then in idle time, check this window.
|
||||
If the flag is set but the mouse pointer is outside the window, then
|
||||
it's time to generate an EVT_LEAVE_WINDOW. This would be necessary at
|
||||
least for the case when the mouse cursor goes off the application windows,
|
||||
and no motion event was generated (i.e. you moved the mouse quickly!).
|
||||
If it goes from one app window to another, you could generate the event sooner.
|
||||
|
||||
LOW PRIORITY
|
||||
------------
|
||||
@@ -108,8 +132,12 @@ BS_BITMAP, SS_BITMAP - but this may not allow wxBitmap
|
||||
argument, so instead just allow controls loaded from native
|
||||
resource to deal with this style and call default processing.
|
||||
|
||||
Completion of drag and drop support (Vadim).
|
||||
|
||||
Better clipboard support.
|
||||
|
||||
Toolbars: use event tables not virtual functions.
|
||||
|
||||
wxWizard class?
|
||||
|
||||
Doc/view - have some standard views/docs e.g. wxTextView.
|
||||
@@ -125,6 +153,10 @@ Integrate existing multimedia classes.
|
||||
|
||||
Rich text class?
|
||||
|
||||
Optimize size further.
|
||||
|
||||
wxThread integration.
|
||||
|
||||
Look at WinCE stuff incl. database classes.
|
||||
|
||||
Improve conversion guide, compatibility classes, tools?
|
||||
|
@@ -4,22 +4,17 @@ GUIs:
|
||||
-----
|
||||
|
||||
__X__ any X, but not GTK
|
||||
__WXMOTIF__ Motif
|
||||
__WXXT__ Xt; mutually exclusive with WX_MOTIF (?)
|
||||
__WXGTK__ GTK
|
||||
__WXMSW__ Any Windows
|
||||
__WXMAC__ MacOS
|
||||
__MOTIF__ Motif
|
||||
__XT__ Xt; mutually exclusive with WX_MOTIF (?)
|
||||
__GTK__ GTK
|
||||
__XVIEW__ Obsolete!
|
||||
__WINDOWS__ Any Windows
|
||||
__MAC__ MacOS
|
||||
__UNIX__ any Unix
|
||||
__WINDOWS__ any Windows
|
||||
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||
__WIN32__ WIN32 API
|
||||
__NT__ Windows NT
|
||||
__WXCURSES__ CURSES
|
||||
__WXSTUBS__ Stubbed version ('template' wxWin implementation)
|
||||
|
||||
In fact, they should better all start with __WX instead of __ only.
|
||||
The only GUIs implemented for 2.0 are __WXGTK__, __WXMSW__ and __WXMOTIF__
|
||||
yet. Any new ones, please start the define with __WX.
|
||||
__CURSES__ CURSES
|
||||
|
||||
OSes/machines:
|
||||
|
||||
@@ -56,6 +51,6 @@ __XLC__ ?? compiler
|
||||
wxWindows modes:
|
||||
----------------
|
||||
|
||||
__WXDEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||
__DEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||
WXDEBUG usage: #if DEBUG (0: release, 1: minimal debug code, ...)
|
||||
|
||||
|
Binary file not shown.
@@ -1,70 +0,0 @@
|
||||
$Id$
|
||||
<br>
|
||||
<H1>Proposal for a port of wxWindows to Qt - wxQt</H1>
|
||||
<p>
|
||||
Following the recent discussions
|
||||
and flamewars about KDE vs Gnome, we got worried that we'll see a
|
||||
repetition of the same damaging infighting from which Unix has
|
||||
suffered before. Competition is a good thing, but the current
|
||||
situation leaves application developers with a difficult decision to
|
||||
make: Write for KDE, using qt/harmony or write for Gnome, using GTK?
|
||||
Whatever happens to these projects, we will end up with a lot of
|
||||
duplicated efforts and a mix of applications written for either of the
|
||||
two environments. The result will not be the consistent look and feel
|
||||
that both projects aim for.
|
||||
<p>
|
||||
|
||||
The people on the wxWindows developers team thought that we might have
|
||||
a solution for this problem, if we can get some outside help to get it
|
||||
done. Let us explain: wxWindows is a cross-platform development
|
||||
toolkit, a library of C++ classes which provide GUI concepts as well
|
||||
as other cross-platform issues such as container classes, debug
|
||||
features or configuration management. It has been around since 1992
|
||||
and started by supporting Motif, XView and MS-Windows, with a direct
|
||||
X11/Xt port added later. Last year, a major rewrite was started and we
|
||||
now have a much advanced library, available for MS Windows, with a
|
||||
Motif port under construction. Later last year, Robert Roebling set
|
||||
out on a one-man project to build wxGTK, a gtk-based implementation of
|
||||
wxWindows which in less than a year has become sufficiently stable to
|
||||
use it as the main development platform of rather large
|
||||
applications. The wxWindows license is a variant of the LGPL,
|
||||
which should meet no objections from the free software community. In
|
||||
fact, this has been an open source project long before the term became
|
||||
commonly used.
|
||||
<p>
|
||||
|
||||
Our idea is, that if this is good enough to work across different
|
||||
operating systems (a MacOS port is under construction, too), it could
|
||||
easily bridge the gap between KDE and Gnome. The quick evolution of
|
||||
wxGTK has shown that a new port based on an existing widget set or
|
||||
toolkit can easily be created by a small team within a few
|
||||
months. Therefore, we would like to start a project for a Qt/Harmony
|
||||
based wxWindow library, wxQt. It would then be possible for
|
||||
application developers to write the same source and compile it either
|
||||
for KDE, Gnome or even any of the other supported systems.
|
||||
<p>
|
||||
|
||||
But for this we need help. The core developers are all pretty busy on
|
||||
the existing ports, but we could provide significant help and support
|
||||
for any such effort. A wxQt port could also recycle lots of existing
|
||||
code from the other ports.
|
||||
|
||||
Please, join us in this effort and, if you feel that you could
|
||||
contribute, join the wxWindows developers mailing list for further
|
||||
discussions. Just send a mail containing "<tt>subscribe</tt>" to
|
||||
<tt>wxwin-developers-request@wx.dent.med.uni-muenchen.de</tt>
|
||||
<p>
|
||||
You can find some more information about wxWindows at the following places:
|
||||
<ul>
|
||||
<li>The <a href="http://web.ukonline.co.uk/julian.smart/wxwin/">wxWindows homepage</a>.
|
||||
<li>The <a href="http://www.freiburg.linux.de/~wxxt/">wxGTK homepage</a>
|
||||
<li>The <a
|
||||
href="http://Ballueder.home.ml.org/wxWindows/wxQt.html">wxQt
|
||||
proposal</a>(this text)
|
||||
<li>The <a href="http://Ballueder.home.ml.org/M/">home of <em>M</em></a>, an email client developed using wxGTK, showing several <a href="http://Ballueder.home.ml.org/M/screenshots/">screenshots</a> of how it actually looks like.
|
||||
</ul>
|
||||
<p>
|
||||
<hr>
|
||||
Karsten Ballueder <tt><a
|
||||
href="mailto:Ballueder@usa.net">Ballueder@usa.net</a> <a
|
||||
href="http://Ballueder.home.ml.org/">http://Ballueder.home.ml.org/</a></tt>
|
@@ -1,19 +0,0 @@
|
||||
#ifndef _WX_ACCEL_H_BASE_
|
||||
#define _WX_ACCEL_H_BASE_
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/accel.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/accel.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/gtk/accel.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/accel.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/accel.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/accel.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_ACCEL_H_BASE_
|
@@ -9,34 +9,29 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_APP_H_BASE_
|
||||
#define _WX_APP_H_BASE_
|
||||
#ifndef __APPH_BASE__
|
||||
#define __APPH_BASE__
|
||||
|
||||
#ifdef __WXMSW__
|
||||
#ifndef __GTK__
|
||||
class WXDLLEXPORT wxApp;
|
||||
typedef wxApp* (*wxAppInitializerFunction) (void);
|
||||
#endif
|
||||
|
||||
#include "wx/object.h"
|
||||
|
||||
#ifndef __WXMSW__
|
||||
#ifdef __GTK__
|
||||
typedef wxObject* (*wxAppInitializerFunction) (void); // returning wxApp* won't work with gcc
|
||||
#endif
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/app.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/app.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/app.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/app.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/app.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/app.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/app.h"
|
||||
#endif
|
||||
|
||||
|
||||
// Having a global instance of this class allows
|
||||
// wxApp to be aware of the app creator function.
|
||||
// wxApp can then call this function to create a new
|
||||
@@ -75,4 +70,4 @@ int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
|
||||
|
||||
|
||||
#endif
|
||||
// _WX_APP_H_BASE_
|
||||
// __APPH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_BITMAP_H_BASE_
|
||||
#define _WX_BITMAP_H_BASE_
|
||||
#ifndef __BITMAPH_BASE__
|
||||
#define __BITMAPH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/bitmap.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/bitmap.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/bitmap.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/bitmap.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/bitmap.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/bitmap.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/bitmap.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_BITMAP_H_BASE_
|
||||
// __BITMAPH_BASE__
|
||||
|
@@ -1,18 +1,12 @@
|
||||
#ifndef _WX_BMPBUTTON_H_BASE_
|
||||
#define _WX_BMPBUTTON_H_BASE_
|
||||
#ifndef __BMPBUTTONH_BASE__
|
||||
#define __BMPBUTTONH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/bmpbuttn.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/bmpbuttn.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/bmpbuttn.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/bmpbuttn.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/bmpbuttn.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/bmpbuttn.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/bmpbuttn.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_BRUSH_H_BASE_
|
||||
#define _WX_BRUSH_H_BASE_
|
||||
#ifndef __BRUSHH_BASE__
|
||||
#define __BRUSHH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/brush.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/brush.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/brush.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/brush.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/brush.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/brush.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/brush.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_BRUSH_H_BASE_
|
||||
// __BRUSHH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_BUTTON_H_BASE_
|
||||
#define _WX_BUTTON_H_BASE_
|
||||
#ifndef __BUTTONH_BASE__
|
||||
#define __BUTTONH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/button.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/button.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/button.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/button.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/button.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/button.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/button.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_BUTTON_H_BASE_
|
||||
// __BUTTONH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_CHECKBOX_H_BASE_
|
||||
#define _WX_CHECKBOX_H_BASE_
|
||||
#ifndef __CHECKBOXH_BASE__
|
||||
#define __CHECKBOXH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/checkbox.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/checkbox.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/checkbox.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/checkbox.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/checkbox.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/checkbox.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/checkbox.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CHECKBOX_H_BASE_
|
||||
// __CHECKBOXH_BASE__
|
||||
|
@@ -1,19 +0,0 @@
|
||||
#ifndef _WX_CHECKLST_H_BASE_
|
||||
#define _WX_CHECKLST_H_BASE_
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/checklst.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/checklst.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/gtk/checklst.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/checklst.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/checklst.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/checklst.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CHECKLST_H_BASE_
|
@@ -1,7 +1,7 @@
|
||||
#ifndef _WX_CHOICDLG_H_BASE_
|
||||
#define _WX_CHOICDLG_H_BASE_
|
||||
#ifndef __CHOICDLGH_BASE__
|
||||
#define __CHOICDLGH_BASE__
|
||||
|
||||
#include "wx/generic/choicdgg.h"
|
||||
|
||||
#endif
|
||||
// _WX_CHOICDLG_H_BASE_
|
||||
// __CHOICDLGH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_CHOICE_H_BASE_
|
||||
#define _WX_CHOICE_H_BASE_
|
||||
#ifndef __CHOICEH_BASE__
|
||||
#define __CHOICEH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/choice.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/choice.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/choice.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/choice.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/choice.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/choice.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/choice.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CHOICE_H_BASE_
|
||||
// __CHOICEH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_CLIPBRD_H_BASE_
|
||||
#define _WX_CLIPBRD_H_BASE_
|
||||
#ifndef __CLIPBRDH_BASE__
|
||||
#define __CLIPBRDH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/clipbrd.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/clipbrd.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/clipbrd.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/clipbrd.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/gtk/clipbrd.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/clipbrd.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/clipbrd.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CLIPBRD_H_BASE_
|
||||
// __CLIPBRDH_BASE__
|
||||
|
@@ -9,16 +9,13 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_CMNDATA_H_BASE_
|
||||
#define _WX_CMNDATA_H_BASE_
|
||||
#ifndef __CMNDATAH_BASE__
|
||||
#define __CMNDATAH_BASE__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "cmndata.h"
|
||||
#endif
|
||||
|
||||
#include "wx/font.h"
|
||||
#include "wx/colour.h"
|
||||
|
||||
class WXDLLEXPORT wxColourData: public wxObject
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxColourData)
|
||||
@@ -85,7 +82,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
||||
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
||||
|
||||
public:
|
||||
#ifdef __WXMSW__
|
||||
#ifdef __WINDOWS__
|
||||
void *printData;
|
||||
#endif
|
||||
int printFromPage;
|
||||
@@ -140,7 +137,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
||||
|
||||
void operator=(const wxPrintData& data);
|
||||
|
||||
#ifdef __WXMSW__
|
||||
#ifdef __WINDOWS__
|
||||
// Convert to/from the PRINTDLG structure
|
||||
void ConvertToNative(void);
|
||||
void ConvertFromNative(void);
|
||||
@@ -223,4 +220,4 @@ class WXDLLEXPORT wxPageSetupData: public wxObject
|
||||
|
||||
|
||||
#endif
|
||||
// _WX_CMNDATA_H_BASE_
|
||||
// __CMNDATAH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_COLORDLG_H_BASE_
|
||||
#define _WX_COLORDLG_H_BASE_
|
||||
#ifndef __COLORDLGH_BASE__
|
||||
#define __COLORDLGH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/colordlg.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/generic/colrdlgg.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/generic/colrdlgg.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/generic/colrdlgg.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/generic/colrdlgg.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/generic/colrdlgg.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_COLORDLG_H_BASE_
|
||||
// __COLORDLGH_BASE__
|
||||
|
@@ -1,19 +0,0 @@
|
||||
#ifndef _WX_COLOUR_H_BASE_
|
||||
#define _WX_COLOUR_H_BASE_
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/colour.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/colour.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#include "wx/gtk/colour.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/colour.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/colour.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/colour.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_COLOUR_H_BASE_
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_COMBOBOX_H_BASE_
|
||||
#define _WX_COMBOBOX_H_BASE_
|
||||
#ifndef __COMBOBOXH_BASE__
|
||||
#define __COMBOBOXH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/combobox.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/combobox.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/combobox.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/combobox.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/combobox.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/combobox.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/combobox.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_COMBOBOX_H_BASE_
|
||||
// __COMBOBOXH_BASE__
|
||||
|
@@ -1,292 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: confbase.h
|
||||
// Purpose: declaration of the base class of all config implementations
|
||||
// (see also: fileconf.h and msw/regconf.h)
|
||||
// Author: Karsten Ball<6C>der & Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 07.04.98 (adapted from appconf.h)
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1997 Karsten Ball<6C>der Ballueder@usa.net
|
||||
// Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||
// Licence: wxWindows license
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_CONFBASE_H_
|
||||
#define _WX_CONFBASE_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "confbase.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// compile options
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// it won't compile without it anyhow
|
||||
#ifndef USE_CONFIG
|
||||
#error "Please define USE_CONFIG or remove config.cpp from your makefile"
|
||||
#endif // USE_CONFIG
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// shall we be case sensitive in parsing variable names?
|
||||
#ifndef wxCONFIG_CASE_SENSITIVE
|
||||
#define wxCONFIG_CASE_SENSITIVE FALSE
|
||||
#endif
|
||||
|
||||
/// separates group and entry names (probably shouldn't be changed)
|
||||
#ifndef wxCONFIG_PATH_SEPARATOR
|
||||
#define wxCONFIG_PATH_SEPARATOR '/'
|
||||
#endif
|
||||
|
||||
/// introduces immutable entries
|
||||
// (i.e. the ones which can't be changed from the local config file)
|
||||
#ifndef wxCONFIG_IMMUTABLE_PREFIX
|
||||
#define wxCONFIG_IMMUTABLE_PREFIX '!'
|
||||
#endif
|
||||
|
||||
/// should we use registry instead of configuration files under Win32?
|
||||
// (i.e. whether wxConfigBase::Create() will create a wxFileConfig (if it's
|
||||
// FALSE) or wxRegConfig (if it's true and we're under Win32) or wxIniConfig
|
||||
// (under Win16))
|
||||
#ifndef wxCONFIG_WIN32_NATIVE
|
||||
#define wxCONFIG_WIN32_NATIVE TRUE
|
||||
#endif
|
||||
|
||||
// Style flags for constructor style parameter
|
||||
#define wxCONFIG_USE_LOCAL_FILE 1
|
||||
#define wxCONFIG_USE_GLOBAL_FILE 2
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// various helper global functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
Replace environment variables ($SOMETHING) with their values. The format is
|
||||
$VARNAME or ${VARNAME} where VARNAME contains alphanumeric characters and
|
||||
'_' only. '$' must be escaped ('\$') in order to be taken literally.
|
||||
*/
|
||||
extern wxString wxExpandEnvVars(const wxString &sz);
|
||||
|
||||
/*
|
||||
Split path into parts removing '..' in progress
|
||||
*/
|
||||
extern void wxSplitPath(wxArrayString& aParts, const char *sz);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// abstract base class wxConfigBase which defines the interface for derived
|
||||
// classes
|
||||
//
|
||||
// wxConfig organizes the items in a tree-like structure (modeled after the
|
||||
// Unix/Dos filesystem). There are groups (directories) and keys (files).
|
||||
// There is always one current group given by the current path.
|
||||
//
|
||||
// Keys are pairs "key_name = value" where value may be of string or integer
|
||||
// (long) type (@@@ doubles and other types such as wxDate coming soon).
|
||||
// ----------------------------------------------------------------------------
|
||||
class wxConfigBase
|
||||
{
|
||||
public:
|
||||
// static functions
|
||||
// sets the config object, returns the previous pointer
|
||||
static wxConfigBase *Set(wxConfigBase *pConfig);
|
||||
// get the config object, creates it on demand unless DontCreateOnDemand
|
||||
// was called
|
||||
static wxConfigBase *Get() { if ( !ms_pConfig ) Create(); return ms_pConfig; }
|
||||
// create a new config object: this function will create the "best"
|
||||
// implementation of wxConfig available for the current platform, see
|
||||
// comments near definition wxCONFIG_WIN32_NATIVE for details. It returns
|
||||
// the created object and also sets it as ms_pConfig.
|
||||
static wxConfigBase *Create();
|
||||
// should Get() try to create a new log object if the current one is NULL?
|
||||
static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; }
|
||||
|
||||
// ctor & virtual dtor
|
||||
// environment variable expansion is on by default
|
||||
// wxConfigBase() { m_bExpandEnvVars = TRUE; m_bRecordDefaults = FALSE; }
|
||||
|
||||
// ctor
|
||||
|
||||
// Not all args will always be used by derived classes, but
|
||||
// including them all in each class ensures compatibility.
|
||||
// If appName is empty, uses wxApp name
|
||||
wxConfigBase(const wxString& appName = "", const wxString& vendorName = "",
|
||||
const wxString& localFilename = "", const wxString& globalFilename = "",
|
||||
long style = 0);
|
||||
|
||||
// empty but ensures that dtor of all derived classes is virtual
|
||||
virtual ~wxConfigBase() { }
|
||||
|
||||
// path management
|
||||
// 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.
|
||||
virtual void SetPath(const wxString& strPath) = 0;
|
||||
// retrieve the current path (always as absolute path)
|
||||
virtual const wxString& GetPath() const = 0;
|
||||
|
||||
// enumeration: all functions here return false when there are no more items.
|
||||
// you must pass the same lIndex to GetNext and GetFirst (don't modify it)
|
||||
// enumerate subgroups
|
||||
virtual bool GetFirstGroup(wxString& str, long& lIndex) const = 0;
|
||||
virtual bool GetNextGroup (wxString& str, long& lIndex) const = 0;
|
||||
// enumerate entries
|
||||
virtual bool GetFirstEntry(wxString& str, long& lIndex) const = 0;
|
||||
virtual bool GetNextEntry (wxString& str, long& lIndex) const = 0;
|
||||
// get number of entries/subgroups in the current group, with or without
|
||||
// it's subgroups
|
||||
virtual size_t GetNumberOfEntries(bool bRecursive = FALSE) const = 0;
|
||||
virtual size_t GetNumberOfGroups(bool bRecursive = FALSE) const = 0;
|
||||
|
||||
// tests of existence
|
||||
// returns TRUE if the group by this name exists
|
||||
virtual bool HasGroup(const wxString& strName) const = 0;
|
||||
// same as above, but for an entry
|
||||
virtual bool HasEntry(const wxString& strName) const = 0;
|
||||
// returns TRUE if either a group or an entry with a given name exist
|
||||
bool Exists(const wxString& strName) const
|
||||
{ return HasGroup(strName) || HasEntry(strName); }
|
||||
|
||||
// key access: returns TRUE if value was really read, FALSE if default used
|
||||
// (and if the key is not found the default value is returned.)
|
||||
// read a string from the key
|
||||
virtual bool Read(const wxString& key, wxString *pStr) const = 0;
|
||||
virtual bool Read(const wxString& key, wxString *pStr, const wxString& defVal) const;
|
||||
|
||||
virtual wxString Read(const wxString& key, const wxString& defVal = "") const;
|
||||
|
||||
virtual bool Read(const wxString& key, long *pl) const = 0;
|
||||
virtual bool Read(const wxString& key, long *pl, long defVal) const;
|
||||
|
||||
virtual long Read(const wxString& strKey, long defVal) const
|
||||
{ long l; Read(strKey, &l, defVal); return l; }
|
||||
|
||||
// Convenience functions that are built on other forms
|
||||
// double
|
||||
virtual bool Read(const wxString& key, double* val) const;
|
||||
virtual bool Read(const wxString& key, double* val, double defVal) const;
|
||||
|
||||
// bool
|
||||
virtual bool Read(const wxString& key, bool* val) const;
|
||||
virtual bool Read(const wxString& key, bool* val, bool defVal) const;
|
||||
|
||||
// write the value (return true on success)
|
||||
virtual bool Write(const wxString& key, const wxString& value) = 0;
|
||||
virtual bool Write(const wxString& key, long value) = 0;
|
||||
|
||||
// Convenience functions
|
||||
virtual bool Write(const wxString& key, double value);
|
||||
virtual bool Write(const wxString& key, bool value);
|
||||
|
||||
// permanently writes all changes
|
||||
virtual bool Flush(bool bCurrentOnly = FALSE) = 0;
|
||||
|
||||
// delete entries/groups
|
||||
// deletes the specified entry and the group it belongs to if
|
||||
// it was the last key in it and the second parameter is true
|
||||
virtual bool DeleteEntry(const wxString& key,
|
||||
bool bDeleteGroupIfEmpty = TRUE) = 0;
|
||||
// delete the group (with all subgroups)
|
||||
virtual bool DeleteGroup(const wxString& key) = 0;
|
||||
// delete the whole underlying object (disk file, registry key, ...)
|
||||
// primarly for use by desinstallation routine.
|
||||
virtual bool DeleteAll() = 0;
|
||||
|
||||
// options
|
||||
// we can automatically expand environment variables in the config entries
|
||||
// (this option is on by default, you can turn it on/off at any time)
|
||||
bool IsExpandingEnvVars() const { return m_bExpandEnvVars; }
|
||||
void SetExpandEnvVars(bool bDoIt = TRUE) { m_bExpandEnvVars = bDoIt; }
|
||||
// recording of default values
|
||||
void SetRecordDefaults(bool bDoIt = TRUE) { m_bRecordDefaults = bDoIt; }
|
||||
bool IsRecordingDefaults() const { return m_bRecordDefaults; }
|
||||
// does expansion only if needed
|
||||
wxString ExpandEnvVars(const wxString& str) const
|
||||
{
|
||||
wxString tmp; // Required for BC++
|
||||
if (IsExpandingEnvVars())
|
||||
tmp = wxExpandEnvVars(str);
|
||||
else
|
||||
tmp = str;
|
||||
return tmp;
|
||||
}
|
||||
|
||||
// misc accessors
|
||||
inline wxString GetAppName() const { return m_appName; }
|
||||
inline wxString GetVendorName() const { return m_vendorName; }
|
||||
|
||||
inline void SetAppName(const wxString& appName) { m_appName = appName; }
|
||||
inline void SetVendorName(const wxString& vendorName) { m_vendorName = vendorName; }
|
||||
|
||||
inline void SetStyle(long style) { m_style = style; }
|
||||
inline long GetStyle() const { return m_style; }
|
||||
|
||||
protected:
|
||||
static bool IsImmutable(const wxString& key)
|
||||
{ return key[0] == wxCONFIG_IMMUTABLE_PREFIX; }
|
||||
|
||||
private:
|
||||
// are we doing automatic environment variable expansion?
|
||||
bool m_bExpandEnvVars;
|
||||
// do we record default values?
|
||||
bool m_bRecordDefaults;
|
||||
|
||||
// static variables
|
||||
static wxConfigBase *ms_pConfig;
|
||||
static bool ms_bAutoCreate;
|
||||
|
||||
// Application name and organisation name
|
||||
wxString m_appName;
|
||||
wxString m_vendorName;
|
||||
|
||||
// Style flag
|
||||
long m_style;
|
||||
};
|
||||
|
||||
// a handy little class which changes current path to the path of given entry
|
||||
// and restores it in dtor: so if you declare a local variable of this type,
|
||||
// you work in the entry directory and the path is automatically restored
|
||||
// when the function returns
|
||||
// Taken out of wxConfig since not all compilers can cope with nested classes.
|
||||
class wxConfigPathChanger
|
||||
{
|
||||
public:
|
||||
// ctor/dtor do path changing/restorin
|
||||
wxConfigPathChanger(const wxConfigBase *pContainer, const wxString& strEntry);
|
||||
~wxConfigPathChanger();
|
||||
|
||||
// get the key name
|
||||
const wxString& Name() const { return m_strName; }
|
||||
|
||||
private:
|
||||
wxConfigBase *m_pContainer; // object we live in
|
||||
wxString m_strName, // name of entry (i.e. name only)
|
||||
m_strOldPath; // saved path
|
||||
bool m_bChanged; // was the path changed?
|
||||
};
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// the native wxConfigBase implementation
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// under Windows we prefer to use the native implementation
|
||||
#if defined(__WXMSW__) && wxCONFIG_WIN32_NATIVE
|
||||
#ifdef __WIN32__
|
||||
#define wxConfig wxRegConfig
|
||||
#define classwxConfig classwxRegConfig
|
||||
#else //WIN16
|
||||
#define wxConfig wxIniConfig
|
||||
#define classwxConfig classwxIniConfig
|
||||
#endif
|
||||
#else // either we're under Unix or wish to use files even under Windows
|
||||
#define wxConfig wxFileConfig
|
||||
#define classwxConfig classwxFileConfig
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif // _WX_CONFIG_H_
|
||||
|
@@ -1,17 +1,186 @@
|
||||
#ifndef _WX_CONFIG_H_BASE_
|
||||
#define _WX_CONFIG_H_BASE_
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: config.h
|
||||
// Purpose: declaration of the base class of all config implementations
|
||||
// (see also: fileconf.h and msw/regconf.h)
|
||||
// Author: Karsten Ball<6C>der & Vadim Zeitlin
|
||||
// Modified by:
|
||||
// Created: 07.04.98 (adapted from appconf.h)
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1997 Karsten Ball<6C>der Ballueder@usa.net
|
||||
// Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||
// Licence: wxWindows license
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "wx/confbase.h"
|
||||
#ifndef _APPCONF_H
|
||||
#define _APPCONF_H
|
||||
|
||||
#if defined(__WXMSW__) && defined(wxCONFIG_WIN32_NATIVE)
|
||||
# ifdef __WIN32__
|
||||
# include "wx/msw/regconf.h"
|
||||
#else
|
||||
# include "wx/msw/iniconf.h"
|
||||
# endif
|
||||
#else
|
||||
# include "wx/fileconf.h"
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "config.h"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// compile options
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// it won't compile without it anyhow
|
||||
#ifndef USE_WXCONFIG
|
||||
#error "Please define USE_WXCONFIG or remove config.cpp from your makefile"
|
||||
#endif // USE_WXCONFIG
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/// shall we be case sensitive in parsing variable names?
|
||||
#ifndef APPCONF_CASE_SENSITIVE
|
||||
#define APPCONF_CASE_SENSITIVE FALSE
|
||||
#endif
|
||||
// _WX_CONFIG_H_BASE_
|
||||
|
||||
/// separates group and entry names
|
||||
#ifndef APPCONF_PATH_SEPARATOR
|
||||
#define APPCONF_PATH_SEPARATOR '/'
|
||||
#endif
|
||||
|
||||
/// introduces immutable entries
|
||||
#ifndef APPCONF_IMMUTABLE_PREFIX
|
||||
#define APPCONF_IMMUTABLE_PREFIX '!'
|
||||
#endif
|
||||
|
||||
/// should we use registry instead of configuration files under Win32?
|
||||
#ifndef APPCONF_WIN32_NATIVE
|
||||
#define APPCONF_WIN32_NATIVE TRUE
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// various helper global functions
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
/*
|
||||
Replace environment variables ($SOMETHING) with their values. The format is
|
||||
$VARNAME or ${VARNAME} where VARNAME contains alphanumeric characters and
|
||||
'_' only. '$' must be escaped ('\$') in order to be taken literally.
|
||||
*/
|
||||
extern wxString ExpandEnvVars(const wxString& str);
|
||||
|
||||
/*
|
||||
Split path into parts removing '..' in progress
|
||||
*/
|
||||
extern void SplitPath(wxArrayString& aParts, const char *sz);
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// abstract base class wxConfig which defines the interface for derived classes
|
||||
//
|
||||
// wxConfig organizes the items in a tree-like structure (modeled after the
|
||||
// Unix/Dos filesystem). There are groups (directories) and keys (files).
|
||||
// There is always one current group given by the current path.
|
||||
//
|
||||
// Keys are pairs "key_name = value" where value may be of string or integer
|
||||
// (long) type (@@@ doubles and other types such as wxDate coming soon).
|
||||
// ----------------------------------------------------------------------------
|
||||
class wxConfig
|
||||
{
|
||||
public:
|
||||
// static functions
|
||||
// sets the config object, returns the previous pointer
|
||||
static wxConfig *Set(wxConfig *pConfig);
|
||||
// get the config object, creates it on demand
|
||||
static wxConfig *Get() { if ( !ms_pConfig ) Create(); return ms_pConfig; }
|
||||
// create a new config object
|
||||
static void Create();
|
||||
|
||||
// ctor & virtual dtor
|
||||
wxConfig() { }
|
||||
virtual ~wxConfig();
|
||||
|
||||
// path management
|
||||
// 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.
|
||||
virtual void SetPath(const wxString& strPath) = 0;
|
||||
// retrieve the current path (always as absolute path)
|
||||
virtual const wxString& GetPath() const = 0;
|
||||
|
||||
// enumeration: all functions here return false when there are no more items.
|
||||
// you must pass the same lIndex to GetNext and GetFirst (don't modify it)
|
||||
// enumerate subgroups
|
||||
virtual bool GetFirstGroup(wxString& str, long& lIndex) = 0;
|
||||
virtual bool GetNextGroup (wxString& str, long& lIndex) = 0;
|
||||
// enumerate entries
|
||||
virtual bool GetFirstEntry(wxString& str, long& lIndex) = 0;
|
||||
virtual bool GetNextEntry (wxString& str, long& lIndex) = 0;
|
||||
|
||||
// tests of existence
|
||||
// returns TRUE if the group by this name exists
|
||||
virtual bool HasGroup(const wxString& strName) const = 0;
|
||||
// same as above, but for an entry
|
||||
virtual bool HasEntry(const wxString& strName) const = 0;
|
||||
// returns TRUE if either a group or an entry with a given name exist
|
||||
bool Exists(const wxString& strName) const
|
||||
{ return HasGroup(strName) || HasEntry(strName); }
|
||||
|
||||
// key access: returns TRUE if value was really read, FALSE if default used
|
||||
// (and if the key is not found the default value is returned.)
|
||||
// read a string from the key
|
||||
virtual bool Read(wxString *pStr, const char *szKey,
|
||||
const char *szDefault = NULL) const = 0;
|
||||
// another version using statis buffer - it means it will be overwritten
|
||||
// after each call to this function!
|
||||
virtual const char *Read(const char *szKey,
|
||||
const char *szDefault = NULL) const;
|
||||
// the same for longs
|
||||
virtual long Read(const char *szKey, long lDefault) const
|
||||
{ long l; Read(&l, szKey, lDefault); return l; }
|
||||
// and another version: returns true if default value is returned
|
||||
virtual bool Read(long *pl, const char *szKey, long lDefault = 0) const = 0;
|
||||
|
||||
// write the value (return true on success)
|
||||
virtual bool Write(const char *szKey, const char *szValue) = 0;
|
||||
virtual bool Write(const char *szKey, long lValue) = 0;
|
||||
// permanently writes all changes
|
||||
virtual bool Flush(bool bCurrentOnly = FALSE) = 0;
|
||||
|
||||
// delete entries/groups
|
||||
// deletes the specified entry and the group it belongs to if
|
||||
// it was the last key in it and the second parameter is true
|
||||
virtual bool DeleteEntry(const char *szKey,
|
||||
bool bDeleteGroupIfEmpty = TRUE) = 0;
|
||||
// delete the group (with all subgroups)
|
||||
virtual bool DeleteGroup(const char *szKey) = 0;
|
||||
// delete the whole underlying object (disk file, registry key, ...)
|
||||
// primarly for use by desinstallation routine.
|
||||
virtual bool DeleteAll() = 0;
|
||||
|
||||
protected:
|
||||
static bool IsImmutable(const char *szKey)
|
||||
{ return *szKey == APPCONF_IMMUTABLE_PREFIX; }
|
||||
|
||||
// a handy little class which changes current path to the path of given entry
|
||||
// and restores it in dtor: so if you declare a local variable of this type,
|
||||
// you work in the entry directory and the path is automatically restored
|
||||
// when function returns
|
||||
class PathChanger
|
||||
{
|
||||
public:
|
||||
// ctor/dtor do path changing/restorin
|
||||
PathChanger(const wxConfig *pContainer, const wxString& strEntry);
|
||||
~PathChanger();
|
||||
|
||||
// get the key name
|
||||
const wxString& Name() const { return m_strName; }
|
||||
|
||||
private:
|
||||
wxConfig *m_pContainer; // object we live in
|
||||
wxString m_strName, // name of entry (i.e. name only)
|
||||
m_strOldPath; // saved path
|
||||
bool m_bChanged; // was the path changed?
|
||||
};
|
||||
|
||||
// are we doing automatic environment variable expansion?
|
||||
bool m_bExpandEnvVars;
|
||||
|
||||
// static variables
|
||||
static wxConfig *ms_pConfig;
|
||||
};
|
||||
|
||||
#endif //_APPCONF_H
|
||||
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_CONTROL_H_BASE_
|
||||
#define _WX_CONTROL_H_BASE_
|
||||
#ifndef __CONTROLH_BASE__
|
||||
#define __CONTROLH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/control.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/control.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/control.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/control.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/control.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/control.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/control.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CONTROL_H_BASE_
|
||||
// __CONTROLH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_CURSOR_H_BASE_
|
||||
#define _WX_CURSOR_H_BASE_
|
||||
#ifndef __CURSORH_BASE__
|
||||
#define __CURSORH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/cursor.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/cursor.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/cursor.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/cursor.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/cursor.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/cursor.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/cursor.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_CURSOR_H_BASE_
|
||||
// __CURSORH_BASE__
|
||||
|
@@ -10,8 +10,8 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DATE_H_
|
||||
#define _WX_DATE_H_
|
||||
#ifndef __WXDATEH__
|
||||
#define __WXDATEH__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "date.h"
|
||||
@@ -128,4 +128,4 @@ class WXDLLEXPORT wxDate: public wxObject
|
||||
|
||||
#endif
|
||||
#endif
|
||||
// _WX_DATE_H_
|
||||
// __WXDATEH__
|
||||
|
@@ -9,19 +9,22 @@
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DATSTREAM_H_
|
||||
#define _WX_DATSTREAM_H_
|
||||
#ifndef __DATSTREAMH__
|
||||
#define __DATSTREAMH__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "datstrm.h"
|
||||
#endif
|
||||
|
||||
#include <wx/stream.h>
|
||||
#include "wx/wx.h"
|
||||
|
||||
class wxDataInputStream: public wxFilterInputStream {
|
||||
class wxDataStream {
|
||||
public:
|
||||
wxDataInputStream(wxInputStream& s);
|
||||
virtual ~wxDataInputStream();
|
||||
wxDataStream(iostream& s);
|
||||
wxDataStream(istream& s);
|
||||
wxDataStream(ostream& s);
|
||||
|
||||
virtual ~wxDataStream();
|
||||
|
||||
unsigned long Read32();
|
||||
unsigned short Read16();
|
||||
@@ -29,12 +32,6 @@ public:
|
||||
double ReadDouble();
|
||||
wxString ReadLine();
|
||||
wxString ReadString();
|
||||
};
|
||||
|
||||
class wxDataOutputStream: public wxFilterOutputStream {
|
||||
public:
|
||||
wxDataOutputStream(wxOutputStream& s);
|
||||
virtual ~wxDataOutputStream();
|
||||
|
||||
void Write32(unsigned long i);
|
||||
void Write16(unsigned short i);
|
||||
@@ -42,7 +39,10 @@ class wxDataOutputStream: public wxFilterOutputStream {
|
||||
void WriteDouble(double d);
|
||||
void WriteLine(const wxString& line);
|
||||
void WriteString(const wxString& string);
|
||||
protected:
|
||||
istream *m_istream;
|
||||
ostream *m_ostream;
|
||||
};
|
||||
|
||||
#endif
|
||||
// _WX_DATSTREAM_H_
|
||||
// __HELPBASEH__
|
||||
|
362
include/wx/db.h
362
include/wx/db.h
@@ -1,362 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: db.h
|
||||
// Purpose: Header file wxDB class. The wxDB class represents a connection
|
||||
// to an ODBC data source. The wxDB class allows operations on the data
|
||||
// source such as opening and closing the data source.
|
||||
// Author: Doug Card
|
||||
// Modified by:
|
||||
// Created: 9.96
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 Remstar International, Inc.
|
||||
// Licence: wxWindows licence, plus:
|
||||
// Notice: This class library and its intellectual design are free of charge for use,
|
||||
// modification, enhancement, debugging under the following conditions:
|
||||
// 1) These classes may only be used as part of the implementation of a
|
||||
// wxWindows-based application
|
||||
// 2) All enhancements and bug fixes are to be submitted back to the wxWindows
|
||||
// user groups free of all charges for use with the wxWindows library.
|
||||
// 3) These classes may not be distributed as part of any other class library,
|
||||
// DLL, text (written or electronic), other than a complete distribution of
|
||||
// the wxWindows GUI development toolkit.
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// SYNOPSIS START
|
||||
// SYNOPSIS STOP
|
||||
*/
|
||||
|
||||
#ifndef DB_DOT_H
|
||||
#define DB_DOT_H
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "db.h"
|
||||
#endif
|
||||
|
||||
#if defined(wx_msw) || defined(WIN32)
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
#define ODBCVER 0x0250
|
||||
#include <sql.h>
|
||||
#include <sqlext.h>
|
||||
|
||||
enum enumDummy {enumDum1};
|
||||
|
||||
#define SQL_C_BOOLEAN (sizeof(int) == 2 ? SQL_C_USHORT : SQL_C_ULONG)
|
||||
#define SQL_C_ENUM (sizeof(enumDummy) == 2 ? SQL_C_USHORT : SQL_C_ULONG) //glt 2-21-97
|
||||
|
||||
/*
|
||||
#ifndef Bool
|
||||
#define Bool int
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
#define FALSE 0
|
||||
#endif
|
||||
*/
|
||||
|
||||
// Database Globals
|
||||
const DB_TYPE_NAME_LEN = 40;
|
||||
const DB_MAX_STATEMENT_LEN = 2048;
|
||||
const DB_MAX_WHERE_CLAUSE_LEN = 1024;
|
||||
const DB_MAX_ERROR_MSG_LEN = 512;
|
||||
const DB_MAX_ERROR_HISTORY = 5;
|
||||
const DB_MAX_TABLE_NAME_LEN = 128;
|
||||
const DB_MAX_COLUMN_NAME_LEN = 128;
|
||||
|
||||
const DB_DATA_TYPE_VARCHAR = 1;
|
||||
const DB_DATA_TYPE_INTEGER = 2;
|
||||
const DB_DATA_TYPE_FLOAT = 3;
|
||||
const DB_DATA_TYPE_DATE = 4;
|
||||
|
||||
const DB_SELECT_KEYFIELDS = 1;
|
||||
const DB_SELECT_WHERE = 2;
|
||||
const DB_SELECT_MATCHING = 3;
|
||||
const DB_SELECT_STATEMENT = 4;
|
||||
|
||||
const DB_UPD_KEYFIELDS = 1;
|
||||
const DB_UPD_WHERE = 2;
|
||||
|
||||
const DB_DEL_KEYFIELDS = 1;
|
||||
const DB_DEL_WHERE = 2;
|
||||
const DB_DEL_MATCHING = 3;
|
||||
|
||||
const DB_WHERE_KEYFIELDS = 1;
|
||||
const DB_WHERE_MATCHING = 2;
|
||||
|
||||
const DB_CURSOR0 = 0;
|
||||
const DB_CURSOR1 = 1;
|
||||
const DB_CURSOR2 = 2;
|
||||
//const DB_CURSOR3 = 3;
|
||||
//const DB_CURSOR4 = 4;
|
||||
//const DB_CURSOR5 = 5;
|
||||
|
||||
const DB_GRANT_SELECT = 1;
|
||||
const DB_GRANT_INSERT = 2;
|
||||
const DB_GRANT_UPDATE = 4;
|
||||
const DB_GRANT_DELETE = 8;
|
||||
const DB_GRANT_ALL = DB_GRANT_SELECT | DB_GRANT_INSERT | DB_GRANT_UPDATE | DB_GRANT_DELETE;
|
||||
|
||||
// ODBC Error codes (derived from ODBC SqlState codes)
|
||||
enum ODBC_ERRORS
|
||||
{
|
||||
DB_FAILURE = 0,
|
||||
DB_SUCCESS = 1,
|
||||
DB_ERR_NOT_IN_USE,
|
||||
DB_ERR_GENERAL_WARNING, // SqlState = '01000'
|
||||
DB_ERR_DISCONNECT_ERROR, // SqlState = '01002'
|
||||
DB_ERR_DATA_TRUNCATED, // SqlState = '01004'
|
||||
DB_ERR_PRIV_NOT_REVOKED, // SqlState = '01006'
|
||||
DB_ERR_INVALID_CONN_STR_ATTR, // SqlState = '01S00'
|
||||
DB_ERR_ERROR_IN_ROW, // SqlState = '01S01'
|
||||
DB_ERR_OPTION_VALUE_CHANGED, // SqlState = '01S02'
|
||||
DB_ERR_NO_ROWS_UPD_OR_DEL, // SqlState = '01S03'
|
||||
DB_ERR_MULTI_ROWS_UPD_OR_DEL, // SqlState = '01S04'
|
||||
DB_ERR_WRONG_NO_OF_PARAMS, // SqlState = '07001'
|
||||
DB_ERR_DATA_TYPE_ATTR_VIOL, // SqlState = '07006'
|
||||
DB_ERR_UNABLE_TO_CONNECT, // SqlState = '08001'
|
||||
DB_ERR_CONNECTION_IN_USE, // SqlState = '08002'
|
||||
DB_ERR_CONNECTION_NOT_OPEN, // SqlState = '08003'
|
||||
DB_ERR_REJECTED_CONNECTION, // SqlState = '08004'
|
||||
DB_ERR_CONN_FAIL_IN_TRANS, // SqlState = '08007'
|
||||
DB_ERR_COMM_LINK_FAILURE, // SqlState = '08S01'
|
||||
DB_ERR_INSERT_VALUE_LIST_MISMATCH, // SqlState = '21S01'
|
||||
DB_ERR_DERIVED_TABLE_MISMATCH, // SqlState = '21S02'
|
||||
DB_ERR_STRING_RIGHT_TRUNC, // SqlState = '22001'
|
||||
DB_ERR_NUMERIC_VALUE_OUT_OF_RNG, // SqlState = '22003'
|
||||
DB_ERR_ERROR_IN_ASSIGNMENT, // SqlState = '22005'
|
||||
DB_ERR_DATETIME_FLD_OVERFLOW, // SqlState = '22008'
|
||||
DB_ERR_DIVIDE_BY_ZERO, // SqlState = '22012'
|
||||
DB_ERR_STR_DATA_LENGTH_MISMATCH, // SqlState = '22026'
|
||||
DB_ERR_INTEGRITY_CONSTRAINT_VIOL, // SqlState = '23000'
|
||||
DB_ERR_INVALID_CURSOR_STATE, // SqlState = '24000'
|
||||
DB_ERR_INVALID_TRANS_STATE, // SqlState = '25000'
|
||||
DB_ERR_INVALID_AUTH_SPEC, // SqlState = '28000'
|
||||
DB_ERR_INVALID_CURSOR_NAME, // SqlState = '34000'
|
||||
DB_ERR_SYNTAX_ERROR_OR_ACCESS_VIOL, // SqlState = '37000'
|
||||
DB_ERR_DUPLICATE_CURSOR_NAME, // SqlState = '3C000'
|
||||
DB_ERR_SERIALIZATION_FAILURE, // SqlState = '40001'
|
||||
DB_ERR_SYNTAX_ERROR_OR_ACCESS_VIOL2, // SqlState = '42000'
|
||||
DB_ERR_OPERATION_ABORTED, // SqlState = '70100'
|
||||
DB_ERR_UNSUPPORTED_FUNCTION, // SqlState = 'IM001'
|
||||
DB_ERR_NO_DATA_SOURCE, // SqlState = 'IM002'
|
||||
DB_ERR_DRIVER_LOAD_ERROR, // SqlState = 'IM003'
|
||||
DB_ERR_SQLALLOCENV_FAILED, // SqlState = 'IM004'
|
||||
DB_ERR_SQLALLOCCONNECT_FAILED, // SqlState = 'IM005'
|
||||
DB_ERR_SQLSETCONNECTOPTION_FAILED, // SqlState = 'IM006'
|
||||
DB_ERR_NO_DATA_SOURCE_DLG_PROHIB, // SqlState = 'IM007'
|
||||
DB_ERR_DIALOG_FAILED, // SqlState = 'IM008'
|
||||
DB_ERR_UNABLE_TO_LOAD_TRANSLATION_DLL, // SqlState = 'IM009'
|
||||
DB_ERR_DATA_SOURCE_NAME_TOO_LONG, // SqlState = 'IM010'
|
||||
DB_ERR_DRIVER_NAME_TOO_LONG, // SqlState = 'IM011'
|
||||
DB_ERR_DRIVER_KEYWORD_SYNTAX_ERROR, // SqlState = 'IM012'
|
||||
DB_ERR_TRACE_FILE_ERROR, // SqlState = 'IM013'
|
||||
DB_ERR_TABLE_OR_VIEW_ALREADY_EXISTS, // SqlState = 'S0001'
|
||||
DB_ERR_TABLE_NOT_FOUND, // SqlState = 'S0002'
|
||||
DB_ERR_INDEX_ALREADY_EXISTS, // SqlState = 'S0011'
|
||||
DB_ERR_INDEX_NOT_FOUND, // SqlState = 'S0012'
|
||||
DB_ERR_COLUMN_ALREADY_EXISTS, // SqlState = 'S0021'
|
||||
DB_ERR_COLUMN_NOT_FOUND, // SqlState = 'S0022'
|
||||
DB_ERR_NO_DEFAULT_FOR_COLUMN, // SqlState = 'S0023'
|
||||
DB_ERR_GENERAL_ERROR, // SqlState = 'S1000'
|
||||
DB_ERR_MEMORY_ALLOCATION_FAILURE, // SqlState = 'S1001'
|
||||
DB_ERR_INVALID_COLUMN_NUMBER, // SqlState = 'S1002'
|
||||
DB_ERR_PROGRAM_TYPE_OUT_OF_RANGE, // SqlState = 'S1003'
|
||||
DB_ERR_SQL_DATA_TYPE_OUT_OF_RANGE, // SqlState = 'S1004'
|
||||
DB_ERR_OPERATION_CANCELLED, // SqlState = 'S1008'
|
||||
DB_ERR_INVALID_ARGUMENT_VALUE, // SqlState = 'S1009'
|
||||
DB_ERR_FUNCTION_SEQUENCE_ERROR, // SqlState = 'S1010'
|
||||
DB_ERR_OPERATION_INVALID_AT_THIS_TIME, // SqlState = 'S1011'
|
||||
DB_ERR_INVALID_TRANS_OPERATION_CODE, // SqlState = 'S1012'
|
||||
DB_ERR_NO_CURSOR_NAME_AVAIL, // SqlState = 'S1015'
|
||||
DB_ERR_INVALID_STR_OR_BUF_LEN, // SqlState = 'S1090'
|
||||
DB_ERR_DESCRIPTOR_TYPE_OUT_OF_RANGE, // SqlState = 'S1091'
|
||||
DB_ERR_OPTION_TYPE_OUT_OF_RANGE, // SqlState = 'S1092'
|
||||
DB_ERR_INVALID_PARAM_NO, // SqlState = 'S1093'
|
||||
DB_ERR_INVALID_SCALE_VALUE, // SqlState = 'S1094'
|
||||
DB_ERR_FUNCTION_TYPE_OUT_OF_RANGE, // SqlState = 'S1095'
|
||||
DB_ERR_INF_TYPE_OUT_OF_RANGE, // SqlState = 'S1096'
|
||||
DB_ERR_COLUMN_TYPE_OUT_OF_RANGE, // SqlState = 'S1097'
|
||||
DB_ERR_SCOPE_TYPE_OUT_OF_RANGE, // SqlState = 'S1098'
|
||||
DB_ERR_NULLABLE_TYPE_OUT_OF_RANGE, // SqlState = 'S1099'
|
||||
DB_ERR_UNIQUENESS_OPTION_TYPE_OUT_OF_RANGE, // SqlState = 'S1100'
|
||||
DB_ERR_ACCURACY_OPTION_TYPE_OUT_OF_RANGE, // SqlState = 'S1101'
|
||||
DB_ERR_DIRECTION_OPTION_OUT_OF_RANGE, // SqlState = 'S1103'
|
||||
DB_ERR_INVALID_PRECISION_VALUE, // SqlState = 'S1104'
|
||||
DB_ERR_INVALID_PARAM_TYPE, // SqlState = 'S1105'
|
||||
DB_ERR_FETCH_TYPE_OUT_OF_RANGE, // SqlState = 'S1106'
|
||||
DB_ERR_ROW_VALUE_OUT_OF_RANGE, // SqlState = 'S1107'
|
||||
DB_ERR_CONCURRENCY_OPTION_OUT_OF_RANGE, // SqlState = 'S1108'
|
||||
DB_ERR_INVALID_CURSOR_POSITION, // SqlState = 'S1109'
|
||||
DB_ERR_INVALID_DRIVER_COMPLETION, // SqlState = 'S1110'
|
||||
DB_ERR_INVALID_BOOKMARK_VALUE, // SqlState = 'S1111'
|
||||
DB_ERR_DRIVER_NOT_CAPABLE, // SqlState = 'S1C00'
|
||||
DB_ERR_TIMEOUT_EXPIRED // SqlState = 'S1T00'
|
||||
};
|
||||
|
||||
struct DbStuff
|
||||
{
|
||||
HENV Henv;
|
||||
char Dsn[SQL_MAX_DSN_LENGTH+1]; // Data Source Name
|
||||
char Uid[20]; // User ID
|
||||
char AuthStr[20]; // Authorization string (password)
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char TypeName[DB_TYPE_NAME_LEN];
|
||||
int FsqlType;
|
||||
long Precision;
|
||||
short CaseSensitive;
|
||||
// short MinimumScale;
|
||||
short MaximumScale;
|
||||
} SqlTypeInfo;
|
||||
|
||||
class CcolInf
|
||||
{
|
||||
public:
|
||||
char tableName[DB_MAX_TABLE_NAME_LEN+1];
|
||||
char colName[DB_MAX_COLUMN_NAME_LEN+1];
|
||||
int sqlDataType;
|
||||
};
|
||||
|
||||
class wxDB
|
||||
{
|
||||
private:
|
||||
|
||||
// Private data
|
||||
bool dbIsOpen;
|
||||
char *dsn; // Data source name
|
||||
char *uid; // User ID
|
||||
char *authStr; // Authorization string (password)
|
||||
|
||||
// Private member functions
|
||||
bool getDbInfo(void);
|
||||
bool getDataTypeInfo(SWORD fSqlType, SqlTypeInfo &structSQLTypeInfo);
|
||||
bool setConnectionOptions(void);
|
||||
void logError(char *errMsg, char *SQLState);
|
||||
|
||||
public:
|
||||
|
||||
// The following structure contains database information gathered from the
|
||||
// datasource when the datasource is first opened.
|
||||
struct
|
||||
{
|
||||
char dbmsName[40]; // Name of the dbms product
|
||||
char dbmsVer[20]; // Version # of the dbms product
|
||||
char driverName[40]; // Driver name
|
||||
char odbcVer[20]; // ODBC version of the driver
|
||||
char drvMgrOdbcVer[20]; // ODBC version of the driver manager
|
||||
char driverVer[40]; // Driver version
|
||||
char serverName[40]; // Server Name, typically a connect string
|
||||
char databaseName[128]; // Database filename
|
||||
char outerJoins[2]; // Indicates whether the data source supports outer joins
|
||||
char procedureSupport[2]; // Indicates whether the data source supports stored procedures
|
||||
UWORD maxConnections; // Maximum # of connections the data source supports
|
||||
UWORD maxStmts; // Maximum # of HSTMTs per HDBC
|
||||
UWORD apiConfLvl; // ODBC API conformance level
|
||||
UWORD cliConfLvl; // Indicates whether the data source is SAG compliant
|
||||
UWORD sqlConfLvl; // SQL conformance level
|
||||
UWORD cursorCommitBehavior; // Indicates how cursors are affected by a db commit
|
||||
UWORD cursorRollbackBehavior; // Indicates how cursors are affected by a db rollback
|
||||
UWORD supportNotNullClause; // Indicates if data source supports NOT NULL clause
|
||||
char supportIEF[2]; // Integrity Enhancement Facility (Referential Integrity)
|
||||
UDWORD txnIsolation; // Default transaction isolation level supported by the driver
|
||||
UDWORD txnIsolationOptions; // Transaction isolation level options available
|
||||
UDWORD fetchDirections; // Fetch directions supported
|
||||
UDWORD lockTypes; // Lock types supported in SQLSetPos
|
||||
UDWORD posOperations; // Position operations supported in SQLSetPos
|
||||
UDWORD posStmts; // Position statements supported
|
||||
UDWORD scrollConcurrency; // Concurrency control options supported for scrollable cursors
|
||||
UDWORD scrollOptions; // Scroll Options supported for scrollable cursors
|
||||
UDWORD staticSensitivity; // Indicates if additions, deletions and updates can be detected
|
||||
UWORD txnCapable; // Indicates if the data source supports transactions
|
||||
UDWORD loginTimeout; // Number seconds to wait for a login request
|
||||
} dbInf;
|
||||
|
||||
// ODBC handles
|
||||
HENV henv; // ODBC Environment handle
|
||||
HDBC hdbc; // ODBC DB Connection handle
|
||||
HSTMT hstmt; // ODBC Statement handle
|
||||
|
||||
// ODBC Error Inf.
|
||||
char sqlState[20];
|
||||
SDWORD nativeError;
|
||||
char errorMsg[SQL_MAX_MESSAGE_LENGTH];
|
||||
SWORD cbErrorMsg;
|
||||
char errorList[DB_MAX_ERROR_HISTORY][DB_MAX_ERROR_MSG_LEN];
|
||||
int DB_STATUS;
|
||||
|
||||
//Error reporting mode
|
||||
bool silent;
|
||||
|
||||
// Inf. about logical data types VARCHAR, INTEGER, FLOAT and DATE.
|
||||
// This inf. is obtained from the ODBC driver by use of the
|
||||
// SQLGetTypeInfo() function. The key piece of inf. is the
|
||||
// type name the data source uses for each logical data type.
|
||||
// e.g. VARCHAR; Oracle calls it VARCHAR2.
|
||||
SqlTypeInfo typeInfVarchar, typeInfInteger, typeInfFloat, typeInfDate;
|
||||
|
||||
// Public member functions
|
||||
wxDB(HENV &aHenv);
|
||||
bool Open(char *Dsn, char *Uid, char *AuthStr); // Data Source Name, User ID, Password
|
||||
void Close(void);
|
||||
bool CommitTrans(void);
|
||||
bool RollbackTrans(void);
|
||||
bool DispAllErrors(HENV aHenv, HDBC aHdbc = SQL_NULL_HDBC, HSTMT aHstmt = SQL_NULL_HSTMT);
|
||||
bool GetNextError(HENV aHenv, HDBC aHdbc = SQL_NULL_HDBC, HSTMT aHstmt = SQL_NULL_HSTMT);
|
||||
void DispNextError(void);
|
||||
bool CreateView(char *viewName, char *colList, char *pSqlStmt);
|
||||
bool ExecSql(char *pSqlStmt);
|
||||
bool Grant(int privileges, char *tableName, char *userList = "PUBLIC");
|
||||
int TranslateSqlState(char *SQLState);
|
||||
CcolInf *GetColumns(char *tableName[]);
|
||||
char *GetDatabaseName(void) {return dbInf.dbmsName;}
|
||||
char *GetDataSource(void) {return dsn;}
|
||||
char *GetUsername(void) {return uid;}
|
||||
char *GetPassword(void) {return authStr;}
|
||||
bool IsOpen(void) {return dbIsOpen;}
|
||||
HENV GetHENV(void) {return henv;}
|
||||
HDBC GetHDBC(void) {return hdbc;}
|
||||
HSTMT GetHSTMT(void) {return hstmt;}
|
||||
bool TableExists(char *tableName); // Table name can refer to a table, view, alias or synonym
|
||||
void LogError(char *errMsg, char *SQLState = 0) {logError(errMsg, SQLState);}
|
||||
|
||||
}; // wxDB
|
||||
|
||||
// This structure forms a node in a linked list. The linked list of "DbList" objects
|
||||
// keeps track of allocated database connections. This allows the application to
|
||||
// open more than one database connection through ODBC for multiple transaction support
|
||||
// or for multiple database support.
|
||||
|
||||
struct DbList
|
||||
{
|
||||
DbList *PtrPrev; // Pointer to previous item in the list
|
||||
char Dsn[SQL_MAX_DSN_LENGTH+1]; // Data Source Name
|
||||
wxDB *PtrDb; // Pointer to the wxDB object
|
||||
bool Free; // Is item free or in use?
|
||||
DbList *PtrNext; // Pointer to next item in the list
|
||||
};
|
||||
|
||||
// The following routines allow a user to get new database connections, free them
|
||||
// for other code segments to use, or close all of them when the application has
|
||||
// completed.
|
||||
|
||||
wxDB *GetDbConnection(DbStuff *pDbStuff);
|
||||
bool FreeDbConnection(wxDB *pDb);
|
||||
void CloseDbConnections(void);
|
||||
int NumberDbConnectionsInUse(void);
|
||||
|
||||
// This routine allows you to query a driver manager
|
||||
// for a list of available datasources. Call this routine
|
||||
// the first time using SQL_FETCH_FIRST. Continue to call it
|
||||
// using SQL_FETCH_NEXT until you've exhausted the list.
|
||||
bool GetDataSource(HENV henv, char *Dsn, SWORD DsnMax, char *DsDesc, SWORD DsDescMax,
|
||||
UWORD direction = SQL_FETCH_NEXT);
|
||||
|
||||
#endif
|
||||
|
@@ -1,165 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: table.h
|
||||
// Purpose: Declaration of the wxTable class.
|
||||
// Author: Doug Card
|
||||
// Modified by:
|
||||
// Created: 9.96
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1996 Remstar International, Inc.
|
||||
// Licence: wxWindows licence, plus:
|
||||
// Notice: This class library and its intellectual design are free of charge for use,
|
||||
// modification, enhancement, debugging under the following conditions:
|
||||
// 1) These classes may only be used as part of the implementation of a
|
||||
// wxWindows-based application
|
||||
// 2) All enhancements and bug fixes are to be submitted back to the wxWindows
|
||||
// user groups free of all charges for use with the wxWindows library.
|
||||
// 3) These classes may not be distributed as part of any other class library,
|
||||
// DLL, text (written or electronic), other than a complete distribution of
|
||||
// the wxWindows GUI development toolkit.
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/*
|
||||
// SYNOPSIS START
|
||||
// SYNOPSIS STOP
|
||||
*/
|
||||
|
||||
#ifndef TABLE_DOT_H
|
||||
#define TABLE_DOT_H
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "dbtable.h"
|
||||
#endif
|
||||
|
||||
#include "wx/db.h"
|
||||
|
||||
const ROWID_LEN = 24; // 18 is the max, 24 is in case it gets larger
|
||||
|
||||
// The following class is used to define a column of a table.
|
||||
// The wxTable constructor will dynamically allocate as many of
|
||||
// these as there are columns in the table. The class derived
|
||||
// from wxTable must initialize these column definitions in it's
|
||||
// constructor. These column definitions provide inf. to the
|
||||
// wxTable class which allows it to create a table in the data
|
||||
// source, exchange data between the data source and the C++
|
||||
// object, and so on.
|
||||
|
||||
class CcolDef
|
||||
{
|
||||
public:
|
||||
char ColName[DB_MAX_COLUMN_NAME_LEN+1]; // Column Name glt 4/19/97 added one for the null terminator
|
||||
int DbDataType; // Logical Data Type; e.g. DB_DATA_TYPE_INTEGER
|
||||
int SqlCtype; // C data type; e.g. SQL_C_LONG
|
||||
void *PtrDataObj; // Address of the data object
|
||||
int SzDataObj; // Size, in bytes, of the data object
|
||||
bool KeyField; // TRUE if this column is part of the PRIMARY KEY to the table; Date fields should NOT be KeyFields.
|
||||
bool Updateable; // Specifies whether this column is updateable
|
||||
bool InsertAllowed; // Specifies whether this column should be included in an INSERT statement
|
||||
bool DerivedCol; // Specifies whether this column is a derived value
|
||||
SDWORD CbValue; // Internal use only!!!
|
||||
}; // CcolDef
|
||||
|
||||
// This structure is used when creating secondary indexes.
|
||||
class CidxDef
|
||||
{
|
||||
public:
|
||||
char ColName[DB_MAX_COLUMN_NAME_LEN+1]; // Column Name glt 4/19/97 added one for the null terminator
|
||||
bool Ascending;
|
||||
}; // CidxDef
|
||||
|
||||
class wxTable
|
||||
{
|
||||
private:
|
||||
|
||||
// Private member variables
|
||||
int currCursorNo;
|
||||
|
||||
// Private member functions
|
||||
bool bindInsertParams(void);
|
||||
bool bindUpdateParams(void);
|
||||
bool bindCols(HSTMT cursor);
|
||||
bool getRec(UWORD fetchType);
|
||||
bool execDelete(char *pSqlStmt);
|
||||
bool execUpdate(char *pSqlStmt);
|
||||
bool query(int queryType, bool forUpdate, bool distinct, char *pSqlStmt = 0);
|
||||
|
||||
public:
|
||||
|
||||
// Pointer to the database object this table belongs to
|
||||
wxDB *pDb;
|
||||
|
||||
// ODBC Handles
|
||||
HENV henv; // ODBC Environment handle
|
||||
HDBC hdbc; // ODBC DB Connection handle
|
||||
HSTMT hstmt; // ODBC Statement handle
|
||||
// HSTMT c0, c1, c2, c3, c4, c5; // Cursors 0 through 5
|
||||
HSTMT c0, c1, c2; // Limited to Cursors 0 through 2 for now
|
||||
HSTMT hstmtInsert; // ODBC Statement handle used specifically for inserts
|
||||
HSTMT hstmtDelete; // ODBC Statement handle used specifically for deletes
|
||||
HSTMT hstmtUpdate; // ODBC Statement handle used specifically for updates
|
||||
HSTMT hstmtCount; // ODBC Statement handle used specifically for COUNT(*)
|
||||
|
||||
// Table Inf.
|
||||
char tableName[DB_MAX_TABLE_NAME_LEN+1]; // Table name
|
||||
char queryTableName[DB_MAX_TABLE_NAME_LEN+1]; // Query Table Name
|
||||
int noCols; // # of columns in the table
|
||||
|
||||
// Column Definitions
|
||||
CcolDef *colDefs; // Array of CcolDef structures
|
||||
|
||||
// Where and Order By clauses
|
||||
char *where; // Standard SQL where clause, minus the word WHERE
|
||||
char *orderBy; // Standard SQL order by clause, minus the ORDER BY
|
||||
|
||||
// Flags
|
||||
bool selectForUpdate;
|
||||
|
||||
// Public member functions
|
||||
wxTable(wxDB *pwxDB, const char *tblName, const int nCols, const char *qryTblName = 0);
|
||||
~wxTable();
|
||||
bool Open(void);
|
||||
bool CreateTable(void);
|
||||
bool CreateIndex(char * idxName, bool unique, int noIdxCols, CidxDef *pIdxDefs);
|
||||
bool CloseCursor(HSTMT cursor);
|
||||
int Insert(void);
|
||||
bool Update(void);
|
||||
bool Update(char *pSqlStmt);
|
||||
bool UpdateWhere(char *pWhereClause);
|
||||
bool Delete(void);
|
||||
bool DeleteWhere(char *pWhereClause);
|
||||
bool DeleteMatching(void);
|
||||
bool Query(bool forUpdate = FALSE, bool distinct = FALSE);
|
||||
bool QueryBySqlStmt(char *pSqlStmt);
|
||||
bool QueryMatching(bool forUpdate = FALSE, bool distinct = FALSE);
|
||||
bool QueryOnKeyFields(bool forUpdate = FALSE, bool distinct = FALSE);
|
||||
bool GetNext(void) { return(getRec(SQL_FETCH_NEXT)); }
|
||||
bool operator++(int) { return(getRec(SQL_FETCH_NEXT)); }
|
||||
#ifndef FWD_ONLY_CURSORS
|
||||
bool GetPrev(void) { return(getRec(SQL_FETCH_PRIOR)); }
|
||||
bool operator--(int) { return(getRec(SQL_FETCH_PRIOR)); }
|
||||
bool GetFirst(void) { return(getRec(SQL_FETCH_FIRST)); }
|
||||
bool GetLast(void) { return(getRec(SQL_FETCH_LAST)); }
|
||||
#endif
|
||||
bool IsCursorClosedOnCommit(void);
|
||||
bool IsColNull(int colNo);
|
||||
UWORD GetRowNum(void);
|
||||
void GetSelectStmt(char *pSqlStmt, int typeOfSelect, bool distinct);
|
||||
void GetDeleteStmt(char *pSqlStmt, int typeOfDel, char *pWhereClause = 0);
|
||||
void GetUpdateStmt(char *pSqlStmt, int typeOfUpd, char *pWhereClause = 0);
|
||||
void GetWhereClause(char *pWhereClause, int typeOfWhere);
|
||||
bool CanSelectForUpdate(void);
|
||||
bool CanUpdByROWID(void);
|
||||
void ClearMemberVars(void);
|
||||
bool SetQueryTimeout(UDWORD nSeconds);
|
||||
void SetColDefs (int index, char *fieldName, int dataType, void *pData, int cType,
|
||||
int size, bool keyField = FALSE, bool upd = TRUE,
|
||||
bool insAllow = TRUE, bool derivedCol = FALSE);
|
||||
bool SetCursor(int cursorNo = DB_CURSOR0);
|
||||
int GetCursor(void) { return(currCursorNo); }
|
||||
ULONG Count(void);
|
||||
int DB_STATUS(void) { return(pDb->DB_STATUS); }
|
||||
bool Refresh(void);
|
||||
|
||||
}; // wxTable
|
||||
|
||||
#endif
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DC_H_BASE_
|
||||
#define _WX_DC_H_BASE_
|
||||
#ifndef __DCH_BASE__
|
||||
#define __DCH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dc.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dc.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dc.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dc.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dc.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dc.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dc.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DC_H_BASE_
|
||||
// __DCH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DCCLIENT_H_BASE_
|
||||
#define _WX_DCCLIENT_H_BASE_
|
||||
#ifndef __DCCLIENTH_BASE__
|
||||
#define __DCCLIENTH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dcclient.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dcclient.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dcclient.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dcclient.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dcclient.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dcclient.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dcclient.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DCCLIENT_H_BASE_
|
||||
// __DCCLIENTH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DCMEMORY_H_BASE_
|
||||
#define _WX_DCMEMORY_H_BASE_
|
||||
#ifndef __DCMEMORYH_BASE__
|
||||
#define __DCMEMORYH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dcmemory.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dcmemory.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dcmemory.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dcmemory.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dcmemory.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dcmemory.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dcmemory.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DCMEMORY_H_BASE_
|
||||
// __DCMEMORYH_BASE__
|
||||
|
@@ -1,9 +1,9 @@
|
||||
#ifndef _WX_DCPRINT_H_BASE_
|
||||
#define _WX_DCPRINT_H_BASE_
|
||||
#ifndef __DCPRINTH_BASE__
|
||||
#define __DCPRINTH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dcprint.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DCPRINT_H_BASE_
|
||||
// __DCPRINTH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DCSCREEN_H_BASE_
|
||||
#define _WX_DCSCREEN_H_BASE_
|
||||
#ifndef __DCSCREENH_BASE__
|
||||
#define __DCSCREENH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dcscreen.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dcscreen.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dcscreen.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dcscreen.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dcscreen.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dcscreen.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dcscreen.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DCSCREEN_H_BASE_
|
||||
// __DCSCREENH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DDE_H_BASE_
|
||||
#define _WX_DDE_H_BASE_
|
||||
#ifndef __DDEH_BASE__
|
||||
#define __DDEH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dde.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dde.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dde.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dde.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dde.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dde.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dde.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DDE_H_BASE_
|
||||
// __DDEH_BASE__
|
||||
|
@@ -9,8 +9,8 @@
|
||||
// Licence: wxWindows license
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DEBUG_H_
|
||||
#define _WX_DEBUG_H_
|
||||
#ifndef __DEBUGH__
|
||||
#define __DEBUGH__
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<BR>
|
||||
<BR>
|
||||
Extensive use of these macros is recommended! Remember that ASSERTs are
|
||||
disabled in final (without WXDEBUG defined) build, so they add strictly
|
||||
disabled in final (without DEBUG defined) build, so they add strictly
|
||||
nothing to your program's code. On the other hand, CHECK macros do stay
|
||||
even in release builds, but in general are not much of a burden, while
|
||||
a judicious use of them might increase your program's stability.
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
/** @name Macros which are completely disabled in 'release' mode */
|
||||
//@{
|
||||
#ifdef __WXDEBUG__
|
||||
#ifdef __DEBUG__
|
||||
/**
|
||||
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
|
||||
@@ -51,7 +51,7 @@
|
||||
@param szFile and nLine - file name and line number of the ASSERT
|
||||
szMsg - optional message explaining the reason
|
||||
*/
|
||||
void wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) NULL);
|
||||
void wxOnAssert(const char *szFile, int nLine, const char *szMsg = NULL);
|
||||
|
||||
/// generic assert macro
|
||||
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
||||
@@ -62,7 +62,7 @@
|
||||
// no more bugs ;-)
|
||||
#define wxASSERT(cond)
|
||||
#define wxASSERT_MSG(x, m)
|
||||
#endif //WXDEBUG
|
||||
#endif //DEBUG
|
||||
|
||||
/// special form of assert: always triggers it (in debug mode)
|
||||
#define wxFAIL wxASSERT(0)
|
||||
@@ -99,5 +99,5 @@
|
||||
|
||||
//@}
|
||||
|
||||
#endif // _WX_DEBUG_H_
|
||||
#endif // __DEBUGH__
|
||||
|
||||
|
@@ -9,14 +9,14 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DEFS_H_
|
||||
#define _WX_DEFS_H_
|
||||
#ifndef __DEFSH__
|
||||
#define __DEFSH__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "defs.h"
|
||||
#endif
|
||||
|
||||
#ifdef __WXGTK__
|
||||
#ifdef __GTK__
|
||||
|
||||
#include "glib.h"
|
||||
#include "gdk/gdk.h"
|
||||
@@ -30,14 +30,8 @@
|
||||
#include "wx/version.h"
|
||||
|
||||
// Helps SGI compilation, apparently
|
||||
#if defined(__SGI__)
|
||||
#if defined(__GNUG__)
|
||||
#if defined(__SGI__) && defined(__GNUG__)
|
||||
#define __need_wchar_t
|
||||
#else
|
||||
/* Note I use the term __SGI_CC__ for both cc and CC, its not a good idea to
|
||||
* mix gcc and cc/CC, the name mangling is different */
|
||||
#define __SGI_CC__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Eliminate double/float warnings
|
||||
@@ -49,15 +43,19 @@
|
||||
//////////////////////////////////////////////////////////////////////////////////
|
||||
// Currently Only MS-Windows/NT, XView and Motif are supported
|
||||
//
|
||||
#if defined(__HPUX__) && !defined(__WXMOTIF__)
|
||||
# define __WXMOTIF__
|
||||
#if defined(__HPUX__) && !defined(__MOTIF__)
|
||||
# define __MOTIF__
|
||||
#endif
|
||||
#if defined(__WXMOTIF__)
|
||||
#if defined(__MOTIF__)
|
||||
# define __X__
|
||||
#elif defined(__WINDOWS__) || defined(__WINDOWS_386__) || defined(__NT__) || defined(__MSDOS__)
|
||||
# ifndef __WINDOWS__
|
||||
# define __WINDOWS__
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// wxWindows checks for WIN32, not __WIN32__
|
||||
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__) && !defined(__WXSTUBS__))
|
||||
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__))
|
||||
#define __WIN32__
|
||||
#endif
|
||||
|
||||
@@ -70,14 +68,13 @@
|
||||
#endif
|
||||
|
||||
// Make sure the environment is set correctly
|
||||
#if defined(__WXMSW__) && defined(__X__)
|
||||
#if defined(__WINDOWS__) && defined(__X__)
|
||||
# error "Target can't be both X and Windows"
|
||||
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \
|
||||
!defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__)
|
||||
#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]"
|
||||
#elif !defined(__MOTIF__) && !defined(__WINDOWS__) && !defined(__GTK__) && !defined(__MAC__) && !defined(__X__)
|
||||
#error "No Target! Use -D[__MOTIF__|__GTK__|__WINDOWS__|__MAC__]"
|
||||
#endif
|
||||
|
||||
#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__)
|
||||
#if defined(__MOTIF__) || defined(__GTK__)
|
||||
|
||||
// Bool is now obsolete, use bool instead
|
||||
// typedef int Bool;
|
||||
@@ -88,7 +85,7 @@
|
||||
# define Bool_DEFINED
|
||||
#endif
|
||||
|
||||
#elif defined(__WXMSW__)
|
||||
#elif defined(__WINDOWS__)
|
||||
|
||||
#ifndef TRUE
|
||||
# define TRUE 1
|
||||
@@ -122,7 +119,7 @@ typedef int wxWindowID;
|
||||
* Making or using wxWindows as a Windows DLL
|
||||
*/
|
||||
|
||||
#ifdef __WXMSW__
|
||||
#ifdef __WINDOWS__
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
|
||||
@@ -175,9 +172,22 @@ typedef int wxWindowID;
|
||||
class WXDLLEXPORT wxObject;
|
||||
class WXDLLEXPORT wxEvent;
|
||||
|
||||
/** symbolic constant used by all Find()-like functions returning positive
|
||||
// Vadim's types - check whether we need them all
|
||||
|
||||
/// the type for various indexes (string, arrays, ...)
|
||||
typedef unsigned int uint;
|
||||
|
||||
/// extended boolean type: { yes, no, may be }
|
||||
typedef signed int EBool;
|
||||
|
||||
/// with TRUE and FALSE is a possible value for a "3-state" boolean var
|
||||
#define UNKNOWN (-1)
|
||||
/** symbolic constant used by all Find()-like functions returning positive
|
||||
integer on success as failure indicator */
|
||||
#define NOT_FOUND (-1)
|
||||
/** useful for Windows programmers: makes somewhat more clear all these
|
||||
zeroes being passed to Windows APIs */
|
||||
#define RESERVED (NULL)
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// Error codes
|
||||
@@ -200,32 +210,10 @@ enum ErrCode
|
||||
/** @name Very common macros */
|
||||
// ----------------------------------------------------------------------------
|
||||
//@{
|
||||
/// delete pointer if it is not NULL and NULL it afterwards
|
||||
// (checking that it's !NULL before passing it to delete is just a
|
||||
// a question of style, because delete will do it itself anyhow, but it might
|
||||
// be considered as an error by some overzealous debugging implementations of
|
||||
// the library, so we do it ourselves)
|
||||
#if defined(__SGI_CC__)
|
||||
// Okay this is bad styling, but the native SGI compiler is very picky, it
|
||||
// wont let you compare/assign between a NULL (void *) and another pointer
|
||||
// type. To be really clean we'd need to pass in another argument, the type
|
||||
// of p.
|
||||
// Also note the use of 0L, this would allow future possible 64bit support
|
||||
// (as yet untested) by ensuring that we zero all the bits in a pointer
|
||||
// (which is always the same length as a long (at least with the LP64 standard)
|
||||
// --- offer aug 98
|
||||
#define wxDELETE(p) if ( (p) ) { delete (p); p = 0L; }
|
||||
#else
|
||||
#define wxDELETE(p) if ( (p) != NULL ) { delete p; p = NULL; }
|
||||
#endif /* __SGI__CC__ */
|
||||
|
||||
// delete an array and NULL it (see comments above)
|
||||
#if defined(__SGI_CC__)
|
||||
// see above comment.
|
||||
#define wxDELETEA(p) if ( (p) ) { delete [] (p); p = 0L; }
|
||||
#else
|
||||
#define wxDELETEA(p) if ( ((void *) (p)) != NULL ) { delete [] p; p = NULL; }
|
||||
#endif /* __SGI__CC__ */
|
||||
/// delete pointer if it is not NULL
|
||||
#define DELETEP(p) if ( (p) != NULL ) delete (p)
|
||||
/// delete array pointer if it is not NULL
|
||||
#define DELETEA(p) if ( (p) != NULL ) delete [] (p)
|
||||
|
||||
/// size of statically declared array
|
||||
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
|
||||
@@ -235,13 +223,17 @@ enum ErrCode
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// OS
|
||||
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi )
|
||||
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__)
|
||||
#ifndef __UNIX__
|
||||
#define __UNIX__
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef __UNIX__ // Windows
|
||||
#ifndef __WINDOWS__
|
||||
#define __WINDOWS__
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#define __VISUALC__
|
||||
#elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
|
||||
@@ -254,6 +246,14 @@ enum ErrCode
|
||||
|
||||
#endif // OS
|
||||
|
||||
#if defined(__UNIX__)
|
||||
#define FILE_PATH_SEPARATOR ('/')
|
||||
#elif defined(__WINDOWS__)
|
||||
#define FILE_PATH_SEPARATOR ('\\')
|
||||
#else
|
||||
#error "don't know path separator for this platform"
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// compiler specific settings
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -367,10 +367,8 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||
*/
|
||||
|
||||
#define wxTB_3DBUTTONS 0x8000
|
||||
#define wxTB_HORIZONTAL 0x0002
|
||||
#define wxTB_VERTICAL 0x0004
|
||||
// Flatbar/Coolbar under Win98
|
||||
#define wxTB_FLAT 0x0008
|
||||
#define wxTB_FLAT 0x0002
|
||||
|
||||
/*
|
||||
* Apply to all panel items
|
||||
@@ -389,14 +387,21 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||
* Styles for wxListBox
|
||||
*/
|
||||
|
||||
// In wxListBox style flag
|
||||
#define wxSB_MASK 0x0008
|
||||
#define wxNEEDED_SB 0x0000
|
||||
#define wxALWAYS_SB 0x0008
|
||||
|
||||
// New naming convention
|
||||
#define wxLB_NEEDED_SB wxNEEDED_SB
|
||||
#define wxLB_ALWAYS_SB wxALWAYS_SB
|
||||
#define wxLB_SORT 0x0010
|
||||
#define wxLB_SINGLE 0x0020
|
||||
// These duplicate the styles in the Multiple argument
|
||||
#define wxLB_SINGLE 0x0000
|
||||
#define wxLB_MULTIPLE 0x0040
|
||||
#define wxLB_EXTENDED 0x0080
|
||||
// wxLB_OWNERDRAW is Windows-only
|
||||
#define wxLB_OWNERDRAW 0x0100
|
||||
#define wxLB_NEEDED_SB 0x0200
|
||||
#define wxLB_ALWAYS_SB 0x0400
|
||||
#define wxLB_HSCROLL wxHSCROLL
|
||||
|
||||
/*
|
||||
@@ -409,16 +414,19 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
||||
#define wxTE_READONLY 0x0010
|
||||
#define wxTE_MULTILINE 0x0020
|
||||
|
||||
// MSW-only
|
||||
#define wxTE_RICHTEXT 0x0020
|
||||
// TODO For backward compatibility, need wxOLD_READONLY
|
||||
#define wxREADONLY wxTE_READONLY
|
||||
#define wxEDITABLE 0
|
||||
|
||||
// #define wxTE_RICHTEXT 0x0020
|
||||
|
||||
/*
|
||||
* wxComboBox style flags
|
||||
*/
|
||||
#define wxCB_SIMPLE 0x0004
|
||||
#define wxCB_DROPDOWN 0x0000
|
||||
#define wxCB_SORT 0x0008
|
||||
#define wxCB_READONLY 0x0010
|
||||
#define wxCB_DROPDOWN 0x0020
|
||||
#define wxCB_READONLY wxREADONLY
|
||||
|
||||
/*
|
||||
* wxRadioBox/wxRadioButton style flags
|
||||
@@ -657,35 +665,26 @@ typedef enum {
|
||||
// Possible SetSize flags
|
||||
|
||||
// Use internally-calculated width if -1
|
||||
#define wxSIZE_AUTO_WIDTH 0x0001
|
||||
#define wxSIZE_AUTO_WIDTH 1
|
||||
// Use internally-calculated height if -1
|
||||
#define wxSIZE_AUTO_HEIGHT 0x0002
|
||||
#define wxSIZE_AUTO_HEIGHT 2
|
||||
// Use internally-calculated width and height if each is -1
|
||||
#define wxSIZE_AUTO (wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT)
|
||||
#define wxSIZE_AUTO 3
|
||||
// Ignore missing (-1) dimensions (use existing).
|
||||
// For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code.
|
||||
#define wxSIZE_USE_EXISTING 0x0000
|
||||
#define wxSIZE_USE_EXISTING 0
|
||||
// Allow -1 as a valid position
|
||||
#define wxSIZE_ALLOW_MINUS_ONE 0x0004
|
||||
// Don't do parent client adjustments (for implementation only)
|
||||
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
||||
#define wxSIZE_ALLOW_MINUS_ONE 4
|
||||
|
||||
|
||||
// Data format for drag & drop and clipboard operations
|
||||
// numbers as per winuser.h
|
||||
|
||||
enum wxDataFormat
|
||||
{
|
||||
wxDF_TEXT = 1, /* CF_TEXT */
|
||||
wxDF_BITMAP = 2, /* CF_BITMAP */
|
||||
wxDF_METAFILE = 3, /* CF_METAFILEPICT */
|
||||
wxDF_DIB = 8, /* CF_DIB */
|
||||
wxDF_OEMTEXT = 7, /* CF_OEMTEXT */
|
||||
wxDF_FILENAME = 15 /* CF_HDROP */
|
||||
};
|
||||
// Clipboard formats
|
||||
// Numbers as per winuser.h
|
||||
# define wxCF_TEXT 1 /* CF_TEXT */
|
||||
# define wxCF_BITMAP 2 /* CF_BITMAP */
|
||||
# define wxCF_METAFILE 3 /* CF_METAFILEPICT */
|
||||
# define wxCF_DIB 8 /* CF_DIB */
|
||||
# define wxCF_OEMTEXT 7 /* CF_OEMTEXT */
|
||||
|
||||
// Virtual keycodes
|
||||
|
||||
enum _Virtual_keycodes {
|
||||
WXK_BACK = 8,
|
||||
WXK_TAB = 9,
|
||||
@@ -770,23 +769,20 @@ enum _Virtual_keycodes {
|
||||
// OS mnemonics -- Identify the running OS (useful for Windows)
|
||||
// [Not all platforms are currently available or supported]
|
||||
enum {
|
||||
wxUNKNOWN_PLATFORM,
|
||||
wxCURSES, // Text-only CURSES
|
||||
wxCURSES,
|
||||
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
||||
wxMOTIF_X, // OSF Motif 1.x.x
|
||||
wxCOSE_X, // OSF Common Desktop Environment
|
||||
wxCOSE_X, // OSF Common Desktop Environment
|
||||
wxNEXTSTEP, // NeXTStep
|
||||
wxMACINTOSH, // Apple System 7
|
||||
wxGTK, // GTK
|
||||
wxQT, // Qt
|
||||
wxGEOS, // GEOS
|
||||
wxOS2_PM, // OS/2 Workplace
|
||||
wxGEOS, // GEOS
|
||||
wxOS2_PM, // OS/2 Workplace
|
||||
wxWINDOWS, // Windows or WfW
|
||||
wxPENWINDOWS, // Windows for Pen Computing
|
||||
wxWINDOWS_NT, // Windows NT
|
||||
wxWIN32S, // Windows 32S API
|
||||
wxWIN95, // Windows 95
|
||||
wxWIN386 // Watcom 32-bit supervisor modus
|
||||
wxWIN32S, // Windows 32S API
|
||||
wxWIN95, // Windows 95
|
||||
wxWIN386 // Watcom 32-bit supervisor modus
|
||||
};
|
||||
|
||||
// Printing
|
||||
@@ -836,9 +832,8 @@ enum {
|
||||
#define wxID_APPLY 5102
|
||||
#define wxID_YES 5103
|
||||
#define wxID_NO 5104
|
||||
#define wxID_STATIC 5105
|
||||
|
||||
#ifdef __WXMSW__
|
||||
#ifdef __WINDOWS__
|
||||
// Stand-ins for Windows types, to avoid
|
||||
// #including all of windows.h
|
||||
|
||||
@@ -852,7 +847,6 @@ typedef unsigned long WXHBRUSH;
|
||||
typedef unsigned long WXHPALETTE;
|
||||
typedef unsigned long WXHCURSOR;
|
||||
typedef unsigned long WXHRGN;
|
||||
typedef unsigned long WXHACCEL;
|
||||
typedef unsigned long WXHINSTANCE;
|
||||
typedef unsigned long WXHBITMAP;
|
||||
typedef unsigned long WXHIMAGELIST;
|
||||
@@ -864,20 +858,19 @@ typedef unsigned short WXWORD;
|
||||
typedef unsigned int WXWPARAM;
|
||||
typedef long WXLPARAM;
|
||||
typedef unsigned long WXCOLORREF;
|
||||
typedef void * WXRGN;
|
||||
typedef void * WXRGNDATA;
|
||||
typedef void * WXMSG;
|
||||
typedef unsigned long WXHCONV;
|
||||
typedef unsigned long WXHKEY;
|
||||
typedef void * WXDRAWITEMSTRUCT;
|
||||
typedef void * WXMEASUREITEMSTRUCT;
|
||||
typedef void * WXLPCREATESTRUCT;
|
||||
#ifdef __GNUWIN32__
|
||||
typedef int (*WXFARPROC)();
|
||||
#else
|
||||
typedef int (__stdcall *WXFARPROC)();
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// for drag & drop and clipboard operations
|
||||
typedef unsigned short wxDataFormat;
|
||||
|
||||
#endif
|
||||
// _WX_DEFS_H_
|
||||
// __WXDEFSH__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DIALOG_H_BASE_
|
||||
#define _WX_DIALOG_H_BASE_
|
||||
#ifndef __DIALOGH_BASE__
|
||||
#define __DIALOGH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dialog.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dialog.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dialog.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dialog.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dialog.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dialog.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dialog.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DIALOG_H_BASE_
|
||||
// __DIALOGH_BASE__
|
||||
|
@@ -1,19 +1,13 @@
|
||||
#ifndef _WX_DIRDLG_H_BASE_
|
||||
#define _WX_DIRDLG_H_BASE_
|
||||
#ifndef __DIRDLGH_BASE__
|
||||
#define __DIRDLGH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/dirdlg.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#include "wx/motif/dirdlg.h"
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#include "wx/xt/dirdlg.h"
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dirdlg.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dirdlg.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dirdlg.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dirdlg.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DIRDLG_H_BASE_
|
||||
// __DIRDLGH_BASE__
|
||||
|
@@ -1,20 +1,14 @@
|
||||
#ifndef _WX_DND_H_BASE_
|
||||
#define _WX_DND_H_BASE_
|
||||
#ifndef __DNDH_BASE__
|
||||
#define __DNDH_BASE__
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#if defined(__WINDOWS__)
|
||||
#include "wx/msw/ole/dropsrc.h"
|
||||
#include "wx/msw/ole/droptgt.h"
|
||||
#include "wx/msw/ole/dataobj.h"
|
||||
#elif defined(__WXMOTIF__)
|
||||
#elif defined(__WXGTK__)
|
||||
#elif defined(__MOTIF__)
|
||||
#elif defined(__GTK__)
|
||||
#include "wx/gtk/dnd.h"
|
||||
#elif defined(__WXQT__)
|
||||
#include "wx/qt/dnd.h"
|
||||
#elif defined(__WXMAC__)
|
||||
#include "wx/mac/dnd.h"
|
||||
#elif defined(__WXSTUBS__)
|
||||
#include "wx/stubs/dnd.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
// _WX_DND_H_BASE_
|
||||
// __DNDH_BASE__
|
||||
|
@@ -1,83 +0,0 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: docmdi.h
|
||||
// Purpose: Frame classes for MDI document/view applications
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 01/02/97
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c)
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DOCMDI_H_
|
||||
#define _WX_DOCMDI_H_
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "docmdi.h"
|
||||
#endif
|
||||
|
||||
#include "wx/docview.h"
|
||||
#include "wx/mdi.h"
|
||||
|
||||
/*
|
||||
* Use this instead of wxMDIParentFrame
|
||||
*/
|
||||
|
||||
class wxDocMDIParentFrame: public wxMDIParentFrame
|
||||
{
|
||||
DECLARE_CLASS(wxDocMDIParentFrame)
|
||||
public:
|
||||
wxDocMDIParentFrame(wxDocManager *manager, wxFrame *parent, wxWindowID id,
|
||||
const wxString& title, const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
||||
|
||||
bool OnClose(void);
|
||||
// Extend event processing to search the document manager's event table
|
||||
virtual bool ProcessEvent(wxEvent& event);
|
||||
|
||||
wxDocManager *GetDocumentManager(void) const { return m_docManager; }
|
||||
|
||||
void OnExit(wxCommandEvent& event);
|
||||
void OnMRUFile(wxCommandEvent& event);
|
||||
|
||||
protected:
|
||||
wxDocManager *m_docManager;
|
||||
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
};
|
||||
|
||||
/*
|
||||
* Use this instead of wxMDIChildFrame
|
||||
*/
|
||||
|
||||
class WXDLLEXPORT wxDocMDIChildFrame: public wxMDIChildFrame
|
||||
{
|
||||
DECLARE_CLASS(wxDocMDIChildFrame)
|
||||
|
||||
public:
|
||||
wxDocMDIChildFrame(wxDocument *doc, wxView *view, wxMDIParentFrame *frame, wxWindowID id,
|
||||
const wxString& title, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||
long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
||||
~wxDocMDIChildFrame(void);
|
||||
|
||||
bool OnClose(void);
|
||||
// Extend event processing to search the view's event table
|
||||
virtual bool ProcessEvent(wxEvent& event);
|
||||
|
||||
void OnActivate(wxActivateEvent& event);
|
||||
|
||||
inline wxDocument *GetDocument(void) const { return m_childDocument; }
|
||||
inline wxView *GetView(void) const { return m_childView; }
|
||||
inline void SetDocument(wxDocument *doc) { m_childDocument = doc; }
|
||||
inline void SetView(wxView *view) { m_childView = view; }
|
||||
protected:
|
||||
wxDocument* m_childDocument;
|
||||
wxView* m_childView;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
// _WX_DOCMDI_H_
|
@@ -9,8 +9,8 @@
|
||||
// Licence: wxWindows licence
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_DOCH__
|
||||
#define _WX_DOCH__
|
||||
#ifndef __DOCH__
|
||||
#define __DOCH__
|
||||
|
||||
#ifdef __GNUG__
|
||||
#pragma interface "docview.h"
|
||||
@@ -56,7 +56,7 @@ class WXDLLEXPORT wxDocument : public wxEvtHandler
|
||||
{
|
||||
DECLARE_ABSTRACT_CLASS(wxDocument)
|
||||
public:
|
||||
wxDocument(wxDocument *parent = (wxDocument *) NULL);
|
||||
wxDocument(wxDocument *parent = NULL);
|
||||
~wxDocument(void);
|
||||
|
||||
void SetFilename(const wxString& filename, bool notifyViews = FALSE);
|
||||
@@ -114,7 +114,7 @@ class WXDLLEXPORT wxDocument : public wxEvtHandler
|
||||
inline wxList& GetViews(void) const { return (wxList&) m_documentViews; }
|
||||
wxView *GetFirstView(void) const;
|
||||
|
||||
virtual void UpdateAllViews(wxView *sender = (wxView *) NULL, wxObject *hint = (wxObject *) NULL);
|
||||
virtual void UpdateAllViews(wxView *sender = NULL, wxObject *hint = NULL);
|
||||
|
||||
// Remove all views (because we're closing the document)
|
||||
virtual bool DeleteAllViews(void);
|
||||
@@ -146,7 +146,7 @@ class WXDLLEXPORT wxView: public wxEvtHandler
|
||||
{
|
||||
DECLARE_ABSTRACT_CLASS(wxView)
|
||||
public:
|
||||
wxView(wxDocument *doc = (wxDocument *) NULL);
|
||||
wxView(wxDocument *doc = NULL);
|
||||
~wxView(void);
|
||||
|
||||
inline wxDocument *GetDocument(void) const { return m_viewDocument; }
|
||||
@@ -161,7 +161,7 @@ class WXDLLEXPORT wxView: public wxEvtHandler
|
||||
virtual void OnActivateView(bool activate, wxView *activeView, wxView *deactiveView);
|
||||
virtual void OnDraw(wxDC *dc) = 0;
|
||||
virtual void OnPrint(wxDC *dc, wxObject *info);
|
||||
virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) NULL);
|
||||
virtual void OnUpdate(wxView *sender, wxObject *hint = NULL);
|
||||
virtual void OnChangeFilename(void);
|
||||
|
||||
// Called by framework if created automatically by the
|
||||
@@ -212,7 +212,7 @@ class WXDLLEXPORT wxDocTemplate: public wxObject
|
||||
// template/document type
|
||||
wxDocTemplate(wxDocManager *manager, const wxString& descr, const wxString& filter, const wxString& dir,
|
||||
const wxString& ext, const wxString& docTypeName, const wxString& viewTypeName,
|
||||
wxClassInfo *docClassInfo = (wxClassInfo *) NULL, wxClassInfo *viewClassInfo = (wxClassInfo *)NULL,
|
||||
wxClassInfo *docClassInfo = NULL, wxClassInfo *viewClassInfo = NULL,
|
||||
long flags = wxDEFAULT_TEMPLATE_FLAGS);
|
||||
|
||||
~wxDocTemplate(void);
|
||||
@@ -283,9 +283,9 @@ class WXDLLEXPORT wxDocManager: public wxEvtHandler
|
||||
void OnUndo(wxCommandEvent& event);
|
||||
void OnRedo(wxCommandEvent& event);
|
||||
|
||||
// Extend event processing to search the view's event table
|
||||
virtual bool ProcessEvent(wxEvent& event);
|
||||
|
||||
#ifdef WXWIN_COMPATIBILITY
|
||||
virtual wxDocument *CreateDocument(char *WXUNUSED(path), long WXUNUSED(flags = 0)) { return NULL; };
|
||||
#endif
|
||||
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
||||
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
||||
virtual void DeleteTemplate(wxDocTemplate *temp, long flags = 0);
|
||||
@@ -317,7 +317,7 @@ class WXDLLEXPORT wxDocManager: public wxEvtHandler
|
||||
// Views or windows should inform the document manager
|
||||
// when a view is going in or out of focus
|
||||
virtual void ActivateView(wxView *view, bool activate = TRUE, bool deleting = FALSE);
|
||||
virtual wxView *GetCurrentView(void) const;
|
||||
virtual inline wxView *GetCurrentView(void) const { return m_currentView; }
|
||||
|
||||
virtual inline wxList& GetDocuments(void) const { return (wxList&) m_docs; }
|
||||
|
||||
@@ -355,7 +355,7 @@ class WXDLLEXPORT wxDocChildFrame: public wxFrame
|
||||
DECLARE_CLASS(wxDocChildFrame)
|
||||
|
||||
public:
|
||||
wxDocChildFrame(wxDocument *doc, wxView *view, wxFrame *frame, wxWindowID id, const wxString& title,
|
||||
wxDocChildFrame(wxDocument *doc, wxView *view, wxFrame *frame, const wxString& title,
|
||||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||
long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
||||
~wxDocChildFrame(void);
|
||||
@@ -387,7 +387,7 @@ class WXDLLEXPORT wxDocParentFrame: public wxFrame
|
||||
{
|
||||
DECLARE_CLASS(wxDocParentFrame)
|
||||
public:
|
||||
wxDocParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title,
|
||||
wxDocParentFrame(wxDocManager *manager, wxFrame *frame, const wxString& title,
|
||||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||
long type = wxDEFAULT_FRAME, const wxString& name = "frame");
|
||||
|
||||
@@ -416,7 +416,7 @@ class WXDLLEXPORT wxDocPrintout: public wxPrintout
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
|
||||
public:
|
||||
wxDocPrintout(wxView *view = (wxView *) NULL, const wxString& title = "Printout");
|
||||
wxDocPrintout(wxView *view = NULL, const wxString& title = "Printout");
|
||||
bool OnPrintPage(int page);
|
||||
bool HasPage(int page);
|
||||
bool OnBeginDocument(int startPage, int endPage);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user