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
|
||||||
Makefiles:: recreate
|
Makefiles:: recreate
|
||||||
recreate::
|
recreate::
|
||||||
@setup/general/createall
|
@src/gtk/setup/general/createall
|
||||||
|
|
||||||
# the following ones define what needs to be done to distribute the
|
# the following ones define what needs to be done to distribute the
|
||||||
# library and its components
|
# library and its components
|
||||||
|
@@ -9,9 +9,6 @@ docs/todo.txt
|
|||||||
docs/licence.txt
|
docs/licence.txt
|
||||||
docs/symbols.txt
|
docs/symbols.txt
|
||||||
|
|
||||||
src/*.inc
|
|
||||||
src/mkdir
|
|
||||||
|
|
||||||
src/common/*.cpp
|
src/common/*.cpp
|
||||||
src/common/dosyacc.c
|
src/common/dosyacc.c
|
||||||
src/common/doslex.c
|
src/common/doslex.c
|
||||||
@@ -51,7 +48,6 @@ src/zlib/*.3
|
|||||||
src/zlib/*.mms
|
src/zlib/*.mms
|
||||||
|
|
||||||
include/wx/*.h
|
include/wx/*.h
|
||||||
include/wx/*.cpp
|
|
||||||
include/wx/wx_setup.vms
|
include/wx/wx_setup.vms
|
||||||
include/wx/common/*.h
|
include/wx/common/*.h
|
||||||
include/wx/generic/*.h
|
include/wx/generic/*.h
|
||||||
@@ -88,7 +84,6 @@ utils/wxhelp/src/*.cpp
|
|||||||
utils/wxhelp/src/*.h
|
utils/wxhelp/src/*.h
|
||||||
utils/wxhelp/src/makefile.*
|
utils/wxhelp/src/makefile.*
|
||||||
utils/wxhelp/src/*.xbm
|
utils/wxhelp/src/*.xbm
|
||||||
utils/wxhelp/src/*.xpm
|
|
||||||
utils/wxhelp/src/*.txt
|
utils/wxhelp/src/*.txt
|
||||||
utils/wxhelp/src/*.ico
|
utils/wxhelp/src/*.ico
|
||||||
utils/wxhelp/src/*.def
|
utils/wxhelp/src/*.def
|
||||||
@@ -99,7 +94,6 @@ utils/tex2rtf/src/*.cpp
|
|||||||
utils/tex2rtf/src/*.h
|
utils/tex2rtf/src/*.h
|
||||||
utils/tex2rtf/src/make*.*
|
utils/tex2rtf/src/make*.*
|
||||||
utils/tex2rtf/src/*.xbm
|
utils/tex2rtf/src/*.xbm
|
||||||
utils/tex2rtf/src/*.xpm
|
|
||||||
utils/tex2rtf/src/*.sty
|
utils/tex2rtf/src/*.sty
|
||||||
utils/tex2rtf/src/*.ini
|
utils/tex2rtf/src/*.ini
|
||||||
utils/tex2rtf/src/*.inf
|
utils/tex2rtf/src/*.inf
|
||||||
@@ -117,7 +111,6 @@ utils/wxtree/src/*.cpp
|
|||||||
utils/wxtree/src/*.h
|
utils/wxtree/src/*.h
|
||||||
utils/wxtree/src/makefile.*
|
utils/wxtree/src/makefile.*
|
||||||
utils/wxtree/src/*.xbm
|
utils/wxtree/src/*.xbm
|
||||||
utils/wxtree/src/*.xpm
|
|
||||||
utils/wxtree/lib/dummy
|
utils/wxtree/lib/dummy
|
||||||
utils/wxtree/src/*.ico
|
utils/wxtree/src/*.ico
|
||||||
utils/wxtree/src/*.def
|
utils/wxtree/src/*.def
|
||||||
@@ -128,7 +121,6 @@ utils/wxgraph/src/*.c
|
|||||||
utils/wxgraph/src/*.h
|
utils/wxgraph/src/*.h
|
||||||
utils/wxgraph/src/makefile.*
|
utils/wxgraph/src/makefile.*
|
||||||
utils/wxgraph/src/*.xbm
|
utils/wxgraph/src/*.xbm
|
||||||
utils/wxgraph/src/*.xpm
|
|
||||||
utils/wxgraph/lib/dummy
|
utils/wxgraph/lib/dummy
|
||||||
utils/wxgraph/src/*.ico
|
utils/wxgraph/src/*.ico
|
||||||
utils/wxgraph/src/*.def
|
utils/wxgraph/src/*.def
|
||||||
@@ -151,7 +143,6 @@ utils/rcparser/src/*.c
|
|||||||
utils/rcparser/src/*.h
|
utils/rcparser/src/*.h
|
||||||
utils/rcparser/src/makefile.*
|
utils/rcparser/src/makefile.*
|
||||||
utils/rcparser/src/*.xbm
|
utils/rcparser/src/*.xbm
|
||||||
utils/rcparser/src/*.xpm
|
|
||||||
utils/rcparser/lib/dummy
|
utils/rcparser/lib/dummy
|
||||||
utils/rcparser/src/*.ico
|
utils/rcparser/src/*.ico
|
||||||
utils/rcparser/src/*.def
|
utils/rcparser/src/*.def
|
||||||
@@ -164,7 +155,6 @@ utils/colours/*.def
|
|||||||
utils/colours/*.rc
|
utils/colours/*.rc
|
||||||
utils/colours/makefile.*
|
utils/colours/makefile.*
|
||||||
utils/colours/*.xbm
|
utils/colours/*.xbm
|
||||||
utils/colours/*.xpm
|
|
||||||
utils/colours/*.txt
|
utils/colours/*.txt
|
||||||
|
|
||||||
utils/wxprop/src/*.h
|
utils/wxprop/src/*.h
|
||||||
@@ -173,21 +163,18 @@ utils/wxprop/src/*.def
|
|||||||
utils/wxprop/src/*.rc
|
utils/wxprop/src/*.rc
|
||||||
utils/wxprop/src/makefile.*
|
utils/wxprop/src/makefile.*
|
||||||
utils/wxprop/src/*.xbm
|
utils/wxprop/src/*.xbm
|
||||||
utils/wxprop/src/*.xpm
|
|
||||||
utils/wxprop/src/*.txt
|
utils/wxprop/src/*.txt
|
||||||
utils/wxprop/src/*.ico
|
utils/wxprop/src/*.ico
|
||||||
utils/wxprop/src/*.bmp
|
utils/wxprop/src/*.bmp
|
||||||
utils/wxprop/lib/dummy
|
utils/wxprop/lib/dummy
|
||||||
|
|
||||||
utils/dialoged/src/bitmaps/*.xbm
|
utils/dialoged/src/bitmaps/*.xbm
|
||||||
utils/dialoged/src/bitmaps/*.xpm
|
|
||||||
utils/dialoged/src/*.h
|
utils/dialoged/src/*.h
|
||||||
utils/dialoged/src/*.cpp
|
utils/dialoged/src/*.cpp
|
||||||
utils/dialoged/src/*.def
|
utils/dialoged/src/*.def
|
||||||
utils/dialoged/src/*.rc
|
utils/dialoged/src/*.rc
|
||||||
utils/dialoged/src/makefile.*
|
utils/dialoged/src/makefile.*
|
||||||
utils/dialoged/src/*.xbm
|
utils/dialoged/src/*.xbm
|
||||||
utils/dialoged/src/*.xpm
|
|
||||||
utils/dialoged/src/*.txt
|
utils/dialoged/src/*.txt
|
||||||
utils/dialoged/src/*.inf
|
utils/dialoged/src/*.inf
|
||||||
utils/dialoged/test/*.h
|
utils/dialoged/test/*.h
|
||||||
@@ -208,24 +195,22 @@ utils/dialoged/test/*.bmp
|
|||||||
samples/*.txt
|
samples/*.txt
|
||||||
samples/makefile.*
|
samples/makefile.*
|
||||||
|
|
||||||
samples/config/*.cpp
|
samples/hello/*.cpp
|
||||||
samples/config/*.h
|
samples/hello/*.h
|
||||||
samples/config/*.def
|
samples/hello/*.def
|
||||||
samples/config/makefile*.*
|
samples/hello/makefile.*
|
||||||
samples/config/*.xbm
|
samples/hello/*.xbm
|
||||||
samples/config/*.xpm
|
samples/hello/*.txt
|
||||||
samples/config/*.txt
|
samples/hello/*.ico
|
||||||
samples/config/*.ico
|
samples/hello/*.bmp
|
||||||
samples/config/*.bmp
|
samples/hello/*.rc
|
||||||
samples/config/*.rc
|
samples/hello/*.wav
|
||||||
samples/config/*.wav
|
|
||||||
|
|
||||||
samples/dynamic/*.cpp
|
samples/dynamic/*.cpp
|
||||||
samples/dynamic/*.h
|
samples/dynamic/*.h
|
||||||
samples/dynamic/*.def
|
samples/dynamic/*.def
|
||||||
samples/dynamic/makefile*.*
|
samples/dynamic/makefile.*
|
||||||
samples/dynamic/*.xbm
|
samples/dynamic/*.xbm
|
||||||
samples/dynamic/*.xpm
|
|
||||||
samples/dynamic/*.txt
|
samples/dynamic/*.txt
|
||||||
samples/dynamic/*.ico
|
samples/dynamic/*.ico
|
||||||
samples/dynamic/*.bmp
|
samples/dynamic/*.bmp
|
||||||
@@ -235,9 +220,8 @@ samples/dynamic/*.wav
|
|||||||
samples/bombs/*.cpp
|
samples/bombs/*.cpp
|
||||||
samples/bombs/*.h
|
samples/bombs/*.h
|
||||||
samples/bombs/*.def
|
samples/bombs/*.def
|
||||||
samples/bombs/makefile*.*
|
samples/bombs/makefile.*
|
||||||
samples/bombs/*.xbm
|
samples/bombs/*.xbm
|
||||||
samples/bombs/*.xpm
|
|
||||||
samples/bombs/*.txt
|
samples/bombs/*.txt
|
||||||
samples/bombs/*.ico
|
samples/bombs/*.ico
|
||||||
samples/bombs/*.bmp
|
samples/bombs/*.bmp
|
||||||
@@ -246,9 +230,8 @@ samples/bombs/*.rc
|
|||||||
samples/ipc/*.cpp
|
samples/ipc/*.cpp
|
||||||
samples/ipc/*.h
|
samples/ipc/*.h
|
||||||
samples/ipc/*.def
|
samples/ipc/*.def
|
||||||
samples/ipc/makefile*.*
|
samples/ipc/makefile.*
|
||||||
samples/ipc/*.xbm
|
samples/ipc/*.xbm
|
||||||
samples/ipc/*.xpm
|
|
||||||
samples/ipc/*.ico
|
samples/ipc/*.ico
|
||||||
samples/ipc/*.rc
|
samples/ipc/*.rc
|
||||||
|
|
||||||
@@ -257,9 +240,8 @@ samples/types/*.h
|
|||||||
samples/types/*.def
|
samples/types/*.def
|
||||||
samples/types/*.rc
|
samples/types/*.rc
|
||||||
samples/types/*.txt
|
samples/types/*.txt
|
||||||
samples/types/makefile*.*
|
samples/types/makefile.*
|
||||||
samples/types/*.xbm
|
samples/types/*.xbm
|
||||||
samples/types/*.xpm
|
|
||||||
samples/types/*.ico
|
samples/types/*.ico
|
||||||
|
|
||||||
samples/resource/*.cpp
|
samples/resource/*.cpp
|
||||||
@@ -268,26 +250,23 @@ samples/resource/*.def
|
|||||||
samples/resource/*.rc
|
samples/resource/*.rc
|
||||||
samples/resource/*.txt
|
samples/resource/*.txt
|
||||||
samples/resource/*.wxr
|
samples/resource/*.wxr
|
||||||
samples/resource/makefile*.*
|
samples/resource/makefile.*
|
||||||
samples/resource/*.xbm
|
samples/resource/*.xbm
|
||||||
samples/resource/*.xpm
|
|
||||||
samples/resource/*.ico
|
samples/resource/*.ico
|
||||||
|
|
||||||
samples/animate/*.cpp
|
samples/animate/*.cpp
|
||||||
samples/animate/*.h
|
samples/animate/*.h
|
||||||
samples/animate/*.def
|
samples/animate/*.def
|
||||||
samples/animate/makefile*.*
|
samples/animate/makefile.*
|
||||||
samples/animate/*.xbm
|
samples/animate/*.xbm
|
||||||
samples/animate/*.xpm
|
|
||||||
samples/animate/*.ico
|
samples/animate/*.ico
|
||||||
samples/animate/*.rc
|
samples/animate/*.rc
|
||||||
|
|
||||||
samples/mdi/*.cpp
|
samples/mdi/*.cpp
|
||||||
samples/mdi/*.h
|
samples/mdi/*.h
|
||||||
samples/mdi/*.def
|
samples/mdi/*.def
|
||||||
samples/mdi/makefile*.*
|
samples/mdi/makefile.*
|
||||||
samples/mdi/*.xbm
|
samples/mdi/*.xbm
|
||||||
samples/mdi/*.xpm
|
|
||||||
samples/mdi/*.ico
|
samples/mdi/*.ico
|
||||||
samples/mdi/*.rc
|
samples/mdi/*.rc
|
||||||
samples/mdi/bitmaps/*.bmp
|
samples/mdi/bitmaps/*.bmp
|
||||||
@@ -296,18 +275,16 @@ samples/mdi/bitmaps/*.ico
|
|||||||
samples/minimal/*.cpp
|
samples/minimal/*.cpp
|
||||||
samples/minimal/*.h
|
samples/minimal/*.h
|
||||||
samples/minimal/*.def
|
samples/minimal/*.def
|
||||||
samples/minimal/makefile*.*
|
samples/minimal/makefile.*
|
||||||
samples/minimal/*.xbm
|
samples/minimal/*.xbm
|
||||||
samples/minimal/*.xpm
|
|
||||||
samples/minimal/*.ico
|
samples/minimal/*.ico
|
||||||
samples/minimal/*.rc
|
samples/minimal/*.rc
|
||||||
|
|
||||||
samples/controls/*.cpp
|
samples/controls/*.cpp
|
||||||
samples/controls/*.h
|
samples/controls/*.h
|
||||||
samples/controls/*.def
|
samples/controls/*.def
|
||||||
samples/controls/makefile*.*
|
samples/controls/makefile.*
|
||||||
samples/controls/*.xbm
|
samples/controls/*.xbm
|
||||||
samples/controls/*.xpm
|
|
||||||
samples/controls/*.ico
|
samples/controls/*.ico
|
||||||
samples/controls/*.bmp
|
samples/controls/*.bmp
|
||||||
samples/controls/*.rc
|
samples/controls/*.rc
|
||||||
@@ -315,55 +292,73 @@ samples/controls/*.rc
|
|||||||
samples/fractal/*.cpp
|
samples/fractal/*.cpp
|
||||||
samples/fractal/*.h
|
samples/fractal/*.h
|
||||||
samples/fractal/*.def
|
samples/fractal/*.def
|
||||||
samples/fractal/makefile*.*
|
samples/fractal/makefile.*
|
||||||
samples/fractal/*.xbm
|
samples/fractal/*.xbm
|
||||||
samples/fractal/*.xpm
|
|
||||||
samples/fractal/*.ico
|
samples/fractal/*.ico
|
||||||
samples/fractal/*.rc
|
samples/fractal/*.rc
|
||||||
|
|
||||||
samples/layout/*.cpp
|
samples/layout/*.cpp
|
||||||
samples/layout/*.h
|
samples/layout/*.h
|
||||||
samples/layout/*.def
|
samples/layout/*.def
|
||||||
samples/layout/makefile*.*
|
samples/layout/makefile.*
|
||||||
samples/layout/*.xbm
|
samples/layout/*.xbm
|
||||||
samples/layout/*.xpm
|
|
||||||
samples/layout/*.ico
|
samples/layout/*.ico
|
||||||
samples/layout/*.rc
|
samples/layout/*.rc
|
||||||
samples/layout/*.bmp
|
samples/layout/*.bmp
|
||||||
|
samples/layout/*.xpm
|
||||||
|
|
||||||
samples/printing/*.cpp
|
samples/printing/*.cpp
|
||||||
samples/printing/*.h
|
samples/printing/*.h
|
||||||
samples/printing/*.def
|
samples/printing/*.def
|
||||||
samples/printing/makefile*.*
|
samples/printing/makefile.*
|
||||||
samples/printing/*.xbm
|
samples/printing/*.xbm
|
||||||
samples/printing/*.xpm
|
|
||||||
samples/printing/*.txt
|
samples/printing/*.txt
|
||||||
samples/printing/*.ico
|
samples/printing/*.ico
|
||||||
samples/printing/*.bmp
|
samples/printing/*.bmp
|
||||||
samples/printing/*.rc
|
samples/printing/*.rc
|
||||||
samples/printing/*.afm
|
|
||||||
|
|
||||||
samples/toolbar/*.cpp
|
samples/tbarsmpl/*.cpp
|
||||||
samples/toolbar/*.h
|
samples/tbarsmpl/*.h
|
||||||
samples/toolbar/*.def
|
samples/tbarsmpl/*.def
|
||||||
samples/toolbar/makefile*.*
|
samples/tbarsmpl/makefile.*
|
||||||
samples/toolbar/*.txt
|
samples/tbarsmpl/*.txt
|
||||||
samples/toolbar/*.xbm
|
samples/tbarsmpl/*.xbm
|
||||||
samples/toolbar/*.xpm
|
samples/tbarsmpl/bitmaps/*.xbm
|
||||||
samples/toolbar/bitmaps/*.xbm
|
samples/tbarsmpl/*.ico
|
||||||
samples/toolbar/bitmaps/*.xpm
|
samples/tbarsmpl/*.bmp
|
||||||
samples/toolbar/*.ico
|
samples/tbarsmpl/*.rc
|
||||||
samples/toolbar/*.bmp
|
samples/tbarsmpl/bitmaps/*.bmp
|
||||||
samples/toolbar/*.rc
|
|
||||||
samples/toolbar/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/*.h
|
||||||
samples/docview/*.cpp
|
samples/docview/*.cpp
|
||||||
samples/docview/*.def
|
samples/docview/*.def
|
||||||
samples/docview/*.rc
|
samples/docview/*.rc
|
||||||
samples/docview/makefile*.*
|
samples/docview/makefile.*
|
||||||
samples/docview/*.xbm
|
samples/docview/*.xbm
|
||||||
samples/docview/*.xpm
|
|
||||||
samples/docview/*.txt
|
samples/docview/*.txt
|
||||||
samples/docview/*.ico
|
samples/docview/*.ico
|
||||||
samples/docview/*.bmp
|
samples/docview/*.bmp
|
||||||
@@ -372,9 +367,8 @@ samples/memcheck/*.h
|
|||||||
samples/memcheck/*.cpp
|
samples/memcheck/*.cpp
|
||||||
samples/memcheck/*.def
|
samples/memcheck/*.def
|
||||||
samples/memcheck/*.rc
|
samples/memcheck/*.rc
|
||||||
samples/memcheck/makefile*.*
|
samples/memcheck/makefile.*
|
||||||
samples/memcheck/*.xbm
|
samples/memcheck/*.xbm
|
||||||
samples/memcheck/*.xpm
|
|
||||||
samples/memcheck/*.txt
|
samples/memcheck/*.txt
|
||||||
samples/memcheck/*.ico
|
samples/memcheck/*.ico
|
||||||
samples/memcheck/*.bmp
|
samples/memcheck/*.bmp
|
||||||
@@ -383,22 +377,21 @@ samples/odbc/*.h
|
|||||||
samples/odbc/*.cpp
|
samples/odbc/*.cpp
|
||||||
samples/odbc/*.def
|
samples/odbc/*.def
|
||||||
samples/odbc/*.rc
|
samples/odbc/*.rc
|
||||||
samples/odbc/makefile*.*
|
samples/odbc/makefile.*
|
||||||
samples/odbc/*.inf
|
samples/odbc/*.inf
|
||||||
samples/odbc/*.xbm
|
samples/odbc/*.xbm
|
||||||
samples/odbc/*.xpm
|
|
||||||
samples/odbc/*.ico
|
samples/odbc/*.ico
|
||||||
samples/odbc/*.bmp
|
samples/odbc/*.bmp
|
||||||
samples/odbc/*.dbf
|
samples/odbc/*.dbf
|
||||||
samples/odbc/*.cdx
|
samples/odbc/*.cdx
|
||||||
|
samples/odbc/odbc32.lib
|
||||||
|
|
||||||
samples/dialogs/*.h
|
samples/dialogs/*.h
|
||||||
samples/dialogs/*.cpp
|
samples/dialogs/*.cpp
|
||||||
samples/dialogs/*.def
|
samples/dialogs/*.def
|
||||||
samples/dialogs/*.rc
|
samples/dialogs/*.rc
|
||||||
samples/dialogs/makefile*.*
|
samples/dialogs/makefile.*
|
||||||
samples/dialogs/*.xbm
|
samples/dialogs/*.xbm
|
||||||
samples/dialogs/*.xpm
|
|
||||||
samples/dialogs/*.txt
|
samples/dialogs/*.txt
|
||||||
samples/dialogs/*.bmp
|
samples/dialogs/*.bmp
|
||||||
samples/dialogs/*.ico
|
samples/dialogs/*.ico
|
||||||
@@ -409,9 +402,8 @@ samples/wxpoem/*.def
|
|||||||
samples/wxpoem/*.rc
|
samples/wxpoem/*.rc
|
||||||
samples/wxpoem/*.inf
|
samples/wxpoem/*.inf
|
||||||
samples/wxpoem/*.txt
|
samples/wxpoem/*.txt
|
||||||
samples/wxpoem/makefile*.*
|
samples/wxpoem/makefile.*
|
||||||
samples/wxpoem/*.xbm
|
samples/wxpoem/*.xbm
|
||||||
samples/wxpoem/*.xpm
|
|
||||||
samples/wxpoem/*.ico
|
samples/wxpoem/*.ico
|
||||||
samples/wxpoem/*.bmp
|
samples/wxpoem/*.bmp
|
||||||
samples/wxpoem/*.dat
|
samples/wxpoem/*.dat
|
||||||
@@ -423,9 +415,8 @@ samples/pressup/*.def
|
|||||||
samples/pressup/*.rc
|
samples/pressup/*.rc
|
||||||
samples/pressup/*.inf
|
samples/pressup/*.inf
|
||||||
samples/pressup/*.txt
|
samples/pressup/*.txt
|
||||||
samples/pressup/makefile*.*
|
samples/pressup/makefile.*
|
||||||
samples/pressup/*.xbm
|
samples/pressup/*.xbm
|
||||||
samples/pressup/*.xpm
|
|
||||||
samples/pressup/*.ico
|
samples/pressup/*.ico
|
||||||
samples/pressup/*.bmp
|
samples/pressup/*.bmp
|
||||||
|
|
||||||
@@ -435,9 +426,8 @@ samples/validate/*.def
|
|||||||
samples/validate/*.rc
|
samples/validate/*.rc
|
||||||
samples/validate/*.inf
|
samples/validate/*.inf
|
||||||
samples/validate/*.txt
|
samples/validate/*.txt
|
||||||
samples/validate/makefile*.*
|
samples/validate/makefile.*
|
||||||
samples/validate/*.xbm
|
samples/validate/*.xbm
|
||||||
samples/validate/*.xpm
|
|
||||||
samples/validate/*.ico
|
samples/validate/*.ico
|
||||||
samples/validate/*.bmp
|
samples/validate/*.bmp
|
||||||
|
|
||||||
@@ -447,9 +437,8 @@ samples/events/*.def
|
|||||||
samples/events/*.rc
|
samples/events/*.rc
|
||||||
samples/events/*.inf
|
samples/events/*.inf
|
||||||
samples/events/*.txt
|
samples/events/*.txt
|
||||||
samples/events/makefile*.*
|
samples/events/makefile.*
|
||||||
samples/events/*.xbm
|
samples/events/*.xbm
|
||||||
samples/events/*.xpm
|
|
||||||
samples/events/*.ico
|
samples/events/*.ico
|
||||||
samples/events/*.bmp
|
samples/events/*.bmp
|
||||||
|
|
||||||
@@ -458,11 +447,9 @@ samples/treectrl/*.h
|
|||||||
samples/treectrl/*.def
|
samples/treectrl/*.def
|
||||||
samples/treectrl/*.rc
|
samples/treectrl/*.rc
|
||||||
samples/treectrl/*.txt
|
samples/treectrl/*.txt
|
||||||
samples/treectrl/makefile*.*
|
samples/treectrl/makefile.*
|
||||||
samples/treectrl/*.xbm
|
samples/treectrl/*.xbm
|
||||||
samples/treectrl/*.xpm
|
|
||||||
samples/treectrl/bitmaps/*.xbm
|
samples/treectrl/bitmaps/*.xbm
|
||||||
samples/treectrl/bitmaps/*.xpm
|
|
||||||
samples/treectrl/*.ico
|
samples/treectrl/*.ico
|
||||||
samples/treectrl/*.bmp
|
samples/treectrl/*.bmp
|
||||||
samples/treectrl/bitmaps/*.bmp
|
samples/treectrl/bitmaps/*.bmp
|
||||||
@@ -473,11 +460,9 @@ samples/listctrl/*.h
|
|||||||
samples/listctrl/*.def
|
samples/listctrl/*.def
|
||||||
samples/listctrl/*.rc
|
samples/listctrl/*.rc
|
||||||
samples/listctrl/*.txt
|
samples/listctrl/*.txt
|
||||||
samples/listctrl/makefile*.*
|
samples/listctrl/makefile.*
|
||||||
samples/listctrl/*.xbm
|
samples/listctrl/*.xbm
|
||||||
samples/listctrl/*.xpm
|
|
||||||
samples/listctrl/bitmaps/*.xbm
|
samples/listctrl/bitmaps/*.xbm
|
||||||
samples/listctrl/bitmaps/*.xpm
|
|
||||||
samples/listctrl/*.ico
|
samples/listctrl/*.ico
|
||||||
samples/listctrl/*.bmp
|
samples/listctrl/*.bmp
|
||||||
samples/listctrl/bitmaps/*.bmp
|
samples/listctrl/bitmaps/*.bmp
|
||||||
@@ -488,9 +473,8 @@ samples/splitter/*.h
|
|||||||
samples/splitter/*.def
|
samples/splitter/*.def
|
||||||
samples/splitter/*.rc
|
samples/splitter/*.rc
|
||||||
samples/splitter/*.txt
|
samples/splitter/*.txt
|
||||||
samples/splitter/makefile*.*
|
samples/splitter/makefile.*
|
||||||
samples/splitter/*.xbm
|
samples/splitter/*.xbm
|
||||||
samples/splitter/*.xpm
|
|
||||||
samples/splitter/*.ico
|
samples/splitter/*.ico
|
||||||
samples/splitter/*.bmp
|
samples/splitter/*.bmp
|
||||||
|
|
||||||
@@ -499,9 +483,8 @@ samples/grid/*.h
|
|||||||
samples/grid/*.def
|
samples/grid/*.def
|
||||||
samples/grid/*.rc
|
samples/grid/*.rc
|
||||||
samples/grid/*.txt
|
samples/grid/*.txt
|
||||||
samples/grid/makefile*.*
|
samples/grid/makefile.*
|
||||||
samples/grid/*.xbm
|
samples/grid/*.xbm
|
||||||
samples/grid/*.xpm
|
|
||||||
samples/grid/*.ico
|
samples/grid/*.ico
|
||||||
samples/grid/*.bmp
|
samples/grid/*.bmp
|
||||||
|
|
||||||
@@ -510,9 +493,8 @@ samples/internat/*.h
|
|||||||
samples/internat/*.def
|
samples/internat/*.def
|
||||||
samples/internat/*.rc
|
samples/internat/*.rc
|
||||||
samples/internat/*.txt
|
samples/internat/*.txt
|
||||||
samples/internat/makefile*.*
|
samples/internat/makefile.*
|
||||||
samples/internat/*.xbm
|
samples/internat/*.xbm
|
||||||
samples/internat/*.xpm
|
|
||||||
samples/internat/*.po
|
samples/internat/*.po
|
||||||
samples/internat/*.ico
|
samples/internat/*.ico
|
||||||
samples/internat/*.bmp
|
samples/internat/*.bmp
|
||||||
@@ -523,42 +505,35 @@ samples/checklst/*.h
|
|||||||
samples/checklst/*.def
|
samples/checklst/*.def
|
||||||
samples/checklst/*.rc
|
samples/checklst/*.rc
|
||||||
samples/checklst/*.txt
|
samples/checklst/*.txt
|
||||||
samples/checklst/makefile*.*
|
samples/checklst/makefile.*
|
||||||
samples/checklst/*.xbm
|
samples/checklst/*.xbm
|
||||||
samples/checklst/*.xpm
|
|
||||||
samples/checklst/*.ico
|
samples/checklst/*.ico
|
||||||
samples/checklst/*.bmp
|
samples/checklst/*.bmp
|
||||||
|
|
||||||
samples/dnd/*.cpp
|
samples/dnd/*.cpp
|
||||||
samples/dnd/*.h
|
samples/dnd/*.h
|
||||||
samples/dnd/makefile*.*
|
samples/dnd/makefile.*
|
||||||
samples/dnd/*.rc
|
samples/dnd/*.rc
|
||||||
samples/dnd/*.def
|
samples/dnd/*.def
|
||||||
samples/dnd/*.bmp
|
samples/dnd/*.bmp
|
||||||
samples/dnd/*.xbm
|
|
||||||
samples/dnd/*.xpm
|
|
||||||
samples/dnd/*.ico
|
samples/dnd/*.ico
|
||||||
samples/dnd/*.txt
|
samples/dnd/*.txt
|
||||||
|
|
||||||
samples/tab/*.cpp
|
samples/tab/*.cpp
|
||||||
samples/tab/*.h
|
samples/tab/*.h
|
||||||
samples/tab/makefile*.*
|
samples/tab/makefile.*
|
||||||
samples/tab/*.rc
|
samples/tab/*.rc
|
||||||
samples/tab/*.def
|
samples/tab/*.def
|
||||||
samples/tab/*.bmp
|
samples/tab/*.bmp
|
||||||
samples/tab/*.xbm
|
|
||||||
samples/tab/*.xpm
|
|
||||||
samples/tab/*.ico
|
samples/tab/*.ico
|
||||||
samples/tab/*.txt
|
samples/tab/*.txt
|
||||||
|
|
||||||
samples/png/*.cpp
|
samples/png/*.cpp
|
||||||
samples/png/*.h
|
samples/png/*.h
|
||||||
samples/png/makefile*.*
|
samples/png/makefile.*
|
||||||
samples/png/*.rc
|
samples/png/*.rc
|
||||||
samples/png/*.def
|
samples/png/*.def
|
||||||
samples/png/*.bmp
|
samples/png/*.bmp
|
||||||
samples/png/*.xpm
|
|
||||||
samples/png/*.xbm
|
|
||||||
samples/png/*.ico
|
samples/png/*.ico
|
||||||
samples/png/*.txt
|
samples/png/*.txt
|
||||||
samples/png/*.png
|
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/msw/*.txt
|
||||||
docs/licence.txt
|
|
||||||
|
|
||||||
src/makeb32.env
|
src/makeb32.env
|
||||||
src/makebcc.env
|
src/makebcc.env
|
||||||
|
@@ -1,29 +1,27 @@
|
|||||||
@echo off
|
@echo off
|
||||||
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
rem Zip up an external, generic + Windows distribution of wxWindows 2.0
|
||||||
set src=d:\wx2\wxWindows
|
if "%1" == "" goto usage
|
||||||
set dest=%src\deliver
|
if "%2" == "" goto usage
|
||||||
if "%src" == "" goto usage
|
|
||||||
if "%dest" == "" goto usage
|
|
||||||
echo About to archive an external wxWindows distribution:
|
echo About to archive an external wxWindows distribution:
|
||||||
echo From %src
|
echo From %1
|
||||||
echo To %dest\wx200gen.zip, %dest\wx200doc.zip, %dest\wx200msw.zip, %dest\wx200ps.zip, %dest\wx200hlp.zip, %dest\wx200htm.zip, %dest\wx200pdf.zip
|
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.
|
echo CTRL-C if this is not correct.
|
||||||
pause
|
pause
|
||||||
|
|
||||||
erase %dest\wx200*.zip
|
erase %2\wx200*.zip
|
||||||
|
|
||||||
cd %src
|
cd %1
|
||||||
echo Zipping...
|
echo Zipping...
|
||||||
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
|
||||||
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
|
||||||
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
|
||||||
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
|
||||||
|
|
||||||
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
|
||||||
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
|
||||||
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.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.
|
echo wxWindows archived.
|
||||||
goto end
|
goto end
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
[OPTIONS]
|
[OPTIONS]
|
||||||
|
BMROOT=d:\wx2\wxwind~1\docs\latex\porting ; Assume that bitmaps are where the source is
|
||||||
TITLE=wxWindows Porting Guide
|
TITLE=wxWindows Porting Guide
|
||||||
CONTENTS=Contents
|
CONTENTS=Contents
|
||||||
COMPRESS=HIGH
|
COMPRESS=HIGH
|
||||||
|
@@ -11,7 +11,7 @@ headerRule = yes
|
|||||||
footerRule = yes
|
footerRule = yes
|
||||||
useHeadingStyles = yes
|
useHeadingStyles = yes
|
||||||
listItemIndent=40
|
listItemIndent=40
|
||||||
generateHPJ = no
|
generateHPJ = yes
|
||||||
htmlBrowseButtons = bitmap
|
htmlBrowseButtons = bitmap
|
||||||
winHelpContents = yes
|
winHelpContents = yes
|
||||||
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
winHelpVersion = 3 ; 3 for Windows 3.x, 4 for Windows 95
|
||||||
|
@@ -30,14 +30,6 @@ provided bitmaps.}
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxButton}{wxbutton}
|
\helpref{wxButton}{wxbutton}
|
||||||
|
@@ -6,14 +6,14 @@
|
|||||||
\section{What is wxWindows?}
|
\section{What is wxWindows?}
|
||||||
|
|
||||||
wxWindows is a C++ framework providing GUI (Graphical User
|
wxWindows is a C++ framework providing GUI (Graphical User
|
||||||
Interface) and other facilities on more than one platform. Version 2.0 currently
|
Interface) and other facilities on more than one platform. It currently
|
||||||
supports subsets MS Windows (16-bit, Windows 95 and Windows NT) and GTK.
|
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
|
||||||
|
|
||||||
wxWindows was originally developed at the Artificial Intelligence
|
wxWindows was originally developed at the Artificial Intelligence
|
||||||
Applications Institute, University of Edinburgh, for internal use.
|
Applications Institute, University of Edinburgh, for internal use.
|
||||||
wxWindows has been released into the public domain in the hope
|
wxWindows has been released into the public domain in the hope
|
||||||
that others will also find it useful. Version 2.0 is written and
|
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
|
This manual discusses wxWindows in the context of multi-platform
|
||||||
development.\helpignore{For more detail on the wxWindows version 2.0 API
|
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
|
toolkits
|
||||||
such as Motif and MFC.
|
such as Motif and MFC.
|
||||||
|
|
||||||
wxWindows 2.0 currently maps to two native APIs: GTK and
|
wxWindows 2.0 currently maps to two native APIs: Motif and
|
||||||
MS Windows. Motif, Xt and Mac ports are also in preparation.
|
MS Windows. An Xt port is also in preparation.
|
||||||
|
|
||||||
The importance of using a platform-independent class library cannot be
|
The importance of using a platform-independent class library cannot be
|
||||||
overstated, since GUI application development is very time-consuming,
|
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 Low cost (free, in fact!)
|
||||||
\item You get the source.
|
\item You get the source.
|
||||||
\item Several example programs.
|
\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 Simple-to-use, object-oriented API.
|
||||||
\item Graphics calls include splines, polylines, rounded rectangles, etc.
|
\item Graphics calls include splines, polylines, rounded rectangles, etc.
|
||||||
\item Constraint-based layout option.
|
\item Constraint-based layout option.
|
||||||
\item Print/preview and document/view architectures.
|
\item Print/preview and document/view architectures.
|
||||||
\item Status line facility, toolbar
|
\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.
|
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.
|
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 Can be used to create DLLs under Windows, dynamic libraries on the Sun.
|
||||||
\item Common dialogs for file browsing, printing, colour selection, etc.
|
\item Common dialogs for file browsing, printing, colour selection, etc.
|
||||||
\item Under MS Windows, support for creating metafiles and copying
|
\item Under MS Windows, support for creating metafiles and copying
|
||||||
@@ -171,16 +171,18 @@ following setups.
|
|||||||
|
|
||||||
\begin{enumerate}\itemsep=0pt
|
\begin{enumerate}\itemsep=0pt
|
||||||
\item A 486 or higher PC running MS Windows.
|
\item A 486 or higher PC running MS Windows.
|
||||||
\item One of Microsoft Visual C++ 4.0 or higher, Borland C++, Gnu-Win32.
|
\item One of Microsoft Visual C++, Borland C++, Watcom C++, MetroWerks C++,
|
||||||
\item At least 60 MB of disk space.
|
Symantec C++, GNU-WIN32.
|
||||||
|
\item At least 30 MB of disk space.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
(b) Unix:
|
(b) UNIX:
|
||||||
|
|
||||||
\begin{enumerate}\itemsep=0pt
|
\begin{enumerate}\itemsep=0pt
|
||||||
\item Almost any C++ compiler, including GNU C++.
|
\item Almost any C++ compiler, including GNU C++.
|
||||||
\item Almost any Unix workstation, and GTK 1.0 or higher.
|
\item Almost any UNIX workstation (VMS is supported too) and Motif 1.2 or higher (not necessary
|
||||||
\item At least 60 MB of disk space.
|
for the Xt version)
|
||||||
|
\item At least 30 MB of disk space.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\section{Availability and location of wxWindows}
|
\section{Availability and location of wxWindows}
|
||||||
@@ -195,26 +197,35 @@ Applications Institute by anonymous FTP and World Wide Web:
|
|||||||
|
|
||||||
\section{Acknowledgments}
|
\section{Acknowledgments}
|
||||||
|
|
||||||
Thanks are due to AIAI for being willing to release the original version of
|
Thanks are due to the AIAI for being willing to release wxWindows into
|
||||||
wxWindows into the public domain, and to our patient wives Harriet, Tanja and others.
|
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 Internet has been an essential prop when coming up against tricky
|
||||||
the project over the years. Apologies for any unintentional omissions from this list.
|
problems. Thanks to those who answered our
|
||||||
|
queries or submitted bug fixes and enhancements; wxWindows is very
|
||||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
much a team effort.
|
||||||
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,
|
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
|
||||||
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
|
||||||
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
|
||||||
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
wxExtend library.
|
||||||
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.
|
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
|
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||||
been used in wxGraphLayout with his permission.
|
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.
|
from the source of which we have borrowed some spline drawing code.
|
||||||
His copyright is included below.
|
His copyright is included below.
|
||||||
|
|
||||||
@@ -239,7 +250,7 @@ changes.txt for differences between versions.
|
|||||||
|
|
||||||
\section{Include files}
|
\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.
|
used modules of wxWindows.
|
||||||
|
|
||||||
To save on compilation time, include only those header files relevant to the
|
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}
|
\begin{verbatim}
|
||||||
// For compilers that support precompilation, includes "wx.h".
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
#include <wx/wxprec.h>
|
#include "wx_prec.h"
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
// Include your minimal set of headers here, or wx.h
|
... include minimum set of files necessary here ...
|
||||||
#include <wx/wx.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
... now your other include files ...
|
... now your other include files ...
|
||||||
\end{verbatim}
|
\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,
|
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 several Windows compilers to use precompilation (those tested are Microsoft Visual C++, Borland C++
|
||||||
and Watcom 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 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
|
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.
|
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}
|
\section{Libraries}
|
||||||
|
|
||||||
Please the wxGTK documentation for use of the Unix version of wxWindows.
|
Under UNIX, use the library libwx\_motif.a
|
||||||
Under Windows, use the library wx.lib for stand-alone Windows
|
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
|
||||||
applications, or wxdll.lib for creating DLLs.
|
applications, or wxdll.lib for creating DLLs.
|
||||||
|
|
||||||
\section{Configuration}
|
\section{Configuration}
|
||||||
|
|
||||||
The following lists the options configurable in the file
|
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
|
of taste, some help with platform-specific problems, and
|
||||||
others can be set to minimize the size of the library.
|
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\_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,
|
\twocolitem{USE\_DYNAMIC\_CLASSES}{If 1, the run-time class macros and classes are compiled. Recommended,
|
||||||
and necessary for the document/view framework.}
|
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\_HELP}{If 1, interface to help system is compiled.}
|
||||||
\twocolitem{USE\_GAUGE}{If 1, the wxGauge class 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
|
\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
|
with the extended arguments of the debugging wxObject new and delete operators. If this causes problems
|
||||||
for your compiler, set to 0.}
|
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\_IPC}{If 1, interprocess communication code is compiled.}
|
||||||
\twocolitem{USE\_MEMORY\_TRACING}{If 1, enables debugging versions of wxObject::new and wxObject::delete
|
\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.}
|
if the value of DEBUG is defined to more than 0.}
|
||||||
\twocolitem{USE\_METAFILE}{If 1, Windows Metafile code is compiled.}
|
\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}{If 1, PostScript code is compiled.}
|
||||||
\twocolitem{USE\_POSTSCRIPT\_ARCHITECTURE\_IN\_MSW}{Set to 1 to enable the printing architecture
|
\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
|
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
|
\twocolitem{USE\_PRINTING\_ARCHITECTURE}{If 1, wxPrinter, wxPrintout and related classes are compiled
|
||||||
for the print/preview framework.}
|
for the print/preview framework.}
|
||||||
\twocolitem{USE\_RESOURCES}{If 1, win.ini or .Xdefaults-style resource read/write code is compiled.}
|
\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\_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}
|
\end{twocollist}
|
||||||
|
|
||||||
\subsection{Windows and NT features}
|
\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
|
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. Define CTL3D to be 1 in wx\_setup.h and link your executables with ctl3dv2.lib
|
||||||
or ctl3d32.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
|
\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).}
|
access. Requires sql.h, sqlext.h files if set to 1 (see topic on database support).}
|
||||||
\end{twocollist}
|
\end{twocollist}
|
||||||
|
|
||||||
\section{Makefiles}
|
\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
|
PC makefiles compatible, i.e. one makefile is required for
|
||||||
each environment.
|
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
|
C++ (.BCC) and Symantec C++ (.SC) are included for the library, demos
|
||||||
and utilities. The NT, Borland and Symantec makefiles cannot be
|
and utilities. The NT, Borland and Symantec makefiles cannot be
|
||||||
guaranteed to be up-to-date since the author does not have
|
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
|
really necessary at the link stage), and DLL=1 to make a DLL version of
|
||||||
the library, if building a library.
|
the library, if building a library.
|
||||||
|
|
||||||
\subsection{Unix makefiles}
|
\subsection{UNIX makefiles}
|
||||||
|
|
||||||
TODO.
|
TODO.
|
||||||
|
|
||||||
Debugging information is included by default; you may add DEBUG= as an
|
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.
|
command to remove debugging information from an executable.
|
||||||
|
|
||||||
\normalbox{{\it Important note:} Most compiler flags are kept centrally in
|
\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:
|
is the following statement:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
rcinclude "wx/msw/wx.rc"
|
rcinclude wx.rc
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
which includes essential internal wxWindows definitions. The resource script
|
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}
|
\subsection{Module definition file}
|
||||||
|
|
||||||
A module definition file (extension DEF) is required for 16-bit applications, and
|
A module definition file (extension DEF) looks like the following:
|
||||||
looks like the following:
|
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
NAME Hello
|
NAME Hello
|
||||||
@@ -414,6 +461,46 @@ STACKSIZE 8192
|
|||||||
The only lines which will usually have to be changed per application are
|
The only lines which will usually have to be changed per application are
|
||||||
NAME and DESCRIPTION.
|
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}
|
\subsection{Allocating and deleting wxWindows objects}
|
||||||
|
|
||||||
In general, classes derived from wxWindow must dynamically allocated
|
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,
|
all of its children and descendants will be automatically deleted,
|
||||||
so you don't need to delete these descendants explicitly.
|
so you don't need to delete these descendants explicitly.
|
||||||
|
|
||||||
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
Don't statically create a window unless you know that the window
|
||||||
that the wxWindows delayed deletion can take effect. This waits until idle time
|
cannot be deleted dynamically. Modal dialogs, such as those used
|
||||||
(when all messages have been processed) to actually delete the window, to avoid
|
in the {\tt dialogs} sample, can usually be created statically,
|
||||||
problems associated with the GUI sending events to deleted windows.
|
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
|
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
|
||||||
with delayed deletion.
|
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
|
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
|
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.
|
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
|
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
|
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.
|
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}
|
\section{Conditional compilation}
|
||||||
|
|
||||||
One of the purposes of wxWindows is to reduce the need for conditional
|
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
|
features (such as metafile use under MS Windows). The following identifiers
|
||||||
may be used for this purpose, along with any user-supplied ones:
|
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}
|
\begin{verbatim}
|
||||||
__X__ any X, but not GTK
|
...
|
||||||
__WXMOTIF__ Motif
|
#ifdef wx_x
|
||||||
__WXGTK__ GTK
|
(void)wxMessageBox("Sorry, metafiles not available under X.");
|
||||||
__WXMSW__ Any Windows
|
#endif
|
||||||
__MAC__ MacOS
|
#ifdef wx_msw
|
||||||
__UNIX__ any Unix
|
wxMetaFileDC dc;
|
||||||
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
DrawIt(dc);
|
||||||
__WIN32__ WIN32 API
|
wxMetaFile *mf = dc.Close();
|
||||||
__NT__ Windows NT
|
mf->SetClipboard();
|
||||||
__CURSES__ CURSES
|
delete mf;
|
||||||
|
#endif
|
||||||
|
...
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
{\bf OSes:}
|
\section{Building on-line help}
|
||||||
|
|
||||||
\begin{verbatim}
|
wxWindows has its own help system from version 1.30: wxHelp. It can be
|
||||||
__HPUX__
|
used to view the wxWindows class library reference, and also to provide
|
||||||
__SVR4__
|
on-line help for your wxWindows applications. The API, made accessible
|
||||||
__SYSV__
|
by including {\tt wx\_help.h}, allows you to load files and display
|
||||||
__LINUX__
|
specific sections, using DDE to communicate between the application and
|
||||||
__SGI__
|
wxHelp.
|
||||||
__ULTRIX__
|
|
||||||
__BSD__
|
|
||||||
__VMS__
|
|
||||||
__SUN__ Any Sun
|
|
||||||
__SUNOS__
|
|
||||||
__SOLARIS__
|
|
||||||
__ALPHA__
|
|
||||||
__AIX__
|
|
||||||
__DATA_GENERAL__
|
|
||||||
__OSF__
|
|
||||||
__FREEBSD__
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
{\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}
|
It is possible to use the platform-specific help
|
||||||
__GNUWIN32__ Gnu-Win32 compiler
|
system (e.g. WinHelp) instead of wxHelp.
|
||||||
__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}
|
|
||||||
|
|
||||||
|
See {\tt install.txt}, the wxHelp documentation (in {\tt
|
||||||
|
utils/wxhelp/docs}) and \helpref{wxHelp}{wxhelp} for further details.
|
||||||
|
|
||||||
\section{C++ issues}
|
\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}
|
\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}
|
\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
|
headers, including a lot of header files slows down compilation
|
||||||
considerably. For this reason, you will find (in the common
|
considerably. For this reason, you will find (in the common
|
||||||
X and Windows parts of the library) conditional
|
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
|
and when using Visual C++, includes {\tt wx.h}. This should help provide
|
||||||
the optimal compilation for each compiler, although it is
|
the optimal compilation for each compiler, although it is
|
||||||
biassed towards the precompiled headers facility available
|
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.
|
same name in different directories.
|
||||||
|
|
||||||
As regards the limitations of DOS 8+3 single-case filenames versus
|
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
|
for your application, and also for document filenames {\it if} the user
|
||||||
is likely to be switching platforms regularly. Obviously this latter
|
is likely to be switching platforms regularly. Obviously this latter
|
||||||
choice is up to the application user to decide. Some programs (such as
|
choice is up to the application user to decide. Some programs (such as
|
||||||
YACC and LEX) generate filenames incompatible with DOS; the best
|
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.
|
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
|
conversion for which there should be a utility available (such as
|
||||||
dos2unix).
|
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
|
are uncompressed ASCII with some embedded font commands and an .xlp
|
||||||
extension. Most wxWindows documentation (user manuals and class
|
extension. Most wxWindows documentation (user manuals and class
|
||||||
references) is supplied in wxHelp format, and also in Windows Help
|
references) is supplied in wxHelp format, and also in Windows Help
|
||||||
format. The wxWindows 2.0 project will presently use an HTML widget
|
format.
|
||||||
in a new and improved wxHelp implementation, under X.
|
|
||||||
|
|
||||||
Note that an application can be programmed to use Windows Help under
|
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
|
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.
|
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}
|
\section{Colours}\label{coloursampler}
|
||||||
|
|
||||||
A colour sampler for viewing colours and their names on each
|
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}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxBitmapButton}{wxbitmapbutton}
|
\helpref{wxBitmapButton}{wxbitmapbutton}
|
||||||
@@ -107,7 +99,7 @@ box.
|
|||||||
Under Windows, only dialog box buttons respond to this function. As
|
Under Windows, only dialog box buttons respond to this function. As
|
||||||
normal under Windows and Motif, pressing return causes the default button to
|
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
|
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}.
|
and \helpref{wxWindow::GetDefaultItem}{wxwindowgetdefaultitem}.
|
||||||
|
|
||||||
Note that under Motif, calling this function immediately after
|
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{wxScrolledWindow}{wxscrolledwindow}}{Window with automatically managed scrollbars}
|
||||||
\twocolitem{\helpref{wxSplitterWindow}{wxsplitterwindow}}{Window which can be split vertically or horizontally}
|
\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{wxStatusBar}{wxstatusbar}}{Implements the status bar on a frame}
|
||||||
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
\twocolitem{\helpref{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
|
||||||
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
|
||||||
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class (undocumented)}
|
\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}
|
\end{twocollist}
|
||||||
|
|
||||||
{\large {\bf Common dialogs}}
|
{\large {\bf Common dialogs}}
|
||||||
@@ -319,7 +331,6 @@ product.
|
|||||||
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
\twocolitem{\helpref{wxTimer}{wxtimer}}{Timer class}
|
||||||
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
\twocolitem{\helpref{wxSystemSettings}{wxsystemsettings}}{System settings class}
|
||||||
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
\twocolitem{\helpref{wxWinHelpController}{wxwinhelpcontroller}}{Controls WinHelp instances}
|
||||||
\twocolitem{\helpref{wxConfig}{wxconfigbase}}{Classes for configuration reading/writing}
|
|
||||||
\end{twocollist}
|
\end{twocollist}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -16,17 +16,9 @@ There are no special styles for wxCheckBox.
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
\helpref{wxRadioButton}{wxradiobutton}
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -17,18 +17,9 @@ There are no special styles for wxChoice.
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
\helpref{wxListBox}{wxlistbox}
|
||||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -10,7 +10,8 @@ No parent class.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
\overview{Overview}{wxclassinfooverview}\\
|
||||||
|
\helpref{wxObject}{wxobject}
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -46,12 +46,11 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
\input cmdevent.tex
|
\input cmdevent.tex
|
||||||
\input cmdproc.tex
|
\input cmdproc.tex
|
||||||
\input conditn.tex
|
\input conditn.tex
|
||||||
\input config.tex
|
|
||||||
\input control.tex
|
\input control.tex
|
||||||
\input cursor.tex
|
\input cursor.tex
|
||||||
\input database.tex
|
\input database.tex
|
||||||
\input date.tex
|
\input date.tex
|
||||||
\input datstrm.tex
|
\input datstream.tex
|
||||||
\input dc.tex
|
\input dc.tex
|
||||||
\input ddeclint.tex
|
\input ddeclint.tex
|
||||||
\input ddeconn.tex
|
\input ddeconn.tex
|
||||||
@@ -62,8 +61,6 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
\input document.tex
|
\input document.tex
|
||||||
\input docchfrm.tex
|
\input docchfrm.tex
|
||||||
\input docmanag.tex
|
\input docmanag.tex
|
||||||
\input docmdich.tex
|
|
||||||
\input docmdipr.tex
|
|
||||||
\input docprfrm.tex
|
\input docprfrm.tex
|
||||||
\input doctempl.tex
|
\input doctempl.tex
|
||||||
\input dropevt.tex
|
\input dropevt.tex
|
||||||
@@ -97,7 +94,6 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
\input listbox.tex
|
\input listbox.tex
|
||||||
\input listctrl.tex
|
\input listctrl.tex
|
||||||
\input listevt.tex
|
\input listevt.tex
|
||||||
% \input log.tex
|
|
||||||
\input mask.tex
|
\input mask.tex
|
||||||
\input mdi.tex
|
\input mdi.tex
|
||||||
\input menu.tex
|
\input menu.tex
|
||||||
@@ -148,7 +144,7 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
\input statbox.tex
|
\input statbox.tex
|
||||||
\input stattext.tex
|
\input stattext.tex
|
||||||
\input statusbr.tex
|
\input statusbr.tex
|
||||||
\input wxstring.tex
|
%\input wxstring.tex
|
||||||
\input strlist.tex
|
\input strlist.tex
|
||||||
\input sysclevt.tex
|
\input sysclevt.tex
|
||||||
\input settings.tex
|
\input settings.tex
|
||||||
@@ -176,8 +172,3 @@ $$\image{14cm;0cm}{wxclass.ps}$$
|
|||||||
|
|
||||||
\input function.tex
|
\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.}
|
which is generated by a wxChoice control.}
|
||||||
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
|
\twocolitem{{\bf EVT\_LISTBOX(id, func)}}{Process a wxEVT\_COMMAND\_LISTBOX\_SELECTED command,
|
||||||
which is generated by a wxListBox control.}
|
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.}
|
which is generated by a wxListBox control.}
|
||||||
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
|
\twocolitem{{\bf EVT\_TEXT(id, func)}}{Process a wxEVT\_COMMAND\_TEXT\_UPDATED command,
|
||||||
which is generated by a wxTextCtrl control.}
|
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}).}
|
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,
|
\twocolitem{{\bf EVT\_COMBOBOX(id, func)}}{Process a wxEVT\_COMMAND\_COMBOBOX\_SELECTED command,
|
||||||
which is generated by a wxComboBox control.}
|
which is generated by a wxComboBox control.}
|
||||||
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED command,
|
||||||
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
which is generated by a toobar button.}
|
||||||
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
|
||||||
for a range id identifiers. Pass the ids of the tools.}
|
which is generated by a toobar button.}
|
||||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
|
||||||
Pass the id of the tool.}
|
which is generated by a toobar button.}
|
||||||
\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\_COMMAND\_LEFT\_CLICK(id, func)}}{Process a wxEVT\_COMMAND\_LEFT\_CLICK command,
|
\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).}
|
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,
|
\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.
|
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}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice},
|
\helpref{wxListBox}{wxlistbox}, \helpref{wxTextCtrl}{wxtextctrl}, \helpref{wxChoice}{wxchoice}
|
||||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\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}
|
\func{wxString}{GetDataSource}{\void}
|
||||||
|
|
||||||
Returns the name of the connected data source.
|
Returns the name of the connected data source.
|
||||||
|
|
||||||
\membersection{wxDatabase::GetErrorClass}
|
\membersection{wxDatabase::GetErrorClass}
|
||||||
|
|
||||||
\func{wxString}{GetErrorClass}{\void}
|
\func{wxString}{GetErrorClass}{\void}
|
||||||
@@ -141,7 +141,7 @@ Returns the current ODBC database handle.
|
|||||||
\func{HENV}{GetHENV}{\void}
|
\func{HENV}{GetHENV}{\void}
|
||||||
|
|
||||||
Returns the ODBC environment handle.
|
Returns the ODBC environment handle.
|
||||||
|
|
||||||
\membersection{wxDatabase::GetInfo}
|
\membersection{wxDatabase::GetInfo}
|
||||||
|
|
||||||
\func{bool}{GetInfo}{\param{long}{ infoType}, \param{long *}{buf}}
|
\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}}
|
\func{void}{OnSetOptions}{\param{wxRecordSet *}{recordSet}}
|
||||||
|
|
||||||
Not implemented.
|
Not implemented.
|
||||||
|
|
||||||
\membersection{wxDatabase::OnWaitForDataSource}
|
\membersection{wxDatabase::OnWaitForDataSource}
|
||||||
|
|
||||||
\func{void}{OnWaitForDataSource}{\param{bool}{ stillExecuting}}
|
\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}}
|
\func{void}{SetDataSource}{\param{const wxString\& }{s}}
|
||||||
|
|
||||||
Sets the name of the data source. Not implemented.
|
Sets the name of the data source. Not implemented.
|
||||||
|
|
||||||
\membersection{wxDatabase::SetLoginTimeout}
|
\membersection{wxDatabase::SetLoginTimeout}
|
||||||
|
|
||||||
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
|
\func{void}{SetLoginTimeout}{\param{long}{ seconds}}
|
||||||
|
|
||||||
Sets the time to wait for an user login. Not implemented.
|
Sets the time to wait for an user login. Not implemented.
|
||||||
|
|
||||||
\membersection{wxDatabase::SetPassword}
|
\membersection{wxDatabase::SetPassword}
|
||||||
|
|
||||||
\func{void}{SetPassword}{\param{const wxString\& }{s}}
|
\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}}
|
\func{void}{SetQueryTimeout}{\param{long}{ seconds}}
|
||||||
|
|
||||||
Sets the time to wait for a response to a query. Not implemented.
|
Sets the time to wait for a response to a query. Not implemented.
|
||||||
|
|
||||||
\membersection{wxDatabase::SetUsername}
|
\membersection{wxDatabase::SetUsername}
|
||||||
|
|
||||||
\func{void}{SetUsername}{\param{const wxString\& }{s}}
|
\func{void}{SetUsername}{\param{const wxString\& }{s}}
|
||||||
|
@@ -6,7 +6,7 @@ Sparc or anything else.
|
|||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
|
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
|
||||||
|
|
||||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||||
|
|
||||||
@@ -96,19 +96,14 @@ Writes the double {\it f} to the stream using the IEEE format.
|
|||||||
|
|
||||||
\membersection{wxDataStream::WriteString}
|
\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
|
Writes {\it string} to the stream. Actually, this method writes the size of
|
||||||
the string before writing {\it string} itself.
|
the string before writing {\it string} itself.
|
||||||
|
|
||||||
\membersection{wxDataStream::WriteLine}
|
\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
|
Writes {\it string} as a line. Depending on the operating system, it adds
|
||||||
\\n or \\r\\n.
|
\\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}}
|
\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 ending at ({\it x2, y2}). The current pen is used for the outline
|
||||||
and the current brush for filling the shape.
|
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}
|
\membersection{wxDC::DrawEllipse}\label{wxdcdrawellipse}
|
||||||
|
|
||||||
\func{void}{DrawEllipse}{\param{long}{ x}, \param{long}{ y}, \param{long}{ width}, \param{long}{ height}}
|
\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{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{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{wxRESIZE\_BORDER}}{Display a resizeable frame around the window (Motif only).}
|
||||||
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
|
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu (Motif only).}
|
||||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
|
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window (Motif only).}
|
||||||
\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
|
|
||||||
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
|
\twocolitem{\windowstyle{wxNO\_3D}}{Under Windows, specifies that the child controls
|
||||||
should not have 3D borders unless specified in the control.}
|
should not have 3D borders unless specified in the control.}
|
||||||
\end{twocollist}
|
\end{twocollist}
|
||||||
|
@@ -35,7 +35,7 @@ The view associated with the frame.
|
|||||||
\membersection{wxDocChildFrame::wxDocChildFrame}
|
\membersection{wxDocChildFrame::wxDocChildFrame}
|
||||||
|
|
||||||
\func{}{wxDocChildFrame}{\param{wxDocument* }{doc}, \param{wxView* }{view}, \param{wxFrame* }{parent},
|
\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{const wxSize\&}{ size = wxDefaultSize},
|
||||||
\param{long}{ style = wxDEFAULT\_FRAME\_STYLE}, \param{const wxString\& }{name = ``frame"}}
|
\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}
|
\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{const wxString\& }{title}, \param{int}{ x}, \param{int}{ y}, \param{int}{ width}, \param{int}{ height},
|
||||||
\param{long}{ style}, \param{const wxString\& }{name}}
|
\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
|
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.
|
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}
|
\wxheading{Derived from}
|
||||||
|
|
||||||
\helpref{wxWindow}{wxwindow}\\
|
\helpref{wxWindow}{wxwindow}\\
|
||||||
@@ -126,9 +122,7 @@ for further details.
|
|||||||
|
|
||||||
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
|
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
|
||||||
|
|
||||||
\func{virtual wxStatusBar*}{CreateStatusBar}{\param{int}{ number = 1},
|
\func{virtual bool}{CreateStatusBar}{\param{int}{ number = 1}}
|
||||||
\param{long}{ style = 0},
|
|
||||||
\param{wxWindowID}{ id = -1}, \param{const wxString\&}{ name = "statusBar"}}
|
|
||||||
|
|
||||||
Creates a status bar at the bottom of the frame.
|
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
|
\docparam{number}{The number of fields to create. Specify a
|
||||||
value greater than 1 to create a multi-field status bar.}
|
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}
|
\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}
|
\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::OnCreateStatusBar}{wxframeoncreatestatusbar},\rtfsp
|
||||||
\helpref{wxFrame::GetStatusBar}{wxframegetstatusbar}
|
\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}
|
\membersection{wxFrame::GetMenuBar}\label{wxframegetmenubar}
|
||||||
|
|
||||||
\constfunc{wxMenuBar*}{GetMenuBar}{\void}
|
\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
|
Gets a temporary pointer to the frame title. See
|
||||||
\helpref{wxFrame::SetTitle}{wxframesettitle}.
|
\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}
|
\membersection{wxFrame::Iconize}\label{wxframeiconize}
|
||||||
|
|
||||||
\func{void}{Iconize}{\param{const bool}{ iconize}}
|
\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}
|
\membersection{wxFrame::OnCreateStatusBar}\label{wxframeoncreatestatusbar}
|
||||||
|
|
||||||
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}
|
\func{virtual wxStatusBar*}{OnCreateStatusBar}{\param{int }{number}}
|
||||||
\param{long}{ style},
|
|
||||||
\param{wxWindowID}{ id}, \param{const wxString\&}{ name}}
|
|
||||||
|
|
||||||
Virtual function called when a status bar is requested by \helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}.
|
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{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}
|
\wxheading{Return value}
|
||||||
|
|
||||||
A status bar object.
|
A status bar object.
|
||||||
@@ -364,36 +290,6 @@ implementation returns an instance of \helpref{wxStatusBar}{wxstatusbar}.
|
|||||||
|
|
||||||
\helpref{wxFrame::CreateStatusBar}{wxframecreatestatusbar}, \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}
|
\membersection{wxFrame::OnMenuCommand}\label{wxframeonmenucommand}
|
||||||
|
|
||||||
\func{void}{OnMenuCommand}{\param{wxCommandEvent\&}{ event}}
|
\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}.
|
\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}
|
\membersection{wxFrame::SetStatusText}\label{wxframesetstatustext}
|
||||||
|
|
||||||
\func{virtual void}{SetStatusText}{\param{const wxString\& }{ text}, \param{int}{ number = 0}}
|
\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
|
minus the sum of widths of the non-variable fields, divided by the number of
|
||||||
variable fields.
|
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}
|
\membersection{wxFrame::SetTitle}\label{wxframesettitle}
|
||||||
|
|
||||||
\func{virtual void}{SetTitle}{\param{const wxString\& }{ title}}
|
\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.
|
Globally sets the cursor; only has an effect in MS Windows.
|
||||||
See also \helpref{wxCursor}{wxcursor}, \helpref{wxWindow::SetCursor}{wxwindowsetcursor}.
|
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}
|
\section{Printer settings}\label{printersettings}
|
||||||
|
|
||||||
The following functions are used to control PostScript printing. Under
|
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}.
|
See also \helpref{window styles overview}{windowstyles}.
|
||||||
|
|
||||||
\wxheading{Event handling}
|
|
||||||
|
|
||||||
wxGauge is read-only so generates no events.
|
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxSlider}{wxslider}, \helpref{wxScrollBar}{wxscrollbar}
|
\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.
|
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}
|
\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}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl},
|
\helpref{wxChoice}{wxchoice}, \helpref{wxComboBox}{wxcombobox}, \helpref{wxListCtrl}{wxlistctrl}
|
||||||
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -35,28 +35,6 @@ the list wraps, unlike a wxListBox.}
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
|
\helpref{wxListCtrl overview}{wxlistctrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxTreeCtrl}{wxtreectrl},\rtfsp
|
||||||
|
@@ -1,14 +1,4 @@
|
|||||||
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
|
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{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
|
|
||||||
\newcommand{\indexit}[1]{#1\index{#1}}%
|
\newcommand{\indexit}[1]{#1\index{#1}}%
|
||||||
\newcommand{\pipe}[0]{$\|$\ }%
|
\newcommand{\pipe}[0]{$\|$\ }%
|
||||||
\definecolour{black}{0}{0}{0}%
|
\definecolour{black}{0}{0}{0}%
|
||||||
@@ -26,11 +16,11 @@
|
|||||||
\parskip=10pt
|
\parskip=10pt
|
||||||
\parindent=0pt
|
\parindent=0pt
|
||||||
\title{User Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
\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}$$}
|
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||||
}}
|
}}
|
||||||
\winhelpignore{\author{Julian Smart}
|
\winhelpignore{\author{Julian Smart}
|
||||||
\date{July 31st 1998}
|
\date{June 4th 1998}
|
||||||
}
|
}
|
||||||
\makeindex
|
\makeindex
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@@ -85,8 +75,7 @@
|
|||||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
||||||
members of the wxWindows team\\
|
|
||||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@@ -100,7 +89,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
|||||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
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
|
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
|
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
|
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{category.tex}
|
||||||
\helpinput{topics.tex}
|
\helpinput{topics.tex}
|
||||||
|
|
||||||
\begin{comment}
|
|
||||||
\newpage
|
\newpage
|
||||||
|
|
||||||
% Puts books in the bibliography without needing to cite them in the
|
% 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}
|
\addcontentsline{toc}{chapter}{Bibliography}
|
||||||
\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
|
\setheader{{\it REFERENCES}}{}{}{}{}{{\it REFERENCES}}%
|
||||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||||
\end{comment}
|
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\addcontentsline{toc}{chapter}{Index}
|
\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
|
\begin{enumerate}\itemsep=0pt
|
||||||
\item Define a callback of type wxFunction, which you pass to the wxMenu constructor.
|
\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 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 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
|
\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}
|
\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).
|
Sets the background colour associated with the menu item (Windows only).
|
||||||
|
|
||||||
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
|
\membersection{wxMenuItem::SetBitmaps}\label{wxmenuitemsetbitmaps}
|
||||||
|
|
||||||
\constfunc{void}{SetBitmaps}{\param{const wxBitmap\& }{checked},
|
\constfunc{void}{SetBitmaps}{\param{const wxBitmap& }{checked},
|
||||||
\param{const wxBitmap\& }{unchecked = wxNullBitmap}}
|
\param{const wxBitmap& }{unchecked = wxNullBitmap}}
|
||||||
|
|
||||||
Sets the checked/unchecked bitmaps for the menu item (Windows only). The first bitmap
|
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.
|
is also used as the single bitmap for uncheckable menu items.
|
||||||
|
|
||||||
\membersection{wxMenuItem::SetFont}\label{wxmenuitemsetfont}
|
\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).
|
Sets the font associated with the menu item (Windows only).
|
||||||
|
|
||||||
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
|
\membersection{wxMenuItem::SetHelp}\label{wxmenuitemsethelp}
|
||||||
|
|
||||||
\constfunc{void}{SetHelp}{\param{const wxString\& }{helpString}}
|
\constfunc{void}{SetHelp}{\param{const wxString& }{helpString}}
|
||||||
|
|
||||||
Sets the help string.
|
Sets the help string.
|
||||||
|
|
||||||
@@ -173,19 +173,14 @@ Sets the width of the menu item checkmark bitmap (Windows only).
|
|||||||
|
|
||||||
\membersection{wxMenuItem::SetName}\label{wxmenuitemsetname}
|
\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.
|
Sets the text associated with the menu item.
|
||||||
|
|
||||||
\membersection{wxMenuItem::SetTextColour}\label{wxmenuitemsettextcolour}
|
\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).
|
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\_MOTION(func)}}{Process a wxEVT\_MOTION event.}
|
||||||
\twocolitem{{\bf EVT\_ENTER\_WINDOW(func)}}{Process a wxEVT\_ENTER\_WINDOW 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\_LEAVE\_WINDOW(func)}}{Process a wxEVT\_LEAVE\_WINDOW event.}
|
||||||
\twocolitem{{\bf EVT\_MOUSE\_EVENTS(func)}}{Process all mouse events.}
|
|
||||||
\end{twocollist}%
|
\end{twocollist}%
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
@@ -21,14 +21,6 @@ labelled buttons.
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioButton}{wxradiobutton},\rtfsp
|
\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}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioBox}{wxradiobox},\rtfsp
|
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxRadioBox}{wxradiobox},\rtfsp
|
||||||
|
@@ -1,12 +1,4 @@
|
|||||||
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{thesis}
|
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||||
%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{\indexit}[1]{#1\index{#1}}
|
||||||
\newcommand{\pipe}[0]{$\|$\ }%
|
\newcommand{\pipe}[0]{$\|$\ }%
|
||||||
\input psbox.tex
|
\input psbox.tex
|
||||||
@@ -17,8 +9,8 @@
|
|||||||
\parskip=10pt
|
\parskip=10pt
|
||||||
\parindent=0pt
|
\parindent=0pt
|
||||||
\title{Reference Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
\title{Reference Manual for wxWindows 2.0: a portable C++ GUI toolkit}
|
||||||
\author{Julian Smart}
|
\author{Julian Smart and Markus Holzem}
|
||||||
\date{July 31st 1998}
|
\date{October 21st 1997}
|
||||||
|
|
||||||
\makeindex
|
\makeindex
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@@ -37,8 +29,7 @@
|
|||||||
\setfooter{\thepage}{}{}{}{}{\thepage}
|
\setfooter{\thepage}{}{}{}{}{\thepage}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
||||||
members of the wxWindows team\\
|
|
||||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@@ -52,7 +43,7 @@ IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF
|
|||||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
IN NO EVENT SHALL THE ARTIFICIAL INTELLIGENCE APPLICATIONS INSTITUTE OR THE
|
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
|
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
|
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
|
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{wxEvtHandler}{wxevthandler}\\
|
||||||
\helpref{wxObject}{wxobject}
|
\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}
|
\wxheading{Remarks}
|
||||||
|
|
||||||
A scrollbar has the following main attributes: {\it range}, {\it thumb size}, {\it page size}, and {\it position}.
|
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
|
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.
|
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}
|
\wxheading{Event handling}
|
||||||
|
|
||||||
To process input from a scrollbar, use one of these event handler macros to direct input to member
|
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\_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\_COMMAND\_THUMBTRACK(id, func)}}{Catch a thumbtrack command (continuous movement of the scroll thumb).}
|
||||||
\end{twocollist}%
|
\end{twocollist}%
|
||||||
|
%
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Scrolling overview}{scrollingoverview},\rtfsp
|
\helpref{Scrolling overview}{scrollingoverview},\rtfsp
|
||||||
|
@@ -130,7 +130,8 @@ scrolling in that direction.
|
|||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize}
|
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize},\rtfsp
|
||||||
|
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||||
|
|
||||||
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
||||||
|
|
||||||
@@ -154,7 +155,8 @@ to translate these units to logical units.
|
|||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||||
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit}
|
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit},\rtfsp
|
||||||
|
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
||||||
|
|
||||||
\membersection{wxScrolledWindow::IsRetained}\label{wxscrolledwindowisretained}
|
\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}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{wxScrollBar}{wxscrollbar}
|
\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}
|
\wxheading{Window styles}
|
||||||
|
|
||||||
\twocolwidtha{5cm}
|
There are no special styles for this window.
|
||||||
\begin{twocollist}\itemsep=0pt
|
|
||||||
\twocolitem{\windowstyle{wxSB\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
|
|
||||||
the status bar.}
|
|
||||||
\end{twocollist}
|
|
||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}}
|
\func{bool}{SetItemImage}{\param{int}{ item}, \param{int }{image}}
|
||||||
|
|
||||||
Sets the image index for the given tab. {\it image} is an index into
|
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}
|
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}
|
||||||
|
|
||||||
|
@@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
|
Classes: \helpref{wxDocument}{wxdocument}, \helpref{wxView}{wxview}, \helpref{wxDocTemplate}{wxdoctemplate},\rtfsp
|
||||||
\helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
|
\helpref{wxDocManager}{wxdocmanager}, \helpref{wxDocParentFrame}{wxdocparentframe}, \helpref{wxDocChildFrame}{wxdocchildframe},
|
||||||
\rtfsp\helpref{wxDocMDIParentFrame}{wxdocmdiparentframe}, \helpref{wxDocMDIChildFrame}{wxdocmdichildframe},
|
|
||||||
\rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
|
\rtfsp\helpref{wxCommand}{wxcommand}, \helpref{wxCommandProcessor}{wxcommandprocessor}
|
||||||
|
|
||||||
The document/view framework is found in most application frameworks, because it
|
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.
|
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,
|
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{verbatim}
|
||||||
BEGIN_EVENT_TABLE(wxDocParentFrame, wxFrame)
|
void wxDocParentFrame::OnMenuCommand(int id)
|
||||||
EVT_MENU(wxID_EXIT, wxDocParentFrame::OnExit)
|
|
||||||
EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, wxDocParentFrame::OnMRUFile)
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
|
||||||
{
|
{
|
||||||
Close();
|
switch (id)
|
||||||
}
|
{
|
||||||
|
case wxID_EXIT:
|
||||||
void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
|
{
|
||||||
{
|
if (GetEventHandler()->OnClose())
|
||||||
wxString f(m_docManager->GetHistoryFile(event.GetSelection() - wxID_FILE1));
|
delete this;
|
||||||
if (f != "")
|
break;
|
||||||
(void)m_docManager->CreateDocument(f, wxDOC_SILENT);
|
}
|
||||||
|
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}
|
\end{verbatim}
|
||||||
}
|
|
||||||
|
|
||||||
\subsection{wxWindows predefined command identifiers}\label{predefinedids}
|
\subsection{wxWindows predefined command identifiers}\label{predefinedids}
|
||||||
|
|
||||||
|
@@ -290,9 +290,3 @@
|
|||||||
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
\newcommand{\constfunc}[3]{{\bf #1} {\bf #2}(#3) {\bf const}\index{#2}}
|
||||||
\newcommand{\windowstyle}[1]{{\bf #1}\index{#1}}
|
\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
|
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.
|
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}
|
%\wxheading{See also}
|
||||||
%
|
%
|
||||||
%\helpref{wxRichTextCtrl}{wxrichtextctrl}
|
%\helpref{wxRichTextCtrl}{wxrichtextctrl}
|
||||||
|
@@ -52,7 +52,7 @@ calling thread.
|
|||||||
|
|
||||||
\func{wxThreadError}{Destroy}{\void}
|
\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}
|
\wxheading{Return value}
|
||||||
|
|
||||||
@@ -80,9 +80,9 @@ The following priorities are already defined:
|
|||||||
|
|
||||||
\twocolwidtha{7cm}
|
\twocolwidtha{7cm}
|
||||||
\begin{twocollist}\itemsep=0pt
|
\begin{twocollist}\itemsep=0pt
|
||||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||||
\end{twocollist}
|
\end{twocollist}
|
||||||
|
|
||||||
\membersection{wxThread::IsAlive}\label{wxthreadisalive}
|
\membersection{wxThread::IsAlive}\label{wxthreadisalive}
|
||||||
@@ -119,13 +119,8 @@ The following priorities are already defined:
|
|||||||
|
|
||||||
\twocolwidtha{7cm}
|
\twocolwidtha{7cm}
|
||||||
\begin{twocollist}\itemsep=0pt
|
\begin{twocollist}\itemsep=0pt
|
||||||
\twocolitem{{\bf WXTHREAD\_MIN\_PRIORITY}}{0}
|
\twocolitem{{\bf WXTHREAD_MIN_PRIORITY}}{0}
|
||||||
\twocolitem{{\bf WXTHREAD\_DEFAULT\_PRIORITY}}{50}
|
\twocolitem{{\bf WXTHREAD_DEFAULT_PRIORITY}}{50}
|
||||||
\twocolitem{{\bf WXTHREAD\_MAX\_PRIORITY}}{100}
|
\twocolitem{{\bf WXTHREAD_MAX_PRIORITY}}{100}
|
||||||
\end{twocollist}
|
\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:
|
{\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
|
||||||
\begin{itemize}\itemsep=0pt
|
automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow},
|
||||||
\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
|
so please refer to this class also.
|
||||||
\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.
|
|
||||||
|
|
||||||
\wxheading{Derived from}
|
\wxheading{Derived from}
|
||||||
|
|
||||||
wxToolBarBase\\
|
|
||||||
\helpref{wxControl}{wxcontrol}\\
|
\helpref{wxControl}{wxcontrol}\\
|
||||||
\helpref{wxWindow}{wxwindow}\\
|
\helpref{wxWindow}{wxwindow}\\
|
||||||
\helpref{wxEvtHandler}{wxevthandler}\\
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
||||||
@@ -25,107 +14,58 @@ wxToolBarBase\\
|
|||||||
|
|
||||||
\wxheading{Remarks}
|
\wxheading{Remarks}
|
||||||
|
|
||||||
You may also create a toolbar that is managed by the frame, by
|
Because there is a variety of toolbar classes, you may wish to choose which class
|
||||||
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
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.
|
\begin{verbatim}
|
||||||
The toolbar orientation must always be {\bf wxVERTICAL}.
|
#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}
|
TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and
|
||||||
|
GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it
|
||||||
\twocolwidtha{5cm}
|
part of the base API?
|
||||||
\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}.
|
|
||||||
|
|
||||||
\wxheading{Event handling}
|
\wxheading{Event handling}
|
||||||
|
|
||||||
The toolbar class emits menu commands in the same was that a frame menubar does,
|
Derive a new class from an existing toolbar class, and override appropriate virtual functions.
|
||||||
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.
|
|
||||||
|
|
||||||
\twocolwidtha{7cm}
|
TODO: make consistent with other event handling; have wxToolBarEvent and appropriate macros.
|
||||||
\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}
|
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
\overview{Toolbar overview}{wxtoolbaroverview},\rtfsp
|
||||||
|
\helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
||||||
|
\helpref{wxToolBarMSW}{wxtoolbarmsw},\rtfsp
|
||||||
|
\helpref{wxToolBar95}{wxtoolbar95},\rtfsp
|
||||||
\helpref{wxScrolledWindow}{wxscrolledwindow}
|
\helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
|
\membersection{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr}
|
||||||
|
|
||||||
\func{}{wxToolBar}{\void}
|
\func{}{wxToolBarBase}{\void}
|
||||||
|
|
||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
|
%\wxheading{See also}
|
||||||
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
%
|
||||||
\param{const wxSize\& }{size = wxDefaultSize},
|
%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate}
|
||||||
\param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
|
%
|
||||||
\param{const wxString\& }{name = wxPanelNameStr}}
|
\membersection{wxToolBarBase::\destruct{wxToolBarBase}}
|
||||||
|
|
||||||
Constructs a toolbar.
|
\func{void}{\destruct{wxToolBarBase}}{\void}
|
||||||
|
|
||||||
\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}
|
|
||||||
|
|
||||||
Toolbar destructor.
|
Toolbar destructor.
|
||||||
|
|
||||||
\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
|
\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator}
|
||||||
|
|
||||||
\func{void}{AddSeparator}{\void}
|
\func{void}{AddSeparator}{\void}
|
||||||
|
|
||||||
@@ -133,14 +73,14 @@ Adds a separator for spacing groups of tools.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\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
|
\func{wxToolBarBaseTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
||||||
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
|
\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp
|
||||||
\param{long}{ xPos = -1}, \param{long}{ yPos = -1},\rtfsp
|
\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp
|
||||||
\param{wxObject* }{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
\param{wxObject *}{clientData = NULL}, \param{const wxString\& }{shortHelpString = ""}, \param{const wxString\& }{longHelpString = ""}}
|
||||||
|
|
||||||
Adds a tool to the toolbar.
|
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{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
|
\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
|
\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.}
|
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.
|
\docparam{longHelpString}{Used to displayer longer help, such as status line help.
|
||||||
Pass the empty string if this is not required.}
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},
|
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
|
||||||
\helpref{wxToolBar::Realize}{wxtoolbarrealize},
|
|
||||||
|
|
||||||
\membersection{wxToolBar::CreateTools}\label{wxtoolbarcreatetools}
|
\membersection{wxToolBarBase::CreateTools}\label{wxtoolbarbasecreatetools}
|
||||||
|
|
||||||
\func{bool}{CreateTools}{\void}
|
\func{bool}{CreateTools}{\void}
|
||||||
|
|
||||||
This function is implemented for some toolbar classes to create the tools and display them.
|
Call this function after all tools have been added to the toolbar, to actually
|
||||||
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
create the tools.
|
||||||
you have added tools and separators.
|
|
||||||
|
\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}
|
\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.
|
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.
|
For internal use only.
|
||||||
|
|
||||||
\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
|
\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool}
|
||||||
|
|
||||||
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
||||||
|
|
||||||
@@ -226,18 +164,18 @@ Enables or disables the tool.
|
|||||||
|
|
||||||
\wxheading{Remarks}
|
\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.
|
will change the visible state of the tool to indicate that it is disabled.
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
|
\helpref{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp
|
||||||
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
|
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp
|
||||||
\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool}
|
\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.
|
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.
|
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
|
Returns the size of a whole button, which is usually larger than a tool bitmap because
|
||||||
of added 3D effects.
|
of added 3D effects.
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||||
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize}
|
\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.
|
Returns the size of bitmap that the toolbar expects to have. The default bitmap size is 16 by 15 pixels.
|
||||||
|
|
||||||
\wxheading{Remarks}
|
\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.
|
and not the eventual size of the tool button.
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
\helpref{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
||||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||||
|
|
||||||
\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
|
\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins}
|
||||||
|
|
||||||
\constfunc{wxSize}{GetMargins}{\void}
|
\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}
|
\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}}
|
\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.}
|
\docparam{h}{Receives the maximum vertical size.}
|
||||||
|
|
||||||
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
|
\membersection{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata}
|
||||||
|
|
||||||
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -314,13 +252,13 @@ Get any client data associated with the tool.
|
|||||||
|
|
||||||
\wxheading{Parameters}
|
\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}
|
\wxheading{Return value}
|
||||||
|
|
||||||
Client data, or NULL if there is none.
|
Client data, or NULL if there is none.
|
||||||
|
|
||||||
\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
|
\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled}
|
||||||
|
|
||||||
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -336,9 +274,9 @@ TRUE if the tool is enabled, FALSE otherwise.
|
|||||||
|
|
||||||
%\wxheading{See also}
|
%\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}}
|
\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -350,10 +288,10 @@ Returns the long help for the given tool.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
|
\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
|
\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking}
|
||||||
|
|
||||||
\constfunc{int}{GetToolPacking}{\void}
|
\constfunc{int}{GetToolPacking}{\void}
|
||||||
|
|
||||||
@@ -361,9 +299,9 @@ Returns the value used for packing tools.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\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}
|
\constfunc{int}{GetToolSeparation}{\void}
|
||||||
|
|
||||||
@@ -371,9 +309,9 @@ Returns the default separator size.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\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}}
|
\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -387,10 +325,10 @@ Returns the long help for the given tool.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
|
\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate}
|
||||||
|
|
||||||
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -406,9 +344,9 @@ TRUE if the tool is toggled on, FALSE otherwise.
|
|||||||
|
|
||||||
%\wxheading{See also}
|
%\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}
|
\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
|
automatically lay the tools out on the window. If you have given
|
||||||
absolute positions when adding the tools, do not call this.
|
absolute positions when adding the tools, do not call this.
|
||||||
|
|
||||||
This function is only implemented for some toolbar classes.
|
\membersection{wxToolBarBase::OnLeftClick}\label{wxtoolbarbaseonleftclick}
|
||||||
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}
|
|
||||||
|
|
||||||
\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}}
|
\func{bool}{OnLeftClick}{\param{int}{ toolIndex}, \param{bool}{ toggleDown}}
|
||||||
|
|
||||||
Called when the user clicks on a tool with the left mouse button.
|
Called when the user clicks on a tool with the left mouse button. The
|
||||||
|
programmer should override this function to detect left tool clicks.
|
||||||
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.
|
|
||||||
|
|
||||||
\wxheading{Parameters}
|
\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.}
|
\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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||||
\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
|
\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick}
|
||||||
|
|
||||||
\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
|
\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter}
|
||||||
|
|
||||||
\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
|
\func{void}{OnMouseEnter}{\param{int}{ toolIndex}}
|
||||||
|
|
||||||
This is called when the mouse cursor moves into a tool or out of
|
This is called when the mouse cursor moves into a tool or out of
|
||||||
the toolbar.
|
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}
|
\wxheading{Parameters}
|
||||||
|
|
||||||
\docparam{toolIndex}{Greater than -1 if the mouse cursor has moved into the tool,
|
\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
|
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.
|
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}}
|
\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
|
Called when the user clicks on a tool with the right mouse button. The
|
||||||
programmer should override this function to detect right tool clicks.
|
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}
|
\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.}
|
\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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
||||||
\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick}
|
\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick}
|
||||||
|
|
||||||
\membersection{wxToolBar::Realize}\label{wxtoolbarrealize}
|
\membersection{wxToolBarBase::SetDefaultSize}\label{wxtoolbarbasesetdefaultsize}
|
||||||
|
|
||||||
\func{bool}{Realize}{\void}
|
\func{void}{SetDefaultSize}{\param{const wxSize\&}{ size}}
|
||||||
|
|
||||||
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}}
|
|
||||||
|
|
||||||
Sets the default size of each tool bitmap. The default bitmap size is 16 by 15 pixels.
|
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
|
This should be called to tell the toolbar what the tool bitmap size is. Call
|
||||||
it before you add tools.
|
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.
|
and not the eventual size of the tool button.
|
||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
|
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp
|
||||||
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
||||||
|
|
||||||
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
|
\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins}
|
||||||
|
|
||||||
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
||||||
|
|
||||||
@@ -557,9 +467,9 @@ default (zero-size) margins are to be overridden.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\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}}
|
\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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
|
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
|
\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking}
|
||||||
|
|
||||||
\func{void}{SetToolPacking}{\param{int}{ packing}}
|
\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}
|
\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}}
|
\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}
|
\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}}
|
\func{void}{SetToolSeparation}{\param{int}{ separation}}
|
||||||
|
|
||||||
@@ -631,9 +541,9 @@ Sets the default separator size. The default value is 5.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\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}}
|
\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}
|
\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 tbitmap.tex
|
||||||
\input tdialog.tex
|
\input tdialog.tex
|
||||||
\input tfont.tex
|
\input tfont.tex
|
||||||
|
\input tstring.tex
|
||||||
\input tsplittr.tex
|
\input tsplittr.tex
|
||||||
\input ttreectl.tex
|
\input ttreectl.tex
|
||||||
\input tlistctl.tex
|
\input tlistctl.tex
|
||||||
@@ -32,6 +33,5 @@ This chapter contains a selection of topic overviews.
|
|||||||
\input tvalidat.tex
|
\input tvalidat.tex
|
||||||
\input texpr.tex
|
\input texpr.tex
|
||||||
\input tgrid.tex
|
\input tgrid.tex
|
||||||
\input tstring.tex
|
|
||||||
\input tusage.tex
|
\input tusage.tex
|
||||||
|
|
||||||
|
@@ -24,27 +24,6 @@ able to edit labels in the tree control.}
|
|||||||
|
|
||||||
See also \helpref{window styles overview}{windowstyles}.
|
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}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
|
\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.
|
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.
|
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}
|
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
|
||||||
|
|
||||||
\func{bool}{EnsureVisible}{\param{long }{item}}
|
\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}
|
\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
|
The toolbar family of classes allows an application to use toolbars
|
||||||
in a variety of configurations and styles.
|
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
|
styles that you may wish to use simultaneously, and also, future
|
||||||
toolbar implementations will emerge (for example, using the
|
toolbar implementations will emerge (for example, using the
|
||||||
new-style Windows `coolbar' as seen in Microsoft applications) which
|
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
|
This does mean that if you wish to use a more sophisticated toolbar
|
||||||
specific toolbar classes.
|
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.
|
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.
|
numbers of rows and columns.
|
||||||
\item {\bf wxToolBarMSW.} This class implements an old-style Windows toolbar, only on
|
\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
|
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
|
the current Windows colour settings: the buttons are grey.
|
||||||
on 16-bit windows.
|
|
||||||
\item {\bf wxToolBar95.} Uses the native Windows 95 toolbar class. It dynamically adjusts its
|
\item {\bf wxToolBar95.} Uses the native Windows 95 toolbar class. It dynamically adjusts its
|
||||||
background and button colours according to user colour settings.
|
background and button colours according to user colour settings.
|
||||||
CreateTools must be called after the tools have been added.
|
CreateTools must be called after the tools have been added.
|
||||||
No absolute positioning is supported but you can specify the number
|
No absolute positioning is supported but you can specify the number
|
||||||
of rows, and add tool separators with {\bf AddSeparator}.
|
of rows, and add tool separators with {\bf AddSeparator}. {\bf Layout} does nothing.
|
||||||
Tooltips are supported. {\bf OnRightClick} is not supported. This is the default wxToolBar
|
Tooltips are supported. {\bf OnRightClick} is not supported.
|
||||||
on Windows 95, Windows NT 4 and above.
|
For some reason, a wxToolBar95 control cannot be moved to any
|
||||||
|
position other than the top-left of the frame.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
A toolbar might appear as a single row of images under
|
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 desired result).
|
||||||
|
|
||||||
The Windows-specific toolbar classes expect 16-colour bitmaps that are 16 pixels wide and 15 pixels
|
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
|
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,
|
one bitmap for each tool, because the toolbar generates all three images (normal,
|
||||||
depressed and checked) from the single bitmap you give it.
|
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}
|
\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
|
Example of toolbar use are given in the sample programs tbarsmpl,
|
||||||
\item {\tt "wx/msw/tbarmsw.h} for wxToolBarMSW
|
tbarmsw and tbar95.
|
||||||
\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 program ``toolbar''. The
|
Each sample creates a main window, and two toolbars: a floating toolbar
|
||||||
source is given below.
|
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}
|
\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[0] = new wxBitmap("icon1");
|
||||||
toolBarBitmaps[1] = new wxBitmap("icon2");
|
toolBarBitmaps[1] = new wxBitmap("icon2");
|
||||||
toolBarBitmaps[2] = new wxBitmap("icon3");
|
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__
|
toolBarFrame = new wxFrame(NULL, "Tools", -1, wxPoint(0, 0), wxSize(300, 200),
|
||||||
int width = 24;
|
wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP);
|
||||||
#else
|
|
||||||
int width = 16;
|
|
||||||
#endif
|
|
||||||
int offX = 5;
|
|
||||||
int currentX = 5;
|
|
||||||
|
|
||||||
toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
|
// 5 rows
|
||||||
currentX += width + 5;
|
toolBar = new TestToolBar(toolBarFrame, -1, wxPoint(10, 10), wxSize(-1, -1), 0, wxVERTICAL, 5);
|
||||||
toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
|
toolBar->SetMargins(2, 2);
|
||||||
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");
|
|
||||||
|
|
||||||
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
|
toolBar->Layout();
|
||||||
int i;
|
float maxWidth, maxHeight;
|
||||||
for (i = 0; i < 8; i++)
|
wxSize size(toolBar->GetMaxSize());
|
||||||
delete toolBarBitmaps[i];
|
toolBarFrame->SetClientSize(maxSize.x, maxSize.y);
|
||||||
|
toolBarFrame->Show(TRUE);
|
||||||
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("");
|
|
||||||
}
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
}
|
|
||||||
|
|
||||||
|
@@ -1585,8 +1585,10 @@ handling of pages and ranges.
|
|||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||||
|
\helpref{wxWindow::SetScrollRange}{wxwindowsetscrollpage},\rtfsp
|
||||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\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}
|
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
\end{comment}
|
\end{comment}
|
||||||
|
|
||||||
@@ -1613,7 +1615,8 @@ application to take note of scrollbar attributes and redraw contents accordingly
|
|||||||
|
|
||||||
\helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
|
\helpref{wxWindow::SetScrollbar}{wxwindowsetscrollbar},\rtfsp
|
||||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\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}
|
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
|
|
||||||
\begin{comment}
|
\begin{comment}
|
||||||
@@ -1644,7 +1647,8 @@ and usually the scrollbar will be automatically hidden.
|
|||||||
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
\helpref{wxWindow::SetScrollPos}{wxwindowsetscrollpos},\rtfsp
|
||||||
\helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
\helpref{wxWindow::SetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
||||||
\helpref{wxWindow::GetScrollPos}{wxwindowsetscrollpos},\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}
|
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
\end{comment}
|
\end{comment}
|
||||||
|
|
||||||
|
@@ -19,7 +19,7 @@ just before the first call to display something.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}
|
\helpref{wxHelpControllerBase}{wxwinhelpcontrollerbase}
|
||||||
|
|
||||||
\wxheading{Include file}
|
\wxheading{Include file}
|
||||||
|
|
||||||
|
@@ -1,9 +1,15 @@
|
|||||||
|
; This file is maintained by HCW. Do not modify this file directly.
|
||||||
|
|
||||||
[OPTIONS]
|
[OPTIONS]
|
||||||
COMPRESS=HIGH
|
HCW=0
|
||||||
|
COMPRESS=60 Hall Zeck
|
||||||
|
LCID=0x809 0x0 0x0 ;English (United Kingdom)
|
||||||
|
REPORT=Yes
|
||||||
CONTENTS=Contents
|
CONTENTS=Contents
|
||||||
TITLE=wxWindows Manual
|
TITLE=wxWindows Manual
|
||||||
BMROOT=..\..\..\..\wxwind~1\docs\latex\wx
|
BMROOT=..\..\..\..\wxwind~1\docs\latex\wx
|
||||||
|
BMROOT=Assume that bitmaps are where the source is
|
||||||
|
HLP=.\wx.hlp
|
||||||
|
|
||||||
[FILES]
|
[FILES]
|
||||||
wx.rtf
|
wx.rtf
|
||||||
|
@@ -1,525 +1,593 @@
|
|||||||
\section{\class{wxString}}\label{wxstring}
|
\section{\class{wxString}}\label{wxstring}
|
||||||
|
|
||||||
\wxheading{Derived from}
|
|
||||||
|
|
||||||
None
|
|
||||||
|
|
||||||
\wxheading{See also}
|
|
||||||
|
|
||||||
\overview{Overview}{wxstringoverview}
|
\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}
|
\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.
|
Constructors.
|
||||||
|
|
||||||
\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.
|
|
||||||
|
|
||||||
\membersection{wxString::\destruct{wxString}}\label{wxstringdestruct}
|
\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}
|
\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}
|
\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
|
Append {\it c}, {\it rep} times
|
||||||
to it.
|
|
||||||
|
|
||||||
\membersection{wxString::After}\label{wxstringAfter}
|
\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}.
|
\membersection{wxString::At}\label{wxstringAt}
|
||||||
Returns the empty string if {\it ch} is not found.
|
|
||||||
|
\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}
|
\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}.
|
\membersection{wxString::Capitalize}\label{wxstringCapitalize}
|
||||||
Returns empty string if {\it ch} is not found.
|
|
||||||
|
|
||||||
\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}
|
\membersection{wxString::CompareTo}\label{wxstringCompareTo}
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
#define NO_POS ((int)(-1)) // undefined position
|
#define NO_POS ((int)(-1)) // undefined position
|
||||||
enum caseCompare {exact, ignoreCase};
|
enum CaseCompare {exact, ignoreCase};
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\constfunc{int}{CompareTo}{\param{const char*}{ psz}, \param{caseCompare}{ cmp = exact}}
|
\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}{}
|
||||||
Case-sensitive comparison. Returns 0 if equal, 1 if greater or -1 if less.
|
|
||||||
|
|
||||||
\membersection{wxString::Contains}\label{wxstringContains}
|
\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}
|
\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}}
|
Global substitution: substitute all occurrences of {\it pat} with {\it repl},
|
||||||
|
returning the number of matches.
|
||||||
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.
|
|
||||||
|
|
||||||
\membersection{wxString::Index}\label{wxstringIndex}
|
\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}.
|
Return the position of target in string, or -1 for failure.
|
||||||
|
|
||||||
\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.
|
|
||||||
|
|
||||||
\membersection{wxString::Insert}\label{wxstringInsert}
|
\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}
|
\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}
|
\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}
|
\membersection{wxString::IsNumber}\label{wxstringIsNumber}
|
||||||
|
|
||||||
\constfunc{bool}{IsNumber}{\void}
|
\func{int}{IsNumber}{\param{void}{}} \param{ const}{}
|
||||||
|
|
||||||
Returns TRUE if the string is a number.
|
Classification (should be capital, because of ctype.h macros).
|
||||||
|
|
||||||
\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.
|
|
||||||
|
|
||||||
\membersection{wxString::IsWord}\label{wxstringIsWord}
|
\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}
|
\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.
|
\func{unsigned int}{Length}{\param{void}{}} \param{ const}{}
|
||||||
|
|
||||||
\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).
|
|
||||||
|
|
||||||
\membersection{wxString::LowerCase}\label{wxstringLowerCase}
|
\membersection{wxString::LowerCase}\label{wxstringLowerCase}
|
||||||
|
|
||||||
\func{void}{LowerCase}{\void}
|
\func{void}{LowerCase}{\param{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.
|
|
||||||
|
|
||||||
\membersection{wxString::Matches}\label{wxstringMatches}
|
\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}}
|
\func{int}{OK}{\param{void}{}} \param{ const}{}
|
||||||
|
|
||||||
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).
|
|
||||||
|
|
||||||
\membersection{wxString::Prepend}\label{wxstringPrepend}
|
\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
|
\func{friend int}{Readline}{\param{istream\&}{ s}, \param{wxString\&}{ x},
|
||||||
on error.
|
\param{char}{ terminator = '$\backslash$n'},
|
||||||
|
\param{int}{ discard\_terminator = 1}}\\
|
||||||
\membersection{wxString::PrintfV}\label{wxstringprintfv}
|
\func{friend int}{Readline}{\param{FILE *}{ f}, \param{wxString\&}{ x},
|
||||||
|
\param{char}{ terminator = '$\backslash$n'},
|
||||||
\func{int}{PrintfV}{\param{const char* }{pszFormat}, \param{va\_list}{ argPtr}}
|
\param{int}{ discard\_terminator = 1}}
|
||||||
|
|
||||||
Similar to vprintf. Returns the number of characters written, or an integer less than zero
|
|
||||||
on error.
|
|
||||||
|
|
||||||
\membersection{wxString::Remove}\label{wxstringRemove}
|
\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.
|
Remove {\it pos} to end of 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.
|
|
||||||
|
|
||||||
\membersection{wxString::Replace}\label{wxstringReplace}
|
\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}}
|
\func{void}{Reverse}{\param{void}{}}\\
|
||||||
|
\func{friend wxString}{Reverse}{\param{wxString\&}{ x}}
|
||||||
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.
|
|
||||||
|
|
||||||
\membersection{wxString::sprintf}\label{wxstringsprintf}
|
\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}
|
\membersection{wxString::Strip}\label{wxstringStrip}
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
enum stripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
enumStripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
||||||
\end{verbatim}
|
\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
|
Strip characterss at the front and/or end.
|
||||||
doesn't change this string.
|
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}{Upcase}{\param{void}{}}\\
|
||||||
|
\func{friend wxString}{Upcase}{\param{wxString\&}{ x}}
|
||||||
\func{void}{UngetWriteBuf}{\void}
|
|
||||||
|
|
||||||
Puts the string back into a reasonable state, after
|
|
||||||
\rtfsp\helpref{wxString::GetWriteBuf}{wxstringgetwritebuf} was called.
|
|
||||||
|
|
||||||
\membersection{wxString::UpperCase}\label{wxstringUpperCase}
|
\membersection{wxString::UpperCase}\label{wxstringUpperCase}
|
||||||
|
|
||||||
\func{void}{UpperCase}{\void}
|
\func{void}{UpperCase}{\param{void}{}}\\
|
||||||
|
|
||||||
The same as MakeUpper.
|
|
||||||
|
|
||||||
\membersection{wxString::operator $=$}\label{wxstringoperatorassign}
|
\membersection{wxString::operator $=$}\label{wxstringoperatorassign}
|
||||||
|
|
||||||
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ str}}
|
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ y}}\\
|
||||||
|
\func{wxString\&}{operator $=$}{\param{const char*}{ y}}\\
|
||||||
\func{wxString\&}{operator $=$}{\param{const char*}{ psz}}
|
\func{wxString\&}{operator $=$}{\param{char}{ c}}\\
|
||||||
|
\func{wxString\&}{operator $=$}{\param{const wxSubString\&}{ y}}
|
||||||
\func{wxString\&}{operator $=$}{\param{char}{ c}}
|
|
||||||
|
|
||||||
\func{wxString\&}{operator $=$}{\param{const unsigned char*}{ psz}}
|
|
||||||
|
|
||||||
\func{wxString\&}{operator $=$}{\param{const wchar\_t*}{ pwz}}
|
|
||||||
|
|
||||||
Assignment.
|
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}
|
\membersection{wxString::operator $+=$}\label{wxstringPlusEqual}
|
||||||
|
|
||||||
\func{void}{operator $+=$}{\param{const wxString\&}{ str}}
|
\func{wxString\&}{operator $+=$}{\param{const wxString\&}{ y}}\\
|
||||||
|
\func{wxString\&}{operator $+=$}{\param{const wxSubString\&}{ y}}\\
|
||||||
\func{void}{operator $+=$}{\param{const char*}{ psz}}
|
\func{wxString\&}{operator $+=$}{\param{const char*}{ t}}\\
|
||||||
|
\func{wxString\&}{operator $+=$}{\param{char}{ c}}
|
||||||
\func{void}{operator $+=$}{\param{char}{ c}}
|
|
||||||
|
|
||||||
Concatenation.
|
Concatenation.
|
||||||
|
|
||||||
\membersection{wxString::operator []}\label{wxstringoperatorbracket}
|
\membersection{wxString::operator []}\label{wxstringoperatorbracket}
|
||||||
|
|
||||||
\func{char\&}{operator []}{\param{size\_t}{ i}}
|
\func{char\&}{operator []}{\param{int}{ i}}
|
||||||
|
|
||||||
\func{char}{operator []}{\param{size\_t}{ i}}
|
|
||||||
|
|
||||||
\func{char}{operator []}{\param{int}{ i}}
|
|
||||||
|
|
||||||
Element extraction.
|
Element extraction.
|
||||||
|
|
||||||
\membersection{wxString::operator ()}\label{wxstringoperatorparenth}
|
\membersection{wxString::operator ()}\label{wxstringoperatorparenth}
|
||||||
|
|
||||||
\func{wxString}{operator ()}{\param{size\_t}{ start}, \param{size\_t}{ len}}
|
\func{char\&}{operator ()}{\param{int}{ i}}
|
||||||
|
|
||||||
Same as Mid (substring extraction).
|
|
||||||
|
|
||||||
\membersection{wxString::operator \cinsert}\label{wxstringoperatorout}
|
\membersection{wxString::operator \cinsert}\label{wxstringoperatorout}
|
||||||
|
\func{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ s}, \param{const wxString\&}{ x}}\\
|
||||||
\func{wxString\&}{operator \cinsert}{\\param{const wxString\&}{ str}}
|
\func{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ s}, \param{const wxSubString\&}{ x}}
|
||||||
|
|
||||||
\func{wxString\&}{operator \cinsert}{\\param{const char*}{ psz}}
|
|
||||||
|
|
||||||
\func{wxString\&}{operator \cinsert}{\\param{char }{ch}}
|
|
||||||
|
|
||||||
Same as $+=$.
|
|
||||||
|
|
||||||
\membersection{wxString::operator \cextract}\label{wxstringoperatorin}
|
\membersection{wxString::operator \cextract}\label{wxstringoperatorin}
|
||||||
|
\func{friend istream\&}{operator \cextract}{\param{istream\&}{ s}, \param{wxString\&}{ x}}
|
||||||
\func{friend istream\&}{operator \cextract}{\param{istream\&}{ is}, \param{wxString\&}{ str}}
|
|
||||||
|
|
||||||
Extraction from a stream.
|
|
||||||
|
|
||||||
\membersection{wxString::operator const char*}\label{wxstringoperatorconstcharpt}
|
\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}
|
\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
|
and its users, so that the considerable investment it represents
|
||||||
is not abused.
|
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,
|
distribute wxWindows source code with your products. However,
|
||||||
you are prevented from selling the code without permission from
|
you are prevented from selling the code without permission from
|
||||||
the authors, or denying others the rights to use or distribute
|
the authors, or denying others the rights to use or distribute
|
||||||
|
@@ -2,19 +2,6 @@
|
|||||||
wxWindows 2.0 for Windows Change Log
|
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
|
Alpha 13, July 8th 1998
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
@@ -5,6 +5,8 @@ Todo on wxWin 2.0, Windows platform
|
|||||||
HIGH PRIORITY
|
HIGH PRIORITY
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
|
Integrate Robert's wxGrid enhancements.
|
||||||
|
|
||||||
Find/add wxThread sample - Arthur T-D?
|
Find/add wxThread sample - Arthur T-D?
|
||||||
|
|
||||||
wxControl dimensions should be optionally based on dialog font
|
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.
|
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).
|
Add wxDC::DeviceToLogical -> wxPoint etc (convenience accessors).
|
||||||
|
|
||||||
Revamp Dialog Editor for new controls and properties (e.g.
|
Revamp Dialog Editor for new controls and properties (e.g.
|
||||||
window id).
|
window id).
|
||||||
|
|
||||||
Tidy wxConfig API.
|
Registry classes (check out wxConfig class - see issues.txt).
|
||||||
|
|
||||||
Change DnD classes to use global symbols, and wxString.
|
Change DnD classes to use global symbols, and wxString.
|
||||||
|
|
||||||
@@ -42,20 +47,18 @@ Update manual.
|
|||||||
wxListBox changes (for ownerdraw functionality)
|
wxListBox changes (for ownerdraw functionality)
|
||||||
wxThread DONE (except for topic overview)
|
wxThread DONE (except for topic overview)
|
||||||
wxHelpController classes DONE (except for Unix ones)
|
wxHelpController classes DONE (except for Unix ones)
|
||||||
wxString PARTLY DONE
|
wxString
|
||||||
|
wxTString
|
||||||
Drag and drop (change API if required, e.g. const).
|
Drag and drop (change API if required, e.g. const).
|
||||||
wxCheckListBox
|
wxCheckListBox
|
||||||
wxAcceleratorTable
|
|
||||||
wxBaseArray, other arrays
|
wxBaseArray, other arrays
|
||||||
(wxOwnerDrawn)
|
(wxOwnerDrawn)
|
||||||
Document the include file for each class
|
Document the include file for each class
|
||||||
Macros, e.g. wxASSERT
|
Macros, e.g. wxASSERT
|
||||||
Stream classes
|
|
||||||
Functions
|
|
||||||
|
|
||||||
Write tutorial.
|
Write tutorial.
|
||||||
|
|
||||||
A wxDC function (or two) for drawing 3D edges.
|
Other static classes.
|
||||||
|
|
||||||
Makefiles for other compilers. Generic makefiles?
|
Makefiles for other compilers. Generic makefiles?
|
||||||
Rewrite makefiles to maintain simultaneous debug/release
|
Rewrite makefiles to maintain simultaneous debug/release
|
||||||
@@ -65,15 +68,31 @@ More wxSystemSettings (see comment in settings.cpp).
|
|||||||
|
|
||||||
wxSocket integration.
|
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.
|
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...
|
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.
|
Make use of Vadim's gettext implementation throughout wxWin code.
|
||||||
Document it.
|
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
|
Retain callback functions; have semi-compatible callback function prototypes
|
||||||
for all controls, at least in WXWIN_COMPATIBLE mode, but
|
for all controls, at least in WXWIN_COMPATIBLE mode, but
|
||||||
retain (Set)Callback for all compilations. This is following a
|
retain (Set)Callback for all compilations. This is following a
|
||||||
@@ -81,13 +100,18 @@ panicky response to losing callbacks.
|
|||||||
|
|
||||||
Merge dib.cpp, dibutils.cpp.
|
Merge dib.cpp, dibutils.cpp.
|
||||||
|
|
||||||
|
Simplify the toolbar samples.
|
||||||
|
|
||||||
Add a wxTabCtrl sample.
|
Add a wxTabCtrl sample.
|
||||||
|
|
||||||
Improve printing. More API functions for printer DCs (to get
|
EVT_ENTER/LEAVE_WINDOW: Perhaps one approach to reliable implementation of
|
||||||
printer characteristics) and more reliable printing framework.
|
EVT_LEAVE_WINDOW is to set a flag when the mouse pointer is in a window,
|
||||||
|
then in idle time, check this window.
|
||||||
Add GetIcon, GetBitmap to wxImageList. Perhaps store bitmaps
|
If the flag is set but the mouse pointer is outside the window, then
|
||||||
in image list so we can get them later.
|
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
|
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
|
argument, so instead just allow controls loaded from native
|
||||||
resource to deal with this style and call default processing.
|
resource to deal with this style and call default processing.
|
||||||
|
|
||||||
|
Completion of drag and drop support (Vadim).
|
||||||
|
|
||||||
Better clipboard support.
|
Better clipboard support.
|
||||||
|
|
||||||
|
Toolbars: use event tables not virtual functions.
|
||||||
|
|
||||||
wxWizard class?
|
wxWizard class?
|
||||||
|
|
||||||
Doc/view - have some standard views/docs e.g. wxTextView.
|
Doc/view - have some standard views/docs e.g. wxTextView.
|
||||||
@@ -125,6 +153,10 @@ Integrate existing multimedia classes.
|
|||||||
|
|
||||||
Rich text class?
|
Rich text class?
|
||||||
|
|
||||||
|
Optimize size further.
|
||||||
|
|
||||||
|
wxThread integration.
|
||||||
|
|
||||||
Look at WinCE stuff incl. database classes.
|
Look at WinCE stuff incl. database classes.
|
||||||
|
|
||||||
Improve conversion guide, compatibility classes, tools?
|
Improve conversion guide, compatibility classes, tools?
|
||||||
|
@@ -4,22 +4,17 @@ GUIs:
|
|||||||
-----
|
-----
|
||||||
|
|
||||||
__X__ any X, but not GTK
|
__X__ any X, but not GTK
|
||||||
__WXMOTIF__ Motif
|
__MOTIF__ Motif
|
||||||
__WXXT__ Xt; mutually exclusive with WX_MOTIF (?)
|
__XT__ Xt; mutually exclusive with WX_MOTIF (?)
|
||||||
__WXGTK__ GTK
|
__GTK__ GTK
|
||||||
__WXMSW__ Any Windows
|
__XVIEW__ Obsolete!
|
||||||
__WXMAC__ MacOS
|
__WINDOWS__ Any Windows
|
||||||
|
__MAC__ MacOS
|
||||||
__UNIX__ any Unix
|
__UNIX__ any Unix
|
||||||
__WINDOWS__ any Windows
|
|
||||||
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||||
__WIN32__ WIN32 API
|
__WIN32__ WIN32 API
|
||||||
__NT__ Windows NT
|
__NT__ Windows NT
|
||||||
__WXCURSES__ CURSES
|
__CURSES__ 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.
|
|
||||||
|
|
||||||
OSes/machines:
|
OSes/machines:
|
||||||
|
|
||||||
@@ -56,6 +51,6 @@ __XLC__ ?? compiler
|
|||||||
wxWindows modes:
|
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, ...)
|
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
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_APP_H_BASE_
|
#ifndef __APPH_BASE__
|
||||||
#define _WX_APP_H_BASE_
|
#define __APPH_BASE__
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifndef __GTK__
|
||||||
class WXDLLEXPORT wxApp;
|
class WXDLLEXPORT wxApp;
|
||||||
typedef wxApp* (*wxAppInitializerFunction) (void);
|
typedef wxApp* (*wxAppInitializerFunction) (void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
|
|
||||||
#ifndef __WXMSW__
|
#ifdef __GTK__
|
||||||
typedef wxObject* (*wxAppInitializerFunction) (void); // returning wxApp* won't work with gcc
|
typedef wxObject* (*wxAppInitializerFunction) (void); // returning wxApp* won't work with gcc
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/app.h"
|
#include "wx/msw/app.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/app.h"
|
#include "wx/xt/app.h"
|
||||||
#elif defined(__WXQT__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/qt/app.h"
|
|
||||||
#elif defined(__WXGTK__)
|
|
||||||
#include "wx/gtk/app.h"
|
#include "wx/gtk/app.h"
|
||||||
#elif defined(__WXMAC__)
|
|
||||||
#include "wx/mac/app.h"
|
|
||||||
#elif defined(__WXSTUBS__)
|
|
||||||
#include "wx/stubs/app.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// Having a global instance of this class allows
|
// Having a global instance of this class allows
|
||||||
// wxApp to be aware of the app creator function.
|
// wxApp to be aware of the app creator function.
|
||||||
// wxApp can then call this function to create a new
|
// 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
|
#endif
|
||||||
// _WX_APP_H_BASE_
|
// __APPH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_BITMAP_H_BASE_
|
#ifndef __BITMAPH_BASE__
|
||||||
#define _WX_BITMAP_H_BASE_
|
#define __BITMAPH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/bitmap.h"
|
#include "wx/msw/bitmap.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/bitmap.h"
|
#include "wx/xt/bitmap.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/bitmap.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_BITMAP_H_BASE_
|
// __BITMAPH_BASE__
|
||||||
|
@@ -1,18 +1,12 @@
|
|||||||
#ifndef _WX_BMPBUTTON_H_BASE_
|
#ifndef __BMPBUTTONH_BASE__
|
||||||
#define _WX_BMPBUTTON_H_BASE_
|
#define __BMPBUTTONH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/bmpbuttn.h"
|
#include "wx/msw/bmpbuttn.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/bmpbuttn.h"
|
#include "wx/xt/bmpbuttn.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/bmpbuttn.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_BRUSH_H_BASE_
|
#ifndef __BRUSHH_BASE__
|
||||||
#define _WX_BRUSH_H_BASE_
|
#define __BRUSHH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/brush.h"
|
#include "wx/msw/brush.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/brush.h"
|
#include "wx/xt/brush.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/brush.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_BRUSH_H_BASE_
|
// __BRUSHH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_BUTTON_H_BASE_
|
#ifndef __BUTTONH_BASE__
|
||||||
#define _WX_BUTTON_H_BASE_
|
#define __BUTTONH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/button.h"
|
#include "wx/msw/button.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/button.h"
|
#include "wx/xt/button.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/button.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_BUTTON_H_BASE_
|
// __BUTTONH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_CHECKBOX_H_BASE_
|
#ifndef __CHECKBOXH_BASE__
|
||||||
#define _WX_CHECKBOX_H_BASE_
|
#define __CHECKBOXH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/checkbox.h"
|
#include "wx/msw/checkbox.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/checkbox.h"
|
#include "wx/xt/checkbox.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/checkbox.h"
|
#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
|
||||||
|
|
||||||
#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_
|
#ifndef __CHOICDLGH_BASE__
|
||||||
#define _WX_CHOICDLG_H_BASE_
|
#define __CHOICDLGH_BASE__
|
||||||
|
|
||||||
#include "wx/generic/choicdgg.h"
|
#include "wx/generic/choicdgg.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CHOICDLG_H_BASE_
|
// __CHOICDLGH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_CHOICE_H_BASE_
|
#ifndef __CHOICEH_BASE__
|
||||||
#define _WX_CHOICE_H_BASE_
|
#define __CHOICEH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/choice.h"
|
#include "wx/msw/choice.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/choice.h"
|
#include "wx/xt/choice.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/choice.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CHOICE_H_BASE_
|
// __CHOICEH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_CLIPBRD_H_BASE_
|
#ifndef __CLIPBRDH_BASE__
|
||||||
#define _WX_CLIPBRD_H_BASE_
|
#define __CLIPBRDH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/clipbrd.h"
|
#include "wx/msw/clipbrd.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/clipbrd.h"
|
#include "wx/xt/clipbrd.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/clipbrd.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CLIPBRD_H_BASE_
|
// __CLIPBRDH_BASE__
|
||||||
|
@@ -9,16 +9,13 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_CMNDATA_H_BASE_
|
#ifndef __CMNDATAH_BASE__
|
||||||
#define _WX_CMNDATA_H_BASE_
|
#define __CMNDATAH_BASE__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "cmndata.h"
|
#pragma interface "cmndata.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/font.h"
|
|
||||||
#include "wx/colour.h"
|
|
||||||
|
|
||||||
class WXDLLEXPORT wxColourData: public wxObject
|
class WXDLLEXPORT wxColourData: public wxObject
|
||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxColourData)
|
DECLARE_DYNAMIC_CLASS(wxColourData)
|
||||||
@@ -85,7 +82,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
|||||||
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifdef __WXMSW__
|
#ifdef __WINDOWS__
|
||||||
void *printData;
|
void *printData;
|
||||||
#endif
|
#endif
|
||||||
int printFromPage;
|
int printFromPage;
|
||||||
@@ -140,7 +137,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
|||||||
|
|
||||||
void operator=(const wxPrintData& data);
|
void operator=(const wxPrintData& data);
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WINDOWS__
|
||||||
// Convert to/from the PRINTDLG structure
|
// Convert to/from the PRINTDLG structure
|
||||||
void ConvertToNative(void);
|
void ConvertToNative(void);
|
||||||
void ConvertFromNative(void);
|
void ConvertFromNative(void);
|
||||||
@@ -223,4 +220,4 @@ class WXDLLEXPORT wxPageSetupData: public wxObject
|
|||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CMNDATA_H_BASE_
|
// __CMNDATAH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_COLORDLG_H_BASE_
|
#ifndef __COLORDLGH_BASE__
|
||||||
#define _WX_COLORDLG_H_BASE_
|
#define __COLORDLGH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/colordlg.h"
|
#include "wx/msw/colordlg.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/generic/colrdlgg.h"
|
#include "wx/generic/colrdlgg.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/generic/colrdlgg.h"
|
|
||||||
#elif defined(__WXQT__)
|
|
||||||
#include "wx/generic/colrdlgg.h"
|
|
||||||
#elif defined(__WXMAC__)
|
|
||||||
#include "wx/generic/colrdlgg.h"
|
|
||||||
#elif defined(__WXSTUBS__)
|
|
||||||
#include "wx/generic/colrdlgg.h"
|
#include "wx/generic/colrdlgg.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#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_
|
#ifndef __COMBOBOXH_BASE__
|
||||||
#define _WX_COMBOBOX_H_BASE_
|
#define __COMBOBOXH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/combobox.h"
|
#include "wx/msw/combobox.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/combobox.h"
|
#include "wx/xt/combobox.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/combobox.h"
|
#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
|
||||||
|
|
||||||
#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 __GNUG__
|
||||||
# ifdef __WIN32__
|
#pragma interface "config.h"
|
||||||
# include "wx/msw/regconf.h"
|
|
||||||
#else
|
|
||||||
# include "wx/msw/iniconf.h"
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
# include "wx/fileconf.h"
|
|
||||||
#endif
|
#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
|
#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_
|
#ifndef __CONTROLH_BASE__
|
||||||
#define _WX_CONTROL_H_BASE_
|
#define __CONTROLH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/control.h"
|
#include "wx/msw/control.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/control.h"
|
#include "wx/xt/control.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/control.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CONTROL_H_BASE_
|
// __CONTROLH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_CURSOR_H_BASE_
|
#ifndef __CURSORH_BASE__
|
||||||
#define _WX_CURSOR_H_BASE_
|
#define __CURSORH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/cursor.h"
|
#include "wx/msw/cursor.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/cursor.h"
|
#include "wx/xt/cursor.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/cursor.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_CURSOR_H_BASE_
|
// __CURSORH_BASE__
|
||||||
|
@@ -10,8 +10,8 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_DATE_H_
|
#ifndef __WXDATEH__
|
||||||
#define _WX_DATE_H_
|
#define __WXDATEH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "date.h"
|
#pragma interface "date.h"
|
||||||
@@ -128,4 +128,4 @@ class WXDLLEXPORT wxDate: public wxObject
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
// _WX_DATE_H_
|
// __WXDATEH__
|
||||||
|
@@ -9,19 +9,22 @@
|
|||||||
// Licence: wxWindows license
|
// Licence: wxWindows license
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_DATSTREAM_H_
|
#ifndef __DATSTREAMH__
|
||||||
#define _WX_DATSTREAM_H_
|
#define __DATSTREAMH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "datstrm.h"
|
#pragma interface "datstrm.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <wx/stream.h>
|
#include "wx/wx.h"
|
||||||
|
|
||||||
class wxDataInputStream: public wxFilterInputStream {
|
class wxDataStream {
|
||||||
public:
|
public:
|
||||||
wxDataInputStream(wxInputStream& s);
|
wxDataStream(iostream& s);
|
||||||
virtual ~wxDataInputStream();
|
wxDataStream(istream& s);
|
||||||
|
wxDataStream(ostream& s);
|
||||||
|
|
||||||
|
virtual ~wxDataStream();
|
||||||
|
|
||||||
unsigned long Read32();
|
unsigned long Read32();
|
||||||
unsigned short Read16();
|
unsigned short Read16();
|
||||||
@@ -29,12 +32,6 @@ public:
|
|||||||
double ReadDouble();
|
double ReadDouble();
|
||||||
wxString ReadLine();
|
wxString ReadLine();
|
||||||
wxString ReadString();
|
wxString ReadString();
|
||||||
};
|
|
||||||
|
|
||||||
class wxDataOutputStream: public wxFilterOutputStream {
|
|
||||||
public:
|
|
||||||
wxDataOutputStream(wxOutputStream& s);
|
|
||||||
virtual ~wxDataOutputStream();
|
|
||||||
|
|
||||||
void Write32(unsigned long i);
|
void Write32(unsigned long i);
|
||||||
void Write16(unsigned short i);
|
void Write16(unsigned short i);
|
||||||
@@ -42,7 +39,10 @@ class wxDataOutputStream: public wxFilterOutputStream {
|
|||||||
void WriteDouble(double d);
|
void WriteDouble(double d);
|
||||||
void WriteLine(const wxString& line);
|
void WriteLine(const wxString& line);
|
||||||
void WriteString(const wxString& string);
|
void WriteString(const wxString& string);
|
||||||
|
protected:
|
||||||
|
istream *m_istream;
|
||||||
|
ostream *m_ostream;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#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_
|
#ifndef __DCH_BASE__
|
||||||
#define _WX_DC_H_BASE_
|
#define __DCH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dc.h"
|
#include "wx/msw/dc.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dc.h"
|
#include "wx/xt/dc.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dc.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DC_H_BASE_
|
// __DCH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DCCLIENT_H_BASE_
|
#ifndef __DCCLIENTH_BASE__
|
||||||
#define _WX_DCCLIENT_H_BASE_
|
#define __DCCLIENTH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dcclient.h"
|
#include "wx/msw/dcclient.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dcclient.h"
|
#include "wx/xt/dcclient.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dcclient.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DCCLIENT_H_BASE_
|
// __DCCLIENTH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DCMEMORY_H_BASE_
|
#ifndef __DCMEMORYH_BASE__
|
||||||
#define _WX_DCMEMORY_H_BASE_
|
#define __DCMEMORYH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dcmemory.h"
|
#include "wx/msw/dcmemory.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dcmemory.h"
|
#include "wx/xt/dcmemory.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dcmemory.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DCMEMORY_H_BASE_
|
// __DCMEMORYH_BASE__
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
#ifndef _WX_DCPRINT_H_BASE_
|
#ifndef __DCPRINTH_BASE__
|
||||||
#define _WX_DCPRINT_H_BASE_
|
#define __DCPRINTH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dcprint.h"
|
#include "wx/msw/dcprint.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DCPRINT_H_BASE_
|
// __DCPRINTH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DCSCREEN_H_BASE_
|
#ifndef __DCSCREENH_BASE__
|
||||||
#define _WX_DCSCREEN_H_BASE_
|
#define __DCSCREENH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dcscreen.h"
|
#include "wx/msw/dcscreen.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dcscreen.h"
|
#include "wx/xt/dcscreen.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dcscreen.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DCSCREEN_H_BASE_
|
// __DCSCREENH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DDE_H_BASE_
|
#ifndef __DDEH_BASE__
|
||||||
#define _WX_DDE_H_BASE_
|
#define __DDEH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dde.h"
|
#include "wx/msw/dde.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dde.h"
|
#include "wx/xt/dde.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dde.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DDE_H_BASE_
|
// __DDEH_BASE__
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
// Licence: wxWindows license
|
// Licence: wxWindows license
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_DEBUG_H_
|
#ifndef __DEBUGH__
|
||||||
#define _WX_DEBUG_H_
|
#define __DEBUGH__
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
<BR>
|
<BR>
|
||||||
<BR>
|
<BR>
|
||||||
Extensive use of these macros is recommended! Remember that ASSERTs are
|
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
|
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
|
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.
|
a judicious use of them might increase your program's stability.
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
/** @name Macros which are completely disabled in 'release' mode */
|
/** @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
|
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
|
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
|
@param szFile and nLine - file name and line number of the ASSERT
|
||||||
szMsg - optional message explaining the reason
|
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
|
/// generic assert macro
|
||||||
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
#define wxASSERT(cond) if ( !(cond) ) wxOnAssert(__FILE__, __LINE__)
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
// no more bugs ;-)
|
// no more bugs ;-)
|
||||||
#define wxASSERT(cond)
|
#define wxASSERT(cond)
|
||||||
#define wxASSERT_MSG(x, m)
|
#define wxASSERT_MSG(x, m)
|
||||||
#endif //WXDEBUG
|
#endif //DEBUG
|
||||||
|
|
||||||
/// special form of assert: always triggers it (in debug mode)
|
/// special form of assert: always triggers it (in debug mode)
|
||||||
#define wxFAIL wxASSERT(0)
|
#define wxFAIL wxASSERT(0)
|
||||||
@@ -99,5 +99,5 @@
|
|||||||
|
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
#endif // _WX_DEBUG_H_
|
#endif // __DEBUGH__
|
||||||
|
|
||||||
|
@@ -9,14 +9,14 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_DEFS_H_
|
#ifndef __DEFSH__
|
||||||
#define _WX_DEFS_H_
|
#define __DEFSH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "defs.h"
|
#pragma interface "defs.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
#ifdef __GTK__
|
||||||
|
|
||||||
#include "glib.h"
|
#include "glib.h"
|
||||||
#include "gdk/gdk.h"
|
#include "gdk/gdk.h"
|
||||||
@@ -30,14 +30,8 @@
|
|||||||
#include "wx/version.h"
|
#include "wx/version.h"
|
||||||
|
|
||||||
// Helps SGI compilation, apparently
|
// Helps SGI compilation, apparently
|
||||||
#if defined(__SGI__)
|
#if defined(__SGI__) && defined(__GNUG__)
|
||||||
#if defined(__GNUG__)
|
|
||||||
#define __need_wchar_t
|
#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
|
#endif
|
||||||
|
|
||||||
// Eliminate double/float warnings
|
// Eliminate double/float warnings
|
||||||
@@ -49,15 +43,19 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
// Currently Only MS-Windows/NT, XView and Motif are supported
|
// Currently Only MS-Windows/NT, XView and Motif are supported
|
||||||
//
|
//
|
||||||
#if defined(__HPUX__) && !defined(__WXMOTIF__)
|
#if defined(__HPUX__) && !defined(__MOTIF__)
|
||||||
# define __WXMOTIF__
|
# define __MOTIF__
|
||||||
#endif
|
#endif
|
||||||
#if defined(__WXMOTIF__)
|
#if defined(__MOTIF__)
|
||||||
# define __X__
|
# define __X__
|
||||||
|
#elif defined(__WINDOWS__) || defined(__WINDOWS_386__) || defined(__NT__) || defined(__MSDOS__)
|
||||||
|
# ifndef __WINDOWS__
|
||||||
|
# define __WINDOWS__
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// wxWindows checks for WIN32, not __WIN32__
|
// wxWindows checks for WIN32, not __WIN32__
|
||||||
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__) && !defined(__WXSTUBS__))
|
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__))
|
||||||
#define __WIN32__
|
#define __WIN32__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -70,14 +68,13 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Make sure the environment is set correctly
|
// 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"
|
# error "Target can't be both X and Windows"
|
||||||
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \
|
#elif !defined(__MOTIF__) && !defined(__WINDOWS__) && !defined(__GTK__) && !defined(__MAC__) && !defined(__X__)
|
||||||
!defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__)
|
#error "No Target! Use -D[__MOTIF__|__GTK__|__WINDOWS__|__MAC__]"
|
||||||
#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__)
|
#if defined(__MOTIF__) || defined(__GTK__)
|
||||||
|
|
||||||
// Bool is now obsolete, use bool instead
|
// Bool is now obsolete, use bool instead
|
||||||
// typedef int Bool;
|
// typedef int Bool;
|
||||||
@@ -88,7 +85,7 @@
|
|||||||
# define Bool_DEFINED
|
# define Bool_DEFINED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(__WXMSW__)
|
#elif defined(__WINDOWS__)
|
||||||
|
|
||||||
#ifndef TRUE
|
#ifndef TRUE
|
||||||
# define TRUE 1
|
# define TRUE 1
|
||||||
@@ -122,7 +119,7 @@ typedef int wxWindowID;
|
|||||||
* Making or using wxWindows as a Windows DLL
|
* Making or using wxWindows as a Windows DLL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WINDOWS__
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
|
|
||||||
@@ -175,9 +172,22 @@ typedef int wxWindowID;
|
|||||||
class WXDLLEXPORT wxObject;
|
class WXDLLEXPORT wxObject;
|
||||||
class WXDLLEXPORT wxEvent;
|
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 */
|
integer on success as failure indicator */
|
||||||
#define NOT_FOUND (-1)
|
#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
|
// Error codes
|
||||||
@@ -200,32 +210,10 @@ enum ErrCode
|
|||||||
/** @name Very common macros */
|
/** @name Very common macros */
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
//@{
|
//@{
|
||||||
/// delete pointer if it is not NULL and NULL it afterwards
|
/// delete pointer if it is not NULL
|
||||||
// (checking that it's !NULL before passing it to delete is just a
|
#define DELETEP(p) if ( (p) != NULL ) delete (p)
|
||||||
// a question of style, because delete will do it itself anyhow, but it might
|
/// delete array pointer if it is not NULL
|
||||||
// be considered as an error by some overzealous debugging implementations of
|
#define DELETEA(p) if ( (p) != NULL ) delete [] (p)
|
||||||
// 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__ */
|
|
||||||
|
|
||||||
/// size of statically declared array
|
/// size of statically declared array
|
||||||
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
|
#define WXSIZEOF(array) (sizeof(array)/sizeof(array[0]))
|
||||||
@@ -235,13 +223,17 @@ enum ErrCode
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// OS
|
// OS
|
||||||
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi )
|
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__)
|
||||||
#ifndef __UNIX__
|
#ifndef __UNIX__
|
||||||
#define __UNIX__
|
#define __UNIX__
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __UNIX__ // Windows
|
#ifndef __UNIX__ // Windows
|
||||||
|
#ifndef __WINDOWS__
|
||||||
|
#define __WINDOWS__
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
#if defined(_MSC_VER)
|
||||||
#define __VISUALC__
|
#define __VISUALC__
|
||||||
#elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
|
#elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
|
||||||
@@ -254,6 +246,14 @@ enum ErrCode
|
|||||||
|
|
||||||
#endif // OS
|
#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
|
// compiler specific settings
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -367,10 +367,8 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define wxTB_3DBUTTONS 0x8000
|
#define wxTB_3DBUTTONS 0x8000
|
||||||
#define wxTB_HORIZONTAL 0x0002
|
|
||||||
#define wxTB_VERTICAL 0x0004
|
|
||||||
// Flatbar/Coolbar under Win98
|
// Flatbar/Coolbar under Win98
|
||||||
#define wxTB_FLAT 0x0008
|
#define wxTB_FLAT 0x0002
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Apply to all panel items
|
* Apply to all panel items
|
||||||
@@ -389,14 +387,21 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
* Styles for wxListBox
|
* 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_SORT 0x0010
|
||||||
#define wxLB_SINGLE 0x0020
|
// These duplicate the styles in the Multiple argument
|
||||||
|
#define wxLB_SINGLE 0x0000
|
||||||
#define wxLB_MULTIPLE 0x0040
|
#define wxLB_MULTIPLE 0x0040
|
||||||
#define wxLB_EXTENDED 0x0080
|
#define wxLB_EXTENDED 0x0080
|
||||||
// wxLB_OWNERDRAW is Windows-only
|
// wxLB_OWNERDRAW is Windows-only
|
||||||
#define wxLB_OWNERDRAW 0x0100
|
#define wxLB_OWNERDRAW 0x0100
|
||||||
#define wxLB_NEEDED_SB 0x0200
|
|
||||||
#define wxLB_ALWAYS_SB 0x0400
|
|
||||||
#define wxLB_HSCROLL wxHSCROLL
|
#define wxLB_HSCROLL wxHSCROLL
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -409,16 +414,19 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
#define wxTE_READONLY 0x0010
|
#define wxTE_READONLY 0x0010
|
||||||
#define wxTE_MULTILINE 0x0020
|
#define wxTE_MULTILINE 0x0020
|
||||||
|
|
||||||
// MSW-only
|
// TODO For backward compatibility, need wxOLD_READONLY
|
||||||
#define wxTE_RICHTEXT 0x0020
|
#define wxREADONLY wxTE_READONLY
|
||||||
|
#define wxEDITABLE 0
|
||||||
|
|
||||||
|
// #define wxTE_RICHTEXT 0x0020
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxComboBox style flags
|
* wxComboBox style flags
|
||||||
*/
|
*/
|
||||||
#define wxCB_SIMPLE 0x0004
|
#define wxCB_SIMPLE 0x0004
|
||||||
|
#define wxCB_DROPDOWN 0x0000
|
||||||
#define wxCB_SORT 0x0008
|
#define wxCB_SORT 0x0008
|
||||||
#define wxCB_READONLY 0x0010
|
#define wxCB_READONLY wxREADONLY
|
||||||
#define wxCB_DROPDOWN 0x0020
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxRadioBox/wxRadioButton style flags
|
* wxRadioBox/wxRadioButton style flags
|
||||||
@@ -657,35 +665,26 @@ typedef enum {
|
|||||||
// Possible SetSize flags
|
// Possible SetSize flags
|
||||||
|
|
||||||
// Use internally-calculated width if -1
|
// Use internally-calculated width if -1
|
||||||
#define wxSIZE_AUTO_WIDTH 0x0001
|
#define wxSIZE_AUTO_WIDTH 1
|
||||||
// Use internally-calculated height if -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
|
// 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).
|
// Ignore missing (-1) dimensions (use existing).
|
||||||
// For readability only: test for wxSIZE_AUTO_WIDTH/HEIGHT in code.
|
// 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
|
// Allow -1 as a valid position
|
||||||
#define wxSIZE_ALLOW_MINUS_ONE 0x0004
|
#define wxSIZE_ALLOW_MINUS_ONE 4
|
||||||
// Don't do parent client adjustments (for implementation only)
|
|
||||||
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
|
||||||
|
|
||||||
|
// Clipboard formats
|
||||||
// Data format for drag & drop and clipboard operations
|
// Numbers as per winuser.h
|
||||||
// numbers as per winuser.h
|
# define wxCF_TEXT 1 /* CF_TEXT */
|
||||||
|
# define wxCF_BITMAP 2 /* CF_BITMAP */
|
||||||
enum wxDataFormat
|
# define wxCF_METAFILE 3 /* CF_METAFILEPICT */
|
||||||
{
|
# define wxCF_DIB 8 /* CF_DIB */
|
||||||
wxDF_TEXT = 1, /* CF_TEXT */
|
# define wxCF_OEMTEXT 7 /* CF_OEMTEXT */
|
||||||
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 */
|
|
||||||
};
|
|
||||||
|
|
||||||
// Virtual keycodes
|
// Virtual keycodes
|
||||||
|
|
||||||
enum _Virtual_keycodes {
|
enum _Virtual_keycodes {
|
||||||
WXK_BACK = 8,
|
WXK_BACK = 8,
|
||||||
WXK_TAB = 9,
|
WXK_TAB = 9,
|
||||||
@@ -770,23 +769,20 @@ enum _Virtual_keycodes {
|
|||||||
// OS mnemonics -- Identify the running OS (useful for Windows)
|
// OS mnemonics -- Identify the running OS (useful for Windows)
|
||||||
// [Not all platforms are currently available or supported]
|
// [Not all platforms are currently available or supported]
|
||||||
enum {
|
enum {
|
||||||
wxUNKNOWN_PLATFORM,
|
wxCURSES,
|
||||||
wxCURSES, // Text-only CURSES
|
|
||||||
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
wxXVIEW_X, // Sun's XView OpenLOOK toolkit
|
||||||
wxMOTIF_X, // OSF Motif 1.x.x
|
wxMOTIF_X, // OSF Motif 1.x.x
|
||||||
wxCOSE_X, // OSF Common Desktop Environment
|
wxCOSE_X, // OSF Common Desktop Environment
|
||||||
wxNEXTSTEP, // NeXTStep
|
wxNEXTSTEP, // NeXTStep
|
||||||
wxMACINTOSH, // Apple System 7
|
wxMACINTOSH, // Apple System 7
|
||||||
wxGTK, // GTK
|
wxGEOS, // GEOS
|
||||||
wxQT, // Qt
|
wxOS2_PM, // OS/2 Workplace
|
||||||
wxGEOS, // GEOS
|
|
||||||
wxOS2_PM, // OS/2 Workplace
|
|
||||||
wxWINDOWS, // Windows or WfW
|
wxWINDOWS, // Windows or WfW
|
||||||
wxPENWINDOWS, // Windows for Pen Computing
|
wxPENWINDOWS, // Windows for Pen Computing
|
||||||
wxWINDOWS_NT, // Windows NT
|
wxWINDOWS_NT, // Windows NT
|
||||||
wxWIN32S, // Windows 32S API
|
wxWIN32S, // Windows 32S API
|
||||||
wxWIN95, // Windows 95
|
wxWIN95, // Windows 95
|
||||||
wxWIN386 // Watcom 32-bit supervisor modus
|
wxWIN386 // Watcom 32-bit supervisor modus
|
||||||
};
|
};
|
||||||
|
|
||||||
// Printing
|
// Printing
|
||||||
@@ -836,9 +832,8 @@ enum {
|
|||||||
#define wxID_APPLY 5102
|
#define wxID_APPLY 5102
|
||||||
#define wxID_YES 5103
|
#define wxID_YES 5103
|
||||||
#define wxID_NO 5104
|
#define wxID_NO 5104
|
||||||
#define wxID_STATIC 5105
|
|
||||||
|
|
||||||
#ifdef __WXMSW__
|
#ifdef __WINDOWS__
|
||||||
// Stand-ins for Windows types, to avoid
|
// Stand-ins for Windows types, to avoid
|
||||||
// #including all of windows.h
|
// #including all of windows.h
|
||||||
|
|
||||||
@@ -852,7 +847,6 @@ typedef unsigned long WXHBRUSH;
|
|||||||
typedef unsigned long WXHPALETTE;
|
typedef unsigned long WXHPALETTE;
|
||||||
typedef unsigned long WXHCURSOR;
|
typedef unsigned long WXHCURSOR;
|
||||||
typedef unsigned long WXHRGN;
|
typedef unsigned long WXHRGN;
|
||||||
typedef unsigned long WXHACCEL;
|
|
||||||
typedef unsigned long WXHINSTANCE;
|
typedef unsigned long WXHINSTANCE;
|
||||||
typedef unsigned long WXHBITMAP;
|
typedef unsigned long WXHBITMAP;
|
||||||
typedef unsigned long WXHIMAGELIST;
|
typedef unsigned long WXHIMAGELIST;
|
||||||
@@ -864,20 +858,19 @@ typedef unsigned short WXWORD;
|
|||||||
typedef unsigned int WXWPARAM;
|
typedef unsigned int WXWPARAM;
|
||||||
typedef long WXLPARAM;
|
typedef long WXLPARAM;
|
||||||
typedef unsigned long WXCOLORREF;
|
typedef unsigned long WXCOLORREF;
|
||||||
|
typedef void * WXRGN;
|
||||||
typedef void * WXRGNDATA;
|
typedef void * WXRGNDATA;
|
||||||
typedef void * WXMSG;
|
typedef void * WXMSG;
|
||||||
typedef unsigned long WXHCONV;
|
typedef unsigned long WXHCONV;
|
||||||
typedef unsigned long WXHKEY;
|
|
||||||
typedef void * WXDRAWITEMSTRUCT;
|
typedef void * WXDRAWITEMSTRUCT;
|
||||||
typedef void * WXMEASUREITEMSTRUCT;
|
typedef void * WXMEASUREITEMSTRUCT;
|
||||||
typedef void * WXLPCREATESTRUCT;
|
typedef void * WXLPCREATESTRUCT;
|
||||||
#ifdef __GNUWIN32__
|
|
||||||
typedef int (*WXFARPROC)();
|
typedef int (*WXFARPROC)();
|
||||||
#else
|
|
||||||
typedef int (__stdcall *WXFARPROC)();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// for drag & drop and clipboard operations
|
||||||
|
typedef unsigned short wxDataFormat;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DEFS_H_
|
// __WXDEFSH__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DIALOG_H_BASE_
|
#ifndef __DIALOGH_BASE__
|
||||||
#define _WX_DIALOG_H_BASE_
|
#define __DIALOGH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dialog.h"
|
#include "wx/msw/dialog.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dialog.h"
|
#include "wx/xt/dialog.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dialog.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DIALOG_H_BASE_
|
// __DIALOGH_BASE__
|
||||||
|
@@ -1,19 +1,13 @@
|
|||||||
#ifndef _WX_DIRDLG_H_BASE_
|
#ifndef __DIRDLGH_BASE__
|
||||||
#define _WX_DIRDLG_H_BASE_
|
#define __DIRDLGH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/dirdlg.h"
|
#include "wx/msw/dirdlg.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#include "wx/motif/dirdlg.h"
|
#include "wx/xt/dirdlg.h"
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dirdlg.h"
|
#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
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_DIRDLG_H_BASE_
|
// __DIRDLGH_BASE__
|
||||||
|
@@ -1,20 +1,14 @@
|
|||||||
#ifndef _WX_DND_H_BASE_
|
#ifndef __DNDH_BASE__
|
||||||
#define _WX_DND_H_BASE_
|
#define __DNDH_BASE__
|
||||||
|
|
||||||
#if defined(__WXMSW__)
|
#if defined(__WINDOWS__)
|
||||||
#include "wx/msw/ole/dropsrc.h"
|
#include "wx/msw/ole/dropsrc.h"
|
||||||
#include "wx/msw/ole/droptgt.h"
|
#include "wx/msw/ole/droptgt.h"
|
||||||
#include "wx/msw/ole/dataobj.h"
|
#include "wx/msw/ole/dataobj.h"
|
||||||
#elif defined(__WXMOTIF__)
|
#elif defined(__MOTIF__)
|
||||||
#elif defined(__WXGTK__)
|
#elif defined(__GTK__)
|
||||||
#include "wx/gtk/dnd.h"
|
#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
|
||||||
|
|
||||||
#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
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef _WX_DOCH__
|
#ifndef __DOCH__
|
||||||
#define _WX_DOCH__
|
#define __DOCH__
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "docview.h"
|
#pragma interface "docview.h"
|
||||||
@@ -56,7 +56,7 @@ class WXDLLEXPORT wxDocument : public wxEvtHandler
|
|||||||
{
|
{
|
||||||
DECLARE_ABSTRACT_CLASS(wxDocument)
|
DECLARE_ABSTRACT_CLASS(wxDocument)
|
||||||
public:
|
public:
|
||||||
wxDocument(wxDocument *parent = (wxDocument *) NULL);
|
wxDocument(wxDocument *parent = NULL);
|
||||||
~wxDocument(void);
|
~wxDocument(void);
|
||||||
|
|
||||||
void SetFilename(const wxString& filename, bool notifyViews = FALSE);
|
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; }
|
inline wxList& GetViews(void) const { return (wxList&) m_documentViews; }
|
||||||
wxView *GetFirstView(void) const;
|
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)
|
// Remove all views (because we're closing the document)
|
||||||
virtual bool DeleteAllViews(void);
|
virtual bool DeleteAllViews(void);
|
||||||
@@ -146,7 +146,7 @@ class WXDLLEXPORT wxView: public wxEvtHandler
|
|||||||
{
|
{
|
||||||
DECLARE_ABSTRACT_CLASS(wxView)
|
DECLARE_ABSTRACT_CLASS(wxView)
|
||||||
public:
|
public:
|
||||||
wxView(wxDocument *doc = (wxDocument *) NULL);
|
wxView(wxDocument *doc = NULL);
|
||||||
~wxView(void);
|
~wxView(void);
|
||||||
|
|
||||||
inline wxDocument *GetDocument(void) const { return m_viewDocument; }
|
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 OnActivateView(bool activate, wxView *activeView, wxView *deactiveView);
|
||||||
virtual void OnDraw(wxDC *dc) = 0;
|
virtual void OnDraw(wxDC *dc) = 0;
|
||||||
virtual void OnPrint(wxDC *dc, wxObject *info);
|
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);
|
virtual void OnChangeFilename(void);
|
||||||
|
|
||||||
// Called by framework if created automatically by the
|
// Called by framework if created automatically by the
|
||||||
@@ -212,7 +212,7 @@ class WXDLLEXPORT wxDocTemplate: public wxObject
|
|||||||
// template/document type
|
// template/document type
|
||||||
wxDocTemplate(wxDocManager *manager, const wxString& descr, const wxString& filter, const wxString& dir,
|
wxDocTemplate(wxDocManager *manager, const wxString& descr, const wxString& filter, const wxString& dir,
|
||||||
const wxString& ext, const wxString& docTypeName, const wxString& viewTypeName,
|
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);
|
long flags = wxDEFAULT_TEMPLATE_FLAGS);
|
||||||
|
|
||||||
~wxDocTemplate(void);
|
~wxDocTemplate(void);
|
||||||
@@ -283,9 +283,9 @@ class WXDLLEXPORT wxDocManager: public wxEvtHandler
|
|||||||
void OnUndo(wxCommandEvent& event);
|
void OnUndo(wxCommandEvent& event);
|
||||||
void OnRedo(wxCommandEvent& event);
|
void OnRedo(wxCommandEvent& event);
|
||||||
|
|
||||||
// Extend event processing to search the view's event table
|
#ifdef WXWIN_COMPATIBILITY
|
||||||
virtual bool ProcessEvent(wxEvent& event);
|
virtual wxDocument *CreateDocument(char *WXUNUSED(path), long WXUNUSED(flags = 0)) { return NULL; };
|
||||||
|
#endif
|
||||||
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
virtual wxDocument *CreateDocument(const wxString& path, long flags = 0);
|
||||||
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
virtual wxView *CreateView(wxDocument *doc, long flags = 0);
|
||||||
virtual void DeleteTemplate(wxDocTemplate *temp, 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
|
// Views or windows should inform the document manager
|
||||||
// when a view is going in or out of focus
|
// when a view is going in or out of focus
|
||||||
virtual void ActivateView(wxView *view, bool activate = TRUE, bool deleting = FALSE);
|
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; }
|
virtual inline wxList& GetDocuments(void) const { return (wxList&) m_docs; }
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ class WXDLLEXPORT wxDocChildFrame: public wxFrame
|
|||||||
DECLARE_CLASS(wxDocChildFrame)
|
DECLARE_CLASS(wxDocChildFrame)
|
||||||
|
|
||||||
public:
|
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,
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
long type = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame");
|
||||||
~wxDocChildFrame(void);
|
~wxDocChildFrame(void);
|
||||||
@@ -387,7 +387,7 @@ class WXDLLEXPORT wxDocParentFrame: public wxFrame
|
|||||||
{
|
{
|
||||||
DECLARE_CLASS(wxDocParentFrame)
|
DECLARE_CLASS(wxDocParentFrame)
|
||||||
public:
|
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,
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
long type = wxDEFAULT_FRAME, const wxString& name = "frame");
|
long type = wxDEFAULT_FRAME, const wxString& name = "frame");
|
||||||
|
|
||||||
@@ -416,7 +416,7 @@ class WXDLLEXPORT wxDocPrintout: public wxPrintout
|
|||||||
{
|
{
|
||||||
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
|
DECLARE_DYNAMIC_CLASS(wxDocPrintout)
|
||||||
public:
|
public:
|
||||||
wxDocPrintout(wxView *view = (wxView *) NULL, const wxString& title = "Printout");
|
wxDocPrintout(wxView *view = NULL, const wxString& title = "Printout");
|
||||||
bool OnPrintPage(int page);
|
bool OnPrintPage(int page);
|
||||||
bool HasPage(int page);
|
bool HasPage(int page);
|
||||||
bool OnBeginDocument(int startPage, int endPage);
|
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