Compare commits
427 Commits
old_debug
...
OLD_CONFIG
Author | SHA1 | Date | |
---|---|---|---|
|
a2fb1892c1 | ||
|
f4a8c29f7a | ||
|
2f6407b947 | ||
|
edaa81ae5d | ||
|
30f82ea416 | ||
|
34da0970a0 | ||
|
451871970b | ||
|
0d6f9504ae | ||
|
052ae0e568 | ||
|
3e0f922848 | ||
|
1824493628 | ||
|
73fb82f3f3 | ||
|
21f4bf4568 | ||
|
5104949d8a | ||
|
0d8d91a98f | ||
|
fd6c844b17 | ||
|
885ee23543 | ||
|
4128681253 | ||
|
c47711479e | ||
|
6f34921d93 | ||
|
d8260b2f57 | ||
|
1d44aaf824 | ||
|
def172b2af | ||
|
c67daf8777 | ||
|
cb6780ff01 | ||
|
1880e45211 | ||
|
f57d793249 | ||
|
b6a158b04e | ||
|
8fed68d816 | ||
|
26ac5fadea | ||
|
42cfaf8cd4 | ||
|
32c66ea22e | ||
|
cd91632c36 | ||
|
567da5c600 | ||
|
257f1d9b85 | ||
|
8d43638db1 | ||
|
4c444f19cf | ||
|
857f3be5f1 | ||
|
8f89cfc11e | ||
|
c8d07da7a6 | ||
|
9d358552fc | ||
|
70551f4702 | ||
|
e181bb6f72 | ||
|
b62bdb487f | ||
|
13dfc24333 | ||
|
8ab979d738 | ||
|
f42c777d79 | ||
|
3cda63537e | ||
|
0cf2cb360f | ||
|
4540e33bb6 | ||
|
fb5e0af035 | ||
|
eaf3cf57ed | ||
|
befe54c6ca | ||
|
314055fa8d | ||
|
c2dd8380ba | ||
|
c86f1403c3 | ||
|
77ff2d2639 | ||
|
39570cd479 | ||
|
b8de493fbd | ||
|
cb38104ec7 | ||
|
406291e530 | ||
|
53e65b8a50 | ||
|
94bd2eded1 | ||
|
c4afa2cbfd | ||
|
c2b1eaf8ca | ||
|
72cb6ff3b3 | ||
|
af9e71a8b4 | ||
|
f9d855de75 | ||
|
77e7a1dc48 | ||
|
652e7bb422 | ||
|
324511ce07 | ||
|
cd0183ca31 | ||
|
ee7ee4698c | ||
|
b0d77f437c | ||
|
52cbfcf009 | ||
|
e8c81745ea | ||
|
7a11869dde | ||
|
12ed6eb56f | ||
|
9d3221abf1 | ||
|
d553992a3c | ||
|
ff7b1510ea | ||
|
11026f7b59 | ||
|
82dc15db08 | ||
|
f7387de542 | ||
|
714e6a9e26 | ||
|
2d6dfbb778 | ||
|
12e7bc479e | ||
|
76f53a0e39 | ||
|
1280032d6c | ||
|
8f5f7c82d1 | ||
|
d0fff5cb11 | ||
|
cd53f34118 | ||
|
2b5bd7fd87 | ||
|
c2265822fe | ||
|
6967fbf45b | ||
|
a9c96bcce9 | ||
|
d5c462fd20 | ||
|
b127f3011f | ||
|
8b21b87fe3 | ||
|
8656024d15 | ||
|
6a1120ad4c | ||
|
c856c750c0 | ||
|
8d71b5552e | ||
|
c33c405087 | ||
|
942be9a749 | ||
|
03e9bead8a | ||
|
34138703c3 | ||
|
853b255a6b | ||
|
903f689bf7 | ||
|
470b7da353 | ||
|
1845330624 | ||
|
568cb54317 | ||
|
0059a10283 | ||
|
64a1451536 | ||
|
163f0dbef0 | ||
|
76810b8c97 | ||
|
6de97a3b94 | ||
|
3ebece2bda | ||
|
3b8b23873a | ||
|
2370fac3f6 | ||
|
e6886957b4 | ||
|
14b72bf5a6 | ||
|
088a95f5ff | ||
|
5e0394ae9b | ||
|
fc008f2592 | ||
|
564b260950 | ||
|
93a19f178c | ||
|
42a91fcebc | ||
|
338c2a71e9 | ||
|
4b13e6aeb2 | ||
|
6d9669450d | ||
|
496080f0b0 | ||
|
86b29a6122 | ||
|
16ced4a272 | ||
|
bb14db2d95 | ||
|
23b75a2db4 | ||
|
362c669367 | ||
|
01b2eeec59 | ||
|
0acb94947f | ||
|
3908d01eab | ||
|
3b9261289f | ||
|
906373bf01 | ||
|
d1427b7053 | ||
|
d4a00e065b | ||
|
654c1d6b7b | ||
|
cd063a90f5 | ||
|
e149aaeb44 | ||
|
d279310da9 | ||
|
5796ed400c | ||
|
e8cd8b1b12 | ||
|
40413a5b70 | ||
|
f4e325b3df | ||
|
9c331ded69 | ||
|
983162bd54 | ||
|
7b3a00878c | ||
|
f6d5397840 | ||
|
376781f78e | ||
|
b823f5a145 | ||
|
5e25ba908f | ||
|
93cf77c076 | ||
|
30dea05497 | ||
|
7bf854050f | ||
|
b6a69abc7d | ||
|
e17e4f282f | ||
|
b039c367cd | ||
|
f83528074b | ||
|
a781a38247 | ||
|
77ca46e7e3 | ||
|
fe7b115601 | ||
|
b593568eca | ||
|
b6af8d80dc | ||
|
7c23a0b01b | ||
|
843410bdd0 | ||
|
fd4fec5bcf | ||
|
57c2c161e8 | ||
|
d8758bbc62 | ||
|
e096c40c2b | ||
|
1a5a836775 | ||
|
bbcdf8bc7c | ||
|
c2d8daeb4a | ||
|
3197ed26f0 | ||
|
dc1c4b6213 | ||
|
a02eb1d2b6 | ||
|
83626bfa72 | ||
|
d2aef3124b | ||
|
c1066cdf62 | ||
|
c59147ba27 | ||
|
44a6c8e618 | ||
|
aaab7c01dc | ||
|
370382c71b | ||
|
d93f63db9d | ||
|
7c78e7c702 | ||
|
b4e76e0d7e | ||
|
d50b2a58e9 | ||
|
35eca07ccd | ||
|
b5279053f6 | ||
|
a3622daa90 | ||
|
0e072aac7a | ||
|
b1670f9641 | ||
|
5de76427c8 | ||
|
c6cdf16c93 | ||
|
09cf7c5853 | ||
|
496e3a4a03 | ||
|
a1a2adef07 | ||
|
df9067d85c | ||
|
123a7fddb8 | ||
|
e1a6fc11e2 | ||
|
54ff4a701f | ||
|
baeed2892d | ||
|
2bb0cd285a | ||
|
7a4b9130e3 | ||
|
9fdd83842f | ||
|
06db8ebd73 | ||
|
3ed358cbfe | ||
|
ffbcbbb45a | ||
|
e8435fa381 | ||
|
c5c16a3025 | ||
|
a7489b367d | ||
|
071cc2be5c | ||
|
f3e6e1b5d3 | ||
|
c614ed58d8 | ||
|
ad553268cb | ||
|
23fcecf783 | ||
|
275bf4c13a | ||
|
0be4095abb | ||
|
574504ae85 | ||
|
b925352b3a | ||
|
fe3229dfa4 | ||
|
5a0f10a631 | ||
|
dcbe388200 | ||
|
02569ba8eb | ||
|
5fe256deb7 | ||
|
88f2aa3720 | ||
|
46eaa42260 | ||
|
3bd8df227c | ||
|
8f494e5d87 | ||
|
66bd6b9300 | ||
|
5787c2b9c2 | ||
|
47908e25f9 | ||
|
110f32055e | ||
|
57a7b7c148 | ||
|
bd0df01f3f | ||
|
db4365c912 | ||
|
4f08af68b9 | ||
|
4d0c0756e1 | ||
|
d4c99d6fa8 | ||
|
82ab121507 | ||
|
cf4219e77a | ||
|
da468d387d | ||
|
580c10e3ca | ||
|
f449ef69b4 | ||
|
8dad2ab39e | ||
|
00e0d52a92 | ||
|
b204641ec9 | ||
|
f7bd26981f | ||
|
9746a2ba50 | ||
|
32a4b1d57c | ||
|
00c75bb689 | ||
|
99cc0288bd | ||
|
2108f33a68 | ||
|
22c248be96 | ||
|
108106cfe7 | ||
|
b3324be240 | ||
|
7b5408ea7d | ||
|
d355d3fe69 | ||
|
e3e65dac0c | ||
|
bf79063cc8 | ||
|
1eac776c03 | ||
|
0757d27c1e | ||
|
a97aaabf5c | ||
|
81d66cf39f | ||
|
e6688c3fd2 | ||
|
7b124d5404 | ||
|
bd7d06f23d | ||
|
f701d7abc1 | ||
|
527fc629c8 | ||
|
37f0deedfa | ||
|
b979f8772c | ||
|
3d8bd7d6bf | ||
|
cc79e53c16 | ||
|
03f68f123b | ||
|
63cafd2799 | ||
|
46dc76ba35 | ||
|
d602f1d8b6 | ||
|
6d44bf31a6 | ||
|
1678ad7802 | ||
|
439b3bf1f5 | ||
|
d37a02d0d5 | ||
|
246037e229 | ||
|
13289f04ae | ||
|
0f217db318 | ||
|
6a23cbcede | ||
|
a37e883612 | ||
|
13437238cd | ||
|
44216b3b2e | ||
|
a7ca513e5a | ||
|
8ffec97a6e | ||
|
6134811179 | ||
|
fe3d8179fa | ||
|
904f68c7e8 | ||
|
389cdc7ae4 | ||
|
543e7dd22a | ||
|
43fa96a840 | ||
|
aed8df383f | ||
|
9406d962cc | ||
|
7c41ac7b42 | ||
|
fd4bc7de65 | ||
|
83885a398b | ||
|
ab16f4a300 | ||
|
4632781333 | ||
|
2a4f4a2773 | ||
|
19717c50b9 | ||
|
96fd301f0e | ||
|
caac51810b | ||
|
5e0aa05a52 | ||
|
7ec1983bfa | ||
|
32c77a7133 | ||
|
9ec05cc986 | ||
|
63fec618dc | ||
|
3bbb630a21 | ||
|
14d1ccd89d | ||
|
73e7daa02e | ||
|
30474825bb | ||
|
716b736420 | ||
|
47fa796902 | ||
|
9123006f13 | ||
|
7228ab483e | ||
|
240d850370 | ||
|
c3b0ff9c7a | ||
|
4d14b52449 | ||
|
e2414cbe8c | ||
|
035b704a46 | ||
|
f40ccee99b | ||
|
3d6a5e3c5b | ||
|
9480f5d151 | ||
|
86bb7d4825 | ||
|
ae29de8326 | ||
|
a93ca20183 | ||
|
26cf69fe72 | ||
|
637f467a06 | ||
|
0fc1a7137c | ||
|
0f7549d594 | ||
|
82cf4761e1 | ||
|
9fbd8b8d61 | ||
|
cf5f9c9c3e | ||
|
0d73e5a104 | ||
|
1a6944fd74 | ||
|
c83d505a20 | ||
|
c7f3b78bac | ||
|
3aadbb82d9 | ||
|
11ed4f79aa | ||
|
99d270120e | ||
|
7502ba2975 | ||
|
3168a13f90 | ||
|
a1530845c9 | ||
|
6b95b20d03 | ||
|
36af0bc423 | ||
|
85ccdcce1c | ||
|
e14dccff1c | ||
|
d6a1743b56 | ||
|
18a2fa3715 | ||
|
c4e7c2aa58 | ||
|
e99c304810 | ||
|
3848ffef9f | ||
|
f5ae044937 | ||
|
3bfa440288 | ||
|
400735a8fa | ||
|
1eb20d4a08 | ||
|
e49f47aa77 | ||
|
ba7f9a90b4 | ||
|
dd1eaa89dd | ||
|
2ab889ff7b | ||
|
5a8c6c9adb | ||
|
24e5e6fcb4 | ||
|
b4c05cda99 | ||
|
45ea509a21 | ||
|
eda3efe2f8 | ||
|
30a5be975d | ||
|
0ce2baa5e6 | ||
|
3826db3ef5 | ||
|
92abb45d0a | ||
|
0cd9bfe8da | ||
|
79c3e0e1ae | ||
|
33d0b396b2 | ||
|
d29d303b1c | ||
|
0180d5daae | ||
|
5a8c929eb4 | ||
|
85504caca9 | ||
|
c6cdbc3d75 | ||
|
70bb5dba34 | ||
|
4acbf24597 | ||
|
f0b078077d | ||
|
db138a4c2a | ||
|
ddfc206782 | ||
|
7d7fb17e1d | ||
|
27c9fe7554 | ||
|
b5c3b53817 | ||
|
e15e548b50 | ||
|
db8b79634e | ||
|
092bddef5a | ||
|
5475b96085 | ||
|
a8e50c86a4 | ||
|
f04f399187 | ||
|
02ce7b722e | ||
|
abc7998686 | ||
|
128aec1da4 | ||
|
cd70477bbd | ||
|
d8329927ee | ||
|
219f895a27 | ||
|
3cacae09fa | ||
|
32fc4afbb2 | ||
|
3d4c6a214a | ||
|
23f641681f | ||
|
4414cc1db8 | ||
|
ad3ad68e15 | ||
|
3e1a3a402d | ||
|
0f460a1d4b | ||
|
401ec7b639 | ||
|
4c6819972f | ||
|
da7f8ac4dd | ||
|
ed7a557b53 | ||
|
2049ba38ad | ||
|
7007fcfced | ||
|
8c43d1c898 | ||
|
2216f571bf | ||
|
54fe0dcf9a | ||
|
b2aef89b7a |
4
.cvsignore
Normal file
4
.cvsignore
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
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::
|
||||||
@src/gtk/setup/general/createall
|
@install/unix/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,6 +9,9 @@ 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
|
||||||
@@ -48,6 +51,7 @@ 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
|
||||||
@@ -84,6 +88,7 @@ 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
|
||||||
@@ -94,6 +99,7 @@ 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
|
||||||
@@ -111,6 +117,7 @@ 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
|
||||||
@@ -121,6 +128,7 @@ 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
|
||||||
@@ -143,6 +151,7 @@ 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
|
||||||
@@ -155,6 +164,7 @@ 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
|
||||||
@@ -163,18 +173,21 @@ 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
|
||||||
@@ -195,22 +208,24 @@ utils/dialoged/test/*.bmp
|
|||||||
samples/*.txt
|
samples/*.txt
|
||||||
samples/makefile.*
|
samples/makefile.*
|
||||||
|
|
||||||
samples/hello/*.cpp
|
samples/config/*.cpp
|
||||||
samples/hello/*.h
|
samples/config/*.h
|
||||||
samples/hello/*.def
|
samples/config/*.def
|
||||||
samples/hello/makefile.*
|
samples/config/makefile*.*
|
||||||
samples/hello/*.xbm
|
samples/config/*.xbm
|
||||||
samples/hello/*.txt
|
samples/config/*.xpm
|
||||||
samples/hello/*.ico
|
samples/config/*.txt
|
||||||
samples/hello/*.bmp
|
samples/config/*.ico
|
||||||
samples/hello/*.rc
|
samples/config/*.bmp
|
||||||
samples/hello/*.wav
|
samples/config/*.rc
|
||||||
|
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
|
||||||
@@ -220,8 +235,9 @@ 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
|
||||||
@@ -230,8 +246,9 @@ 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
|
||||||
|
|
||||||
@@ -240,8 +257,9 @@ 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
|
||||||
@@ -250,23 +268,26 @@ 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
|
||||||
@@ -275,16 +296,18 @@ 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
|
||||||
@@ -292,73 +315,55 @@ 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/tbarsmpl/*.cpp
|
samples/toolbar/*.cpp
|
||||||
samples/tbarsmpl/*.h
|
samples/toolbar/*.h
|
||||||
samples/tbarsmpl/*.def
|
samples/toolbar/*.def
|
||||||
samples/tbarsmpl/makefile.*
|
samples/toolbar/makefile*.*
|
||||||
samples/tbarsmpl/*.txt
|
samples/toolbar/*.txt
|
||||||
samples/tbarsmpl/*.xbm
|
samples/toolbar/*.xbm
|
||||||
samples/tbarsmpl/bitmaps/*.xbm
|
samples/toolbar/*.xpm
|
||||||
samples/tbarsmpl/*.ico
|
samples/toolbar/bitmaps/*.xbm
|
||||||
samples/tbarsmpl/*.bmp
|
samples/toolbar/bitmaps/*.xpm
|
||||||
samples/tbarsmpl/*.rc
|
samples/toolbar/*.ico
|
||||||
samples/tbarsmpl/bitmaps/*.bmp
|
samples/toolbar/*.bmp
|
||||||
|
samples/toolbar/*.rc
|
||||||
samples/tbar95/*.cpp
|
samples/toolbar/bitmaps/*.bmp
|
||||||
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
|
||||||
@@ -367,8 +372,9 @@ 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
|
||||||
@@ -377,21 +383,22 @@ 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
|
||||||
@@ -402,8 +409,9 @@ 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
|
||||||
@@ -415,8 +423,9 @@ 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
|
||||||
|
|
||||||
@@ -426,8 +435,9 @@ 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
|
||||||
|
|
||||||
@@ -437,8 +447,9 @@ 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
|
||||||
|
|
||||||
@@ -447,9 +458,11 @@ 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
|
||||||
@@ -460,9 +473,11 @@ 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
|
||||||
@@ -473,8 +488,9 @@ 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
|
||||||
|
|
||||||
@@ -483,8 +499,9 @@ 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
|
||||||
|
|
||||||
@@ -493,8 +510,9 @@ 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
|
||||||
@@ -505,35 +523,42 @@ 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
|
||||||
|
69
distrib/msw/gtk.rsp
Normal file
69
distrib/msw/gtk.rsp
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
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,4 +1,5 @@
|
|||||||
docs/msw/*.txt
|
docs/msw/*.txt
|
||||||
|
docs/licence.txt
|
||||||
|
|
||||||
src/makeb32.env
|
src/makeb32.env
|
||||||
src/makebcc.env
|
src/makebcc.env
|
||||||
|
@@ -1,27 +1,29 @@
|
|||||||
@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
|
||||||
if "%1" == "" goto usage
|
set src=d:\wx2\wxWindows
|
||||||
if "%2" == "" goto usage
|
set dest=%src\deliver
|
||||||
|
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 %1
|
echo From %src
|
||||||
echo To %2\wx200gen.zip, %2\wx200doc.zip, %2\wx200msw.zip, %2\wx200ps.zip, %2\wx200hlp.zip, %2\wx200htm.zip, %2\wx200pdf.zip
|
echo To %dest\wx200gen.zip, %dest\wx200doc.zip, %dest\wx200msw.zip, %dest\wx200ps.zip, %dest\wx200hlp.zip, %dest\wx200htm.zip, %dest\wx200pdf.zip
|
||||||
echo CTRL-C if this is not correct.
|
echo CTRL-C if this is not correct.
|
||||||
pause
|
pause
|
||||||
|
|
||||||
erase %2\wx200*.zip
|
erase %dest\wx200*.zip
|
||||||
|
|
||||||
cd %1
|
cd %src
|
||||||
echo Zipping...
|
echo Zipping...
|
||||||
zip32 -@ %2\wx200gen.zip < %1\distrib\msw\generic.rsp
|
zip32 -@ %dest\wx200gen.zip < %src\distrib\msw\generic.rsp
|
||||||
zip32 -@ %2\wx200msw.zip < %1\distrib\msw\msw.rsp
|
zip32 -@ %dest\wx200msw.zip < %src\distrib\msw\msw.rsp
|
||||||
zip32 -@ %2\wx200doc.zip < %1\distrib\msw\docsrc.rsp
|
zip32 -@ %dest\wx200gtk.zip < %src\distrib\msw\gtk.rsp
|
||||||
|
zip32 -@ %dest\wx200doc.zip < %src\distrib\msw\docsrc.rsp
|
||||||
|
|
||||||
rem zip32 -@ %2\wx200ps.zip < %1\distrib\msw\wx_ps.rsp
|
zip32 -@ %dest\wx200hlp.zip < %src\distrib\msw\wx_hlp.rsp
|
||||||
zip32 -@ %2\wx200hlp.zip < %1\distrib\msw\wx_hlp.rsp
|
zip32 -@ %dest\wx200htm.zip < %src\distrib\msw\wx_html.rsp
|
||||||
zip32 -@ %2\wx200htm.zip < %1\distrib\msw\wx_html.rsp
|
zip32 -@ %dest\wx200pdf.zip < %src\distrib\msw\wx_pdf.rsp
|
||||||
zip32 -@ %2\wx200pdf.zip < %1\distrib\msw\wx_pdf.rsp
|
|
||||||
|
|
||||||
cd %2
|
cd %dest
|
||||||
|
|
||||||
echo wxWindows archived.
|
echo wxWindows archived.
|
||||||
goto end
|
goto end
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
[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 = yes
|
generateHPJ = no
|
||||||
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,6 +30,14 @@ 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. It currently
|
Interface) and other facilities on more than one platform. Version 2.0 currently
|
||||||
supports subsets of Motif, Xt and MS Windows (16-bit, Windows 95 and Windows NT).
|
supports subsets MS Windows (16-bit, Windows 95 and Windows NT) and GTK.
|
||||||
|
|
||||||
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 and Markus Holzem, with support from users.
|
maintained by Julian Smart, Robert Roebling and others.
|
||||||
|
|
||||||
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: Motif and
|
wxWindows 2.0 currently maps to two native APIs: GTK and
|
||||||
MS Windows. An Xt port is also in preparation.
|
MS Windows. Motif, Xt and Mac ports are 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 200 pages of printable and on-line documentation.
|
\item Over 700 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.
|
\item MDI support under Windows and GTK.
|
||||||
\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,18 +171,16 @@ 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++, Borland C++, Watcom C++, MetroWerks C++,
|
\item One of Microsoft Visual C++ 4.0 or higher, Borland C++, Gnu-Win32.
|
||||||
Symantec C++, GNU-WIN32.
|
\item At least 60 MB of disk space.
|
||||||
\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 (VMS is supported too) and Motif 1.2 or higher (not necessary
|
\item Almost any Unix workstation, and GTK 1.0 or higher.
|
||||||
for the Xt version)
|
\item At least 60 MB of disk space.
|
||||||
\item At least 30 MB of disk space.
|
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
\section{Availability and location of wxWindows}
|
\section{Availability and location of wxWindows}
|
||||||
@@ -197,35 +195,26 @@ Applications Institute by anonymous FTP and World Wide Web:
|
|||||||
|
|
||||||
\section{Acknowledgments}
|
\section{Acknowledgments}
|
||||||
|
|
||||||
Thanks are due to the AIAI for being willing to release wxWindows into
|
Thanks are due to AIAI for being willing to release the original version of
|
||||||
the public domain, and to our patient wives Harriet and Tanja.
|
wxWindows into the public domain, and to our patient wives Harriet, Tanja and others.
|
||||||
|
|
||||||
The Internet has been an essential prop when coming up against tricky
|
We would particularly like to thank the following for their contributions to wxWindows, and the many others who have been involved in
|
||||||
problems. Thanks to those who answered our
|
the project over the years. Apologies for any unintentional omissions from this list.
|
||||||
queries or submitted bug fixes and enhancements; wxWindows is very
|
|
||||||
much a team effort.
|
|
||||||
|
|
||||||
Hermann Dunkel contributed XPM support; Arthur Seaton wrote the memory
|
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI, Patrick Albert, Karsten Ballueder, Michael Bedward, Kai Bendorf, Yura Bidus, Keith
|
||||||
checking code; Olaf Klein and Patrick Halke wrote the ODBC classes;
|
Gary Boyce, Chris Breeze, Pete Britton, Ian Brown, C. Buckley, Dmitri Chubraev, Robin Corbet, Cecil Coupe, Andrew Davison, Neil Dudman, Robin
|
||||||
Harri Pasanen and Robin Dunn wrote wxPython and contributed to the
|
Dunn, Hermann Dunkel, Jos van Eijndhoven, Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries, Dominic Gallagher,
|
||||||
wxExtend library.
|
Wolfram Gloger, Norbert Grotz, Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle, Harco de Hilster, Cord Hockemeyer, Markus
|
||||||
|
Holzem, Olaf Klein, Leif Jensen, Bart Jourquin, Guilhem Lavaux, Jan Lessner, Nicholas Liebmann, Torsten Liermann, Per Lindqvist, Thomas Runge, Tatu
|
||||||
Markus Holzem write the Xt port. Jonathan Tonberg, Bill Hale,
|
M\"{a}nnist\"{o}, Scott Maxwell, Thomas Myers, Oliver Niedung, Hernan Otero, Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||||
Cecil Coupe, Thomaso Paoletti, Thomas Fettig, and others slaved away
|
Garrett Potts, Marcel Rasche, Robert Roebling, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton, Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith,
|
||||||
writing the Mac port. Keith Gary Boyce ported wxWindows to the free
|
Kari Syst\"{a}, Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli, Vadim Zeitlin, Xiaokun Zhu, Edward Zimmermann.
|
||||||
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.
|
||||||
|
|
||||||
@@ -250,7 +239,7 @@ changes.txt for differences between versions.
|
|||||||
|
|
||||||
\section{Include files}
|
\section{Include files}
|
||||||
|
|
||||||
The main include file is {\tt "wx.h"}; this includes the most commonly
|
The main include file is {\tt "wx/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
|
||||||
@@ -259,25 +248,26 @@ 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_prec.h"
|
#include <wx/wxprec.h>
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
#pragma hdrstop
|
#pragma hdrstop
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
... include minimum set of files necessary here ...
|
// Include your minimal set of headers here, or wx.h
|
||||||
|
#include <wx/wx.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
... now your other include files ...
|
... now your other include files ...
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
The file {\tt "wx\_prec.h"} includes {\tt "wx.h"}. Although this incantation
|
The file {\tt "wx/wxprec.h"} includes {\tt "wx/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\_prec.h"} as
|
Borland precompilation is largely automatic. Visual C++ requires specification of {\tt "wx/wxprec.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.
|
||||||
@@ -287,14 +277,14 @@ multi-megabyte .pch files.
|
|||||||
|
|
||||||
\section{Libraries}
|
\section{Libraries}
|
||||||
|
|
||||||
Under UNIX, use the library libwx\_motif.a
|
Please the wxGTK documentation for use of the Unix version of wxWindows.
|
||||||
(Motif). Under Windows, use the library wx.lib for stand-alone Windows
|
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 include/base/wx\_setup.h.} Some settings are a matter
|
\rtfsp{\tt "wx/msw/setup.h"} and {\tt "wx/gtk/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.
|
||||||
|
|
||||||
@@ -306,27 +296,15 @@ 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
|
||||||
@@ -334,32 +312,7 @@ 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}
|
||||||
@@ -373,18 +326,17 @@ 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
|
||||||
@@ -403,12 +355,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
|
||||||
@@ -426,7 +378,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.rc
|
rcinclude "wx/msw/wx.rc"
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
which includes essential internal wxWindows definitions. The resource script
|
which includes essential internal wxWindows definitions. The resource script
|
||||||
@@ -445,7 +397,8 @@ as the Program Manager) find your application icon first.}
|
|||||||
|
|
||||||
\subsection{Module definition file}
|
\subsection{Module definition file}
|
||||||
|
|
||||||
A module definition file (extension DEF) looks like the following:
|
A module definition file (extension DEF) is required for 16-bit applications, and
|
||||||
|
looks like the following:
|
||||||
|
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
NAME Hello
|
NAME Hello
|
||||||
@@ -461,46 +414,6 @@ 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
|
||||||
@@ -508,17 +421,13 @@ 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.
|
||||||
|
|
||||||
Don't statically create a window unless you know that the window
|
When deleting a frame or dialog, use {\bf Destroy} rather than {\bf delete} so
|
||||||
cannot be deleted dynamically. Modal dialogs, such as those used
|
that the wxWindows delayed deletion can take effect. This waits until idle time
|
||||||
in the {\tt dialogs} sample, can usually be created statically,
|
(when all messages have been processed) to actually delete the window, to avoid
|
||||||
if you know that the OK or Cancel button does not destroy the dialog.
|
problems associated with the GUI sending events to deleted windows.
|
||||||
|
|
||||||
Most drawing objects, such as wxPen, wxBrush, wxFont, and wxBitmap, should be
|
Don't create a window on the stack, because this will interfere
|
||||||
created dynamically. They are cleaned up automatically on program exit.
|
with delayed deletion.
|
||||||
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
|
||||||
@@ -531,24 +440,10 @@ 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(NULL) or wxDC::SelectObject(NULL) before deleting
|
make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) 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
|
||||||
@@ -557,63 +452,69 @@ 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:
|
||||||
|
|
||||||
\begin{itemize}
|
{\bf GUIs:}
|
||||||
\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
|
||||||
#ifdef wx_x
|
__WXMOTIF__ Motif
|
||||||
(void)wxMessageBox("Sorry, metafiles not available under X.");
|
__WXGTK__ GTK
|
||||||
#endif
|
__WXMSW__ Any Windows
|
||||||
#ifdef wx_msw
|
__MAC__ MacOS
|
||||||
wxMetaFileDC dc;
|
__UNIX__ any Unix
|
||||||
DrawIt(dc);
|
__WIN95__ GUI for Windows 95 and above; NT 4.0 and above.
|
||||||
wxMetaFile *mf = dc.Close();
|
__WIN32__ WIN32 API
|
||||||
mf->SetClipboard();
|
__NT__ Windows NT
|
||||||
delete mf;
|
__CURSES__ CURSES
|
||||||
#endif
|
|
||||||
...
|
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\section{Building on-line help}
|
{\bf OSes:}
|
||||||
|
|
||||||
wxWindows has its own help system from version 1.30: wxHelp. It can be
|
\begin{verbatim}
|
||||||
used to view the wxWindows class library reference, and also to provide
|
__HPUX__
|
||||||
on-line help for your wxWindows applications. The API, made accessible
|
__SVR4__
|
||||||
by including {\tt wx\_help.h}, allows you to load files and display
|
__SYSV__
|
||||||
specific sections, using DDE to communicate between the application and
|
__LINUX__
|
||||||
wxHelp.
|
__SGI__
|
||||||
|
__ULTRIX__
|
||||||
|
__BSD__
|
||||||
|
__VMS__
|
||||||
|
__SUN__ Any Sun
|
||||||
|
__SUNOS__
|
||||||
|
__SOLARIS__
|
||||||
|
__ALPHA__
|
||||||
|
__AIX__
|
||||||
|
__DATA_GENERAL__
|
||||||
|
__OSF__
|
||||||
|
__FREEBSD__
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
wxHelp files can be marked up by hand from ASCII files within wxHelp,
|
{\bf Compilers:}
|
||||||
or may be generated from other files, as is the case with the wxWindows
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
It is possible to use the platform-specific help
|
\begin{verbatim}
|
||||||
system (e.g. WinHelp) instead of wxHelp.
|
__GNUWIN32__ Gnu-Win32 compiler
|
||||||
|
__DJGPP__ DJGPP
|
||||||
|
__GNUG__ Gnu C++ on any platform
|
||||||
|
__BORLANDC__ Borland C++
|
||||||
|
__WATCOMC__ Watcom C++
|
||||||
|
__SYMANTECC__ Symantec C++
|
||||||
|
__VISUALC__ VC++
|
||||||
|
__SUNCC__
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
|
{\bf wxWindows modes:}
|
||||||
|
|
||||||
|
\begin{verbatim}
|
||||||
|
__WXDEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
||||||
|
\end{verbatim}
|
||||||
|
|
||||||
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}
|
||||||
|
|
||||||
There are cases where a C++ program will compile and run fine under one
|
The following documents some miscellaneous C++ issues.
|
||||||
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 for two main reasons: one, it is a
|
wxWindows does not use templates since it is a notoriously unportable feature.
|
||||||
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}
|
||||||
|
|
||||||
@@ -636,7 +537,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
|
||||||
@@ -658,14 +559,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).
|
||||||
|
|
||||||
@@ -693,7 +594,8 @@ 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.
|
format. The wxWindows 2.0 project will presently use an HTML widget
|
||||||
|
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
|
||||||
@@ -764,18 +666,6 @@ 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,6 +18,14 @@ 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}
|
||||||
@@ -99,7 +107,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, \helpref{wxWindow::OnDefaultAction}{wxwindowondefaultaction}\rtfsp
|
which sets the keyboard focus for windows and text panel items,\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,21 +32,9 @@ 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{wxStatusBar95}{wxstatusbar95}}{Implements a Windows 95 status bar on a frame}
|
\twocolitem{\helpref{wxToolBar}{wxtoolbar}}{Toolbar class}
|
||||||
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel}
|
\twocolitem{\helpref{wxTabbedPanel}{wxtabbedpanel}}{Tabbed panel (to be replaced with wxNotebook)}
|
||||||
\end{twocollist}
|
\twocolitem{\helpref{wxNotebook}{wxnotebook}}{Notebook class (undocumented)}
|
||||||
|
|
||||||
{\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}}
|
||||||
@@ -331,6 +319,7 @@ 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,9 +16,17 @@ 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{wxRadioButton}{wxradiobutton}, \helpref{wxCommandEvent}{wxcommandevent}
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -17,9 +17,18 @@ 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{wxListBox}{wxlistbox}, \helpref{wxComboBox}{wxcombobox},
|
||||||
|
\rtfsp\helpref{wxCommandEvent}{wxcommandevent}
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -10,8 +10,7 @@ No parent class.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\overview{Overview}{wxclassinfooverview}\\
|
\helpref{Overview}{wxclassinfooverview}, \helpref{wxObject}{wxobject}
|
||||||
\helpref{wxObject}{wxobject}
|
|
||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
|
@@ -46,11 +46,12 @@ $$\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 datstream.tex
|
\input datstrm.tex
|
||||||
\input dc.tex
|
\input dc.tex
|
||||||
\input ddeclint.tex
|
\input ddeclint.tex
|
||||||
\input ddeconn.tex
|
\input ddeconn.tex
|
||||||
@@ -61,6 +62,8 @@ $$\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
|
||||||
@@ -94,6 +97,7 @@ $$\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
|
||||||
@@ -144,7 +148,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
|
||||||
@@ -172,3 +176,8 @@ $$\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,12 +48,16 @@ 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 command,
|
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||||
which is generated by a toobar button.}
|
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||||
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED command,
|
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||||
which is generated by a toobar button.}
|
for a range id identifiers. Pass the ids of the tools.}
|
||||||
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER command,
|
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||||
which is generated by a toobar button.}
|
Pass the id of the tool.}
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||||
|
for a range of ids. Pass the ids of the tools.}
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||||
|
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||||
\twocolitem{{\bf EVT\_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,
|
||||||
@@ -177,3 +181,8 @@ 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,9 +26,20 @@ 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}}}
|
||||||
|
|
||||||
|
612
docs/latex/wx/config.tex
Normal file
612
docs/latex/wx/config.tex
Normal file
@@ -0,0 +1,612 @@
|
|||||||
|
\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.
|
||||||
|
|
||||||
|
|
@@ -6,7 +6,7 @@ Sparc or anything else.
|
|||||||
|
|
||||||
\latexignore{\rtfignore{\wxheading{Members}}}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
\membersection{wxDataStream::wxDataStream}\label{wxwaveconstr}
|
\membersection{wxDataStream::wxDataStream}\label{wxdatastreamconstr}
|
||||||
|
|
||||||
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
\func{}{wxDataStream}{\param{istream\&}{ stream}}
|
||||||
|
|
||||||
@@ -96,14 +96,19 @@ 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,10 +157,12 @@ 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, centred on ({\it xc, yc}), with starting point ({\it x1, y1})
|
Draws an arc of a circle, 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,8 +30,9 @@ 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 (Motif only).}
|
\twocolitem{\windowstyle{wxSYSTEM\_MENU}}{Display a system menu.}
|
||||||
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window (Motif only).}
|
\twocolitem{\windowstyle{wxTHICK\_FRAME}}{Display a thick frame around the window.}
|
||||||
|
\twocolitem{\windowstyle{wxSTAY\_ON\_TOP}}{The dialog stays on top of all other windows (Windows only).}
|
||||||
\twocolitem{\windowstyle{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{const wxString\& }{title}, \param{const wxPoint\&}{ pos = wxDefaultPosition},
|
\param{wxWindowID}{ id}, \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"}}
|
||||||
|
|
||||||
|
89
docs/latex/wx/docmdich.tex
Normal file
89
docs/latex/wx/docmdich.tex
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
\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.
|
||||||
|
|
||||||
|
|
79
docs/latex/wx/docmdipr.tex
Normal file
79
docs/latex/wx/docmdipr.tex
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
\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},
|
\func{}{wxDocParentFrame}{\param{wxFrame *}{parent}, \param{wxWindowID}{ id},
|
||||||
\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,6 +4,10 @@ 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}\\
|
||||||
@@ -122,7 +126,9 @@ for further details.
|
|||||||
|
|
||||||
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
|
\membersection{wxFrame::CreateStatusBar}\label{wxframecreatestatusbar}
|
||||||
|
|
||||||
\func{virtual bool}{CreateStatusBar}{\param{int}{ number = 1}}
|
\func{virtual wxStatusBar*}{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.
|
||||||
|
|
||||||
@@ -131,9 +137,17 @@ 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}
|
||||||
|
|
||||||
TRUE if the status bar was created successfully.
|
A pointer to the the status bar if it was created successfully, NULL otherwise.
|
||||||
|
|
||||||
\wxheading{Remarks}
|
\wxheading{Remarks}
|
||||||
|
|
||||||
@@ -151,6 +165,45 @@ 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}
|
||||||
@@ -178,6 +231,17 @@ 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}}
|
||||||
@@ -269,7 +333,9 @@ 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}.
|
||||||
|
|
||||||
@@ -277,6 +343,14 @@ 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.
|
||||||
@@ -290,6 +364,36 @@ 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}}
|
||||||
@@ -388,6 +492,17 @@ 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}}
|
||||||
@@ -429,6 +544,17 @@ 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,113 +479,6 @@ 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,6 +21,10 @@ 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::GetUMin}\label{wxjoystickgetumin}
|
\membersection{wxJoystick::GetVMin}\label{wxjoystickgetvmin}
|
||||||
|
|
||||||
\constfunc{int}{GetUMin}{\void}
|
\constfunc{int}{GetVMin}{\void}
|
||||||
|
|
||||||
Returns the minimum U position.
|
Returns the minimum V position.
|
||||||
|
|
||||||
\membersection{wxJoystick::GetVPosition}\label{wxjoystickgetvposition}
|
\membersection{wxJoystick::GetVPosition}\label{wxjoystickgetvposition}
|
||||||
|
|
||||||
|
@@ -36,9 +36,20 @@ 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,6 +35,28 @@ 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,4 +1,14 @@
|
|||||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{report}
|
||||||
|
% JACS: doesn't make it through Tex2RTF, sorry.I'll put it into texhelp.sty
|
||||||
|
% since Tex2RTF doesn't parse it.
|
||||||
|
% BTW, style MUST be report for it to work for Tex2RTF.
|
||||||
|
%KB:
|
||||||
|
%\addtolength{\textwidth}{1in}
|
||||||
|
%\addtolength{\oddsidemargin}{-0.5in}
|
||||||
|
%\addtolength{\topmargin}{-0.5in}
|
||||||
|
%\addtolength{\textheight}{1in}
|
||||||
|
%\sloppy
|
||||||
|
%end of my changes
|
||||||
\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}%
|
||||||
@@ -16,11 +26,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 and Markus Holzem
|
\winhelponly{\author{by Julian Smart
|
||||||
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
%\winhelponly{\\$$\image{1cm;0cm}{wxwin.wmf}$$}
|
||||||
}}
|
}}
|
||||||
\winhelpignore{\author{Julian Smart}
|
\winhelpignore{\author{Julian Smart}
|
||||||
\date{June 4th 1998}
|
\date{July 31st 1998}
|
||||||
}
|
}
|
||||||
\makeindex
|
\makeindex
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@@ -75,7 +85,8 @@
|
|||||||
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
\setfooter{\thepage}{}{}{}{}{\thepage}%
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
||||||
|
members of the wxWindows team\\
|
||||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@@ -89,7 +100,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 JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM 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
|
||||||
@@ -100,6 +111,7 @@ 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
|
||||||
@@ -115,6 +127,7 @@ 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 a window, and a reference to a \helpref{wxCommandEvent}{wxcommandevent}.
|
The callback takes a reference to the menu, 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,14 +173,19 @@ 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,6 +26,7 @@ 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,6 +21,14 @@ 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,6 +16,14 @@ 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,4 +1,12 @@
|
|||||||
\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
\documentstyle[a4,11pt,makeidx,verbatim,texhelp,fancyheadings,palatino]{thesis}
|
||||||
|
%KB:
|
||||||
|
\addtolength{\textwidth}{1in}
|
||||||
|
\addtolength{\oddsidemargin}{-0.5in}
|
||||||
|
\addtolength{\topmargin}{-0.5in}
|
||||||
|
\addtolength{\textheight}{1in}
|
||||||
|
\sloppy
|
||||||
|
%end of my changes
|
||||||
|
%\documentstyle[a4,makeidx,verbatim,texhelp,fancyhea,mysober,mytitle]{report}
|
||||||
\newcommand{\indexit}[1]{#1\index{#1}}
|
\newcommand{\indexit}[1]{#1\index{#1}}
|
||||||
\newcommand{\pipe}[0]{$\|$\ }%
|
\newcommand{\pipe}[0]{$\|$\ }%
|
||||||
\input psbox.tex
|
\input psbox.tex
|
||||||
@@ -9,8 +17,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 and Markus Holzem}
|
\author{Julian Smart}
|
||||||
\date{October 21st 1997}
|
\date{July 31st 1998}
|
||||||
|
|
||||||
\makeindex
|
\makeindex
|
||||||
\begin{document}
|
\begin{document}
|
||||||
@@ -29,7 +37,8 @@
|
|||||||
\setfooter{\thepage}{}{}{}{}{\thepage}
|
\setfooter{\thepage}{}{}{}{}{\thepage}
|
||||||
|
|
||||||
\begin{center}
|
\begin{center}
|
||||||
Copyright (c) 1997 Julian Smart and Markus Holzem\\
|
Copyright (c) 1998 Julian Smart, Markus Holzem, Robert Roebling and other
|
||||||
|
members of the wxWindows team\\
|
||||||
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
Portions (c) 1996 Artificial Intelligence Applications Institute\\
|
||||||
\end{center}
|
\end{center}
|
||||||
|
|
||||||
@@ -43,7 +52,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 JULIAN SMART OR MARKUS HOLZEM BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR
|
UNIVERSITY OF EDINBURGH OR ANY MEMBERS OF THE WXWINDOWS TEAM 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,16 +12,6 @@ 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}.
|
||||||
@@ -45,6 +35,16 @@ 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,8 +130,7 @@ scrolling in that direction.
|
|||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
\helpref{wxScrolledWindow::SetScrollbars}{wxscrolledwindowsetscrollbars},\rtfsp
|
||||||
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize},\rtfsp
|
\helpref{wxScrolledWindow::GetVirtualSize}{wxscrolledwindowgetvirtualsize}
|
||||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
|
||||||
|
|
||||||
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
\membersection{wxScrolledWindow::GetVirtualSize}\label{wxscrolledwindowgetvirtualsize}
|
||||||
|
|
||||||
@@ -155,8 +154,7 @@ 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},\rtfsp
|
\helpref{wxScrolledWindow::GetScrollPixelsPerUnit}{wxscrolledwindowgetscrollpixelsperunit}
|
||||||
\helpref{wxWindow::GetScrollPage}{wxwindowgetscrollpage}
|
|
||||||
|
|
||||||
\membersection{wxScrolledWindow::IsRetained}\label{wxscrolledwindowisretained}
|
\membersection{wxScrolledWindow::IsRetained}\label{wxscrolledwindowisretained}
|
||||||
|
|
||||||
|
@@ -31,6 +31,25 @@ 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,7 +10,11 @@ be variable length according to the size of the window.
|
|||||||
|
|
||||||
\wxheading{Window styles}
|
\wxheading{Window styles}
|
||||||
|
|
||||||
There are no special styles for this window.
|
\twocolwidtha{5cm}
|
||||||
|
\begin{twocollist}\itemsep=0pt
|
||||||
|
\twocolitem{\windowstyle{wxSB\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
|
||||||
|
the status bar.}
|
||||||
|
\end{twocollist}
|
||||||
|
|
||||||
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}{setimagelist}.
|
the image list which was set with \helpref{wxTabCtrl::SetImageList}{wxtabctrlsetimagelist}.
|
||||||
|
|
||||||
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}
|
\membersection{wxTabCtrl::SetImageList}\label{wxtabctrlsetimagelist}
|
||||||
|
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
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
|
||||||
@@ -254,42 +255,28 @@ 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 in your wxFrame::OnMenuCommand. Below is the
|
you need to handle them using an event handler, for example:
|
||||||
code used by the default document/view parent frame.
|
|
||||||
|
|
||||||
|
{\small
|
||||||
\begin{verbatim}
|
\begin{verbatim}
|
||||||
void wxDocParentFrame::OnMenuCommand(int id)
|
BEGIN_EVENT_TABLE(wxDocParentFrame, wxFrame)
|
||||||
|
EVT_MENU(wxID_EXIT, wxDocParentFrame::OnExit)
|
||||||
|
EVT_MENU_RANGE(wxID_FILE1, wxID_FILE9, wxDocParentFrame::OnMRUFile)
|
||||||
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
|
void wxDocParentFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
switch (id)
|
Close();
|
||||||
{
|
|
||||||
case wxID_EXIT:
|
|
||||||
{
|
|
||||||
if (GetEventHandler()->OnClose())
|
|
||||||
delete this;
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
case wxID_FILE1:
|
|
||||||
case wxID_FILE2:
|
void wxDocParentFrame::OnMRUFile(wxCommandEvent& event)
|
||||||
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);
|
wxString f(m_docManager->GetHistoryFile(event.GetSelection() - wxID_FILE1));
|
||||||
if (f)
|
if (f != "")
|
||||||
(void)docManager->CreateDocument(f, wxDOC_SILENT);
|
(void)m_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,3 +290,9 @@
|
|||||||
\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,6 +46,19 @@ 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}{deferdestroy}.
|
Destroys the thread immediately unless the application has specified deferral via \helpref{wxThread::DeferDestroy}{wxthreaddeferdestroy}.
|
||||||
|
|
||||||
\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,8 +119,13 @@ 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,12 +1,23 @@
|
|||||||
\section{\class{wxToolBarBase}}\label{wxtoolbarbase}
|
\section{\class{wxToolBar}}\label{wxtoolbar}
|
||||||
|
|
||||||
{\bf wxToolBarBase} is the base class for a number of toolbar classes. The most portable
|
The name wxToolBar is defined to be a synonym for one of the following classes:
|
||||||
one of these is the generic \helpref{wxToolBarSimple}{wxtoolbarsimple} class. {\bf wxToolBarBase} defines
|
|
||||||
automatic scrolling management functionality which is identical to \helpref{wxScrolledWindow}{wxscrolledwindow},
|
\begin{itemize}\itemsep=0pt
|
||||||
so please refer to this class also.
|
\item {\bf wxToolBar95} The native Windows 95 toolbar. Used on Windows 95, NT 4 and above.
|
||||||
|
\item {\bf wxToolBarMSW} A Windows implementation. Used on 16-bit Windows.
|
||||||
|
\item {\bf wxToolBarGTK} The GTK toolbar.
|
||||||
|
\item {\bf wxToolBarSimple} A simple implementation, with scrolling.
|
||||||
|
Used on platforms with no native toolbar control, or where scrolling is required.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
Note that the base class {\bf wxToolBarBase} defines
|
||||||
|
automatic scrolling management functionality which is identical
|
||||||
|
to \helpref{wxScrolledWindow}{wxscrolledwindow}, so please refer to this class also.
|
||||||
|
Not all toolbars support scrolling, but wxToolBarSimple does.
|
||||||
|
|
||||||
\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}\\
|
||||||
@@ -14,58 +25,107 @@ so please refer to this class also.
|
|||||||
|
|
||||||
\wxheading{Remarks}
|
\wxheading{Remarks}
|
||||||
|
|
||||||
Because there is a variety of toolbar classes, you may wish to choose which class
|
You may also create a toolbar that is managed by the frame, by
|
||||||
is best for your application on each platform, and define {\bf wxToolBar} appropriately. For example:
|
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||||
|
|
||||||
\begin{verbatim}
|
{\bf wxToolBar95:} Note that this toolbar paints tools to reflect user-selected colours.
|
||||||
#if WIN95
|
The toolbar orientation must always be {\bf wxVERTICAL}.
|
||||||
class wxToolBar: public wxToolBar95
|
|
||||||
#elif defined(wx_msw)
|
|
||||||
class wxToolBar: public wxToolBarMSW
|
|
||||||
#else
|
|
||||||
class wxToolBar: public wxToolBarSimple
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
};
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
TODO: maybe change the confusing names: GetDefaultSize becomes GetToolBitmapSize, and
|
\wxheading{Window styles}
|
||||||
GetDefaultButtonSize becomes GetToolSize. Document SetRows for wxToolBar95, and make it
|
|
||||||
part of the base API?
|
\twocolwidtha{5cm}
|
||||||
|
\begin{twocollist}\itemsep=0pt
|
||||||
|
\twocolitem{\windowstyle{wxTB\_FLAT}}{Gives the toolbar a flat look ('coolbar' or 'flatbar' style). Windows 95 only.}
|
||||||
|
\twocolitem{\windowstyle{wxTB\_HORIZONTAL}}{Specifies horizontal layout.}
|
||||||
|
\twocolitem{\windowstyle{wxTB\_VERTICAL}}{Specifies vertical layout (not available for the Windows 95
|
||||||
|
toolbar).}
|
||||||
|
\twocolitem{\windowstyle{wxTB\_3DBUTTONS}}{Gives wxToolBarSimple a mild 3D look to its buttons.}
|
||||||
|
\end{twocollist}
|
||||||
|
|
||||||
|
See also \helpref{window styles overview}{windowstyles}.
|
||||||
|
|
||||||
\wxheading{Event handling}
|
\wxheading{Event handling}
|
||||||
|
|
||||||
Derive a new class from an existing toolbar class, and override appropriate virtual functions.
|
The toolbar class emits menu commands in the same was that a frame menubar does,
|
||||||
|
so you can use one EVT\_MENU macro for both a menu item and a toolbar button.
|
||||||
|
The event handler functions take a wxCommandEvent argument. For most event macros,
|
||||||
|
the identifier of the tool is passed, but for EVT\_TOOL\_ENTER the toolbar
|
||||||
|
window is passed and the tool id is retrieved from the wxCommandEvent.
|
||||||
|
This is because the id may be -1 when the mouse moves off a tool, and -1 is not
|
||||||
|
allowed as an identifier in the event system.
|
||||||
|
|
||||||
TODO: make consistent with other event handling; have wxToolBarEvent and appropriate macros.
|
\twocolwidtha{7cm}
|
||||||
|
\begin{twocollist}\itemsep=0pt
|
||||||
|
\twocolitem{{\bf EVT\_TOOL(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||||
|
(a synonym for wxEVT\_COMMAND\_MENU\_SELECTED). Pass the id of the tool.}
|
||||||
|
\twocolitem{{\bf EVT\_MENU(id, func)}}{The same as EVT\_TOOL.}
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_CLICKED event
|
||||||
|
for a range id identifiers. Pass the ids of the tools.}
|
||||||
|
\twocolitem{{\bf EVT\_MENU\_RANGE(id1, id2, func)}}{The same as EVT\_TOOL\_RANGE.}
|
||||||
|
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_RCLICKED(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event.
|
||||||
|
Pass the id of the tool.}
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_RCLICKED\_RANGE(id1, id2, func)}}{Process a wxEVT\_COMMAND\_TOOL\_RCLICKED event
|
||||||
|
for a range of ids. Pass the ids of the tools.}
|
||||||
|
\twocolitem{{\bf EVT\_TOOL\_ENTER(id, func)}}{Process a wxEVT\_COMMAND\_TOOL\_ENTER event.
|
||||||
|
Pass the id of the toolbar itself. The value of wxCommandEvent::GetSelection is the tool id, or -1 if the mouse cursor has moved off a tool.}
|
||||||
|
\end{twocollist}
|
||||||
|
|
||||||
\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{wxToolBarBase::wxToolBarBase}\label{wxtoolbarbaseconstr}
|
\membersection{wxToolBar::wxToolBar}\label{wxtoolbarconstr}
|
||||||
|
|
||||||
\func{}{wxToolBarBase}{\void}
|
\func{}{wxToolBar}{\void}
|
||||||
|
|
||||||
Default constructor.
|
Default constructor.
|
||||||
|
|
||||||
%\wxheading{See also}
|
\func{}{wxToolBar}{\param{wxWindow*}{ parent}, \param{wxWindowID }{id},
|
||||||
%
|
\param{const wxPoint\& }{pos = wxDefaultPosition},
|
||||||
%\helpref{wxToolBarBase::Create}{wxtoolbarbasecreate}
|
\param{const wxSize\& }{size = wxDefaultSize},
|
||||||
%
|
\param{long }{style = wxTB\_HORIZONTAL \pipe wxNO\_BORDER},
|
||||||
\membersection{wxToolBarBase::\destruct{wxToolBarBase}}
|
\param{const wxString\& }{name = wxPanelNameStr}}
|
||||||
|
|
||||||
\func{void}{\destruct{wxToolBarBase}}{\void}
|
Constructs a toolbar.
|
||||||
|
|
||||||
|
\wxheading{Parameters}
|
||||||
|
|
||||||
|
\docparam{parent}{Pointer to a parent window.}
|
||||||
|
|
||||||
|
\docparam{id}{Window identifier. If -1, will automatically create an identifier.}
|
||||||
|
|
||||||
|
\docparam{pos}{Window position. wxDefaultPosition is (-1, -1) which indicates that wxWindows
|
||||||
|
should generate a default position for the window. If using the wxWindow class directly, supply
|
||||||
|
an actual position.}
|
||||||
|
|
||||||
|
\docparam{size}{Window size. wxDefaultSize is (-1, -1) which indicates that wxWindows
|
||||||
|
should generate a default size for the window.}
|
||||||
|
|
||||||
|
\docparam{style}{Window style. See \helpref{wxToolBar}{wxtoolbar} for details.}
|
||||||
|
|
||||||
|
\docparam{name}{Window name.}
|
||||||
|
|
||||||
|
\wxheading{Remarks}
|
||||||
|
|
||||||
|
After a toolbar is created, you use \helpref{wxToolBar::AddTool}{wxtoolbaraddtool} and
|
||||||
|
perhaps \helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}, and then you
|
||||||
|
must call \helpref{wxToolBar::Realize}{wxtoolbarrealize} to construct and display the toolbar
|
||||||
|
tools.
|
||||||
|
|
||||||
|
You may also create a toolbar that is managed by the frame, by
|
||||||
|
calling \helpref{wxFrame::CreateToolBar}{wxframecreatetoolbar}.
|
||||||
|
|
||||||
|
\membersection{wxToolBar::\destruct{wxToolBar}}
|
||||||
|
|
||||||
|
\func{void}{\destruct{wxToolBar}}{\void}
|
||||||
|
|
||||||
Toolbar destructor.
|
Toolbar destructor.
|
||||||
|
|
||||||
\membersection{wxToolBarBase::AddSeparator}\label{wxtoolbarbaseaddseparator}
|
\membersection{wxToolBar::AddSeparator}\label{wxtoolbaraddseparator}
|
||||||
|
|
||||||
\func{void}{AddSeparator}{\void}
|
\func{void}{AddSeparator}{\void}
|
||||||
|
|
||||||
@@ -73,13 +133,13 @@ Adds a separator for spacing groups of tools.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}, \helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
|
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::AddTool}\label{wxtoolbarbaseaddtool}
|
\membersection{wxToolBar::AddTool}\label{wxtoolbaraddtool}
|
||||||
|
|
||||||
\func{wxToolBarBaseTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
\func{wxToolBarTool*}{AddTool}{\param{int}{ toolIndex}, \param{const wxBitmap\&}{ bitmap1},\rtfsp
|
||||||
\param{const wxBitmap\&}{ bitmap2 = (wxBitmap *)NULL}, \param{const bool}{ isToggle = FALSE},\rtfsp
|
\param{const wxBitmap\&}{ bitmap2 = wxNullBitmap}, \param{bool}{ isToggle = FALSE},\rtfsp
|
||||||
\param{const float}{ xPos = -1}, \param{const float}{ yPos = -1},\rtfsp
|
\param{long}{ xPos = -1}, \param{long}{ 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.
|
||||||
@@ -106,7 +166,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{wxToolBarBase::GetToolClientData}{wxtoolbarbasegettoolclientdata}.}
|
retrieved later using \helpref{wxToolBar::GetToolClientData}{wxtoolbargettoolclientdata}.}
|
||||||
|
|
||||||
\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.}
|
||||||
@@ -114,29 +174,31 @@ 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{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
|
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator},
|
||||||
|
\helpref{wxToolBar::Realize}{wxtoolbarrealize},
|
||||||
|
|
||||||
\membersection{wxToolBarBase::CreateTools}\label{wxtoolbarbasecreatetools}
|
\membersection{wxToolBar::CreateTools}\label{wxtoolbarcreatetools}
|
||||||
|
|
||||||
\func{bool}{CreateTools}{\void}
|
\func{bool}{CreateTools}{\void}
|
||||||
|
|
||||||
Call this function after all tools have been added to the toolbar, to actually
|
This function is implemented for some toolbar classes to create the tools and display them.
|
||||||
create the tools.
|
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
||||||
|
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{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}
|
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::DrawTool}\label{wxtoolbarbasedrawtool}
|
\membersection{wxToolBar::DrawTool}\label{wxtoolbardrawtool}
|
||||||
|
|
||||||
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarBaseTool* }{tool}}
|
\func{void}{DrawTool}{\param{wxMemoryDC\& }{memDC}, \param{wxToolBarTool* }{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.
|
||||||
|
|
||||||
@@ -150,7 +212,7 @@ Draws the specified tool onto the window using the given memory device context.
|
|||||||
|
|
||||||
For internal use only.
|
For internal use only.
|
||||||
|
|
||||||
\membersection{wxToolBarBase::EnableTool}\label{wxtoolbarbaseenabletool}
|
\membersection{wxToolBar::EnableTool}\label{wxtoolbarenabletool}
|
||||||
|
|
||||||
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
\func{void}{EnableTool}{\param{int }{toolIndex}, \param{const bool}{ enable}}
|
||||||
|
|
||||||
@@ -164,18 +226,18 @@ Enables or disables the tool.
|
|||||||
|
|
||||||
\wxheading{Remarks}
|
\wxheading{Remarks}
|
||||||
|
|
||||||
For \helpref{wxToolBarSimple}{wxtoolbarsimple}, does nothing. Some other implementations
|
For 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{wxToolBarBase::GetToolEnabled}{wxtoolbarbasegettoolenabled},\rtfsp
|
\helpref{wxToolBar::GetToolEnabled}{wxtoolbargettoolenabled},\rtfsp
|
||||||
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate},\rtfsp
|
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate},\rtfsp
|
||||||
\helpref{wxToolBarBase::ToggleTool}{wxtoolbarbasetoggletool}
|
\helpref{wxToolBar::ToggleTool}{wxtoolbartoggletool}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::FindToolForPosition}\label{wxtoolbarbasefindtoolforposition}
|
\membersection{wxToolBar::FindToolForPosition}\label{wxtoolbarfindtoolforposition}
|
||||||
|
|
||||||
\constfunc{wxToolBarBaseTool*}{FindToolForPosition}{\param{const float}{ x}, \param{const float}{ y}}
|
\constfunc{wxToolBarTool*}{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.
|
||||||
|
|
||||||
@@ -193,35 +255,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{wxToolBarBase::GetDefaultButtonSize}\label{wxtoolbarbasegetdefaultbuttonsize}
|
\membersection{wxToolBar::GetToolSize}\label{wxtoolbargettoolsize}
|
||||||
|
|
||||||
\func{wxSize}{GetDefaultButtonSize}{\void}
|
\func{wxSize}{GetToolSize}{\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{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||||
\helpref{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize}
|
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetDefaultSize}\label{wxtoolbarbasegetdefaultsize}
|
\membersection{wxToolBar::GetToolBitmapSize}\label{wxtoolbargettoolbitmapsize}
|
||||||
|
|
||||||
\func{wxSize}{GetDefaultSize}{\void}
|
\func{wxSize}{GetToolBitmapSize}{\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{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
|
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
|
||||||
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{wxToolBarBase::SetDefaultSize}{wxtoolbarbasesetdefaultsize},\rtfsp
|
\helpref{wxToolBar::SetToolBitmapSize}{wxtoolbarsettoolbitmapsize},\rtfsp
|
||||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetMargins}\label{wxtoolbarbasegetmargins}
|
\membersection{wxToolBar::GetMargins}\label{wxtoolbargetmargins}
|
||||||
|
|
||||||
\constfunc{wxSize}{GetMargins}{\void}
|
\constfunc{wxSize}{GetMargins}{\void}
|
||||||
|
|
||||||
@@ -229,9 +291,9 @@ Returns the left/right and top/bottom margins, which are also used for inter-too
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::SetMargins}{wxtoolbarbasesetmargins}
|
\helpref{wxToolBar::SetMargins}{wxtoolbarsetmargins}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetMaxSize}\label{wxtoolbarbasegetmaxsize}
|
\membersection{wxToolBar::GetMaxSize}\label{wxtoolbargetmaxsize}
|
||||||
|
|
||||||
\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}}
|
\constfunc{void}{GetMaxSize}{\param{float*}{ w}, \param{float*}{ h}}
|
||||||
|
|
||||||
@@ -244,7 +306,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{wxToolBarBase::GetToolClientData}\label{wxtoolbarbasegettoolclientdata}
|
\membersection{wxToolBar::GetToolClientData}\label{wxtoolbargettoolclientdata}
|
||||||
|
|
||||||
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
\constfunc{wxObject*}{GetToolClientData}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -252,13 +314,13 @@ Get any client data associated with the tool.
|
|||||||
|
|
||||||
\wxheading{Parameters}
|
\wxheading{Parameters}
|
||||||
|
|
||||||
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
\docparam{toolIndex}{Index of the tool, as passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||||
|
|
||||||
\wxheading{Return value}
|
\wxheading{Return value}
|
||||||
|
|
||||||
Client data, or NULL if there is none.
|
Client data, or NULL if there is none.
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetToolEnabled}\label{wxtoolbarbasegettoolenabled}
|
\membersection{wxToolBar::GetToolEnabled}\label{wxtoolbargettoolenabled}
|
||||||
|
|
||||||
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
\constfunc{bool}{GetToolEnabled}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -274,9 +336,9 @@ TRUE if the tool is enabled, FALSE otherwise.
|
|||||||
|
|
||||||
%\wxheading{See also}
|
%\wxheading{See also}
|
||||||
%
|
%
|
||||||
%\helpref{wxToolBarBase::SetToolEnabled}{wxtoolbarbasesettoolenabled}
|
%\helpref{wxToolBar::SetToolEnabled}{wxtoolbarsettoolenabled}
|
||||||
%
|
%
|
||||||
\membersection{wxToolBarBase::GetToolLongHelp}\label{wxtoolbarbasegettoollonghelp}
|
\membersection{wxToolBar::GetToolLongHelp}\label{wxtoolbargettoollonghelp}
|
||||||
|
|
||||||
\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
|
\constfunc{wxString}{GetToolLongHelp}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -288,10 +350,10 @@ Returns the long help for the given tool.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp},\rtfsp
|
\helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetToolPacking}\label{wxtoolbarbasegettoolpacking}
|
\membersection{wxToolBar::GetToolPacking}\label{wxtoolbargettoolpacking}
|
||||||
|
|
||||||
\constfunc{int}{GetToolPacking}{\void}
|
\constfunc{int}{GetToolPacking}{\void}
|
||||||
|
|
||||||
@@ -299,9 +361,9 @@ Returns the value used for packing tools.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::SetToolPacking}{wxtoolbarbasesettoolpacking}
|
\helpref{wxToolBar::SetToolPacking}{wxtoolbarsettoolpacking}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetToolSeparation}\label{wxtoolbarbasegettoolseparation}
|
\membersection{wxToolBar::GetToolSeparation}\label{wxtoolbargettoolseparation}
|
||||||
|
|
||||||
\constfunc{int}{GetToolSeparation}{\void}
|
\constfunc{int}{GetToolSeparation}{\void}
|
||||||
|
|
||||||
@@ -309,9 +371,9 @@ Returns the default separator size.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::SetToolSeparation}{wxtoolbarbasesettoolseparation}
|
\helpref{wxToolBar::SetToolSeparation}{wxtoolbarsettoolseparation}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetToolShortHelp}\label{wxtoolbarbasegettoolshorthelp}
|
\membersection{wxToolBar::GetToolShortHelp}\label{wxtoolbargettoolshorthelp}
|
||||||
|
|
||||||
\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
|
\constfunc{wxString}{GetToolShortHelp}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -325,10 +387,10 @@ Returns the long help for the given tool.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp}\rtfsp
|
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp}\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBarBase::GetToolState}\label{wxtoolbarbasegettoolstate}
|
\membersection{wxToolBar::GetToolState}\label{wxtoolbargettoolstate}
|
||||||
|
|
||||||
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
\constfunc{bool}{GetToolState}{\param{int }{toolIndex}}
|
||||||
|
|
||||||
@@ -344,9 +406,9 @@ TRUE if the tool is toggled on, FALSE otherwise.
|
|||||||
|
|
||||||
%\wxheading{See also}
|
%\wxheading{See also}
|
||||||
%
|
%
|
||||||
%\helpref{wxToolBarBase::SetToolState}{wxtoolbarbasesettoolstate}
|
%\helpref{wxToolBar::SetToolState}{wxtoolbarsettoolstate}
|
||||||
%
|
%
|
||||||
\membersection{wxToolBarBase::Layout}\label{wxtoolbarbaselayout}
|
\membersection{wxToolBar::Layout}\label{wxtoolbarlayout}
|
||||||
|
|
||||||
\func{void}{Layout}{\void}
|
\func{void}{Layout}{\void}
|
||||||
|
|
||||||
@@ -354,16 +416,26 @@ 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.
|
||||||
|
|
||||||
\membersection{wxToolBarBase::OnLeftClick}\label{wxtoolbarbaseonleftclick}
|
This function is only implemented for some toolbar classes.
|
||||||
|
The portable way of calling it is to call \helpref{wxToolBar::Realize}{wxtoolbarrealize} after
|
||||||
|
you have added tools and separators.
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
|
\helpref{wxToolBar::AddTool}{wxtoolbaraddtool}, \helpref{wxToolBar::Realize}{wxtoolbarrealize}
|
||||||
|
|
||||||
|
\membersection{wxToolBar::OnLeftClick}\label{wxtoolbaronleftclick}
|
||||||
|
|
||||||
\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. The
|
Called when the user clicks on a tool with the left mouse button.
|
||||||
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{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||||
|
|
||||||
\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.}
|
||||||
|
|
||||||
@@ -375,16 +447,19 @@ specifying that toggle operations are not permitted in some circumstances.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||||
\helpref{wxToolBarBase::OnRightClick}{wxtoolbarbaseonrightclick}
|
\helpref{wxToolBar::OnRightClick}{wxtoolbaronrightclick}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::OnMouseEnter}\label{wxtoolbarbaseonmouseenter}
|
\membersection{wxToolBar::OnMouseEnter}\label{wxtoolbaronmouseenter}
|
||||||
|
|
||||||
\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,
|
||||||
@@ -397,16 +472,19 @@ 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{wxToolBarBase::OnRightClick}\label{wxtoolbarbaseonrightclick}
|
\membersection{wxToolBar::OnRightClick}\label{wxtoolbaronrightclick}
|
||||||
|
|
||||||
\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{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool}.}
|
\docparam{toolIndex}{The identifier passed to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool}.}
|
||||||
|
|
||||||
\docparam{x}{The x position of the mouse cursor.}
|
\docparam{x}{The x position of the mouse cursor.}
|
||||||
|
|
||||||
@@ -418,12 +496,24 @@ A typical use of this member might be to pop up a menu.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::OnMouseEnter}{wxtoolbarbaseonmouseenter},\rtfsp
|
\helpref{wxToolBar::OnMouseEnter}{wxtoolbaronmouseenter},\rtfsp
|
||||||
\helpref{wxToolBarBase::OnLeftClick}{wxtoolbarbaseonleftclick}
|
\helpref{wxToolBar::OnLeftClick}{wxtoolbaronleftclick}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetDefaultSize}\label{wxtoolbarbasesetdefaultsize}
|
\membersection{wxToolBar::Realize}\label{wxtoolbarrealize}
|
||||||
|
|
||||||
\func{void}{SetDefaultSize}{\param{const wxSize\&}{ size}}
|
\func{bool}{Realize}{\void}
|
||||||
|
|
||||||
|
This function should be called after you have added tools. It
|
||||||
|
calls, according to the implementation,
|
||||||
|
either \helpref{wxToolBar::CreateTools}{wxtoolbarcreatetools} or
|
||||||
|
\helpref{wxToolBar::Layout}{wxtoolbarlayout}.
|
||||||
|
|
||||||
|
If you are using absolute positions for your tools when using a wxToolBarSimple object,
|
||||||
|
do not call this function. You must call it at all other times.
|
||||||
|
|
||||||
|
\membersection{wxToolBar::SetToolBitmapSize}\label{wxtoolbarsettoolbitmapsize}
|
||||||
|
|
||||||
|
\func{void}{SetToolBitmapSize}{\param{const wxSize\&}{ size}}
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@@ -436,15 +526,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{wxToolBarBase::AddTool}{wxtoolbarbaseaddtool},
|
Note that this is the size of the bitmap you pass to \helpref{wxToolBar::AddTool}{wxtoolbaraddtool},
|
||||||
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{wxToolBarBase::GetDefaultSize}{wxtoolbarbasegetdefaultsize},\rtfsp
|
\helpref{wxToolBar::GetToolBitmapSize}{wxtoolbargettoolbitmapsize},\rtfsp
|
||||||
\helpref{wxToolBarBase::GetDefaultButtonSize}{wxtoolbarbasegetdefaultbuttonsize}
|
\helpref{wxToolBar::GetToolSize}{wxtoolbargettoolsize}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetMargins}\label{wxtoolbarbasesetmargins}
|
\membersection{wxToolBar::SetMargins}\label{wxtoolbarsetmargins}
|
||||||
|
|
||||||
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
\func{void}{SetMargins}{\param{const wxSize\&}{ size}}
|
||||||
|
|
||||||
@@ -467,9 +557,9 @@ default (zero-size) margins are to be overridden.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetMargins}{wxtoolbarbasegetmargins}, \helpref{wxSize}{wxsize}
|
\helpref{wxToolBar::GetMargins}{wxtoolbargetmargins}, \helpref{wxSize}{wxsize}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetToolLongHelp}\label{wxtoolbarbasesettoollonghelp}
|
\membersection{wxToolBar::SetToolLongHelp}\label{wxtoolbarsettoollonghelp}
|
||||||
|
|
||||||
\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
\func{void}{SetToolLongHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
||||||
|
|
||||||
@@ -487,10 +577,10 @@ You might use the long help for displaying the tool purpose on the status line.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetToolLongHelp}{wxtoolbarbasegettoollonghelp},\rtfsp
|
\helpref{wxToolBar::GetToolLongHelp}{wxtoolbargettoollonghelp},\rtfsp
|
||||||
\helpref{wxToolBarBase::SetToolShortHelp}{wxtoolbarbasesettoolshorthelp},\rtfsp
|
\helpref{wxToolBar::SetToolShortHelp}{wxtoolbarsettoolshorthelp},\rtfsp
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetToolPacking}\label{wxtoolbarbasesettoolpacking}
|
\membersection{wxToolBar::SetToolPacking}\label{wxtoolbarsettoolpacking}
|
||||||
|
|
||||||
\func{void}{SetToolPacking}{\param{int}{ packing}}
|
\func{void}{SetToolPacking}{\param{int}{ packing}}
|
||||||
|
|
||||||
@@ -507,9 +597,9 @@ and for spacing in the horizontal direction if the toolbar is vertical.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetToolPacking}{wxtoolbarbasegettoolpacking}
|
\helpref{wxToolBar::GetToolPacking}{wxtoolbargettoolpacking}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetToolShortHelp}\label{wxtoolbarbasesettoolshorthelp}
|
\membersection{wxToolBar::SetToolShortHelp}\label{wxtoolbarsettoolshorthelp}
|
||||||
|
|
||||||
\func{void}{SetToolShortHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
\func{void}{SetToolShortHelp}{\param{int }{toolIndex}, \param{const wxString\& }{helpString}}
|
||||||
|
|
||||||
@@ -527,9 +617,9 @@ An application might use short help for identifying the tool purpose in a toolti
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetToolShortHelp}{wxtoolbarbasegettoolshorthelp}, \helpref{wxToolBarBase::SetToolLongHelp}{wxtoolbarbasesettoollonghelp}
|
\helpref{wxToolBar::GetToolShortHelp}{wxtoolbargettoolshorthelp}, \helpref{wxToolBar::SetToolLongHelp}{wxtoolbarsettoollonghelp}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::SetToolSeparation}\label{wxtoolbarbasesettoolseparation}
|
\membersection{wxToolBar::SetToolSeparation}\label{wxtoolbarsettoolseparation}
|
||||||
|
|
||||||
\func{void}{SetToolSeparation}{\param{int}{ separation}}
|
\func{void}{SetToolSeparation}{\param{int}{ separation}}
|
||||||
|
|
||||||
@@ -541,9 +631,9 @@ Sets the default separator size. The default value is 5.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::AddSeparator}{wxtoolbarbaseaddseparator}
|
\helpref{wxToolBar::AddSeparator}{wxtoolbaraddseparator}
|
||||||
|
|
||||||
\membersection{wxToolBarBase::ToggleTool}\label{wxtoolbarbasetoggletool}
|
\membersection{wxToolBar::ToggleTool}\label{wxtoolbartoggletool}
|
||||||
|
|
||||||
\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
|
\func{void}{ToggleTool}{\param{int }{toolIndex}, \param{const bool}{ toggle}}
|
||||||
|
|
||||||
@@ -561,213 +651,6 @@ Only applies to a tool that has been specified as a toggle tool.
|
|||||||
|
|
||||||
\wxheading{See also}
|
\wxheading{See also}
|
||||||
|
|
||||||
\helpref{wxToolBarBase::GetToolState}{wxtoolbarbasegettoolstate}
|
\helpref{wxToolBar::GetToolState}{wxtoolbargettoolstate}
|
||||||
|
|
||||||
\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,7 +8,6 @@ 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
|
||||||
@@ -33,5 +32,6 @@ 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,6 +24,27 @@ 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
|
||||||
@@ -90,12 +111,35 @@ Deletes all the items in the control.
|
|||||||
|
|
||||||
Deletes the specified item.
|
Deletes the specified item.
|
||||||
|
|
||||||
\membersection{wxTreeCtrl::Edit}\label{wxtreectrledit}
|
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
|
||||||
|
|
||||||
\func{wxTextCtrl\&}{Edit}{\param{long }{item}}
|
\func{wxTextCtrl*}{EditLabel}{\param{long }{item}, \param{wxClassInfo*}{ textControlClass = CLASSINFO(wxTextCtrl)}}
|
||||||
|
|
||||||
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,7 +1,6 @@
|
|||||||
\section{Toolbar overview}\label{wxtoolbaroverview}
|
\section{Toolbar overview}\label{wxtoolbaroverview}
|
||||||
|
|
||||||
Classes: \helpref{wxToolBarBase}{wxtoolbarbase}, \helpref{wxToolBarSimple}{wxtoolbarsimple},\rtfsp
|
Classes: \helpref{wxToolBar}{wxtoolbar}
|
||||||
\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.
|
||||||
@@ -16,21 +15,10 @@ 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 be shoe-horned into the one class.
|
cannot all be shoe-horned into the one class.
|
||||||
|
|
||||||
This does mean that if you wish to use a more sophisticated toolbar
|
For each platform, the symbol {\bf wxToolBar} is defined to be one of the
|
||||||
on one platform (say, wxToolBar95) and a simple toolbar on another
|
specific toolbar classes.
|
||||||
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.
|
||||||
|
|
||||||
@@ -43,15 +31,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.
|
the current Windows colour settings: the buttons are grey. This is the default wxToolBar
|
||||||
|
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}. {\bf Layout} does nothing.
|
of rows, and add tool separators with {\bf AddSeparator}.
|
||||||
Tooltips are supported. {\bf OnRightClick} is not supported.
|
Tooltips are supported. {\bf OnRightClick} is not supported. This is the default wxToolBar
|
||||||
For some reason, a wxToolBar95 control cannot be moved to any
|
on Windows 95, Windows NT 4 and above.
|
||||||
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
|
||||||
@@ -68,61 +56,229 @@ 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 SetDefaultSize}\rtfsp
|
high. If you want to use a different size, call {\bf SetToolBitmapSize}\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.
|
||||||
|
|
||||||
Mouse click events for a given button are sent to a member called
|
To intercept
|
||||||
\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 one of the files {\tt tbarsmpl.h, tbar95.h, tbarmsw.h}.
|
Include {\tt "wx/toolbar.h"}, or if using a class directly, one of:
|
||||||
|
|
||||||
Example of toolbar use are given in the sample programs tbarsmpl,
|
\begin{itemize}\itemsep=0pt
|
||||||
tbarmsw and tbar95.
|
\item {\tt "wx/msw/tbarmsw.h} for wxToolBarMSW
|
||||||
|
\item {\tt "wx/msw/tbar95.h} for wxToolBar95
|
||||||
|
\item {\tt "wx/tbarsmpl.h} for wxToolBarSimple
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
Each sample creates a main window, and two toolbars: a floating toolbar
|
Example of toolbar use are given in the sample program ``toolbar''. The
|
||||||
with 24 tools, and a toolbar along the top of the main drawing window, divided into groups.
|
source is given below.
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
toolBarFrame = new wxFrame(NULL, "Tools", -1, wxPoint(0, 0), wxSize(300, 200),
|
#ifdef __WXMSW__
|
||||||
wxDEFAULT_FRAME_STYLE | wxSTAY_ON_TOP);
|
int width = 24;
|
||||||
|
#else
|
||||||
|
int width = 16;
|
||||||
|
#endif
|
||||||
|
int offX = 5;
|
||||||
|
int currentX = 5;
|
||||||
|
|
||||||
// 5 rows
|
toolBar->AddTool(wxID_NEW, *(toolBarBitmaps[0]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "New file");
|
||||||
toolBar = new TestToolBar(toolBarFrame, -1, wxPoint(10, 10), wxSize(-1, -1), 0, wxVERTICAL, 5);
|
currentX += width + 5;
|
||||||
toolBar->SetMargins(2, 2);
|
toolBar->AddTool(wxID_OPEN, *(toolBarBitmaps[1]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Open file");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddTool(wxID_SAVE, *(toolBarBitmaps[2]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Save file");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddSeparator();
|
||||||
|
toolBar->AddTool(wxID_COPY, *(toolBarBitmaps[3]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Copy");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddTool(wxID_CUT, *(toolBarBitmaps[4]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Cut");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddTool(wxID_PASTE, *(toolBarBitmaps[5]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Paste");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddSeparator();
|
||||||
|
toolBar->AddTool(wxID_PRINT, *(toolBarBitmaps[6]), wxNullBitmap, FALSE, (float)currentX, -1, NULL, "Print");
|
||||||
|
currentX += width + 5;
|
||||||
|
toolBar->AddSeparator();
|
||||||
|
toolBar->AddTool(wxID_HELP, *(toolBarBitmaps[7]), wxNullBitmap, FALSE, currentX, -1, NULL, "Help");
|
||||||
|
|
||||||
for (int i = 10; i < 25; i++)
|
toolBar->Realize();
|
||||||
toolBar->AddTool(i, toolBarBitmaps[i], NULL, TRUE);
|
|
||||||
|
|
||||||
toolBar->Layout();
|
// Can delete the bitmaps since they're reference counted
|
||||||
float maxWidth, maxHeight;
|
int i;
|
||||||
wxSize size(toolBar->GetMaxSize());
|
for (i = 0; i < 8; i++)
|
||||||
toolBarFrame->SetClientSize(maxSize.x, maxSize.y);
|
delete toolBarBitmaps[i];
|
||||||
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,10 +1585,8 @@ 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::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\rtfsp
|
||||||
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollrange},\rtfsp
|
|
||||||
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
\end{comment}
|
\end{comment}
|
||||||
|
|
||||||
@@ -1615,8 +1613,7 @@ 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::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
\helpref{wxWindow::GetScrollThumb}{wxwindowgetscrollthumb},\rtfsp
|
||||||
\helpref{wxWindow::GetScrollThumb}{wxwindowsetscrollthumb},\rtfsp
|
|
||||||
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
\helpref{wxScrollBar}{wxscrollbar}, \helpref{wxScrolledWindow}{wxscrolledwindow}
|
||||||
|
|
||||||
\begin{comment}
|
\begin{comment}
|
||||||
@@ -1647,8 +1644,7 @@ 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::GetScrollRange}{wxwindowsetscrollrange},\rtfsp
|
\helpref{wxWindow::GetScrollPage}{wxwindowsetscrollpage},\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}{wxwinhelpcontrollerbase}
|
\helpref{wxHelpControllerBase}{wxhelpcontrollerbase}
|
||||||
|
|
||||||
\wxheading{Include file}
|
\wxheading{Include file}
|
||||||
|
|
||||||
|
@@ -1,15 +1,9 @@
|
|||||||
; This file is maintained by HCW. Do not modify this file directly.
|
|
||||||
|
|
||||||
[OPTIONS]
|
[OPTIONS]
|
||||||
HCW=0
|
COMPRESS=HIGH
|
||||||
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,593 +1,525 @@
|
|||||||
\section{\class{wxString}}\label{wxstring}
|
\section{\class{wxString}}\label{wxstring}
|
||||||
|
|
||||||
|
\wxheading{Derived from}
|
||||||
|
|
||||||
|
None
|
||||||
|
|
||||||
|
\wxheading{See also}
|
||||||
|
|
||||||
\overview{Overview}{wxstringoverview}
|
\overview{Overview}{wxstringoverview}
|
||||||
|
|
||||||
\helpref{Member functions by category}{wxstringcategories}
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
||||||
|
|
||||||
{\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{void}{wxString}{\param{void}{}}\\
|
\func{}{wxString}{\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}}
|
|
||||||
|
|
||||||
Constructors.
|
Default constructor.
|
||||||
|
|
||||||
|
\func{}{wxString}{\param{const wxString\&}{ x}}
|
||||||
|
|
||||||
|
Copy constructor.
|
||||||
|
|
||||||
|
\func{}{wxString}{\param{char}{ ch}, \param{size\_t}{ n = 1}}
|
||||||
|
|
||||||
|
Constructs a string of {\it n} copies of character {\it ch}.
|
||||||
|
|
||||||
|
\func{}{wxString}{\param{const char*}{ psz}, \param{size\_t}{ nLength = STRING\_MAXLEN}}
|
||||||
|
|
||||||
|
Takes first {\it nLength} characters from the C string {\it psz}.
|
||||||
|
The default value of STRING\_MAXLEN means take all the string.
|
||||||
|
|
||||||
|
\func{}{wxString}{\param{const unsigned char*}{ psz}, \param{size\_t}{ nLength = STRING\_MAXLEN}}
|
||||||
|
|
||||||
|
For compilers using unsigned char: takes first {\it nLength} characters from the C string {\it psz}.
|
||||||
|
The default value of STRING\_MAXLEN means take all the string.
|
||||||
|
|
||||||
|
\func{}{wxString}{\param{const wchar\_t*}{ psz}}
|
||||||
|
|
||||||
|
Constructs a string from the wide (UNICODE) string.
|
||||||
|
|
||||||
\membersection{wxString::\destruct{wxString}}\label{wxstringdestruct}
|
\membersection{wxString::\destruct{wxString}}\label{wxstringdestruct}
|
||||||
|
|
||||||
\func{void}{\destruct{wxString}}{\void}
|
\func{}{\destruct{wxString}}{\void}
|
||||||
|
|
||||||
String destructor.
|
String destructor. Note that this is not virtual, so wxString must not be inherited from.
|
||||||
|
|
||||||
\membersection{wxString::Alloc}\label{wxstringAlloc}
|
\membersection{wxString::Alloc}\label{wxstringAlloc}
|
||||||
|
|
||||||
\func{void}{Alloc}{\param{int}{ newsize}}
|
\func{void}{Alloc}{\param{uint}{ newsize}}
|
||||||
|
|
||||||
Preallocate some space for wxString.
|
Preallocate some space for wxString. Only works if the data of this string is not shared.
|
||||||
|
|
||||||
\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*}{ cs}}\\
|
\func{wxString\&}{Append}{\param{const char*}{ psz}}
|
||||||
\func{wxString\&}{Append}{\param{const wxString\&}{ s}}
|
|
||||||
|
|
||||||
Concatenation.
|
Concatenates {\it psz} to this string, returning a reference to it.
|
||||||
|
|
||||||
\func{wxString\&}{Append}{\param{char}{ c}, \param{int}{ rep = 1}}
|
\func{wxString\&}{Append}{\param{char}{ ch}, \param{int}{ count = 1}}
|
||||||
|
|
||||||
Append {\it c}, {\it rep} times
|
Concatenates character {\it ch} to this string, {\it count} times, returning a reference
|
||||||
|
to it.
|
||||||
|
|
||||||
\membersection{wxString::After}\label{wxstringAfter}
|
\membersection{wxString::After}\label{wxstringAfter}
|
||||||
|
|
||||||
\func{wxSubString}{After}{\param{int}{ pos}}\\
|
\constfunc{wxString}{After}{\param{char}{ ch}}
|
||||||
\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}}
|
|
||||||
|
|
||||||
\membersection{wxString::At}\label{wxstringAt}
|
Gets all the characters after the first occurence of {\it ch}.
|
||||||
|
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}
|
||||||
|
|
||||||
\func{wxSubString}{Before}{\param{int}{ pos}}\\
|
\constfunc{wxString}{Before}{\param{char}{ ch}}
|
||||||
\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}}
|
|
||||||
|
|
||||||
\membersection{wxString::Capitalize}\label{wxstringCapitalize}
|
Gets all characters before the last occurence of {\it ch}.
|
||||||
|
Returns empty string if {\it ch} is not found.
|
||||||
|
|
||||||
\func{void}{Capitalize}{\param{void}{}}\\
|
\membersection{wxString::Cmp}\label{wxstringcmp}
|
||||||
\func{friend wxString}{Capitalize}{\param{wxString\&}{ x}}
|
|
||||||
|
|
||||||
\membersection{wxString::Cat}\label{wxstringCat}
|
\constfunc{int}{Cmp}{\param{const char*}{ psz}}
|
||||||
|
|
||||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{wxString\&}{ c}}\\
|
Case-sensitive comparison.
|
||||||
\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}}
|
|
||||||
|
|
||||||
Concatenate first two arguments, store the result in the last argument.
|
Returns 0 if equal, +1 if greater or -1 if less.
|
||||||
|
|
||||||
\func{friend void}{Cat}{\param{const wxString\&}{ a}, \param{const wxString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
See also CmpNoCase, IsSameAs.
|
||||||
\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}}
|
|
||||||
|
|
||||||
\func{friend void}{Cat}{\param{const char*}{ a}, \param{const wxString\&}{ b}, \param{const wxString\&}{ c}, \param{wxString\&}{ d}}\\
|
\membersection{wxString::CmpNoCase}\label{wxstringcmpnocase}
|
||||||
\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}}
|
|
||||||
|
|
||||||
Double concatenation, by request. (Yes, there are too many versions,
|
\constfunc{int}{CmpNoCase}{\param{const char*}{ psz}}
|
||||||
but if one is supported, then the others should be too).
|
|
||||||
Concatenate the first 3 args, store the result in the last argument.
|
|
||||||
|
|
||||||
\membersection{wxString::Chars}\label{wxstringChars}
|
Case-insensitive comparison.
|
||||||
|
|
||||||
\func{const char*}{Chars}{\param{void}{}} \param{ const}{}
|
Returns 0 if equal, +1 if greater or -1 if less.
|
||||||
|
|
||||||
Conversion.
|
See also Cmp, IsSameAs.
|
||||||
|
|
||||||
\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}
|
||||||
|
|
||||||
\func{int}{CompareTo}{\param{const char*}{ cs}, \param{CaseCompare}{ cmp = exact}} \param{ const}{}\\
|
\constfunc{int}{CompareTo}{\param{const char*}{ psz}, \param{caseCompare}{ cmp = exact}}
|
||||||
\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{char}{ c}} \param{ const}{}\\
|
\func{bool}{Contains}{\param{const wxString\&}{ str}}
|
||||||
\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}{}
|
|
||||||
|
|
||||||
Return 1 if target appears anyhere in wxString; else 0.
|
Returns 1 if target appears anyhere in wxString; else 0.
|
||||||
|
|
||||||
\func{bool}{Contains}{\param{const char*}{ pat}, \param{CaseCompare}{ cmp}} \param{ const}{}\\
|
\membersection{wxString::Empty}\label{wxstringempty}
|
||||||
\func{bool}{Contains}{\param{const wxString\&}{ pat}, \param{CaseCompare}{ cmp}} \param{ const}{}
|
|
||||||
|
|
||||||
Case dependent/independent variation .
|
\func{void}{Empty}{\void}
|
||||||
|
|
||||||
\func{bool}{Contains}{\param{char}{ c}, \param{int}{ pos}} \param{ const}{}\\
|
Reinitializes the string and frees the data.
|
||||||
\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}{}
|
|
||||||
|
|
||||||
Return 1 if the target appears anywhere after position {\it pos} (or
|
\membersection{wxString::Find}\label{wxstringfind}
|
||||||
before, if {\it pos} is negative) in wxString; else 0.
|
|
||||||
|
|
||||||
\membersection{wxString::Copy}\label{wxstringCopy}
|
\constfunc{int}{Find}{\param{char}{ ch}, \param{bool}{ fromEnd = FALSE}}
|
||||||
|
|
||||||
\func{wxString}{Copy}{\param{void}{}} \param{ const}{}
|
Searches for the given character. Returns the starting index, or -1 if not found.
|
||||||
|
|
||||||
Duplication.
|
\constfunc{int}{Find}{\param{const char*}{ sz}}
|
||||||
|
|
||||||
\membersection{wxString::Del}\label{wxstringDel}
|
Searches for the given string. Returns the starting index, or -1 if not found.
|
||||||
|
|
||||||
\func{wxString\&}{Del}{\param{int}{ pos}, \param{int}{ len}}
|
\membersection{wxString::First}\label{wxstringfirst}
|
||||||
|
|
||||||
Delete {\it len} characters starting at {\it pos}.
|
\func{size\_t}{First}{\param{char}{ c}}
|
||||||
|
|
||||||
\func{wxString\&}{Del}{\param{const wxString\&}{ y}, \param{int}{ startpos = 0}}\\
|
\constfunc{size\_t}{First}{\param{const char*}{ psz}}
|
||||||
\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}}
|
|
||||||
|
|
||||||
Delete the first occurrence of target after {\it startpos}.
|
\constfunc{size\_t}{First}{\param{const wxString\&}{ str}}
|
||||||
|
|
||||||
\membersection{wxString::DownCase}\label{wxstringDownCase}
|
\constfunc{size\_t}{First}{\param{const char}{ ch}}
|
||||||
|
|
||||||
\func{void}{Downcase}{\param{void}{}}\\
|
Returns the first occurrence of the item.
|
||||||
\func{friend wxString}{Downcase}{\param{wxString\&}{ x}}
|
|
||||||
|
|
||||||
\membersection{wxString::Elem}\label{wxstringElem}
|
\membersection{wxString::GetChar}\label{wxstringgetchar}
|
||||||
|
|
||||||
\func{char}{Elem}{\param{int}{ i}} \param{ const}{}
|
\constfunc{char}{GetChar}{\param{size\_t}{ n}}
|
||||||
|
|
||||||
Element extraction.
|
Returns the character at position {\it n} (read-only).
|
||||||
|
|
||||||
\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}
|
||||||
|
|
||||||
\func{char*}{GetData}{\param{void}{}}
|
\constfunc{const char*}{GetData}{\void}
|
||||||
|
|
||||||
wxWindows compatibility conversion.
|
wxWindows compatibility conversion. Returns a constant pointer to the data in the string.
|
||||||
|
|
||||||
\membersection{wxString::GSub}\label{wxstringGSub}
|
\membersection{wxString::GetWritableChar}\label{wxstringgetwritablechar}
|
||||||
\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}}
|
|
||||||
|
|
||||||
Global substitution: substitute all occurrences of {\it pat} with {\it repl},
|
\func{char\&}{GetWritableChar}{\param{size\_t}{ n}}
|
||||||
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}
|
||||||
|
|
||||||
\func{int}{Index}{\param{char}{ c}, \param{int}{ startpos = 0}} \param{ const}{}\\
|
\constfunc{size\_t}{Index}{\param{char}{ ch}, \param{int}{ startpos = 0}}
|
||||||
\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}{}
|
|
||||||
|
|
||||||
Return the position of target in string, or -1 for failure.
|
Same as \helpref{wxString::Find}{wxstringfind}.
|
||||||
|
|
||||||
|
\constfunc{size\_t}{Index}{\param{const char*}{ sz}}
|
||||||
|
|
||||||
|
Same as \helpref{wxString::Find}{wxstringfind}.
|
||||||
|
|
||||||
|
\constfunc{size\_t}{Index}{\param{const char*}{ sz}, \param{bool}{ caseSensitive = TRUE}, \param{bool}{ fromEnd = FALSE}}
|
||||||
|
|
||||||
|
Search the element in the array, starting from either side.
|
||||||
|
|
||||||
|
If {\it fromEnd} is TRUE, reverse search direction.
|
||||||
|
|
||||||
|
If {\bf caseSensitive}, comparison is case sensitive (the default).
|
||||||
|
|
||||||
|
Returns the index of the first item matched, or NOT\_FOUND.
|
||||||
|
|
||||||
\membersection{wxString::Insert}\label{wxstringInsert}
|
\membersection{wxString::Insert}\label{wxstringInsert}
|
||||||
|
|
||||||
\func{wxString\&}{Insert}{\param{int}{ pos}, \param{const char*}{ s}}\\
|
\func{void}{Insert}{\param{const wxString\&}{ str}, \param{uint}{ index}}
|
||||||
\func{wxString\&}{Insert}{\param{int}{ pos}, \param{const wxString\&}{ s}}
|
|
||||||
|
|
||||||
Insertion.
|
Add new element at the given position.
|
||||||
|
|
||||||
\membersection{wxString::IsAscii}\label{wxstringIsAscii}
|
\membersection{wxString::IsAscii}\label{wxstringIsAscii}
|
||||||
|
|
||||||
\func{int}{IsAscii}{\param{void}{}} \param{ const}{}
|
\constfunc{bool}{IsAscii}{\void}
|
||||||
|
|
||||||
Classification (should be capital, because of ctype.h macros).
|
Returns TRUE if the string is ASCII.
|
||||||
|
|
||||||
\membersection{wxString::IsDefined}\label{wxstringIsDefined}
|
\membersection{wxString::IsEmpty}\label{wxstringisempty}
|
||||||
|
|
||||||
\func{int}{IsDefined}{\param{void}{}} \param{ const}{}
|
\constfunc{bool}{IsEmpty}{\void}
|
||||||
|
|
||||||
Classification (should be capital, because of ctype.h macros).
|
Returns TRUE if the string is NULL.
|
||||||
|
|
||||||
\membersection{wxString::IsNull}\label{wxstringIsNull}
|
\membersection{wxString::IsNull}\label{wxstringIsNull}
|
||||||
|
|
||||||
\func{int}{IsNull}{\param{void}{}} \param{ const}{}
|
\constfunc{bool}{IsNull}{\void}
|
||||||
|
|
||||||
Classification (should be capital, because of ctype.h macros).
|
Returns TRUE if the string is NULL (same as IsEmpty).
|
||||||
|
|
||||||
\membersection{wxString::IsNumber}\label{wxstringIsNumber}
|
\membersection{wxString::IsNumber}\label{wxstringIsNumber}
|
||||||
|
|
||||||
\func{int}{IsNumber}{\param{void}{}} \param{ const}{}
|
\constfunc{bool}{IsNumber}{\void}
|
||||||
|
|
||||||
Classification (should be capital, because of ctype.h macros).
|
Returns TRUE if the string is a number.
|
||||||
|
|
||||||
|
\membersection{wxString::IsSameAs}\label{wxstringissameas}
|
||||||
|
|
||||||
|
\constfunc{bool}{IsSameAs}{\param{const char*}{ psz}, \param{bool}{ caseSensitive = TRUE}}
|
||||||
|
|
||||||
|
Test for string equality, case-sensitive (default) or not.
|
||||||
|
|
||||||
|
caseSensitive is TRUE by default (case matters).
|
||||||
|
|
||||||
|
Returns TRUE if strings are equal, FALSE otherwise.
|
||||||
|
|
||||||
|
See also Cmp, CmpNoCase.
|
||||||
|
|
||||||
\membersection{wxString::IsWord}\label{wxstringIsWord}
|
\membersection{wxString::IsWord}\label{wxstringIsWord}
|
||||||
|
|
||||||
\func{int}{IsWord}{\param{void}{}} \param{ const}{}
|
\constfunc{bool}{IsWord}{\void}
|
||||||
|
|
||||||
Classification (should be capital, because of ctype.h macros).
|
Returns TRUE if the string is a word. TODO: what's the definition of a word?
|
||||||
|
|
||||||
\membersection{wxString::Last}\label{wxstringLast}
|
\membersection{wxString::Last}\label{wxstringLast}
|
||||||
|
|
||||||
\func{int}{Last}{\param{char}{ c}} \param{ const}{}\\
|
\constfunc{char}{Last}{\void}
|
||||||
\func{int}{Last}{\param{const char*}{ cs}} \param{ const}{}\\
|
|
||||||
\func{int}{Last}{\param{const wxString\&}{ cs}} \param{ const}{}
|
|
||||||
|
|
||||||
First or last occurrence of item.
|
Returns the last character.
|
||||||
|
|
||||||
\membersection{wxString::Lastchar}\label{wxstringLastchar}
|
\func{char\&}{Last}{\void}
|
||||||
|
|
||||||
\func{char}{Lastchar}{\param{void}{}} \param{ const}{}
|
Returns a reference to the last character (writable).
|
||||||
|
|
||||||
Element extraction.
|
\membersection{wxString::Left}\label{wxstringleft}
|
||||||
|
|
||||||
\membersection{wxString::Length}\label{wxstringLength}
|
\constfunc{wxString}{Left}{\param{size\_t}{ count}}
|
||||||
|
|
||||||
\func{unsigned int}{Length}{\param{void}{}} \param{ const}{}
|
Returns the first {\it count} characters.
|
||||||
|
|
||||||
|
\constfunc{wxString}{Left}{\param{char}{ ch}}
|
||||||
|
|
||||||
|
Returns all characters before the first occurence of {\it ch}.
|
||||||
|
Returns the whole string if {\it ch} is not found.
|
||||||
|
|
||||||
|
\membersection{wxString::Len}\label{wxstringlen}
|
||||||
|
|
||||||
|
\constfunc{size\_t}{Len}{\void}
|
||||||
|
|
||||||
|
Returns the length of the string.
|
||||||
|
|
||||||
|
\membersection{wxString::Length}\label{wxstringlength}
|
||||||
|
|
||||||
|
\constfunc{size\_t}{Length}{\void}
|
||||||
|
|
||||||
|
Returns the length of the string (same as Len).
|
||||||
|
|
||||||
\membersection{wxString::LowerCase}\label{wxstringLowerCase}
|
\membersection{wxString::LowerCase}\label{wxstringLowerCase}
|
||||||
|
|
||||||
\func{void}{LowerCase}{\param{void}{}}
|
\func{void}{LowerCase}{\void}
|
||||||
|
|
||||||
|
Same as MakeLower.
|
||||||
|
|
||||||
|
\membersection{wxString::MakeLower}\label{wxstringmakelower}
|
||||||
|
|
||||||
|
\func{void}{MakeLower}{\void}
|
||||||
|
|
||||||
|
Converts all characters to lower case.
|
||||||
|
|
||||||
|
\membersection{wxString::MakeUpper}\label{wxstringmakeupper}
|
||||||
|
|
||||||
|
\func{void}{MakeUpper}{\void}
|
||||||
|
|
||||||
|
Converts all characters to upper case.
|
||||||
|
|
||||||
\membersection{wxString::Matches}\label{wxstringMatches}
|
\membersection{wxString::Matches}\label{wxstringMatches}
|
||||||
|
|
||||||
\func{bool}{Matches}{\param{char}{ c}, \param{int}{ pos = 0}} \param{ const}{}\\
|
\constfunc{bool}{Matches}{\param{const char*}{ szMask}}
|
||||||
\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}{}
|
|
||||||
|
|
||||||
Return 1 if target appears at position {\it pos} in wxString; else 0.
|
Returns TRUE if the string contents matches a mask containing '*' and '?'.
|
||||||
|
|
||||||
\membersection{wxString::OK}\label{wxstringOK}
|
\membersection{wxString::Mid}\label{wxstringmid}
|
||||||
|
|
||||||
\func{int}{OK}{\param{void}{}} \param{ const}{}
|
\constfunc{wxString}{Mid}{\param{size\_t}{ first}, \param{size\_t}{ count = STRING\_MAXLEN}}
|
||||||
|
|
||||||
|
Returns a substring starting at {\it first}, with length {\it count}, or the rest of
|
||||||
|
the string if {\it count} is the default value.
|
||||||
|
|
||||||
|
\membersection{wxString::Pad}\label{wxstringpad}
|
||||||
|
|
||||||
|
\func{wxString\&}{Pad}{\param{size\_t}{ count}, \param{char}{ pad = ' '}, \param{bool}{ fromRight = TRUE}}
|
||||||
|
|
||||||
|
Adds {\it count} copies of {\it pad} to the beginning, or to the end of the string (the default).
|
||||||
|
|
||||||
|
Removes spaces from the left or from the right (default).
|
||||||
|
|
||||||
\membersection{wxString::Prepend}\label{wxstringPrepend}
|
\membersection{wxString::Prepend}\label{wxstringPrepend}
|
||||||
|
|
||||||
\func{wxString\&}{Prepend}{\param{const wxString\&}{ y}}\\
|
\func{wxString\&}{Prepend}{\param{const wxString\&}{ str}}
|
||||||
\func{wxString\&}{Prepend}{\param{const wxSubString\&}{ y}}\\
|
|
||||||
\func{wxString\&}{Prepend}{\param{const char*}{ t}}\\
|
|
||||||
\func{wxString\&}{Prepend}{\param{char}{ c}}
|
|
||||||
|
|
||||||
Prepend.
|
Prepends {\it str} to this string, returning a reference to this string.
|
||||||
|
|
||||||
\func{wxString\&}{Prepend}{\param{char}{ c}, \param{int}{ rep=1}}
|
\membersection{wxString::Printf}\label{wxstringprintf}
|
||||||
|
|
||||||
Prepend {\it c}, {\it rep} times.
|
\func{int}{Printf}{\param{const char* }{pszFormat}, \param{}{...}}
|
||||||
|
|
||||||
\membersection{wxString::Readline}\label{wxstringReadline}
|
Similar to sprintf. Returns the number of characters written, or an integer less than zero
|
||||||
|
on error.
|
||||||
|
|
||||||
\func{friend int}{Readline}{\param{istream\&}{ s}, \param{wxString\&}{ x},
|
\membersection{wxString::PrintfV}\label{wxstringprintfv}
|
||||||
\param{char}{ terminator = '$\backslash$n'},
|
|
||||||
\param{int}{ discard\_terminator = 1}}\\
|
\func{int}{PrintfV}{\param{const char* }{pszFormat}, \param{va\_list}{ argPtr}}
|
||||||
\func{friend int}{Readline}{\param{FILE *}{ f}, \param{wxString\&}{ x},
|
|
||||||
\param{char}{ terminator = '$\backslash$n'},
|
Similar to vprintf. Returns the number of characters written, or an integer less than zero
|
||||||
\param{int}{ discard\_terminator = 1}}
|
on error.
|
||||||
|
|
||||||
\membersection{wxString::Remove}\label{wxstringRemove}
|
\membersection{wxString::Remove}\label{wxstringRemove}
|
||||||
|
|
||||||
\func{wxString\&}{RemoveLast}{\param{void}{}}\\
|
\func{wxString\&}{Remove}{\param{size\_t}{ pos}}
|
||||||
\func{wxString\&}{Remove}{\param{int}{ pos}}\\
|
|
||||||
\func{wxString\&}{Remove}{\param{int}{ pos}, \param{int}{ len}}
|
|
||||||
|
|
||||||
Remove {\it pos} to end of string.
|
Same as Truncate. Removes the portion from {\it pos} to the end of the string.
|
||||||
|
|
||||||
|
\func{wxString\&}{Remove}{\param{size\_t}{ pos}, \param{size\_t}{ len}}
|
||||||
|
|
||||||
|
Removes the last {\it len} characters from the string, starting at {\it pos}.
|
||||||
|
|
||||||
|
\membersection{wxString::RemoveLast}\label{wxstringremovelast}
|
||||||
|
|
||||||
|
\func{wxString\&}{RemoveLast}{\void}
|
||||||
|
|
||||||
|
Removes the last character.
|
||||||
|
|
||||||
\membersection{wxString::Replace}\label{wxstringReplace}
|
\membersection{wxString::Replace}\label{wxstringReplace}
|
||||||
|
|
||||||
\func{wxString\&}{Replace}{\param{int}{ pos}, \param{int}{ n}, \param{const char*}{ s}}\\
|
\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 wxString\&}{ s}}
|
|
||||||
|
|
||||||
\membersection{wxString::Replicate}\label{wxstringReplicate}
|
Replace first (or all) occurences of substring with another one.
|
||||||
|
|
||||||
\func{friend wxString}{Replicate}{\param{char}{ c}, \param{int}{ n}}\\
|
{\it replaceAll}: global replace (default), or only the first occurence.
|
||||||
\func{friend wxString}{Replicate}{\param{const wxString\&}{ y}, \param{int}{ n}}
|
|
||||||
|
|
||||||
Replication.
|
Returns the number of replacements made.
|
||||||
|
|
||||||
\membersection{wxString::Reverse}\label{wxstringReverse}
|
\membersection{wxString::Right}\label{wxstringright}
|
||||||
|
|
||||||
\func{void}{Reverse}{\param{void}{}}\\
|
\constfunc{wxString}{Right}{\param{size\_t}{ count}}
|
||||||
\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}}
|
|
||||||
|
|
||||||
Formatted assignment. We do not use the 'sprintf' constructor anymore,
|
\func{void}{sprintf}{\param{const char* }{ fmt}}
|
||||||
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:
|
|
||||||
|
|
||||||
\begin{verbatim}
|
The same as Printf.
|
||||||
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}
|
||||||
enumStripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
enum stripType {leading = 0x1, trailing = 0x2, both = 0x3};
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
\func{wxSubString}{Strip}{\param{StripType}{ s = trailing}, \param{char}{ c = ' '}}
|
\constfunc{wxString}{Strip}{\param{stripType}{ s = trailing}}
|
||||||
|
|
||||||
Strip characterss at the front and/or end.
|
Strip characters at the front and/or end. The same as Trim except that it
|
||||||
StripType is defined for bitwise ORing.
|
doesn't change this string.
|
||||||
|
|
||||||
\membersection{wxString::SubString}\label{wxstringSubString}
|
\membersection{wxString::Trim}\label{wxstringtrim}
|
||||||
|
|
||||||
\func{wxString}{SubString}{\param{int}{ from}, \param{int}{ to}}
|
\func{wxString\&}{Trim}{\param{bool}{ fromRight = TRUE}}
|
||||||
|
|
||||||
Edward Zimmermann's additions.
|
Removes spaces from the left or from the right (default).
|
||||||
|
|
||||||
\membersection{wxString::Through}\label{wxstringThrough}
|
\membersection{wxString::Truncate}\label{wxstringtruncate}
|
||||||
|
|
||||||
\func{wxSubString}{Through}{\param{int}{ pos}}\\
|
\func{wxString\&}{Truncate}{\param{size\_t}{ len}}
|
||||||
\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}}
|
|
||||||
|
|
||||||
\membersection{wxString::Upcase}\label{wxstringUpcase}
|
Truncate the string to the given length.
|
||||||
|
|
||||||
\func{void}{Upcase}{\param{void}{}}\\
|
\membersection{wxString::UngetWriteBuf}\label{wxstringungetwritebuf}
|
||||||
\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}{\param{void}{}}\\
|
\func{void}{UpperCase}{\void}
|
||||||
|
|
||||||
|
The same as MakeUpper.
|
||||||
|
|
||||||
\membersection{wxString::operator $=$}\label{wxstringoperatorassign}
|
\membersection{wxString::operator $=$}\label{wxstringoperatorassign}
|
||||||
|
|
||||||
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ y}}\\
|
\func{wxString\&}{operator $=$}{\param{const wxString\&}{ str}}
|
||||||
\func{wxString\&}{operator $=$}{\param{const char*}{ y}}\\
|
|
||||||
\func{wxString\&}{operator $=$}{\param{char}{ c}}\\
|
\func{wxString\&}{operator $=$}{\param{const char*}{ psz}}
|
||||||
\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{wxString\&}{operator $+=$}{\param{const wxString\&}{ y}}\\
|
\func{void}{operator $+=$}{\param{const wxString\&}{ str}}
|
||||||
\func{wxString\&}{operator $+=$}{\param{const wxSubString\&}{ y}}\\
|
|
||||||
\func{wxString\&}{operator $+=$}{\param{const char*}{ t}}\\
|
\func{void}{operator $+=$}{\param{const char*}{ psz}}
|
||||||
\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{int}{ i}}
|
\func{char\&}{operator []}{\param{size\_t}{ 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{char\&}{operator ()}{\param{int}{ i}}
|
\func{wxString}{operator ()}{\param{size\_t}{ start}, \param{size\_t}{ len}}
|
||||||
|
|
||||||
|
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{friend ostream\&}{operator \cinsert}{\param{ostream\&}{ s}, \param{const wxSubString\&}{ x}}
|
\func{wxString\&}{operator \cinsert}{\\param{const wxString\&}{ str}}
|
||||||
|
|
||||||
|
\func{wxString\&}{operator \cinsert}{\\param{const char*}{ psz}}
|
||||||
|
|
||||||
|
\func{wxString\&}{operator \cinsert}{\\param{char }{ch}}
|
||||||
|
|
||||||
|
Same as $+=$.
|
||||||
|
|
||||||
\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}{}}
|
|
||||||
|
|
||||||
Conversion.
|
\constfunc{}{operator const char*}{\void}
|
||||||
|
|
||||||
\membersection{wxCHARARG}\label{wxstringwxCHARARG}
|
Implicit conversion to a C string.
|
||||||
|
|
||||||
\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{int}{operator $==$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
\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 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}}
|
|
||||||
|
|
||||||
\membersection{operator $+$}\label{wxstringoperatorplus}
|
\func{bool}{operator $==$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||||
|
|
||||||
\func{wxString}{operator $+$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}\\
|
\func{bool}{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}}
|
|
||||||
|
|
||||||
\membersection{Join}\label{wxstringJoin}
|
\func{bool}{operator $!=$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||||
|
|
||||||
\func{friend wxString}{Join}{\param{wxString}{ src[]}, \param{int}{ n}, \param{const wxString\&}{ sep}}
|
\func{bool}{operator $>$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||||
|
|
||||||
\membersection{Split}\label{wxstringSplit}
|
\func{bool}{operator $>$}{\param{const wxString\&}{ x}, \param{const char*}{ t}}
|
||||||
|
|
||||||
\func{friend int}{Split}{\param{const wxString\&}{ x}, \param{wxString}{ res[]}, \param{int}{ maxn},\\
|
\func{bool}{operator $>=$}{\param{const wxString\&}{ x}, \param{const wxString\&}{ y}}
|
||||||
\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 wxWindows licence, you as a user are not obliged to
|
Unlike the L-GPL 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,6 +2,19 @@
|
|||||||
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,8 +5,6 @@ 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
|
||||||
@@ -14,15 +12,12 @@ 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).
|
||||||
|
|
||||||
Registry classes (check out wxConfig class - see issues.txt).
|
Tidy wxConfig API.
|
||||||
|
|
||||||
Change DnD classes to use global symbols, and wxString.
|
Change DnD classes to use global symbols, and wxString.
|
||||||
|
|
||||||
@@ -47,18 +42,20 @@ 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
|
wxString PARTLY DONE
|
||||||
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.
|
||||||
|
|
||||||
Other static classes.
|
A wxDC function (or two) for drawing 3D edges.
|
||||||
|
|
||||||
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
|
||||||
@@ -68,31 +65,15 @@ More wxSystemSettings (see comment in settings.cpp).
|
|||||||
|
|
||||||
wxSocket integration.
|
wxSocket integration.
|
||||||
|
|
||||||
wxListCtrl, wxTreeCtrl, wxImageList integration with Robert
|
Convert remaining utilities e.g. (GLCanvas; wxGraphLayout) and samples
|
||||||
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
|
||||||
@@ -100,18 +81,13 @@ 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.
|
||||||
|
|
||||||
EVT_ENTER/LEAVE_WINDOW: Perhaps one approach to reliable implementation of
|
Improve printing. More API functions for printer DCs (to get
|
||||||
EVT_LEAVE_WINDOW is to set a flag when the mouse pointer is in a window,
|
printer characteristics) and more reliable printing framework.
|
||||||
then in idle time, check this window.
|
|
||||||
If the flag is set but the mouse pointer is outside the window, then
|
Add GetIcon, GetBitmap to wxImageList. Perhaps store bitmaps
|
||||||
it's time to generate an EVT_LEAVE_WINDOW. This would be necessary at
|
in image list so we can get them later.
|
||||||
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
|
||||||
------------
|
------------
|
||||||
@@ -132,12 +108,8 @@ 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.
|
||||||
@@ -153,10 +125,6 @@ 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,17 +4,22 @@ GUIs:
|
|||||||
-----
|
-----
|
||||||
|
|
||||||
__X__ any X, but not GTK
|
__X__ any X, but not GTK
|
||||||
__MOTIF__ Motif
|
__WXMOTIF__ Motif
|
||||||
__XT__ Xt; mutually exclusive with WX_MOTIF (?)
|
__WXXT__ Xt; mutually exclusive with WX_MOTIF (?)
|
||||||
__GTK__ GTK
|
__WXGTK__ GTK
|
||||||
__XVIEW__ Obsolete!
|
__WXMSW__ Any Windows
|
||||||
__WINDOWS__ Any Windows
|
__WXMAC__ MacOS
|
||||||
__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
|
||||||
__CURSES__ CURSES
|
__WXCURSES__ CURSES
|
||||||
|
__WXSTUBS__ Stubbed version ('template' wxWin implementation)
|
||||||
|
|
||||||
|
In fact, they should better all start with __WX instead of __ only.
|
||||||
|
The only GUIs implemented for 2.0 are __WXGTK__, __WXMSW__ and __WXMOTIF__
|
||||||
|
yet. Any new ones, please start the define with __WX.
|
||||||
|
|
||||||
OSes/machines:
|
OSes/machines:
|
||||||
|
|
||||||
@@ -51,6 +56,6 @@ __XLC__ ?? compiler
|
|||||||
wxWindows modes:
|
wxWindows modes:
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
__DEBUG__ usage: #ifdef __DEBUG__ (=> debug mode, else => release)
|
__WXDEBUG__ 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, ...)
|
||||||
|
|
||||||
|
BIN
docs/word/odbc.doc
Normal file
BIN
docs/word/odbc.doc
Normal file
Binary file not shown.
70
docs/wxQt.html
Normal file
70
docs/wxQt.html
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
$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>
|
19
include/wx/accel.h
Normal file
19
include/wx/accel.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#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,29 +9,34 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __APPH_BASE__
|
#ifndef _WX_APP_H_BASE_
|
||||||
#define __APPH_BASE__
|
#define _WX_APP_H_BASE_
|
||||||
|
|
||||||
#ifndef __GTK__
|
#ifdef __WXMSW__
|
||||||
class WXDLLEXPORT wxApp;
|
class WXDLLEXPORT wxApp;
|
||||||
typedef wxApp* (*wxAppInitializerFunction) (void);
|
typedef wxApp* (*wxAppInitializerFunction) (void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
|
|
||||||
#ifdef __GTK__
|
#ifndef __WXMSW__
|
||||||
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(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/app.h"
|
#include "wx/msw/app.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/app.h"
|
#include "wx/motif/app.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXQT__)
|
||||||
|
#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
|
||||||
@@ -70,4 +75,4 @@ int main(int argc, char *argv[]) { return wxEntry(argc, argv); }
|
|||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// __APPH_BASE__
|
// _WX_APP_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __BITMAPH_BASE__
|
#ifndef _WX_BITMAP_H_BASE_
|
||||||
#define __BITMAPH_BASE__
|
#define _WX_BITMAP_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/bitmap.h"
|
#include "wx/msw/bitmap.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/bitmap.h"
|
#include "wx/motif/bitmap.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __BITMAPH_BASE__
|
// _WX_BITMAP_H_BASE_
|
||||||
|
@@ -1,12 +1,18 @@
|
|||||||
#ifndef __BMPBUTTONH_BASE__
|
#ifndef _WX_BMPBUTTON_H_BASE_
|
||||||
#define __BMPBUTTONH_BASE__
|
#define _WX_BMPBUTTON_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/bmpbuttn.h"
|
#include "wx/msw/bmpbuttn.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/bmpbuttn.h"
|
#include "wx/motif/bmpbuttn.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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,13 +1,19 @@
|
|||||||
#ifndef __BRUSHH_BASE__
|
#ifndef _WX_BRUSH_H_BASE_
|
||||||
#define __BRUSHH_BASE__
|
#define _WX_BRUSH_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/brush.h"
|
#include "wx/msw/brush.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/brush.h"
|
#include "wx/motif/brush.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __BRUSHH_BASE__
|
// _WX_BRUSH_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __BUTTONH_BASE__
|
#ifndef _WX_BUTTON_H_BASE_
|
||||||
#define __BUTTONH_BASE__
|
#define _WX_BUTTON_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/button.h"
|
#include "wx/msw/button.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/button.h"
|
#include "wx/motif/button.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __BUTTONH_BASE__
|
// _WX_BUTTON_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __CHECKBOXH_BASE__
|
#ifndef _WX_CHECKBOX_H_BASE_
|
||||||
#define __CHECKBOXH_BASE__
|
#define _WX_CHECKBOX_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/checkbox.h"
|
#include "wx/msw/checkbox.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/checkbox.h"
|
#include "wx/motif/checkbox.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __CHECKBOXH_BASE__
|
// _WX_CHECKBOX_H_BASE_
|
||||||
|
19
include/wx/checklst.h
Normal file
19
include/wx/checklst.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#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 __CHOICDLGH_BASE__
|
#ifndef _WX_CHOICDLG_H_BASE_
|
||||||
#define __CHOICDLGH_BASE__
|
#define _WX_CHOICDLG_H_BASE_
|
||||||
|
|
||||||
#include "wx/generic/choicdgg.h"
|
#include "wx/generic/choicdgg.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// __CHOICDLGH_BASE__
|
// _WX_CHOICDLG_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __CHOICEH_BASE__
|
#ifndef _WX_CHOICE_H_BASE_
|
||||||
#define __CHOICEH_BASE__
|
#define _WX_CHOICE_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/choice.h"
|
#include "wx/msw/choice.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/choice.h"
|
#include "wx/motif/choice.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __CHOICEH_BASE__
|
// _WX_CHOICE_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __CLIPBRDH_BASE__
|
#ifndef _WX_CLIPBRD_H_BASE_
|
||||||
#define __CLIPBRDH_BASE__
|
#define _WX_CLIPBRD_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/clipbrd.h"
|
#include "wx/msw/clipbrd.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/clipbrd.h"
|
#include "wx/motif/clipbrd.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __CLIPBRDH_BASE__
|
// _WX_CLIPBRD_H_BASE_
|
||||||
|
@@ -9,13 +9,16 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __CMNDATAH_BASE__
|
#ifndef _WX_CMNDATA_H_BASE_
|
||||||
#define __CMNDATAH_BASE__
|
#define _WX_CMNDATA_H_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)
|
||||||
@@ -82,7 +85,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
|||||||
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
DECLARE_DYNAMIC_CLASS(wxPrintData)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WXMSW__
|
||||||
void *printData;
|
void *printData;
|
||||||
#endif
|
#endif
|
||||||
int printFromPage;
|
int printFromPage;
|
||||||
@@ -137,7 +140,7 @@ class WXDLLEXPORT wxPrintData: public wxObject
|
|||||||
|
|
||||||
void operator=(const wxPrintData& data);
|
void operator=(const wxPrintData& data);
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WXMSW__
|
||||||
// Convert to/from the PRINTDLG structure
|
// Convert to/from the PRINTDLG structure
|
||||||
void ConvertToNative(void);
|
void ConvertToNative(void);
|
||||||
void ConvertFromNative(void);
|
void ConvertFromNative(void);
|
||||||
@@ -220,4 +223,4 @@ class WXDLLEXPORT wxPageSetupData: public wxObject
|
|||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// __CMNDATAH_BASE__
|
// _WX_CMNDATA_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __COLORDLGH_BASE__
|
#ifndef _WX_COLORDLG_H_BASE_
|
||||||
#define __COLORDLGH_BASE__
|
#define _WX_COLORDLG_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/colordlg.h"
|
#include "wx/msw/colordlg.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/generic/colrdlgg.h"
|
#include "wx/generic/colrdlgg.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#elif defined(__WXQT__)
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#elif defined(__WXMAC__)
|
||||||
|
#include "wx/generic/colrdlgg.h"
|
||||||
|
#elif defined(__WXSTUBS__)
|
||||||
#include "wx/generic/colrdlgg.h"
|
#include "wx/generic/colrdlgg.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// __COLORDLGH_BASE__
|
// _WX_COLORDLG_H_BASE_
|
||||||
|
19
include/wx/colour.h
Normal file
19
include/wx/colour.h
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
#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,13 +1,19 @@
|
|||||||
#ifndef __COMBOBOXH_BASE__
|
#ifndef _WX_COMBOBOX_H_BASE_
|
||||||
#define __COMBOBOXH_BASE__
|
#define _WX_COMBOBOX_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/combobox.h"
|
#include "wx/msw/combobox.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/combobox.h"
|
#include "wx/motif/combobox.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __COMBOBOXH_BASE__
|
// _WX_COMBOBOX_H_BASE_
|
||||||
|
292
include/wx/confbase.h
Normal file
292
include/wx/confbase.h
Normal file
@@ -0,0 +1,292 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 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_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 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 = wxEmptyString, const wxString& vendorName = wxEmptyString,
|
||||||
|
const wxString& localFilename = wxEmptyString, const wxString& globalFilename = wxEmptyString,
|
||||||
|
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,186 +1,17 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
#ifndef _WX_CONFIG_H_BASE_
|
||||||
// Name: config.h
|
#define _WX_CONFIG_H_BASE_
|
||||||
// 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 _APPCONF_H
|
#include "wx/confbase.h"
|
||||||
#define _APPCONF_H
|
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#if defined(__WXMSW__) && defined(wxCONFIG_WIN32_NATIVE)
|
||||||
#pragma interface "config.h"
|
# ifdef __WIN32__
|
||||||
|
# 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,13 +1,19 @@
|
|||||||
#ifndef __CONTROLH_BASE__
|
#ifndef _WX_CONTROL_H_BASE_
|
||||||
#define __CONTROLH_BASE__
|
#define _WX_CONTROL_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/control.h"
|
#include "wx/msw/control.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/control.h"
|
#include "wx/motif/control.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __CONTROLH_BASE__
|
// _WX_CONTROL_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __CURSORH_BASE__
|
#ifndef _WX_CURSOR_H_BASE_
|
||||||
#define __CURSORH_BASE__
|
#define _WX_CURSOR_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/cursor.h"
|
#include "wx/msw/cursor.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/cursor.h"
|
#include "wx/motif/cursor.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __CURSORH_BASE__
|
// _WX_CURSOR_H_BASE_
|
||||||
|
@@ -10,8 +10,8 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __WXDATEH__
|
#ifndef _WX_DATE_H_
|
||||||
#define __WXDATEH__
|
#define _WX_DATE_H_
|
||||||
|
|
||||||
#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
|
||||||
// __WXDATEH__
|
// _WX_DATE_H_
|
||||||
|
@@ -9,22 +9,19 @@
|
|||||||
// Licence: wxWindows license
|
// Licence: wxWindows license
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __DATSTREAMH__
|
#ifndef _WX_DATSTREAM_H_
|
||||||
#define __DATSTREAMH__
|
#define _WX_DATSTREAM_H_
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "datstrm.h"
|
#pragma interface "datstrm.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/wx.h"
|
#include <wx/stream.h>
|
||||||
|
|
||||||
class wxDataStream {
|
class wxDataInputStream: public wxFilterInputStream {
|
||||||
public:
|
public:
|
||||||
wxDataStream(iostream& s);
|
wxDataInputStream(wxInputStream& s);
|
||||||
wxDataStream(istream& s);
|
virtual ~wxDataInputStream();
|
||||||
wxDataStream(ostream& s);
|
|
||||||
|
|
||||||
virtual ~wxDataStream();
|
|
||||||
|
|
||||||
unsigned long Read32();
|
unsigned long Read32();
|
||||||
unsigned short Read16();
|
unsigned short Read16();
|
||||||
@@ -32,6 +29,12 @@ 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);
|
||||||
@@ -39,10 +42,7 @@ public:
|
|||||||
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
|
||||||
// __HELPBASEH__
|
// _WX_DATSTREAM_H_
|
||||||
|
362
include/wx/db.h
Normal file
362
include/wx/db.h
Normal file
@@ -0,0 +1,362 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 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
|
||||||
|
|
165
include/wx/dbtable.h
Normal file
165
include/wx/dbtable.h
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 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,13 +1,19 @@
|
|||||||
#ifndef __DCH_BASE__
|
#ifndef _WX_DC_H_BASE_
|
||||||
#define __DCH_BASE__
|
#define _WX_DC_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dc.h"
|
#include "wx/msw/dc.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dc.h"
|
#include "wx/motif/dc.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DCH_BASE__
|
// _WX_DC_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DCCLIENTH_BASE__
|
#ifndef _WX_DCCLIENT_H_BASE_
|
||||||
#define __DCCLIENTH_BASE__
|
#define _WX_DCCLIENT_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dcclient.h"
|
#include "wx/msw/dcclient.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dcclient.h"
|
#include "wx/motif/dcclient.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DCCLIENTH_BASE__
|
// _WX_DCCLIENT_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DCMEMORYH_BASE__
|
#ifndef _WX_DCMEMORY_H_BASE_
|
||||||
#define __DCMEMORYH_BASE__
|
#define _WX_DCMEMORY_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dcmemory.h"
|
#include "wx/msw/dcmemory.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dcmemory.h"
|
#include "wx/motif/dcmemory.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DCMEMORYH_BASE__
|
// _WX_DCMEMORY_H_BASE_
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
#ifndef __DCPRINTH_BASE__
|
#ifndef _WX_DCPRINT_H_BASE_
|
||||||
#define __DCPRINTH_BASE__
|
#define _WX_DCPRINT_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dcprint.h"
|
#include "wx/msw/dcprint.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// __DCPRINTH_BASE__
|
// _WX_DCPRINT_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DCSCREENH_BASE__
|
#ifndef _WX_DCSCREEN_H_BASE_
|
||||||
#define __DCSCREENH_BASE__
|
#define _WX_DCSCREEN_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dcscreen.h"
|
#include "wx/msw/dcscreen.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dcscreen.h"
|
#include "wx/motif/dcscreen.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DCSCREENH_BASE__
|
// _WX_DCSCREEN_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DDEH_BASE__
|
#ifndef _WX_DDE_H_BASE_
|
||||||
#define __DDEH_BASE__
|
#define _WX_DDE_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dde.h"
|
#include "wx/msw/dde.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dde.h"
|
#include "wx/motif/dde.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DDEH_BASE__
|
// _WX_DDE_H_BASE_
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
// Licence: wxWindows license
|
// Licence: wxWindows license
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __DEBUGH__
|
#ifndef _WX_DEBUG_H_
|
||||||
#define __DEBUGH__
|
#define _WX_DEBUG_H_
|
||||||
|
|
||||||
#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 DEBUG defined) build, so they add strictly
|
disabled in final (without WXDEBUG 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 __DEBUG__
|
#ifdef __WXDEBUG__
|
||||||
/**
|
/**
|
||||||
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 = NULL);
|
void wxOnAssert(const char *szFile, int nLine, const char *szMsg = (const char *) 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 //DEBUG
|
#endif //WXDEBUG
|
||||||
|
|
||||||
/// 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 // __DEBUGH__
|
#endif // _WX_DEBUG_H_
|
||||||
|
|
||||||
|
@@ -9,14 +9,14 @@
|
|||||||
// Licence: wxWindows licence
|
// Licence: wxWindows licence
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __DEFSH__
|
#ifndef _WX_DEFS_H_
|
||||||
#define __DEFSH__
|
#define _WX_DEFS_H_
|
||||||
|
|
||||||
#ifdef __GNUG__
|
#ifdef __GNUG__
|
||||||
#pragma interface "defs.h"
|
#pragma interface "defs.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __GTK__
|
#ifdef __WXGTK__
|
||||||
|
|
||||||
#include "glib.h"
|
#include "glib.h"
|
||||||
#include "gdk/gdk.h"
|
#include "gdk/gdk.h"
|
||||||
@@ -30,8 +30,14 @@
|
|||||||
#include "wx/version.h"
|
#include "wx/version.h"
|
||||||
|
|
||||||
// Helps SGI compilation, apparently
|
// Helps SGI compilation, apparently
|
||||||
#if defined(__SGI__) && defined(__GNUG__)
|
#if defined(__SGI__)
|
||||||
|
#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
|
||||||
@@ -43,19 +49,15 @@
|
|||||||
//////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////
|
||||||
// Currently Only MS-Windows/NT, XView and Motif are supported
|
// Currently Only MS-Windows/NT, XView and Motif are supported
|
||||||
//
|
//
|
||||||
#if defined(__HPUX__) && !defined(__MOTIF__)
|
#if defined(__HPUX__) && !defined(__WXMOTIF__)
|
||||||
# define __MOTIF__
|
# define __WXMOTIF__
|
||||||
#endif
|
#endif
|
||||||
#if defined(__MOTIF__)
|
#if defined(__WXMOTIF__)
|
||||||
# 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__))
|
#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__) && !defined(__WXSTUBS__))
|
||||||
#define __WIN32__
|
#define __WIN32__
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -68,13 +70,14 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Make sure the environment is set correctly
|
// Make sure the environment is set correctly
|
||||||
#if defined(__WINDOWS__) && defined(__X__)
|
#if defined(__WXMSW__) && defined(__X__)
|
||||||
# error "Target can't be both X and Windows"
|
# error "Target can't be both X and Windows"
|
||||||
#elif !defined(__MOTIF__) && !defined(__WINDOWS__) && !defined(__GTK__) && !defined(__MAC__) && !defined(__X__)
|
#elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \
|
||||||
#error "No Target! Use -D[__MOTIF__|__GTK__|__WINDOWS__|__MAC__]"
|
!defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__)
|
||||||
|
#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__MOTIF__) || defined(__GTK__)
|
#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__)
|
||||||
|
|
||||||
// Bool is now obsolete, use bool instead
|
// Bool is now obsolete, use bool instead
|
||||||
// typedef int Bool;
|
// typedef int Bool;
|
||||||
@@ -85,7 +88,7 @@
|
|||||||
# define Bool_DEFINED
|
# define Bool_DEFINED
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(__WINDOWS__)
|
#elif defined(__WXMSW__)
|
||||||
|
|
||||||
#ifndef TRUE
|
#ifndef TRUE
|
||||||
# define TRUE 1
|
# define TRUE 1
|
||||||
@@ -119,7 +122,7 @@ typedef int wxWindowID;
|
|||||||
* Making or using wxWindows as a Windows DLL
|
* Making or using wxWindows as a Windows DLL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __WINDOWS__
|
#ifdef __WXMSW__
|
||||||
|
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
|
|
||||||
@@ -172,22 +175,9 @@ typedef int wxWindowID;
|
|||||||
class WXDLLEXPORT wxObject;
|
class WXDLLEXPORT wxObject;
|
||||||
class WXDLLEXPORT wxEvent;
|
class WXDLLEXPORT wxEvent;
|
||||||
|
|
||||||
// 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
|
/** 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
|
||||||
@@ -210,10 +200,32 @@ enum ErrCode
|
|||||||
/** @name Very common macros */
|
/** @name Very common macros */
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
//@{
|
//@{
|
||||||
/// delete pointer if it is not NULL
|
/// delete pointer if it is not NULL and NULL it afterwards
|
||||||
#define DELETEP(p) if ( (p) != NULL ) delete (p)
|
// (checking that it's !NULL before passing it to delete is just a
|
||||||
/// delete array pointer if it is not NULL
|
// a question of style, because delete will do it itself anyhow, but it might
|
||||||
#define DELETEA(p) if ( (p) != NULL ) delete [] (p)
|
// be considered as an error by some overzealous debugging implementations of
|
||||||
|
// the library, so we do it ourselves)
|
||||||
|
#if defined(__SGI_CC__)
|
||||||
|
// Okay this is bad styling, but the native SGI compiler is very picky, it
|
||||||
|
// wont let you compare/assign between a NULL (void *) and another pointer
|
||||||
|
// type. To be really clean we'd need to pass in another argument, the type
|
||||||
|
// of p.
|
||||||
|
// Also note the use of 0L, this would allow future possible 64bit support
|
||||||
|
// (as yet untested) by ensuring that we zero all the bits in a pointer
|
||||||
|
// (which is always the same length as a long (at least with the LP64 standard)
|
||||||
|
// --- offer aug 98
|
||||||
|
#define wxDELETE(p) if ( (p) ) { delete (p); p = 0L; }
|
||||||
|
#else
|
||||||
|
#define wxDELETE(p) if ( (p) != NULL ) { delete p; p = NULL; }
|
||||||
|
#endif /* __SGI__CC__ */
|
||||||
|
|
||||||
|
// delete an array and NULL it (see comments above)
|
||||||
|
#if defined(__SGI_CC__)
|
||||||
|
// see above comment.
|
||||||
|
#define wxDELETEA(p) if ( (p) ) { delete [] (p); p = 0L; }
|
||||||
|
#else
|
||||||
|
#define wxDELETEA(p) if ( ((void *) (p)) != NULL ) { delete [] p; p = NULL; }
|
||||||
|
#endif /* __SGI__CC__ */
|
||||||
|
|
||||||
/// 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]))
|
||||||
@@ -223,17 +235,13 @@ enum ErrCode
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
// OS
|
// OS
|
||||||
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__)
|
#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi )
|
||||||
#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__)
|
||||||
@@ -246,14 +254,6 @@ 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,8 +367,10 @@ 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 0x0002
|
#define wxTB_FLAT 0x0008
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Apply to all panel items
|
* Apply to all panel items
|
||||||
@@ -387,21 +389,14 @@ 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
|
||||||
// These duplicate the styles in the Multiple argument
|
#define wxLB_SINGLE 0x0020
|
||||||
#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
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -414,19 +409,16 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
#define wxTE_READONLY 0x0010
|
#define wxTE_READONLY 0x0010
|
||||||
#define wxTE_MULTILINE 0x0020
|
#define wxTE_MULTILINE 0x0020
|
||||||
|
|
||||||
// TODO For backward compatibility, need wxOLD_READONLY
|
// MSW-only
|
||||||
#define wxREADONLY wxTE_READONLY
|
#define wxTE_RICHTEXT 0x0020
|
||||||
#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 wxREADONLY
|
#define wxCB_READONLY 0x0010
|
||||||
|
#define wxCB_DROPDOWN 0x0020
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxRadioBox/wxRadioButton style flags
|
* wxRadioBox/wxRadioButton style flags
|
||||||
@@ -665,26 +657,35 @@ typedef enum {
|
|||||||
// Possible SetSize flags
|
// Possible SetSize flags
|
||||||
|
|
||||||
// Use internally-calculated width if -1
|
// Use internally-calculated width if -1
|
||||||
#define wxSIZE_AUTO_WIDTH 1
|
#define wxSIZE_AUTO_WIDTH 0x0001
|
||||||
// Use internally-calculated height if -1
|
// Use internally-calculated height if -1
|
||||||
#define wxSIZE_AUTO_HEIGHT 2
|
#define wxSIZE_AUTO_HEIGHT 0x0002
|
||||||
// Use internally-calculated width and height if each is -1
|
// Use internally-calculated width and height if each is -1
|
||||||
#define wxSIZE_AUTO 3
|
#define wxSIZE_AUTO (wxSIZE_AUTO_WIDTH|wxSIZE_AUTO_HEIGHT)
|
||||||
// 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 0
|
#define wxSIZE_USE_EXISTING 0x0000
|
||||||
// Allow -1 as a valid position
|
// Allow -1 as a valid position
|
||||||
#define wxSIZE_ALLOW_MINUS_ONE 4
|
#define wxSIZE_ALLOW_MINUS_ONE 0x0004
|
||||||
|
// Don't do parent client adjustments (for implementation only)
|
||||||
|
#define wxSIZE_NO_ADJUSTMENTS 0x0008
|
||||||
|
|
||||||
// Clipboard formats
|
|
||||||
// Numbers as per winuser.h
|
// Data format for drag & drop and clipboard operations
|
||||||
# define wxCF_TEXT 1 /* CF_TEXT */
|
// numbers as per winuser.h
|
||||||
# define wxCF_BITMAP 2 /* CF_BITMAP */
|
|
||||||
# define wxCF_METAFILE 3 /* CF_METAFILEPICT */
|
enum wxDataFormat
|
||||||
# define wxCF_DIB 8 /* CF_DIB */
|
{
|
||||||
# define wxCF_OEMTEXT 7 /* CF_OEMTEXT */
|
wxDF_TEXT = 1, /* CF_TEXT */
|
||||||
|
wxDF_BITMAP = 2, /* CF_BITMAP */
|
||||||
|
wxDF_METAFILE = 3, /* CF_METAFILEPICT */
|
||||||
|
wxDF_DIB = 8, /* CF_DIB */
|
||||||
|
wxDF_OEMTEXT = 7, /* CF_OEMTEXT */
|
||||||
|
wxDF_FILENAME = 15 /* CF_HDROP */
|
||||||
|
};
|
||||||
|
|
||||||
// Virtual keycodes
|
// Virtual keycodes
|
||||||
|
|
||||||
enum _Virtual_keycodes {
|
enum _Virtual_keycodes {
|
||||||
WXK_BACK = 8,
|
WXK_BACK = 8,
|
||||||
WXK_TAB = 9,
|
WXK_TAB = 9,
|
||||||
@@ -769,12 +770,15 @@ 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 {
|
||||||
wxCURSES,
|
wxUNKNOWN_PLATFORM,
|
||||||
|
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
|
||||||
|
wxQT, // Qt
|
||||||
wxGEOS, // GEOS
|
wxGEOS, // GEOS
|
||||||
wxOS2_PM, // OS/2 Workplace
|
wxOS2_PM, // OS/2 Workplace
|
||||||
wxWINDOWS, // Windows or WfW
|
wxWINDOWS, // Windows or WfW
|
||||||
@@ -832,8 +836,9 @@ 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 __WINDOWS__
|
#ifdef __WXMSW__
|
||||||
// Stand-ins for Windows types, to avoid
|
// Stand-ins for Windows types, to avoid
|
||||||
// #including all of windows.h
|
// #including all of windows.h
|
||||||
|
|
||||||
@@ -847,6 +852,7 @@ 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;
|
||||||
@@ -858,19 +864,20 @@ 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
|
||||||
// __WXDEFSH__
|
// _WX_DEFS_H_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DIALOGH_BASE__
|
#ifndef _WX_DIALOG_H_BASE_
|
||||||
#define __DIALOGH_BASE__
|
#define _WX_DIALOG_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dialog.h"
|
#include "wx/msw/dialog.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dialog.h"
|
#include "wx/motif/dialog.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DIALOGH_BASE__
|
// _WX_DIALOG_H_BASE_
|
||||||
|
@@ -1,13 +1,19 @@
|
|||||||
#ifndef __DIRDLGH_BASE__
|
#ifndef _WX_DIRDLG_H_BASE_
|
||||||
#define __DIRDLGH_BASE__
|
#define _WX_DIRDLG_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#include "wx/msw/dirdlg.h"
|
#include "wx/msw/dirdlg.h"
|
||||||
#elif defined(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#include "wx/xt/dirdlg.h"
|
#include "wx/motif/dirdlg.h"
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DIRDLGH_BASE__
|
// _WX_DIRDLG_H_BASE_
|
||||||
|
@@ -1,14 +1,20 @@
|
|||||||
#ifndef __DNDH_BASE__
|
#ifndef _WX_DND_H_BASE_
|
||||||
#define __DNDH_BASE__
|
#define _WX_DND_H_BASE_
|
||||||
|
|
||||||
#if defined(__WINDOWS__)
|
#if defined(__WXMSW__)
|
||||||
#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(__MOTIF__)
|
#elif defined(__WXMOTIF__)
|
||||||
#elif defined(__GTK__)
|
#elif defined(__WXGTK__)
|
||||||
#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
|
||||||
// __DNDH_BASE__
|
// _WX_DND_H_BASE_
|
||||||
|
83
include/wx/docmdi.h
Normal file
83
include/wx/docmdi.h
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// 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 __DOCH__
|
#ifndef _WX_DOCH__
|
||||||
#define __DOCH__
|
#define _WX_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 = NULL);
|
wxDocument(wxDocument *parent = (wxDocument *) 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 = NULL, wxObject *hint = NULL);
|
virtual void UpdateAllViews(wxView *sender = (wxView *) NULL, wxObject *hint = (wxObject *) 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 = NULL);
|
wxView(wxDocument *doc = (wxDocument *) 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 = NULL);
|
virtual void OnUpdate(wxView *sender, wxObject *hint = (wxObject *) 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 = NULL, wxClassInfo *viewClassInfo = NULL,
|
wxClassInfo *docClassInfo = (wxClassInfo *) NULL, wxClassInfo *viewClassInfo = (wxClassInfo *)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);
|
||||||
|
|
||||||
#ifdef WXWIN_COMPATIBILITY
|
// Extend event processing to search the view's event table
|
||||||
virtual wxDocument *CreateDocument(char *WXUNUSED(path), long WXUNUSED(flags = 0)) { return NULL; };
|
virtual bool ProcessEvent(wxEvent& event);
|
||||||
#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 inline wxView *GetCurrentView(void) const { return m_currentView; }
|
virtual wxView *GetCurrentView(void) const;
|
||||||
|
|
||||||
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, const wxString& title,
|
wxDocChildFrame(wxDocument *doc, wxView *view, wxFrame *frame, wxWindowID id, 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, const wxString& title,
|
wxDocParentFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, 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 = NULL, const wxString& title = "Printout");
|
wxDocPrintout(wxView *view = (wxView *) 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);
|
||||||
|
@@ -17,7 +17,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
#include "wx/utils.h"
|
#include "wx/debug.h"
|
||||||
|
|
||||||
/** @name Dynamic arrays and lists
|
/** @name Dynamic arrays and lists
|
||||||
@memo Arrays which grow on demand and do range checking (only in debug)
|
@memo Arrays which grow on demand and do range checking (only in debug)
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
callback compare function for quick sort
|
callback compare function for quick sort
|
||||||
must return -1, 0 or +1 if pItem1 <, = or > pItem2
|
must return negative value, 0 or positive value if pItem1 <, = or > pItem2
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef __VISUALC__
|
#ifdef __VISUALC__
|
||||||
@@ -90,13 +90,13 @@ public:
|
|||||||
/// empties the list and releases memory
|
/// empties the list and releases memory
|
||||||
void Clear();
|
void Clear();
|
||||||
/// preallocates memory for given number of items
|
/// preallocates memory for given number of items
|
||||||
void Alloc(uint uiSize);
|
void Alloc(size_t uiSize);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/** @name simple accessors */
|
/** @name simple accessors */
|
||||||
//@{
|
//@{
|
||||||
/// number of elements in the array
|
/// number of elements in the array
|
||||||
uint Count() const { return m_uiCount; }
|
size_t Count() const { return m_uiCount; }
|
||||||
/// is it empty?
|
/// is it empty?
|
||||||
bool IsEmpty() const { return m_uiCount == 0; }
|
bool IsEmpty() const { return m_uiCount == 0; }
|
||||||
//@}
|
//@}
|
||||||
@@ -109,10 +109,10 @@ protected:
|
|||||||
/** @name items access */
|
/** @name items access */
|
||||||
//@{
|
//@{
|
||||||
/// get item at position uiIndex (range checking is done in debug version)
|
/// get item at position uiIndex (range checking is done in debug version)
|
||||||
long& Item(uint uiIndex) const
|
long& Item(size_t uiIndex) const
|
||||||
{ wxASSERT( uiIndex < m_uiCount ); return m_pItems[uiIndex]; }
|
{ wxASSERT( uiIndex < m_uiCount ); return m_pItems[uiIndex]; }
|
||||||
/// same as Item()
|
/// same as Item()
|
||||||
long& operator[](uint uiIndex) const { return Item(uiIndex); }
|
long& operator[](size_t uiIndex) const { return Item(uiIndex); }
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/** @name item management */
|
/** @name item management */
|
||||||
@@ -124,23 +124,27 @@ protected:
|
|||||||
@see NOT_FOUND
|
@see NOT_FOUND
|
||||||
*/
|
*/
|
||||||
int Index(long lItem, bool bFromEnd = FALSE) const;
|
int Index(long lItem, bool bFromEnd = FALSE) const;
|
||||||
|
/// search for an item using binary search in a sorted array
|
||||||
|
int Index(long lItem, CMPFUNC fnCompare) const;
|
||||||
/// add new element at the end
|
/// add new element at the end
|
||||||
void Add(long lItem);
|
void Add(long lItem);
|
||||||
/// add new element at given position
|
/// add item assuming the array is sorted with fnCompare function
|
||||||
void Insert(long lItem, uint uiIndex);
|
void Add(long lItem, CMPFUNC fnCompare);
|
||||||
|
/// add new element at given position (it becomes Item[uiIndex])
|
||||||
|
void Insert(long lItem, size_t uiIndex);
|
||||||
/// remove first item matching this value
|
/// remove first item matching this value
|
||||||
void Remove(long lItem);
|
void Remove(long lItem);
|
||||||
/// remove item by index
|
/// remove item by index
|
||||||
void Remove(uint uiIndex);
|
void Remove(size_t uiIndex);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
/// sort array elements using given compare function
|
/// sort array elements using given compare function
|
||||||
void Sort(CMPFUNC fCmp);
|
void Sort(CMPFUNC fnCompare);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Grow(); // makes array bigger if needed
|
void Grow(); // makes array bigger if needed
|
||||||
|
|
||||||
uint m_uiSize, // current size of the array
|
size_t m_uiSize, // current size of the array
|
||||||
m_uiCount; // current number of elements
|
m_uiCount; // current number of elements
|
||||||
|
|
||||||
long *m_pItems; // pointer to data
|
long *m_pItems; // pointer to data
|
||||||
@@ -168,9 +172,9 @@ public: \
|
|||||||
{ ((wxBaseArray *)this)->operator=((const wxBaseArray&)src); \
|
{ ((wxBaseArray *)this)->operator=((const wxBaseArray&)src); \
|
||||||
return *this; } \
|
return *this; } \
|
||||||
\
|
\
|
||||||
T& operator[](uint uiIndex) const \
|
T& operator[](size_t uiIndex) const \
|
||||||
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
T& Item(uint uiIndex) const \
|
T& Item(size_t uiIndex) const \
|
||||||
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
T& Last() const \
|
T& Last() const \
|
||||||
{ return (T&)(wxBaseArray::Item(Count() - 1)); } \
|
{ return (T&)(wxBaseArray::Item(Count() - 1)); } \
|
||||||
@@ -180,19 +184,73 @@ public: \
|
|||||||
\
|
\
|
||||||
void Add(T Item) \
|
void Add(T Item) \
|
||||||
{ wxBaseArray::Add((long)Item); } \
|
{ wxBaseArray::Add((long)Item); } \
|
||||||
void Insert(T Item, uint uiIndex) \
|
void Insert(T Item, size_t uiIndex) \
|
||||||
{ wxBaseArray::Insert((long)Item, uiIndex) ; } \
|
{ wxBaseArray::Insert((long)Item, uiIndex) ; } \
|
||||||
\
|
\
|
||||||
void Remove(uint uiIndex) { wxBaseArray::Remove(uiIndex); } \
|
void Remove(size_t uiIndex) { wxBaseArray::Remove(uiIndex); } \
|
||||||
void Remove(T Item) \
|
void Remove(T Item) \
|
||||||
{ int iIndex = Index(Item); \
|
{ int iIndex = Index(Item); \
|
||||||
wxCHECK2_MSG( iIndex != NOT_FOUND, return, \
|
wxCHECK2_MSG( iIndex != NOT_FOUND, return, \
|
||||||
"removing inexisting element in wxArray::Remove" ); \
|
"removing inexisting element in wxArray::Remove" ); \
|
||||||
wxBaseArray::Remove((uint)iIndex); } \
|
wxBaseArray::Remove((size_t)iIndex); } \
|
||||||
\
|
\
|
||||||
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// This is the same as the previous macro, but it defines a sorted array.
|
||||||
|
// Differences:
|
||||||
|
// 1) it must be given a COMPARE function in ctor which takes 2 items of type
|
||||||
|
// T* and should return -1, 0 or +1 if the first one is less/greater
|
||||||
|
// than/equal to the second one.
|
||||||
|
// 2) the Add() method inserts the item in such was that the array is always
|
||||||
|
// sorted (it uses the COMPARE function)
|
||||||
|
// 3) it has no Sort() method because it's always sorted
|
||||||
|
// 4) Index() method is much faster (the sorted arrays use binary search
|
||||||
|
// instead of linear one), but Add() is slower.
|
||||||
|
//
|
||||||
|
// Summary: use this class when the speed of Index() function is important, use
|
||||||
|
// the normal arrays otherwise.
|
||||||
|
//
|
||||||
|
// NB: it has only inline functions => takes no space at all
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
#define _WX_DEFINE_SORTED_ARRAY(T, name) \
|
||||||
|
typedef int (CMPFUNC_CONV *SCMPFUNC##T)(T pItem1, T pItem2); \
|
||||||
|
class name : public wxBaseArray \
|
||||||
|
{ \
|
||||||
|
public: \
|
||||||
|
name(SCMPFUNC##T fn) \
|
||||||
|
{ wxASSERT( sizeof(T) <= sizeof(long) ); m_fnCompare = fn; } \
|
||||||
|
\
|
||||||
|
name& operator=(const name& src) \
|
||||||
|
{ ((wxBaseArray *)this)->operator=((const wxBaseArray&)src); \
|
||||||
|
m_fnCompare = src.m_fnCompare; \
|
||||||
|
return *this; } \
|
||||||
|
\
|
||||||
|
T& operator[](size_t uiIndex) const \
|
||||||
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
|
T& Item(size_t uiIndex) const \
|
||||||
|
{ return (T&)(wxBaseArray::Item(uiIndex)); } \
|
||||||
|
T& Last() const \
|
||||||
|
{ return (T&)(wxBaseArray::Item(Count() - 1)); } \
|
||||||
|
\
|
||||||
|
int Index(T Item) const \
|
||||||
|
{ return wxBaseArray::Index((long)Item, (CMPFUNC)m_fnCompare); }\
|
||||||
|
\
|
||||||
|
void Add(T Item) \
|
||||||
|
{ wxBaseArray::Add((long)Item, (CMPFUNC)m_fnCompare); } \
|
||||||
|
\
|
||||||
|
void Remove(size_t uiIndex) { wxBaseArray::Remove(uiIndex); } \
|
||||||
|
void Remove(T Item) \
|
||||||
|
{ int iIndex = Index(Item); \
|
||||||
|
wxCHECK2_MSG( iIndex != NOT_FOUND, return, \
|
||||||
|
"removing inexisting element in wxArray::Remove" ); \
|
||||||
|
wxBaseArray::Remove((size_t)iIndex); } \
|
||||||
|
\
|
||||||
|
private: \
|
||||||
|
SCMPFUNC##T m_fnCompare; \
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// see WX_DECLARE_LIST and WX_DEFINE_LIST
|
// see WX_DECLARE_LIST and WX_DEFINE_LIST
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -207,9 +265,9 @@ public: \
|
|||||||
\
|
\
|
||||||
~name(); \
|
~name(); \
|
||||||
\
|
\
|
||||||
T& operator[](uint uiIndex) const \
|
T& operator[](size_t uiIndex) const \
|
||||||
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
||||||
T& Item(uint uiIndex) const \
|
T& Item(size_t uiIndex) const \
|
||||||
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
{ return *(T*)wxBaseArray::Item(uiIndex); } \
|
||||||
T& Last() const \
|
T& Last() const \
|
||||||
{ return *(T*)(wxBaseArray::Item(Count() - 1)); } \
|
{ return *(T*)(wxBaseArray::Item(Count() - 1)); } \
|
||||||
@@ -220,16 +278,16 @@ public: \
|
|||||||
void Add(const T* pItem) \
|
void Add(const T* pItem) \
|
||||||
{ wxBaseArray::Add((long)pItem); } \
|
{ wxBaseArray::Add((long)pItem); } \
|
||||||
\
|
\
|
||||||
void Insert(const T& Item, uint uiIndex); \
|
void Insert(const T& Item, size_t uiIndex); \
|
||||||
void Insert(const T* pItem, uint uiIndex) \
|
void Insert(const T* pItem, size_t uiIndex) \
|
||||||
{ wxBaseArray::Insert((long)pItem, uiIndex); } \
|
{ wxBaseArray::Insert((long)pItem, uiIndex); } \
|
||||||
\
|
\
|
||||||
void Empty(); \
|
void Empty(); \
|
||||||
\
|
\
|
||||||
T* Detach(uint uiIndex) \
|
T* Detach(size_t uiIndex) \
|
||||||
{ T* p = (T*)wxBaseArray::Item(uiIndex); \
|
{ T* p = (T*)wxBaseArray::Item(uiIndex); \
|
||||||
wxBaseArray::Remove(uiIndex); return p; } \
|
wxBaseArray::Remove(uiIndex); return p; } \
|
||||||
void Remove(uint uiIndex); \
|
void Remove(size_t uiIndex); \
|
||||||
\
|
\
|
||||||
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
void Sort(CMPFUNC##T fCmp) { wxBaseArray::Sort((CMPFUNC)fCmp); } \
|
||||||
\
|
\
|
||||||
@@ -264,6 +322,14 @@ private: \
|
|||||||
*/
|
*/
|
||||||
#define WX_DEFINE_ARRAY(T, name) typedef T _A##name; \
|
#define WX_DEFINE_ARRAY(T, name) typedef T _A##name; \
|
||||||
_WX_DEFINE_ARRAY(_A##name, name)
|
_WX_DEFINE_ARRAY(_A##name, name)
|
||||||
|
|
||||||
|
/**
|
||||||
|
This macro does the same as WX_DEFINE_ARRAY except that the array will be
|
||||||
|
sorted with the specified compare function.
|
||||||
|
*/
|
||||||
|
#define WX_DEFINE_SORTED_ARRAY(T, name) typedef T _A##name; \
|
||||||
|
_WX_DEFINE_SORTED_ARRAY(_A##name, name)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This macro generates a new list class which owns the objects it contains,
|
This macro generates a new list class which owns the objects it contains,
|
||||||
i.e. it will delete them when it is destroyed. An element is of type T*,
|
i.e. it will delete them when it is destroyed. An element is of type T*,
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user